Skip to content

Commit 57c1450

Browse files
authored
feat: added CSP nonce prop (radix-ui#2728)
1 parent ddb0a12 commit 57c1450

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

.yarn/versions/dd1eb89d.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
releases:
2+
"@radix-ui/react-scroll-area": patch
3+
"@radix-ui/react-select": patch
4+
5+
declined:
6+
- primitives

packages/react/scroll-area/src/ScrollArea.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,13 @@ ScrollArea.displayName = SCROLL_AREA_NAME;
136136
const VIEWPORT_NAME = 'ScrollAreaViewport';
137137

138138
type ScrollAreaViewportElement = React.ElementRef<typeof Primitive.div>;
139-
interface ScrollAreaViewportProps extends PrimitiveDivProps {}
139+
interface ScrollAreaViewportProps extends PrimitiveDivProps {
140+
nonce?: string;
141+
}
140142

141143
const ScrollAreaViewport = React.forwardRef<ScrollAreaViewportElement, ScrollAreaViewportProps>(
142144
(props: ScopedProps<ScrollAreaViewportProps>, forwardedRef) => {
143-
const { __scopeScrollArea, children, ...viewportProps } = props;
145+
const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
144146
const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
145147
const ref = React.useRef<ScrollAreaViewportElement>(null);
146148
const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);
@@ -151,6 +153,7 @@ const ScrollAreaViewport = React.forwardRef<ScrollAreaViewportElement, ScrollAre
151153
dangerouslySetInnerHTML={{
152154
__html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`,
153155
}}
156+
nonce={nonce}
154157
/>
155158
<Primitive.div
156159
data-radix-scroll-area-viewport=""

packages/react/select/src/Select.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,11 +1037,13 @@ const VIEWPORT_NAME = 'SelectViewport';
10371037

10381038
type SelectViewportElement = React.ElementRef<typeof Primitive.div>;
10391039
type PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
1040-
interface SelectViewportProps extends PrimitiveDivProps {}
1040+
interface SelectViewportProps extends PrimitiveDivProps {
1041+
nonce?: string;
1042+
}
10411043

10421044
const SelectViewport = React.forwardRef<SelectViewportElement, SelectViewportProps>(
10431045
(props: ScopedProps<SelectViewportProps>, forwardedRef) => {
1044-
const { __scopeSelect, ...viewportProps } = props;
1046+
const { __scopeSelect, nonce, ...viewportProps } = props;
10451047
const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
10461048
const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
10471049
const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
@@ -1053,6 +1055,7 @@ const SelectViewport = React.forwardRef<SelectViewportElement, SelectViewportPro
10531055
dangerouslySetInnerHTML={{
10541056
__html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`,
10551057
}}
1058+
nonce={nonce}
10561059
/>
10571060
<Collection.Slot scope={__scopeSelect}>
10581061
<Primitive.div

0 commit comments

Comments
 (0)