From e4b3cd119a22f65173b8f71c139f6bcfe86fdf32 Mon Sep 17 00:00:00 2001 From: New Future Date: Thu, 14 Apr 2022 13:53:32 +0000 Subject: [PATCH 1/4] nonce for devtools --- src/devtools/devtools.tsx | 21 ++++++++++++- src/devtools/tests/devtools.test.tsx | 45 ++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/devtools/devtools.tsx b/src/devtools/devtools.tsx index 00a226de10..2ec41b842a 100644 --- a/src/devtools/devtools.tsx +++ b/src/devtools/devtools.tsx @@ -58,6 +58,10 @@ interface DevtoolsOptions { * Defaults to 'aside'. */ containerElement?: string | any + /** + * nonce for style element for CSP + */ + styleNonce?: string } interface DevtoolsPanelOptions { @@ -73,6 +77,10 @@ interface DevtoolsPanelOptions { * A boolean variable indicating whether the panel is open or closed */ isOpen?: boolean + /** + * nonce for style element for CSP + */ + styleNonce?: string /** * A function that toggles the open and close state of the panel */ @@ -92,6 +100,7 @@ export function ReactQueryDevtools({ toggleButtonProps = {}, position = 'bottom-left', containerElement: Container = 'aside', + styleNonce, }: DevtoolsOptions): React.ReactElement | null { const rootRef = React.useRef(null) const panelRef = React.useRef(null) @@ -229,6 +238,7 @@ export function ReactQueryDevtools({ (function ReactQueryDevtoolsPanel(props, ref): React.ReactElement { - const { isOpen = true, setIsOpen, handleDragStart, ...panelProps } = props + const { + isOpen = true, + styleNonce, + setIsOpen, + handleDragStart, + ...panelProps + } = props const queryClient = useQueryClient() const queryCache = queryClient.getQueryCache() @@ -467,6 +483,9 @@ export const ReactQueryDevtoolsPanel = React.forwardRef< {...panelProps} >