@redis-ui/components 47.3.2 → 47.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppSelectionMenu/components/Compose/Compose.cjs +1 -1
- package/dist/AppSelectionMenu/components/Compose/Compose.js +1 -1
- package/dist/Banner/components/BannerSemanticComponents/SemanticCloseButton/SemanticCloseButton.style.cjs +1 -1
- package/dist/Banner/components/BannerSemanticComponents/SemanticCloseButton/SemanticCloseButton.style.js +1 -1
- package/dist/BoxSelectionGroup/hooks/useBoxSelectionGroup.cjs +1 -1
- package/dist/BoxSelectionGroup/hooks/useBoxSelectionGroup.js +1 -1
- package/dist/Checkbox/components/Compose/Compose.cjs +1 -1
- package/dist/Checkbox/components/Compose/Compose.js +1 -1
- package/dist/Checkbox/components/Indicator/Indicator.style.cjs +2 -2
- package/dist/Checkbox/components/Indicator/Indicator.style.js +3 -3
- package/dist/Drawer/components/Description/Description.cjs +1 -1
- package/dist/Drawer/components/Description/Description.js +1 -1
- package/dist/Drawer/components/Header/components/Title/Title.cjs +1 -1
- package/dist/Drawer/components/Header/components/Title/Title.js +1 -1
- package/dist/Inputs/PasswordInput/components/PasswordInput.context.cjs +1 -1
- package/dist/Inputs/PasswordInput/components/PasswordInput.context.js +1 -1
- package/dist/Inputs/TextArea/components/TextAreaTag/TextAreaTag.cjs +1 -1
- package/dist/Inputs/TextArea/components/TextAreaTag/TextAreaTag.js +1 -1
- package/dist/Inputs/components/Context/InputValue.context.d.ts +1 -1
- package/dist/Inputs/components/Context/InputValueProvider.cjs +1 -1
- package/dist/Inputs/components/Context/InputValueProvider.js +1 -1
- package/dist/Inputs/components/Context/NumericInputValueProvider.cjs +1 -1
- package/dist/Inputs/components/Context/NumericInputValueProvider.js +1 -1
- package/dist/Inputs/components/InputTag/InputTag.cjs +1 -1
- package/dist/Inputs/components/InputTag/InputTag.js +1 -1
- package/dist/Loader/Loader.cjs +1 -1
- package/dist/Loader/Loader.js +1 -1
- package/dist/Modal/components/Content/components/Description/Description.cjs +1 -1
- package/dist/Modal/components/Content/components/Description/Description.js +1 -1
- package/dist/Modal/components/Content/components/Header/components/Title/Title.cjs +1 -1
- package/dist/Modal/components/Content/components/Header/components/Title/Title.js +1 -1
- package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.cjs +1 -1
- package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.d.ts +1 -1
- package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.js +1 -1
- package/dist/RadioGroup/components/Compose/Compose.cjs +2 -2
- package/dist/RadioGroup/components/Compose/Compose.js +2 -2
- package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.cjs +1 -1
- package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.js +1 -1
- package/dist/Section/components/Compose/Compose.cjs +1 -1
- package/dist/Section/components/Compose/Compose.js +1 -1
- package/dist/Section/components/Header/components/CollapseButton/CollapseButton.cjs +1 -1
- package/dist/Section/components/Header/components/CollapseButton/CollapseButton.js +1 -1
- package/dist/Select/components/Context/hooks/useSelectContextApi.d.ts +1 -1
- package/dist/Select/components/Trigger/components/Compose/Compose.cjs +1 -1
- package/dist/Select/components/Trigger/components/Compose/Compose.js +1 -1
- package/dist/Slider/components/Compose/Compose.cjs +1 -1
- package/dist/Slider/components/Compose/Compose.js +1 -1
- package/dist/Switch/components/Compose/Compose.cjs +1 -1
- package/dist/Switch/components/Compose/Compose.js +1 -1
- package/dist/Toast/Toaster.style.cjs +2 -2
- package/dist/Toast/Toaster.style.js +2 -2
- package/dist/Toast/core/mapping.helpers.cjs +1 -1
- package/dist/Toast/core/mapping.helpers.js +1 -1
- package/dist/Typography/hooks/useEllipsisTooltip.d.ts +1 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-checkbox/dist/index.cjs +108 -62
- package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +108 -62
- package/dist/node_modules/@radix-ui/react-collapsible/dist/index.cjs +5 -4
- package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +5 -4
- package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +4 -2
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js +5 -3
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +16 -2
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +16 -2
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +8 -8
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +8 -8
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.cjs +6 -4
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +6 -4
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +4 -3
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +4 -3
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +4 -1
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +4 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +8 -5
- package/dist/node_modules/@radix-ui/react-menu/dist/index.js +8 -5
- package/dist/node_modules/@radix-ui/react-popover/dist/index.cjs +6 -4
- package/dist/node_modules/@radix-ui/react-popover/dist/index.js +6 -4
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +4 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js +4 -1
- package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +16 -6
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +16 -5
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +3 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +3 -1
- package/dist/node_modules/@radix-ui/react-progress/dist/index.cjs +2 -2
- package/dist/node_modules/@radix-ui/react-progress/dist/index.js +2 -2
- package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-context/dist/index.cjs +2 -1
- package/dist/node_modules/@radix-ui/{react-switch → react-progress}/node_modules/@radix-ui/react-context/dist/index.js +2 -1
- package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/{react-switch → react-progress}/node_modules/@radix-ui/react-primitive/dist/index.js +4 -2
- package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-slot/dist/index.cjs +14 -4
- package/dist/node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-slot/dist/index.js +97 -0
- package/dist/node_modules/@radix-ui/react-radio-group/dist/index.cjs +16 -11
- package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js +16 -11
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +11 -6
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +11 -6
- package/dist/node_modules/@radix-ui/react-select/dist/index.cjs +56 -35
- package/dist/node_modules/@radix-ui/react-select/dist/index.js +57 -36
- package/dist/node_modules/@radix-ui/react-slider/dist/index.cjs +35 -35
- package/dist/node_modules/@radix-ui/react-slider/dist/index.js +10 -10
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +55 -39
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +54 -38
- package/dist/node_modules/@radix-ui/react-switch/dist/index.cjs +27 -23
- package/dist/node_modules/@radix-ui/react-switch/dist/index.js +17 -13
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.cjs +2 -1
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +2 -1
- package/dist/node_modules/@radix-ui/react-toggle/dist/index.cjs +4 -3
- package/dist/node_modules/@radix-ui/react-toggle/dist/index.js +4 -3
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.cjs +33 -17
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +33 -17
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +29 -16
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +29 -16
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +14 -11
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +14 -11
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +8 -2
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +8 -2
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +3 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +3 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +4 -2
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +4 -2
- package/dist/{node_modules/@radix-ui/react-switch → packages/components}/node_modules/@radix-ui/react-primitive/dist/index.cjs +5 -3
- package/dist/{node_modules/@radix-ui/react-slider → packages/components}/node_modules/@radix-ui/react-primitive/dist/index.js +1 -1
- package/dist/packages/components/node_modules/@radix-ui/react-slot/dist/index.cjs +99 -0
- package/dist/{node_modules/@radix-ui/react-slider → packages/components}/node_modules/@radix-ui/react-slot/dist/index.js +14 -4
- package/dist/packages/components/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +32 -0
- package/dist/packages/components/node_modules/@radix-ui/react-visually-hidden/dist/index.js +30 -0
- package/dist/{node_modules → packages/components/node_modules}/react-toastify/dist/react-toastify.esm.cjs +3 -3
- package/dist/{node_modules → packages/components/node_modules}/react-toastify/dist/react-toastify.esm.js +2 -2
- package/package.json +18 -14
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/number/dist/index.cjs +0 -6
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/number/dist/index.js +0 -6
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/primitive/dist/index.cjs +0 -9
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/primitive/dist/index.js +0 -9
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-collection/dist/index.cjs +0 -81
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-collection/dist/index.js +0 -79
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +0 -31
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -28
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-context/dist/index.js +0 -67
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-direction/dist/index.cjs +0 -12
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-direction/dist/index.js +0 -10
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +0 -57
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -55
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +0 -7
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -5
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-previous/dist/index.cjs +0 -19
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-previous/dist/index.js +0 -17
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-size/dist/index.cjs +0 -41
- package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-size/dist/index.js +0 -39
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.cjs +0 -9
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.js +0 -9
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +0 -31
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -28
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.cjs +0 -69
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.cjs +0 -82
- package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.js +0 -80
|
@@ -14,62 +14,95 @@ react = require_runtime.__toESM(react, 1);
|
|
|
14
14
|
//#region ../../node_modules/@radix-ui/react-checkbox/dist/index.mjs
|
|
15
15
|
var CHECKBOX_NAME = "Checkbox";
|
|
16
16
|
var [createCheckboxContext, createCheckboxScope] = require_index$2.createContextScope(CHECKBOX_NAME);
|
|
17
|
-
var [
|
|
18
|
-
|
|
19
|
-
const { __scopeCheckbox,
|
|
20
|
-
const [
|
|
21
|
-
const composedRefs = require_index$1.useComposedRefs(forwardedRef, (node) => setButton(node));
|
|
22
|
-
const hasConsumerStoppedPropagationRef = react.useRef(false);
|
|
23
|
-
const isFormControl = button ? Boolean(button.closest("form")) : true;
|
|
24
|
-
const [checked = false, setChecked] = require_index$6.useControllableState({
|
|
17
|
+
var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
|
|
18
|
+
function CheckboxProvider(props) {
|
|
19
|
+
const { __scopeCheckbox, checked: checkedProp, children, defaultChecked, disabled, form, name, onCheckedChange, required, value = "on", internal_do_not_use_render } = props;
|
|
20
|
+
const [checked, setChecked] = require_index$6.useControllableState({
|
|
25
21
|
prop: checkedProp,
|
|
26
|
-
defaultProp: defaultChecked,
|
|
27
|
-
onChange: onCheckedChange
|
|
22
|
+
defaultProp: defaultChecked ?? false,
|
|
23
|
+
onChange: onCheckedChange,
|
|
24
|
+
caller: CHECKBOX_NAME
|
|
25
|
+
});
|
|
26
|
+
const [control, setControl] = react.useState(null);
|
|
27
|
+
const [bubbleInput, setBubbleInput] = react.useState(null);
|
|
28
|
+
const hasConsumerStoppedPropagationRef = react.useRef(false);
|
|
29
|
+
const isFormControl = control ? !!form || !!control.closest("form") : true;
|
|
30
|
+
const context = {
|
|
31
|
+
checked,
|
|
32
|
+
disabled,
|
|
33
|
+
setChecked,
|
|
34
|
+
control,
|
|
35
|
+
setControl,
|
|
36
|
+
name,
|
|
37
|
+
form,
|
|
38
|
+
value,
|
|
39
|
+
hasConsumerStoppedPropagationRef,
|
|
40
|
+
required,
|
|
41
|
+
defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
|
|
42
|
+
isFormControl,
|
|
43
|
+
bubbleInput,
|
|
44
|
+
setBubbleInput
|
|
45
|
+
};
|
|
46
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxProviderImpl, {
|
|
47
|
+
scope: __scopeCheckbox,
|
|
48
|
+
...context,
|
|
49
|
+
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
|
|
28
50
|
});
|
|
51
|
+
}
|
|
52
|
+
var TRIGGER_NAME = "CheckboxTrigger";
|
|
53
|
+
var CheckboxTrigger = react.forwardRef(({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
|
|
54
|
+
const { control, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, isFormControl, bubbleInput } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
|
|
55
|
+
const composedRefs = require_index$1.useComposedRefs(forwardedRef, setControl);
|
|
29
56
|
const initialCheckedStateRef = react.useRef(checked);
|
|
30
57
|
react.useEffect(() => {
|
|
31
|
-
const form =
|
|
58
|
+
const form = control?.form;
|
|
32
59
|
if (form) {
|
|
33
60
|
const reset = () => setChecked(initialCheckedStateRef.current);
|
|
34
61
|
form.addEventListener("reset", reset);
|
|
35
62
|
return () => form.removeEventListener("reset", reset);
|
|
36
63
|
}
|
|
37
|
-
}, [
|
|
38
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
39
|
-
|
|
40
|
-
|
|
64
|
+
}, [control, setChecked]);
|
|
65
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Primitive.button, {
|
|
66
|
+
type: "button",
|
|
67
|
+
role: "checkbox",
|
|
68
|
+
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
|
69
|
+
"aria-required": required,
|
|
70
|
+
"data-state": getState(checked),
|
|
71
|
+
"data-disabled": disabled ? "" : void 0,
|
|
72
|
+
disabled,
|
|
73
|
+
value,
|
|
74
|
+
...checkboxProps,
|
|
75
|
+
ref: composedRefs,
|
|
76
|
+
onKeyDown: require_index.composeEventHandlers(onKeyDown, (event) => {
|
|
77
|
+
if (event.key === "Enter") event.preventDefault();
|
|
78
|
+
}),
|
|
79
|
+
onClick: require_index.composeEventHandlers(onClick, (event) => {
|
|
80
|
+
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
81
|
+
if (bubbleInput && isFormControl) {
|
|
82
|
+
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
83
|
+
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
CheckboxTrigger.displayName = TRIGGER_NAME;
|
|
89
|
+
var Checkbox = react.forwardRef((props, forwardedRef) => {
|
|
90
|
+
const { __scopeCheckbox, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...checkboxProps } = props;
|
|
91
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxProvider, {
|
|
92
|
+
__scopeCheckbox,
|
|
93
|
+
checked,
|
|
94
|
+
defaultChecked,
|
|
41
95
|
disabled,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"data-disabled": disabled ? "" : void 0,
|
|
49
|
-
disabled,
|
|
50
|
-
value,
|
|
96
|
+
required,
|
|
97
|
+
onCheckedChange,
|
|
98
|
+
name,
|
|
99
|
+
form,
|
|
100
|
+
value,
|
|
101
|
+
internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxTrigger, {
|
|
51
102
|
...checkboxProps,
|
|
52
|
-
ref:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}),
|
|
56
|
-
onClick: require_index.composeEventHandlers(props.onClick, (event) => {
|
|
57
|
-
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
58
|
-
if (isFormControl) {
|
|
59
|
-
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
60
|
-
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
61
|
-
}
|
|
62
|
-
})
|
|
63
|
-
}), isFormControl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BubbleInput, {
|
|
64
|
-
control: button,
|
|
65
|
-
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
66
|
-
name,
|
|
67
|
-
value,
|
|
68
|
-
checked,
|
|
69
|
-
required,
|
|
70
|
-
disabled,
|
|
71
|
-
style: { transform: "translateX(-100%)" }
|
|
72
|
-
})]
|
|
103
|
+
ref: forwardedRef,
|
|
104
|
+
__scopeCheckbox
|
|
105
|
+
}), isFormControl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxBubbleInput, { __scopeCheckbox })] })
|
|
73
106
|
});
|
|
74
107
|
});
|
|
75
108
|
Checkbox.displayName = CHECKBOX_NAME;
|
|
@@ -78,9 +111,9 @@ var CheckboxIndicator = react.forwardRef((props, forwardedRef) => {
|
|
|
78
111
|
const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
|
|
79
112
|
const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
|
|
80
113
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$5.Presence, {
|
|
81
|
-
present: forceMount || isIndeterminate(context.
|
|
114
|
+
present: forceMount || isIndeterminate(context.checked) || context.checked === true,
|
|
82
115
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Primitive.span, {
|
|
83
|
-
"data-state": getState(context.
|
|
116
|
+
"data-state": getState(context.checked),
|
|
84
117
|
"data-disabled": context.disabled ? "" : void 0,
|
|
85
118
|
...indicatorProps,
|
|
86
119
|
ref: forwardedRef,
|
|
@@ -92,15 +125,18 @@ var CheckboxIndicator = react.forwardRef((props, forwardedRef) => {
|
|
|
92
125
|
});
|
|
93
126
|
});
|
|
94
127
|
CheckboxIndicator.displayName = INDICATOR_NAME;
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
const
|
|
128
|
+
var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
|
|
129
|
+
var CheckboxBubbleInput = react.forwardRef(({ __scopeCheckbox, ...props }, forwardedRef) => {
|
|
130
|
+
const { control, hasConsumerStoppedPropagationRef, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
|
|
131
|
+
const composedRefs = require_index$1.useComposedRefs(forwardedRef, setBubbleInput);
|
|
98
132
|
const prevChecked = require_index$7.usePrevious(checked);
|
|
99
133
|
const controlSize = require_index$4.useSize(control);
|
|
100
134
|
react.useEffect(() => {
|
|
101
|
-
const input =
|
|
135
|
+
const input = bubbleInput;
|
|
136
|
+
if (!input) return;
|
|
102
137
|
const inputProto = window.HTMLInputElement.prototype;
|
|
103
138
|
const setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set;
|
|
139
|
+
const bubbles = !hasConsumerStoppedPropagationRef.current;
|
|
104
140
|
if (prevChecked !== checked && setChecked) {
|
|
105
141
|
const event = new Event("click", { bubbles });
|
|
106
142
|
input.indeterminate = isIndeterminate(checked);
|
|
@@ -108,35 +144,45 @@ var BubbleInput = (props) => {
|
|
|
108
144
|
input.dispatchEvent(event);
|
|
109
145
|
}
|
|
110
146
|
}, [
|
|
147
|
+
bubbleInput,
|
|
111
148
|
prevChecked,
|
|
112
149
|
checked,
|
|
113
|
-
|
|
150
|
+
hasConsumerStoppedPropagationRef
|
|
114
151
|
]);
|
|
115
|
-
|
|
152
|
+
const defaultCheckedRef = react.useRef(isIndeterminate(checked) ? false : checked);
|
|
153
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Primitive.input, {
|
|
116
154
|
type: "checkbox",
|
|
117
155
|
"aria-hidden": true,
|
|
118
|
-
defaultChecked:
|
|
119
|
-
|
|
156
|
+
defaultChecked: defaultChecked ?? defaultCheckedRef.current,
|
|
157
|
+
required,
|
|
158
|
+
disabled,
|
|
159
|
+
name,
|
|
160
|
+
value,
|
|
161
|
+
form,
|
|
162
|
+
...props,
|
|
120
163
|
tabIndex: -1,
|
|
121
|
-
ref,
|
|
164
|
+
ref: composedRefs,
|
|
122
165
|
style: {
|
|
123
166
|
...props.style,
|
|
124
167
|
...controlSize,
|
|
125
168
|
position: "absolute",
|
|
126
169
|
pointerEvents: "none",
|
|
127
170
|
opacity: 0,
|
|
128
|
-
margin: 0
|
|
171
|
+
margin: 0,
|
|
172
|
+
transform: "translateX(-100%)"
|
|
129
173
|
}
|
|
130
174
|
});
|
|
131
|
-
};
|
|
175
|
+
});
|
|
176
|
+
CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
177
|
+
function isFunction(value) {
|
|
178
|
+
return typeof value === "function";
|
|
179
|
+
}
|
|
132
180
|
function isIndeterminate(checked) {
|
|
133
181
|
return checked === "indeterminate";
|
|
134
182
|
}
|
|
135
183
|
function getState(checked) {
|
|
136
184
|
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
|
137
185
|
}
|
|
138
|
-
var Root = Checkbox;
|
|
139
|
-
var Indicator = CheckboxIndicator;
|
|
140
186
|
//#endregion
|
|
141
|
-
exports.
|
|
142
|
-
exports.
|
|
187
|
+
exports.Checkbox = Checkbox;
|
|
188
|
+
exports.CheckboxIndicator = CheckboxIndicator;
|
|
@@ -7,67 +7,100 @@ import { useSize } from "../../react-use-size/dist/index.js";
|
|
|
7
7
|
import { Presence } from "../../react-presence/dist/index.js";
|
|
8
8
|
import { useControllableState } from "../../react-use-controllable-state/dist/index.js";
|
|
9
9
|
import { usePrevious } from "../../react-use-previous/dist/index.js";
|
|
10
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import * as React$1 from "react";
|
|
12
12
|
//#region ../../node_modules/@radix-ui/react-checkbox/dist/index.mjs
|
|
13
13
|
var CHECKBOX_NAME = "Checkbox";
|
|
14
14
|
var [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);
|
|
15
|
-
var [
|
|
16
|
-
|
|
17
|
-
const { __scopeCheckbox,
|
|
18
|
-
const [
|
|
19
|
-
const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));
|
|
20
|
-
const hasConsumerStoppedPropagationRef = React$1.useRef(false);
|
|
21
|
-
const isFormControl = button ? Boolean(button.closest("form")) : true;
|
|
22
|
-
const [checked = false, setChecked] = useControllableState({
|
|
15
|
+
var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
|
|
16
|
+
function CheckboxProvider(props) {
|
|
17
|
+
const { __scopeCheckbox, checked: checkedProp, children, defaultChecked, disabled, form, name, onCheckedChange, required, value = "on", internal_do_not_use_render } = props;
|
|
18
|
+
const [checked, setChecked] = useControllableState({
|
|
23
19
|
prop: checkedProp,
|
|
24
|
-
defaultProp: defaultChecked,
|
|
25
|
-
onChange: onCheckedChange
|
|
20
|
+
defaultProp: defaultChecked ?? false,
|
|
21
|
+
onChange: onCheckedChange,
|
|
22
|
+
caller: CHECKBOX_NAME
|
|
23
|
+
});
|
|
24
|
+
const [control, setControl] = React$1.useState(null);
|
|
25
|
+
const [bubbleInput, setBubbleInput] = React$1.useState(null);
|
|
26
|
+
const hasConsumerStoppedPropagationRef = React$1.useRef(false);
|
|
27
|
+
const isFormControl = control ? !!form || !!control.closest("form") : true;
|
|
28
|
+
const context = {
|
|
29
|
+
checked,
|
|
30
|
+
disabled,
|
|
31
|
+
setChecked,
|
|
32
|
+
control,
|
|
33
|
+
setControl,
|
|
34
|
+
name,
|
|
35
|
+
form,
|
|
36
|
+
value,
|
|
37
|
+
hasConsumerStoppedPropagationRef,
|
|
38
|
+
required,
|
|
39
|
+
defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
|
|
40
|
+
isFormControl,
|
|
41
|
+
bubbleInput,
|
|
42
|
+
setBubbleInput
|
|
43
|
+
};
|
|
44
|
+
return /* @__PURE__ */ jsx(CheckboxProviderImpl, {
|
|
45
|
+
scope: __scopeCheckbox,
|
|
46
|
+
...context,
|
|
47
|
+
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
|
|
26
48
|
});
|
|
49
|
+
}
|
|
50
|
+
var TRIGGER_NAME = "CheckboxTrigger";
|
|
51
|
+
var CheckboxTrigger = React$1.forwardRef(({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
|
|
52
|
+
const { control, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, isFormControl, bubbleInput } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
|
|
53
|
+
const composedRefs = useComposedRefs(forwardedRef, setControl);
|
|
27
54
|
const initialCheckedStateRef = React$1.useRef(checked);
|
|
28
55
|
React$1.useEffect(() => {
|
|
29
|
-
const form =
|
|
56
|
+
const form = control?.form;
|
|
30
57
|
if (form) {
|
|
31
58
|
const reset = () => setChecked(initialCheckedStateRef.current);
|
|
32
59
|
form.addEventListener("reset", reset);
|
|
33
60
|
return () => form.removeEventListener("reset", reset);
|
|
34
61
|
}
|
|
35
|
-
}, [
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
|
|
62
|
+
}, [control, setChecked]);
|
|
63
|
+
return /* @__PURE__ */ jsx(Primitive.button, {
|
|
64
|
+
type: "button",
|
|
65
|
+
role: "checkbox",
|
|
66
|
+
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
|
67
|
+
"aria-required": required,
|
|
68
|
+
"data-state": getState(checked),
|
|
69
|
+
"data-disabled": disabled ? "" : void 0,
|
|
70
|
+
disabled,
|
|
71
|
+
value,
|
|
72
|
+
...checkboxProps,
|
|
73
|
+
ref: composedRefs,
|
|
74
|
+
onKeyDown: composeEventHandlers(onKeyDown, (event) => {
|
|
75
|
+
if (event.key === "Enter") event.preventDefault();
|
|
76
|
+
}),
|
|
77
|
+
onClick: composeEventHandlers(onClick, (event) => {
|
|
78
|
+
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
79
|
+
if (bubbleInput && isFormControl) {
|
|
80
|
+
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
81
|
+
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
CheckboxTrigger.displayName = TRIGGER_NAME;
|
|
87
|
+
var Checkbox = React$1.forwardRef((props, forwardedRef) => {
|
|
88
|
+
const { __scopeCheckbox, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...checkboxProps } = props;
|
|
89
|
+
return /* @__PURE__ */ jsx(CheckboxProvider, {
|
|
90
|
+
__scopeCheckbox,
|
|
91
|
+
checked,
|
|
92
|
+
defaultChecked,
|
|
39
93
|
disabled,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"data-disabled": disabled ? "" : void 0,
|
|
47
|
-
disabled,
|
|
48
|
-
value,
|
|
94
|
+
required,
|
|
95
|
+
onCheckedChange,
|
|
96
|
+
name,
|
|
97
|
+
form,
|
|
98
|
+
value,
|
|
99
|
+
internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CheckboxTrigger, {
|
|
49
100
|
...checkboxProps,
|
|
50
|
-
ref:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}),
|
|
54
|
-
onClick: composeEventHandlers(props.onClick, (event) => {
|
|
55
|
-
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
56
|
-
if (isFormControl) {
|
|
57
|
-
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
58
|
-
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
}), isFormControl && /* @__PURE__ */ jsx(BubbleInput, {
|
|
62
|
-
control: button,
|
|
63
|
-
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
64
|
-
name,
|
|
65
|
-
value,
|
|
66
|
-
checked,
|
|
67
|
-
required,
|
|
68
|
-
disabled,
|
|
69
|
-
style: { transform: "translateX(-100%)" }
|
|
70
|
-
})]
|
|
101
|
+
ref: forwardedRef,
|
|
102
|
+
__scopeCheckbox
|
|
103
|
+
}), isFormControl && /* @__PURE__ */ jsx(CheckboxBubbleInput, { __scopeCheckbox })] })
|
|
71
104
|
});
|
|
72
105
|
});
|
|
73
106
|
Checkbox.displayName = CHECKBOX_NAME;
|
|
@@ -76,9 +109,9 @@ var CheckboxIndicator = React$1.forwardRef((props, forwardedRef) => {
|
|
|
76
109
|
const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
|
|
77
110
|
const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
|
|
78
111
|
return /* @__PURE__ */ jsx(Presence, {
|
|
79
|
-
present: forceMount || isIndeterminate(context.
|
|
112
|
+
present: forceMount || isIndeterminate(context.checked) || context.checked === true,
|
|
80
113
|
children: /* @__PURE__ */ jsx(Primitive.span, {
|
|
81
|
-
"data-state": getState(context.
|
|
114
|
+
"data-state": getState(context.checked),
|
|
82
115
|
"data-disabled": context.disabled ? "" : void 0,
|
|
83
116
|
...indicatorProps,
|
|
84
117
|
ref: forwardedRef,
|
|
@@ -90,15 +123,18 @@ var CheckboxIndicator = React$1.forwardRef((props, forwardedRef) => {
|
|
|
90
123
|
});
|
|
91
124
|
});
|
|
92
125
|
CheckboxIndicator.displayName = INDICATOR_NAME;
|
|
93
|
-
var
|
|
94
|
-
|
|
95
|
-
const
|
|
126
|
+
var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
|
|
127
|
+
var CheckboxBubbleInput = React$1.forwardRef(({ __scopeCheckbox, ...props }, forwardedRef) => {
|
|
128
|
+
const { control, hasConsumerStoppedPropagationRef, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
|
|
129
|
+
const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);
|
|
96
130
|
const prevChecked = usePrevious(checked);
|
|
97
131
|
const controlSize = useSize(control);
|
|
98
132
|
React$1.useEffect(() => {
|
|
99
|
-
const input =
|
|
133
|
+
const input = bubbleInput;
|
|
134
|
+
if (!input) return;
|
|
100
135
|
const inputProto = window.HTMLInputElement.prototype;
|
|
101
136
|
const setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set;
|
|
137
|
+
const bubbles = !hasConsumerStoppedPropagationRef.current;
|
|
102
138
|
if (prevChecked !== checked && setChecked) {
|
|
103
139
|
const event = new Event("click", { bubbles });
|
|
104
140
|
input.indeterminate = isIndeterminate(checked);
|
|
@@ -106,34 +142,44 @@ var BubbleInput = (props) => {
|
|
|
106
142
|
input.dispatchEvent(event);
|
|
107
143
|
}
|
|
108
144
|
}, [
|
|
145
|
+
bubbleInput,
|
|
109
146
|
prevChecked,
|
|
110
147
|
checked,
|
|
111
|
-
|
|
148
|
+
hasConsumerStoppedPropagationRef
|
|
112
149
|
]);
|
|
113
|
-
|
|
150
|
+
const defaultCheckedRef = React$1.useRef(isIndeterminate(checked) ? false : checked);
|
|
151
|
+
return /* @__PURE__ */ jsx(Primitive.input, {
|
|
114
152
|
type: "checkbox",
|
|
115
153
|
"aria-hidden": true,
|
|
116
|
-
defaultChecked:
|
|
117
|
-
|
|
154
|
+
defaultChecked: defaultChecked ?? defaultCheckedRef.current,
|
|
155
|
+
required,
|
|
156
|
+
disabled,
|
|
157
|
+
name,
|
|
158
|
+
value,
|
|
159
|
+
form,
|
|
160
|
+
...props,
|
|
118
161
|
tabIndex: -1,
|
|
119
|
-
ref,
|
|
162
|
+
ref: composedRefs,
|
|
120
163
|
style: {
|
|
121
164
|
...props.style,
|
|
122
165
|
...controlSize,
|
|
123
166
|
position: "absolute",
|
|
124
167
|
pointerEvents: "none",
|
|
125
168
|
opacity: 0,
|
|
126
|
-
margin: 0
|
|
169
|
+
margin: 0,
|
|
170
|
+
transform: "translateX(-100%)"
|
|
127
171
|
}
|
|
128
172
|
});
|
|
129
|
-
};
|
|
173
|
+
});
|
|
174
|
+
CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
175
|
+
function isFunction(value) {
|
|
176
|
+
return typeof value === "function";
|
|
177
|
+
}
|
|
130
178
|
function isIndeterminate(checked) {
|
|
131
179
|
return checked === "indeterminate";
|
|
132
180
|
}
|
|
133
181
|
function getState(checked) {
|
|
134
182
|
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
|
135
183
|
}
|
|
136
|
-
var Root = Checkbox;
|
|
137
|
-
var Indicator = CheckboxIndicator;
|
|
138
184
|
//#endregion
|
|
139
|
-
export {
|
|
185
|
+
export { Checkbox, CheckboxIndicator };
|
|
@@ -17,10 +17,11 @@ var [createCollapsibleContext, createCollapsibleScope] = require_index$2.createC
|
|
|
17
17
|
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
18
18
|
var Collapsible = react.forwardRef((props, forwardedRef) => {
|
|
19
19
|
const { __scopeCollapsible, open: openProp, defaultOpen, disabled, onOpenChange, ...collapsibleProps } = props;
|
|
20
|
-
const [open
|
|
20
|
+
const [open, setOpen] = require_index$7.useControllableState({
|
|
21
21
|
prop: openProp,
|
|
22
|
-
defaultProp: defaultOpen,
|
|
23
|
-
onChange: onOpenChange
|
|
22
|
+
defaultProp: defaultOpen ?? false,
|
|
23
|
+
onChange: onOpenChange,
|
|
24
|
+
caller: COLLAPSIBLE_NAME
|
|
24
25
|
});
|
|
25
26
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapsibleProvider, {
|
|
26
27
|
scope: __scopeCollapsible,
|
|
@@ -80,7 +81,7 @@ var CollapsibleContentImpl = react.forwardRef((props, forwardedRef) => {
|
|
|
80
81
|
const width = widthRef.current;
|
|
81
82
|
const isOpen = context.open || isPresent;
|
|
82
83
|
const isMountAnimationPreventedRef = react.useRef(isOpen);
|
|
83
|
-
const originalStylesRef = react.useRef();
|
|
84
|
+
const originalStylesRef = react.useRef(void 0);
|
|
84
85
|
react.useEffect(() => {
|
|
85
86
|
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
|
86
87
|
return () => cancelAnimationFrame(rAF);
|
|
@@ -15,10 +15,11 @@ var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLL
|
|
|
15
15
|
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
16
16
|
var Collapsible = React$1.forwardRef((props, forwardedRef) => {
|
|
17
17
|
const { __scopeCollapsible, open: openProp, defaultOpen, disabled, onOpenChange, ...collapsibleProps } = props;
|
|
18
|
-
const [open
|
|
18
|
+
const [open, setOpen] = useControllableState({
|
|
19
19
|
prop: openProp,
|
|
20
|
-
defaultProp: defaultOpen,
|
|
21
|
-
onChange: onOpenChange
|
|
20
|
+
defaultProp: defaultOpen ?? false,
|
|
21
|
+
onChange: onOpenChange,
|
|
22
|
+
caller: COLLAPSIBLE_NAME
|
|
22
23
|
});
|
|
23
24
|
return /* @__PURE__ */ jsx(CollapsibleProvider, {
|
|
24
25
|
scope: __scopeCollapsible,
|
|
@@ -78,7 +79,7 @@ var CollapsibleContentImpl = React$1.forwardRef((props, forwardedRef) => {
|
|
|
78
79
|
const width = widthRef.current;
|
|
79
80
|
const isOpen = context.open || isPresent;
|
|
80
81
|
const isMountAnimationPreventedRef = React$1.useRef(isOpen);
|
|
81
|
-
const originalStylesRef = React$1.useRef();
|
|
82
|
+
const originalStylesRef = React$1.useRef(void 0);
|
|
82
83
|
React$1.useEffect(() => {
|
|
83
84
|
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
|
84
85
|
return () => cancelAnimationFrame(rAF);
|
|
@@ -27,9 +27,10 @@ function createCollection(name) {
|
|
|
27
27
|
};
|
|
28
28
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
29
29
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
30
|
+
const CollectionSlotImpl = require_index$2.createSlot(COLLECTION_SLOT_NAME);
|
|
30
31
|
const CollectionSlot = react.default.forwardRef((props, forwardedRef) => {
|
|
31
32
|
const { scope, children } = props;
|
|
32
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
33
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollectionSlotImpl, {
|
|
33
34
|
ref: require_index.useComposedRefs(forwardedRef, useCollectionContext(COLLECTION_SLOT_NAME, scope).collectionRef),
|
|
34
35
|
children
|
|
35
36
|
});
|
|
@@ -37,6 +38,7 @@ function createCollection(name) {
|
|
|
37
38
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
38
39
|
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
|
39
40
|
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
|
41
|
+
const CollectionItemSlotImpl = require_index$2.createSlot(ITEM_SLOT_NAME);
|
|
40
42
|
const CollectionItemSlot = react.default.forwardRef((props, forwardedRef) => {
|
|
41
43
|
const { scope, children, ...itemData } = props;
|
|
42
44
|
const ref = react.default.useRef(null);
|
|
@@ -49,7 +51,7 @@ function createCollection(name) {
|
|
|
49
51
|
});
|
|
50
52
|
return () => void context.itemMap.delete(ref);
|
|
51
53
|
});
|
|
52
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
54
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollectionItemSlotImpl, {
|
|
53
55
|
[ITEM_DATA_ATTR]: "",
|
|
54
56
|
ref: composedRefs,
|
|
55
57
|
children
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useComposedRefs } from "../../react-compose-refs/dist/index.js";
|
|
3
3
|
import { createContextScope } from "../../react-context/dist/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { createSlot } from "../../react-slot/dist/index.js";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import React from "react";
|
|
7
7
|
//#region ../../node_modules/@radix-ui/react-collection/dist/index.mjs
|
|
@@ -25,9 +25,10 @@ function createCollection(name) {
|
|
|
25
25
|
};
|
|
26
26
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
27
27
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
28
|
+
const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
|
|
28
29
|
const CollectionSlot = React.forwardRef((props, forwardedRef) => {
|
|
29
30
|
const { scope, children } = props;
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
31
|
+
return /* @__PURE__ */ jsx(CollectionSlotImpl, {
|
|
31
32
|
ref: useComposedRefs(forwardedRef, useCollectionContext(COLLECTION_SLOT_NAME, scope).collectionRef),
|
|
32
33
|
children
|
|
33
34
|
});
|
|
@@ -35,6 +36,7 @@ function createCollection(name) {
|
|
|
35
36
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
36
37
|
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
|
37
38
|
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
|
39
|
+
const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
|
|
38
40
|
const CollectionItemSlot = React.forwardRef((props, forwardedRef) => {
|
|
39
41
|
const { scope, children, ...itemData } = props;
|
|
40
42
|
const ref = React.useRef(null);
|
|
@@ -47,7 +49,7 @@ function createCollection(name) {
|
|
|
47
49
|
});
|
|
48
50
|
return () => void context.itemMap.delete(ref);
|
|
49
51
|
});
|
|
50
|
-
return /* @__PURE__ */ jsx(
|
|
52
|
+
return /* @__PURE__ */ jsx(CollectionItemSlotImpl, {
|
|
51
53
|
[ITEM_DATA_ATTR]: "",
|
|
52
54
|
ref: composedRefs,
|
|
53
55
|
children
|
|
@@ -3,11 +3,25 @@ let react = require("react");
|
|
|
3
3
|
react = require_runtime.__toESM(react, 1);
|
|
4
4
|
//#region ../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
5
5
|
function setRef(ref, value) {
|
|
6
|
-
if (typeof ref === "function") ref(value);
|
|
6
|
+
if (typeof ref === "function") return ref(value);
|
|
7
7
|
else if (ref !== null && ref !== void 0) ref.current = value;
|
|
8
8
|
}
|
|
9
9
|
function composeRefs(...refs) {
|
|
10
|
-
return (node) =>
|
|
10
|
+
return (node) => {
|
|
11
|
+
let hasCleanup = false;
|
|
12
|
+
const cleanups = refs.map((ref) => {
|
|
13
|
+
const cleanup = setRef(ref, node);
|
|
14
|
+
if (!hasCleanup && typeof cleanup == "function") hasCleanup = true;
|
|
15
|
+
return cleanup;
|
|
16
|
+
});
|
|
17
|
+
if (hasCleanup) return () => {
|
|
18
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
19
|
+
const cleanup = cleanups[i];
|
|
20
|
+
if (typeof cleanup == "function") cleanup();
|
|
21
|
+
else setRef(refs[i], null);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
11
25
|
}
|
|
12
26
|
function useComposedRefs(...refs) {
|
|
13
27
|
return react.useCallback(composeRefs(...refs), refs);
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
2
|
//#region ../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
3
3
|
function setRef(ref, value) {
|
|
4
|
-
if (typeof ref === "function") ref(value);
|
|
4
|
+
if (typeof ref === "function") return ref(value);
|
|
5
5
|
else if (ref !== null && ref !== void 0) ref.current = value;
|
|
6
6
|
}
|
|
7
7
|
function composeRefs(...refs) {
|
|
8
|
-
return (node) =>
|
|
8
|
+
return (node) => {
|
|
9
|
+
let hasCleanup = false;
|
|
10
|
+
const cleanups = refs.map((ref) => {
|
|
11
|
+
const cleanup = setRef(ref, node);
|
|
12
|
+
if (!hasCleanup && typeof cleanup == "function") hasCleanup = true;
|
|
13
|
+
return cleanup;
|
|
14
|
+
});
|
|
15
|
+
if (hasCleanup) return () => {
|
|
16
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
17
|
+
const cleanup = cleanups[i];
|
|
18
|
+
if (typeof cleanup == "function") cleanup();
|
|
19
|
+
else setRef(refs[i], null);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
};
|
|
9
23
|
}
|
|
10
24
|
function useComposedRefs(...refs) {
|
|
11
25
|
return React$1.useCallback(composeRefs(...refs), refs);
|