@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.
Files changed (157) hide show
  1. package/dist/AppSelectionMenu/components/Compose/Compose.cjs +1 -1
  2. package/dist/AppSelectionMenu/components/Compose/Compose.js +1 -1
  3. package/dist/Banner/components/BannerSemanticComponents/SemanticCloseButton/SemanticCloseButton.style.cjs +1 -1
  4. package/dist/Banner/components/BannerSemanticComponents/SemanticCloseButton/SemanticCloseButton.style.js +1 -1
  5. package/dist/BoxSelectionGroup/hooks/useBoxSelectionGroup.cjs +1 -1
  6. package/dist/BoxSelectionGroup/hooks/useBoxSelectionGroup.js +1 -1
  7. package/dist/Checkbox/components/Compose/Compose.cjs +1 -1
  8. package/dist/Checkbox/components/Compose/Compose.js +1 -1
  9. package/dist/Checkbox/components/Indicator/Indicator.style.cjs +2 -2
  10. package/dist/Checkbox/components/Indicator/Indicator.style.js +3 -3
  11. package/dist/Drawer/components/Description/Description.cjs +1 -1
  12. package/dist/Drawer/components/Description/Description.js +1 -1
  13. package/dist/Drawer/components/Header/components/Title/Title.cjs +1 -1
  14. package/dist/Drawer/components/Header/components/Title/Title.js +1 -1
  15. package/dist/Inputs/PasswordInput/components/PasswordInput.context.cjs +1 -1
  16. package/dist/Inputs/PasswordInput/components/PasswordInput.context.js +1 -1
  17. package/dist/Inputs/TextArea/components/TextAreaTag/TextAreaTag.cjs +1 -1
  18. package/dist/Inputs/TextArea/components/TextAreaTag/TextAreaTag.js +1 -1
  19. package/dist/Inputs/components/Context/InputValue.context.d.ts +1 -1
  20. package/dist/Inputs/components/Context/InputValueProvider.cjs +1 -1
  21. package/dist/Inputs/components/Context/InputValueProvider.js +1 -1
  22. package/dist/Inputs/components/Context/NumericInputValueProvider.cjs +1 -1
  23. package/dist/Inputs/components/Context/NumericInputValueProvider.js +1 -1
  24. package/dist/Inputs/components/InputTag/InputTag.cjs +1 -1
  25. package/dist/Inputs/components/InputTag/InputTag.js +1 -1
  26. package/dist/Loader/Loader.cjs +1 -1
  27. package/dist/Loader/Loader.js +1 -1
  28. package/dist/Modal/components/Content/components/Description/Description.cjs +1 -1
  29. package/dist/Modal/components/Content/components/Description/Description.js +1 -1
  30. package/dist/Modal/components/Content/components/Header/components/Title/Title.cjs +1 -1
  31. package/dist/Modal/components/Content/components/Header/components/Title/Title.js +1 -1
  32. package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.cjs +1 -1
  33. package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.d.ts +1 -1
  34. package/dist/MultiSelect/components/Compose/hooks/useMultiSelectContextApi.js +1 -1
  35. package/dist/RadioGroup/components/Compose/Compose.cjs +2 -2
  36. package/dist/RadioGroup/components/Compose/Compose.js +2 -2
  37. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.cjs +1 -1
  38. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.js +1 -1
  39. package/dist/Section/components/Compose/Compose.cjs +1 -1
  40. package/dist/Section/components/Compose/Compose.js +1 -1
  41. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.cjs +1 -1
  42. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.js +1 -1
  43. package/dist/Select/components/Context/hooks/useSelectContextApi.d.ts +1 -1
  44. package/dist/Select/components/Trigger/components/Compose/Compose.cjs +1 -1
  45. package/dist/Select/components/Trigger/components/Compose/Compose.js +1 -1
  46. package/dist/Slider/components/Compose/Compose.cjs +1 -1
  47. package/dist/Slider/components/Compose/Compose.js +1 -1
  48. package/dist/Switch/components/Compose/Compose.cjs +1 -1
  49. package/dist/Switch/components/Compose/Compose.js +1 -1
  50. package/dist/Toast/Toaster.style.cjs +2 -2
  51. package/dist/Toast/Toaster.style.js +2 -2
  52. package/dist/Toast/core/mapping.helpers.cjs +1 -1
  53. package/dist/Toast/core/mapping.helpers.js +1 -1
  54. package/dist/Typography/hooks/useEllipsisTooltip.d.ts +1 -1
  55. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +1 -1
  56. package/dist/node_modules/@radix-ui/primitive/dist/index.js +1 -1
  57. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.cjs +108 -62
  58. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +108 -62
  59. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.cjs +5 -4
  60. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +5 -4
  61. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +4 -2
  62. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +5 -3
  63. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +16 -2
  64. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +16 -2
  65. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +8 -8
  66. package/dist/node_modules/@radix-ui/react-context/dist/index.js +8 -8
  67. package/dist/node_modules/@radix-ui/react-dialog/dist/index.cjs +6 -4
  68. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +6 -4
  69. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +4 -3
  70. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +4 -3
  71. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +4 -1
  72. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +4 -1
  73. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +1 -1
  74. package/dist/node_modules/@radix-ui/react-id/dist/index.js +1 -1
  75. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +8 -5
  76. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +8 -5
  77. package/dist/node_modules/@radix-ui/react-popover/dist/index.cjs +6 -4
  78. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +6 -4
  79. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +4 -1
  80. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +4 -1
  81. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +16 -6
  82. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +16 -5
  83. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +3 -1
  84. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +3 -1
  85. package/dist/node_modules/@radix-ui/react-progress/dist/index.cjs +2 -2
  86. package/dist/node_modules/@radix-ui/react-progress/dist/index.js +2 -2
  87. package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-context/dist/index.cjs +2 -1
  88. package/dist/node_modules/@radix-ui/{react-switch → react-progress}/node_modules/@radix-ui/react-context/dist/index.js +2 -1
  89. package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -1
  90. package/dist/node_modules/@radix-ui/{react-switch → react-progress}/node_modules/@radix-ui/react-primitive/dist/index.js +4 -2
  91. package/dist/node_modules/@radix-ui/{react-slider → react-progress}/node_modules/@radix-ui/react-slot/dist/index.cjs +14 -4
  92. package/dist/node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-slot/dist/index.js +97 -0
  93. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.cjs +16 -11
  94. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js +16 -11
  95. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +11 -6
  96. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +11 -6
  97. package/dist/node_modules/@radix-ui/react-select/dist/index.cjs +56 -35
  98. package/dist/node_modules/@radix-ui/react-select/dist/index.js +57 -36
  99. package/dist/node_modules/@radix-ui/react-slider/dist/index.cjs +35 -35
  100. package/dist/node_modules/@radix-ui/react-slider/dist/index.js +10 -10
  101. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +55 -39
  102. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +54 -38
  103. package/dist/node_modules/@radix-ui/react-switch/dist/index.cjs +27 -23
  104. package/dist/node_modules/@radix-ui/react-switch/dist/index.js +17 -13
  105. package/dist/node_modules/@radix-ui/react-tabs/dist/index.cjs +2 -1
  106. package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +2 -1
  107. package/dist/node_modules/@radix-ui/react-toggle/dist/index.cjs +4 -3
  108. package/dist/node_modules/@radix-ui/react-toggle/dist/index.js +4 -3
  109. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.cjs +33 -17
  110. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +33 -17
  111. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +29 -16
  112. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +29 -16
  113. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +1 -1
  114. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +1 -1
  115. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +14 -11
  116. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +14 -11
  117. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +8 -2
  118. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +8 -2
  119. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +3 -1
  120. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +3 -1
  121. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +4 -2
  122. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +4 -2
  123. package/dist/{node_modules/@radix-ui/react-switch → packages/components}/node_modules/@radix-ui/react-primitive/dist/index.cjs +5 -3
  124. package/dist/{node_modules/@radix-ui/react-slider → packages/components}/node_modules/@radix-ui/react-primitive/dist/index.js +1 -1
  125. package/dist/packages/components/node_modules/@radix-ui/react-slot/dist/index.cjs +99 -0
  126. package/dist/{node_modules/@radix-ui/react-slider → packages/components}/node_modules/@radix-ui/react-slot/dist/index.js +14 -4
  127. package/dist/packages/components/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +32 -0
  128. package/dist/packages/components/node_modules/@radix-ui/react-visually-hidden/dist/index.js +30 -0
  129. package/dist/{node_modules → packages/components/node_modules}/react-toastify/dist/react-toastify.esm.cjs +3 -3
  130. package/dist/{node_modules → packages/components/node_modules}/react-toastify/dist/react-toastify.esm.js +2 -2
  131. package/package.json +18 -14
  132. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/number/dist/index.cjs +0 -6
  133. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/number/dist/index.js +0 -6
  134. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/primitive/dist/index.cjs +0 -9
  135. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/primitive/dist/index.js +0 -9
  136. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-collection/dist/index.cjs +0 -81
  137. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-collection/dist/index.js +0 -79
  138. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +0 -31
  139. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -28
  140. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-context/dist/index.js +0 -67
  141. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-direction/dist/index.cjs +0 -12
  142. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-direction/dist/index.js +0 -10
  143. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +0 -57
  144. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -55
  145. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +0 -7
  146. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -5
  147. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-previous/dist/index.cjs +0 -19
  148. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-previous/dist/index.js +0 -17
  149. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-size/dist/index.cjs +0 -41
  150. package/dist/node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-size/dist/index.js +0 -39
  151. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.cjs +0 -9
  152. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.js +0 -9
  153. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +0 -31
  154. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -28
  155. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.cjs +0 -69
  156. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.cjs +0 -82
  157. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.js +0 -80
@@ -2,48 +2,63 @@ import { composeRefs } from "../../react-compose-refs/dist/index.js";
2
2
  import { Fragment, jsx } from "react/jsx-runtime";
3
3
  import * as React$1 from "react";
4
4
  //#region ../../node_modules/@radix-ui/react-slot/dist/index.mjs
5
- var Slot = React$1.forwardRef((props, forwardedRef) => {
6
- const { children, ...slotProps } = props;
7
- const childrenArray = React$1.Children.toArray(children);
8
- const slottable = childrenArray.find(isSlottable);
9
- if (slottable) {
10
- const newElement = slottable.props.children;
11
- const newChildren = childrenArray.map((child) => {
12
- if (child === slottable) {
13
- if (React$1.Children.count(newElement) > 1) return React$1.Children.only(null);
14
- return React$1.isValidElement(newElement) ? newElement.props.children : null;
15
- } else return child;
16
- });
5
+ /* @__NO_SIDE_EFFECTS__ */
6
+ function createSlot(ownerName) {
7
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
8
+ const Slot2 = React$1.forwardRef((props, forwardedRef) => {
9
+ const { children, ...slotProps } = props;
10
+ const childrenArray = React$1.Children.toArray(children);
11
+ const slottable = childrenArray.find(isSlottable);
12
+ if (slottable) {
13
+ const newElement = slottable.props.children;
14
+ const newChildren = childrenArray.map((child) => {
15
+ if (child === slottable) {
16
+ if (React$1.Children.count(newElement) > 1) return React$1.Children.only(null);
17
+ return React$1.isValidElement(newElement) ? newElement.props.children : null;
18
+ } else return child;
19
+ });
20
+ return /* @__PURE__ */ jsx(SlotClone, {
21
+ ...slotProps,
22
+ ref: forwardedRef,
23
+ children: React$1.isValidElement(newElement) ? React$1.cloneElement(newElement, void 0, newChildren) : null
24
+ });
25
+ }
17
26
  return /* @__PURE__ */ jsx(SlotClone, {
18
27
  ...slotProps,
19
28
  ref: forwardedRef,
20
- children: React$1.isValidElement(newElement) ? React$1.cloneElement(newElement, void 0, newChildren) : null
29
+ children
21
30
  });
22
- }
23
- return /* @__PURE__ */ jsx(SlotClone, {
24
- ...slotProps,
25
- ref: forwardedRef,
26
- children
27
31
  });
28
- });
29
- Slot.displayName = "Slot";
30
- var SlotClone = React$1.forwardRef((props, forwardedRef) => {
31
- const { children, ...slotProps } = props;
32
- if (React$1.isValidElement(children)) {
33
- const childrenRef = getElementRef(children);
34
- return React$1.cloneElement(children, {
35
- ...mergeProps(slotProps, children.props),
36
- ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef
37
- });
38
- }
39
- return React$1.Children.count(children) > 1 ? React$1.Children.only(null) : null;
40
- });
41
- SlotClone.displayName = "SlotClone";
42
- var Slottable = ({ children }) => {
43
- return /* @__PURE__ */ jsx(Fragment, { children });
44
- };
32
+ Slot2.displayName = `${ownerName}.Slot`;
33
+ return Slot2;
34
+ }
35
+ /* @__NO_SIDE_EFFECTS__ */
36
+ function createSlotClone(ownerName) {
37
+ const SlotClone = React$1.forwardRef((props, forwardedRef) => {
38
+ const { children, ...slotProps } = props;
39
+ if (React$1.isValidElement(children)) {
40
+ const childrenRef = getElementRef(children);
41
+ const props2 = mergeProps(slotProps, children.props);
42
+ if (children.type !== React$1.Fragment) props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
43
+ return React$1.cloneElement(children, props2);
44
+ }
45
+ return React$1.Children.count(children) > 1 ? React$1.Children.only(null) : null;
46
+ });
47
+ SlotClone.displayName = `${ownerName}.SlotClone`;
48
+ return SlotClone;
49
+ }
50
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
51
+ /* @__NO_SIDE_EFFECTS__ */
52
+ function createSlottable(ownerName) {
53
+ const Slottable2 = ({ children }) => {
54
+ return /* @__PURE__ */ jsx(Fragment, { children });
55
+ };
56
+ Slottable2.displayName = `${ownerName}.Slottable`;
57
+ Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
58
+ return Slottable2;
59
+ }
45
60
  function isSlottable(child) {
46
- return React$1.isValidElement(child) && child.type === Slottable;
61
+ return React$1.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
47
62
  }
48
63
  function mergeProps(slotProps, childProps) {
49
64
  const overrideProps = { ...childProps };
@@ -52,8 +67,9 @@ function mergeProps(slotProps, childProps) {
52
67
  const childPropValue = childProps[propName];
53
68
  if (/^on[A-Z]/.test(propName)) {
54
69
  if (slotPropValue && childPropValue) overrideProps[propName] = (...args) => {
55
- childPropValue(...args);
70
+ const result = childPropValue(...args);
56
71
  slotPropValue(...args);
72
+ return result;
57
73
  };
58
74
  else if (slotPropValue) overrideProps[propName] = slotPropValue;
59
75
  } else if (propName === "style") overrideProps[propName] = {
@@ -77,4 +93,4 @@ function getElementRef(element) {
77
93
  return element.props.ref || element.ref;
78
94
  }
79
95
  //#endregion
80
- export { Slot, Slottable };
96
+ export { createSlot, createSlottable };
@@ -1,35 +1,36 @@
1
1
  "use client";
2
2
  const require_runtime = require("../../../../_virtual/_rolldown/runtime.cjs");
3
- const require_index = require("../../react-use-size/dist/index.cjs");
4
- const require_index$1 = require("../../react-use-controllable-state/dist/index.cjs");
5
- const require_index$2 = require("../../react-use-previous/dist/index.cjs");
6
- const require_index$3 = require("../node_modules/@radix-ui/primitive/dist/index.cjs");
7
- const require_index$4 = require("../node_modules/@radix-ui/react-compose-refs/dist/index.cjs");
8
- const require_index$5 = require("../node_modules/@radix-ui/react-context/dist/index.cjs");
9
- const require_index$6 = require("../node_modules/@radix-ui/react-primitive/dist/index.cjs");
3
+ const require_index = require("../../primitive/dist/index.cjs");
4
+ const require_index$1 = require("../../react-compose-refs/dist/index.cjs");
5
+ const require_index$2 = require("../../react-context/dist/index.cjs");
6
+ const require_index$3 = require("../../react-primitive/dist/index.cjs");
7
+ const require_index$4 = require("../../react-use-size/dist/index.cjs");
8
+ const require_index$5 = require("../../react-use-controllable-state/dist/index.cjs");
9
+ const require_index$6 = require("../../react-use-previous/dist/index.cjs");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
11
11
  let react = require("react");
12
12
  react = require_runtime.__toESM(react, 1);
13
13
  //#region ../../node_modules/@radix-ui/react-switch/dist/index.mjs
14
14
  var SWITCH_NAME = "Switch";
15
- var [createSwitchContext, createSwitchScope] = require_index$5.createContextScope(SWITCH_NAME);
15
+ var [createSwitchContext, createSwitchScope] = require_index$2.createContextScope(SWITCH_NAME);
16
16
  var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
17
17
  var Switch = react.forwardRef((props, forwardedRef) => {
18
18
  const { __scopeSwitch, name, checked: checkedProp, defaultChecked, required, disabled, value = "on", onCheckedChange, form, ...switchProps } = props;
19
19
  const [button, setButton] = react.useState(null);
20
- const composedRefs = require_index$4.useComposedRefs(forwardedRef, (node) => setButton(node));
20
+ const composedRefs = require_index$1.useComposedRefs(forwardedRef, (node) => setButton(node));
21
21
  const hasConsumerStoppedPropagationRef = react.useRef(false);
22
22
  const isFormControl = button ? form || !!button.closest("form") : true;
23
- const [checked = false, setChecked] = require_index$1.useControllableState({
23
+ const [checked, setChecked] = require_index$5.useControllableState({
24
24
  prop: checkedProp,
25
- defaultProp: defaultChecked,
26
- onChange: onCheckedChange
25
+ defaultProp: defaultChecked ?? false,
26
+ onChange: onCheckedChange,
27
+ caller: SWITCH_NAME
27
28
  });
28
29
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(SwitchProvider, {
29
30
  scope: __scopeSwitch,
30
31
  checked,
31
32
  disabled,
32
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$6.Primitive.button, {
33
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Primitive.button, {
33
34
  type: "button",
34
35
  role: "switch",
35
36
  "aria-checked": checked,
@@ -40,14 +41,14 @@ var Switch = react.forwardRef((props, forwardedRef) => {
40
41
  value,
41
42
  ...switchProps,
42
43
  ref: composedRefs,
43
- onClick: require_index$3.composeEventHandlers(props.onClick, (event) => {
44
+ onClick: require_index.composeEventHandlers(props.onClick, (event) => {
44
45
  setChecked((prevChecked) => !prevChecked);
45
46
  if (isFormControl) {
46
47
  hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
47
48
  if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
48
49
  }
49
50
  })
50
- }), isFormControl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BubbleInput, {
51
+ }), isFormControl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SwitchBubbleInput, {
51
52
  control: button,
52
53
  bubbles: !hasConsumerStoppedPropagationRef.current,
53
54
  name,
@@ -65,7 +66,7 @@ var THUMB_NAME = "SwitchThumb";
65
66
  var SwitchThumb = react.forwardRef((props, forwardedRef) => {
66
67
  const { __scopeSwitch, ...thumbProps } = props;
67
68
  const context = useSwitchContext(THUMB_NAME, __scopeSwitch);
68
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$6.Primitive.span, {
69
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Primitive.span, {
69
70
  "data-state": getState(context.checked),
70
71
  "data-disabled": context.disabled ? "" : void 0,
71
72
  ...thumbProps,
@@ -73,13 +74,15 @@ var SwitchThumb = react.forwardRef((props, forwardedRef) => {
73
74
  });
74
75
  });
75
76
  SwitchThumb.displayName = THUMB_NAME;
76
- var BubbleInput = (props) => {
77
- const { control, checked, bubbles = true, ...inputProps } = props;
77
+ var BUBBLE_INPUT_NAME = "SwitchBubbleInput";
78
+ var SwitchBubbleInput = react.forwardRef(({ __scopeSwitch, control, checked, bubbles = true, ...props }, forwardedRef) => {
78
79
  const ref = react.useRef(null);
79
- const prevChecked = require_index$2.usePrevious(checked);
80
- const controlSize = require_index.useSize(control);
80
+ const composedRefs = require_index$1.useComposedRefs(ref, forwardedRef);
81
+ const prevChecked = require_index$6.usePrevious(checked);
82
+ const controlSize = require_index$4.useSize(control);
81
83
  react.useEffect(() => {
82
84
  const input = ref.current;
85
+ if (!input) return;
83
86
  const inputProto = window.HTMLInputElement.prototype;
84
87
  const setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set;
85
88
  if (prevChecked !== checked && setChecked) {
@@ -96,9 +99,9 @@ var BubbleInput = (props) => {
96
99
  type: "checkbox",
97
100
  "aria-hidden": true,
98
101
  defaultChecked: checked,
99
- ...inputProps,
102
+ ...props,
100
103
  tabIndex: -1,
101
- ref,
104
+ ref: composedRefs,
102
105
  style: {
103
106
  ...props.style,
104
107
  ...controlSize,
@@ -108,7 +111,8 @@ var BubbleInput = (props) => {
108
111
  margin: 0
109
112
  }
110
113
  });
111
- };
114
+ });
115
+ SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;
112
116
  function getState(checked) {
113
117
  return checked ? "checked" : "unchecked";
114
118
  }
@@ -1,11 +1,11 @@
1
1
  "use client";
2
+ import { composeEventHandlers } from "../../primitive/dist/index.js";
3
+ import { useComposedRefs } from "../../react-compose-refs/dist/index.js";
4
+ import { createContextScope } from "../../react-context/dist/index.js";
5
+ import { Primitive } from "../../react-primitive/dist/index.js";
2
6
  import { useSize } from "../../react-use-size/dist/index.js";
3
7
  import { useControllableState } from "../../react-use-controllable-state/dist/index.js";
4
8
  import { usePrevious } from "../../react-use-previous/dist/index.js";
5
- import { composeEventHandlers } from "../node_modules/@radix-ui/primitive/dist/index.js";
6
- import { useComposedRefs } from "../node_modules/@radix-ui/react-compose-refs/dist/index.js";
7
- import { createContextScope } from "../node_modules/@radix-ui/react-context/dist/index.js";
8
- import { Primitive } from "../node_modules/@radix-ui/react-primitive/dist/index.js";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import * as React$1 from "react";
11
11
  //#region ../../node_modules/@radix-ui/react-switch/dist/index.mjs
@@ -18,10 +18,11 @@ var Switch = React$1.forwardRef((props, forwardedRef) => {
18
18
  const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));
19
19
  const hasConsumerStoppedPropagationRef = React$1.useRef(false);
20
20
  const isFormControl = button ? form || !!button.closest("form") : true;
21
- const [checked = false, setChecked] = useControllableState({
21
+ const [checked, setChecked] = useControllableState({
22
22
  prop: checkedProp,
23
- defaultProp: defaultChecked,
24
- onChange: onCheckedChange
23
+ defaultProp: defaultChecked ?? false,
24
+ onChange: onCheckedChange,
25
+ caller: SWITCH_NAME
25
26
  });
26
27
  return /* @__PURE__ */ jsxs(SwitchProvider, {
27
28
  scope: __scopeSwitch,
@@ -45,7 +46,7 @@ var Switch = React$1.forwardRef((props, forwardedRef) => {
45
46
  if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
46
47
  }
47
48
  })
48
- }), isFormControl && /* @__PURE__ */ jsx(BubbleInput, {
49
+ }), isFormControl && /* @__PURE__ */ jsx(SwitchBubbleInput, {
49
50
  control: button,
50
51
  bubbles: !hasConsumerStoppedPropagationRef.current,
51
52
  name,
@@ -71,13 +72,15 @@ var SwitchThumb = React$1.forwardRef((props, forwardedRef) => {
71
72
  });
72
73
  });
73
74
  SwitchThumb.displayName = THUMB_NAME;
74
- var BubbleInput = (props) => {
75
- const { control, checked, bubbles = true, ...inputProps } = props;
75
+ var BUBBLE_INPUT_NAME = "SwitchBubbleInput";
76
+ var SwitchBubbleInput = React$1.forwardRef(({ __scopeSwitch, control, checked, bubbles = true, ...props }, forwardedRef) => {
76
77
  const ref = React$1.useRef(null);
78
+ const composedRefs = useComposedRefs(ref, forwardedRef);
77
79
  const prevChecked = usePrevious(checked);
78
80
  const controlSize = useSize(control);
79
81
  React$1.useEffect(() => {
80
82
  const input = ref.current;
83
+ if (!input) return;
81
84
  const inputProto = window.HTMLInputElement.prototype;
82
85
  const setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set;
83
86
  if (prevChecked !== checked && setChecked) {
@@ -94,9 +97,9 @@ var BubbleInput = (props) => {
94
97
  type: "checkbox",
95
98
  "aria-hidden": true,
96
99
  defaultChecked: checked,
97
- ...inputProps,
100
+ ...props,
98
101
  tabIndex: -1,
99
- ref,
102
+ ref: composedRefs,
100
103
  style: {
101
104
  ...props.style,
102
105
  ...controlSize,
@@ -106,7 +109,8 @@ var BubbleInput = (props) => {
106
109
  margin: 0
107
110
  }
108
111
  });
109
- };
112
+ });
113
+ SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;
110
114
  function getState(checked) {
111
115
  return checked ? "checked" : "unchecked";
112
116
  }
@@ -22,7 +22,8 @@ var Tabs = react.forwardRef((props, forwardedRef) => {
22
22
  const [value, setValue] = require_index$5.useControllableState({
23
23
  prop: valueProp,
24
24
  onChange: onValueChange,
25
- defaultProp: defaultValue
25
+ defaultProp: defaultValue ?? "",
26
+ caller: TABS_NAME
26
27
  });
27
28
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabsProvider, {
28
29
  scope: __scopeTabs,
@@ -20,7 +20,8 @@ var Tabs = React$1.forwardRef((props, forwardedRef) => {
20
20
  const [value, setValue] = useControllableState({
21
21
  prop: valueProp,
22
22
  onChange: onValueChange,
23
- defaultProp: defaultValue
23
+ defaultProp: defaultValue ?? "",
24
+ caller: TABS_NAME
24
25
  });
25
26
  return /* @__PURE__ */ jsx(TabsProvider, {
26
27
  scope: __scopeTabs,
@@ -9,11 +9,12 @@ react = require_runtime.__toESM(react, 1);
9
9
  //#region ../../node_modules/@radix-ui/react-toggle/dist/index.mjs
10
10
  var NAME = "Toggle";
11
11
  var Toggle = react.forwardRef((props, forwardedRef) => {
12
- const { pressed: pressedProp, defaultPressed = false, onPressedChange, ...buttonProps } = props;
13
- const [pressed = false, setPressed] = require_index$2.useControllableState({
12
+ const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;
13
+ const [pressed, setPressed] = require_index$2.useControllableState({
14
14
  prop: pressedProp,
15
15
  onChange: onPressedChange,
16
- defaultProp: defaultPressed
16
+ defaultProp: defaultPressed ?? false,
17
+ caller: NAME
17
18
  });
18
19
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.Primitive.button, {
19
20
  type: "button",
@@ -7,11 +7,12 @@ import * as React$1 from "react";
7
7
  //#region ../../node_modules/@radix-ui/react-toggle/dist/index.mjs
8
8
  var NAME = "Toggle";
9
9
  var Toggle = React$1.forwardRef((props, forwardedRef) => {
10
- const { pressed: pressedProp, defaultPressed = false, onPressedChange, ...buttonProps } = props;
11
- const [pressed = false, setPressed] = useControllableState({
10
+ const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;
11
+ const [pressed, setPressed] = useControllableState({
12
12
  prop: pressedProp,
13
13
  onChange: onPressedChange,
14
- defaultProp: defaultPressed
14
+ defaultProp: defaultPressed ?? false,
15
+ caller: NAME
15
16
  });
16
17
  return /* @__PURE__ */ jsx(Primitive.button, {
17
18
  type: "button",
@@ -24,7 +24,7 @@ var TOOLTIP_OPEN = "tooltip.open";
24
24
  var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);
25
25
  var TooltipProvider = (props) => {
26
26
  const { __scopeTooltip, delayDuration = DEFAULT_DELAY_DURATION, skipDelayDuration = 300, disableHoverableContent = false, children } = props;
27
- const [isOpenDelayed, setIsOpenDelayed] = react.useState(true);
27
+ const isOpenDelayedRef = react.useRef(true);
28
28
  const isPointerInTransitRef = react.useRef(false);
29
29
  const skipDelayTimerRef = react.useRef(0);
30
30
  react.useEffect(() => {
@@ -33,15 +33,15 @@ var TooltipProvider = (props) => {
33
33
  }, []);
34
34
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipProviderContextProvider, {
35
35
  scope: __scopeTooltip,
36
- isOpenDelayed,
36
+ isOpenDelayedRef,
37
37
  delayDuration,
38
38
  onOpen: react.useCallback(() => {
39
39
  window.clearTimeout(skipDelayTimerRef.current);
40
- setIsOpenDelayed(false);
40
+ isOpenDelayedRef.current = false;
41
41
  }, []),
42
42
  onClose: react.useCallback(() => {
43
43
  window.clearTimeout(skipDelayTimerRef.current);
44
- skipDelayTimerRef.current = window.setTimeout(() => setIsOpenDelayed(true), skipDelayDuration);
44
+ skipDelayTimerRef.current = window.setTimeout(() => isOpenDelayedRef.current = true, skipDelayDuration);
45
45
  }, [skipDelayDuration]),
46
46
  isPointerInTransitRef,
47
47
  onPointerInTransitChange: react.useCallback((inTransit) => {
@@ -55,7 +55,7 @@ TooltipProvider.displayName = PROVIDER_NAME;
55
55
  var TOOLTIP_NAME = "Tooltip";
56
56
  var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
57
57
  var Tooltip = (props) => {
58
- const { __scopeTooltip, children, open: openProp, defaultOpen = false, onOpenChange, disableHoverableContent: disableHoverableContentProp, delayDuration: delayDurationProp } = props;
58
+ const { __scopeTooltip, children, open: openProp, defaultOpen, onOpenChange, disableHoverableContent: disableHoverableContentProp, delayDuration: delayDurationProp } = props;
59
59
  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
60
60
  const popperScope = usePopperScope(__scopeTooltip);
61
61
  const [trigger, setTrigger] = react.useState(null);
@@ -64,27 +64,30 @@ var Tooltip = (props) => {
64
64
  const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
65
65
  const delayDuration = delayDurationProp ?? providerContext.delayDuration;
66
66
  const wasOpenDelayedRef = react.useRef(false);
67
- const [open = false, setOpen] = require_index$10.useControllableState({
67
+ const [open, setOpen] = require_index$10.useControllableState({
68
68
  prop: openProp,
69
- defaultProp: defaultOpen,
69
+ defaultProp: defaultOpen ?? false,
70
70
  onChange: (open2) => {
71
71
  if (open2) {
72
72
  providerContext.onOpen();
73
73
  document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
74
74
  } else providerContext.onClose();
75
75
  onOpenChange?.(open2);
76
- }
76
+ },
77
+ caller: TOOLTIP_NAME
77
78
  });
78
79
  const stateAttribute = react.useMemo(() => {
79
80
  return open ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
80
81
  }, [open]);
81
82
  const handleOpen = react.useCallback(() => {
82
83
  window.clearTimeout(openTimerRef.current);
84
+ openTimerRef.current = 0;
83
85
  wasOpenDelayedRef.current = false;
84
86
  setOpen(true);
85
87
  }, [setOpen]);
86
88
  const handleClose = react.useCallback(() => {
87
89
  window.clearTimeout(openTimerRef.current);
90
+ openTimerRef.current = 0;
88
91
  setOpen(false);
89
92
  }, [setOpen]);
90
93
  const handleDelayedOpen = react.useCallback(() => {
@@ -92,10 +95,16 @@ var Tooltip = (props) => {
92
95
  openTimerRef.current = window.setTimeout(() => {
93
96
  wasOpenDelayedRef.current = true;
94
97
  setOpen(true);
98
+ openTimerRef.current = 0;
95
99
  }, delayDuration);
96
100
  }, [delayDuration, setOpen]);
97
101
  react.useEffect(() => {
98
- return () => window.clearTimeout(openTimerRef.current);
102
+ return () => {
103
+ if (openTimerRef.current) {
104
+ window.clearTimeout(openTimerRef.current);
105
+ openTimerRef.current = 0;
106
+ }
107
+ };
99
108
  }, []);
100
109
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$7.Root2, {
101
110
  ...popperScope,
@@ -107,16 +116,19 @@ var Tooltip = (props) => {
107
116
  trigger,
108
117
  onTriggerChange: setTrigger,
109
118
  onTriggerEnter: react.useCallback(() => {
110
- if (providerContext.isOpenDelayed) handleDelayedOpen();
119
+ if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();
111
120
  else handleOpen();
112
121
  }, [
113
- providerContext.isOpenDelayed,
122
+ providerContext.isOpenDelayedRef,
114
123
  handleDelayedOpen,
115
124
  handleOpen
116
125
  ]),
117
126
  onTriggerLeave: react.useCallback(() => {
118
127
  if (disableHoverableContent) handleClose();
119
- else window.clearTimeout(openTimerRef.current);
128
+ else {
129
+ window.clearTimeout(openTimerRef.current);
130
+ openTimerRef.current = 0;
131
+ }
120
132
  }, [handleClose, disableHoverableContent]),
121
133
  onOpen: handleOpen,
122
134
  onClose: handleClose,
@@ -159,6 +171,7 @@ var TooltipTrigger = react.forwardRef((props, forwardedRef) => {
159
171
  hasPointerMoveOpenedRef.current = false;
160
172
  }),
161
173
  onPointerDown: require_index.composeEventHandlers(props.onPointerDown, () => {
174
+ if (context.open) context.onClose();
162
175
  isPointerDownRef.current = true;
163
176
  document.addEventListener("pointerup", handlePointerUp, { once: true });
164
177
  }),
@@ -284,6 +297,7 @@ var TooltipContentHoverable = react.forwardRef((props, forwardedRef) => {
284
297
  });
285
298
  });
286
299
  var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
300
+ var Slottable = require_index$3.createSlottable("TooltipContent");
287
301
  var TooltipContentImpl = react.forwardRef((props, forwardedRef) => {
288
302
  const { __scopeTooltip, children, "aria-label": ariaLabel, onEscapeKeyDown, onPointerDownOutside, ...contentProps } = props;
289
303
  const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
@@ -322,7 +336,7 @@ var TooltipContentImpl = react.forwardRef((props, forwardedRef) => {
322
336
  "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
323
337
  "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
324
338
  },
325
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Slottable, { children }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VisuallyHiddenContentContextProvider, {
339
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Slottable, { children }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VisuallyHiddenContentContextProvider, {
326
340
  scope: __scopeTooltip,
327
341
  isInside: true,
328
342
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$11.Root, {
@@ -426,10 +440,12 @@ function isPointInPolygon(point, polygon) {
426
440
  const { x, y } = point;
427
441
  let inside = false;
428
442
  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
429
- const xi = polygon[i].x;
430
- const yi = polygon[i].y;
431
- const xj = polygon[j].x;
432
- const yj = polygon[j].y;
443
+ const ii = polygon[i];
444
+ const jj = polygon[j];
445
+ const xi = ii.x;
446
+ const yi = ii.y;
447
+ const xj = jj.x;
448
+ const yj = jj.y;
433
449
  if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) inside = !inside;
434
450
  }
435
451
  return inside;