@yamada-ui/react 2.2.1-dev-20260429022802 → 2.2.1-dev-20260429025711

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 (214) hide show
  1. package/dist/cjs/components/steps/use-steps.cjs +8 -16
  2. package/dist/cjs/components/steps/use-steps.cjs.map +1 -1
  3. package/dist/cjs/components/switch/use-switch.cjs +32 -42
  4. package/dist/cjs/components/switch/use-switch.cjs.map +1 -1
  5. package/dist/esm/components/steps/use-steps.js +8 -16
  6. package/dist/esm/components/steps/use-steps.js.map +1 -1
  7. package/dist/esm/components/switch/use-switch.js +32 -42
  8. package/dist/esm/components/switch/use-switch.js.map +1 -1
  9. package/dist/types/components/accordion/accordion.d.ts +2 -2
  10. package/dist/types/components/accordion/accordion.style.d.ts +1 -1
  11. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  12. package/dist/types/components/action-bar/action-bar.d.ts +2 -2
  13. package/dist/types/components/airy/airy.d.ts +2 -2
  14. package/dist/types/components/alert/alert.d.ts +2 -2
  15. package/dist/types/components/alert/alert.style.d.ts +1 -1
  16. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
  17. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  18. package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
  19. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  20. package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
  21. package/dist/types/components/avatar/avatar.d.ts +3 -3
  22. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  23. package/dist/types/components/badge/badge.d.ts +2 -2
  24. package/dist/types/components/bleed/bleed.d.ts +2 -2
  25. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  26. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  27. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  28. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  29. package/dist/types/components/button/button.d.ts +2 -2
  30. package/dist/types/components/button/icon-button.d.ts +2 -2
  31. package/dist/types/components/calendar/calendar.d.ts +2 -2
  32. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  33. package/dist/types/components/calendar/use-calendar.d.ts +8 -8
  34. package/dist/types/components/card/card.d.ts +2 -2
  35. package/dist/types/components/carousel/carousel.d.ts +2 -2
  36. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  37. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  38. package/dist/types/components/center/center.d.ts +2 -2
  39. package/dist/types/components/chart/chart.d.ts +5 -5
  40. package/dist/types/components/chart/composed-chart.d.ts +2 -2
  41. package/dist/types/components/chart/donut-chart.d.ts +2 -2
  42. package/dist/types/components/chart/pie-chart.d.ts +2 -2
  43. package/dist/types/components/chart/radar-chart.d.ts +2 -2
  44. package/dist/types/components/chart/use-chart.d.ts +2 -2
  45. package/dist/types/components/checkbox/checkbox.d.ts +4 -4
  46. package/dist/types/components/checkbox/checkbox.style.d.ts +1 -1
  47. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
  48. package/dist/types/components/checkbox-card/checkbox-card.d.ts +4 -4
  49. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  50. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
  51. package/dist/types/components/close-button/close-button.d.ts +2 -2
  52. package/dist/types/components/code/code.d.ts +2 -2
  53. package/dist/types/components/collapse/collapse.d.ts +2 -2
  54. package/dist/types/components/color-picker/color-picker.d.ts +2 -2
  55. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  56. package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
  57. package/dist/types/components/color-selector/color-selector.d.ts +2 -2
  58. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  59. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
  60. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  61. package/dist/types/components/container/container.d.ts +2 -2
  62. package/dist/types/components/data-list/data-list.d.ts +2 -2
  63. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  64. package/dist/types/components/date-picker/date-picker.d.ts +2 -2
  65. package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
  66. package/dist/types/components/drawer/drawer.d.ts +2 -2
  67. package/dist/types/components/dropzone/dropzone.d.ts +5 -5
  68. package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
  69. package/dist/types/components/editable/editable.d.ts +4 -4
  70. package/dist/types/components/editable/use-editable.d.ts +2 -2
  71. package/dist/types/components/em/em.d.ts +2 -2
  72. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  73. package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
  74. package/dist/types/components/fade/fade.d.ts +2 -2
  75. package/dist/types/components/field/field.d.ts +3 -3
  76. package/dist/types/components/field/field.style.d.ts +2 -2
  77. package/dist/types/components/field/use-field-props.d.ts +3 -3
  78. package/dist/types/components/fieldset/fieldset.d.ts +3 -3
  79. package/dist/types/components/fieldset/fieldset.style.d.ts +1 -1
  80. package/dist/types/components/file-button/file-button.d.ts +2 -2
  81. package/dist/types/components/file-button/use-file-button.d.ts +18 -18
  82. package/dist/types/components/file-input/file-input.d.ts +2 -2
  83. package/dist/types/components/file-input/use-file-input.d.ts +15 -15
  84. package/dist/types/components/flex/flex.d.ts +2 -2
  85. package/dist/types/components/flip/flip.d.ts +4 -4
  86. package/dist/types/components/flip/flip.style.d.ts +1 -1
  87. package/dist/types/components/float/float.d.ts +2 -2
  88. package/dist/types/components/form/form.d.ts +3 -3
  89. package/dist/types/components/form/form.style.d.ts +1 -1
  90. package/dist/types/components/format/format-byte.d.ts +4 -4
  91. package/dist/types/components/format/format-date-time.d.ts +4 -4
  92. package/dist/types/components/format/format-number.d.ts +2 -2
  93. package/dist/types/components/grid/grid-item.d.ts +2 -2
  94. package/dist/types/components/grid/grid.d.ts +2 -2
  95. package/dist/types/components/group/group.d.ts +2 -2
  96. package/dist/types/components/group/use-group.d.ts +2 -2
  97. package/dist/types/components/heading/heading.d.ts +2 -2
  98. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
  99. package/dist/types/components/icon/icon.d.ts +5 -5
  100. package/dist/types/components/image/image.d.ts +2 -2
  101. package/dist/types/components/indicator/indicator.d.ts +4 -4
  102. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  103. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.style.d.ts +2 -2
  104. package/dist/types/components/input/input-addon.d.ts +2 -2
  105. package/dist/types/components/input/input-element.d.ts +2 -2
  106. package/dist/types/components/input/input.d.ts +2 -2
  107. package/dist/types/components/kbd/kbd.d.ts +2 -2
  108. package/dist/types/components/link/link.d.ts +2 -2
  109. package/dist/types/components/link-box/link-box.d.ts +2 -2
  110. package/dist/types/components/list/list.d.ts +2 -2
  111. package/dist/types/components/list/list.style.d.ts +2 -2
  112. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  113. package/dist/types/components/loading/loading.d.ts +3 -3
  114. package/dist/types/components/mark/mark.d.ts +2 -2
  115. package/dist/types/components/menu/menu.d.ts +2 -2
  116. package/dist/types/components/menu/use-menu.d.ts +11 -11
  117. package/dist/types/components/modal/modal.d.ts +2 -2
  118. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  119. package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
  120. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  121. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  122. package/dist/types/components/native-select/native-select.d.ts +2 -2
  123. package/dist/types/components/native-table/native-table.d.ts +4 -4
  124. package/dist/types/components/notice/notice.style.d.ts +1 -1
  125. package/dist/types/components/number-input/number-input.d.ts +2 -2
  126. package/dist/types/components/pagination/pagination.d.ts +2 -2
  127. package/dist/types/components/pagination/pagination.style.d.ts +1 -1
  128. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  129. package/dist/types/components/password-input/password-input.d.ts +2 -2
  130. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  131. package/dist/types/components/password-input/strength-meter.style.d.ts +1 -1
  132. package/dist/types/components/password-input/use-password-input.d.ts +2 -2
  133. package/dist/types/components/pin-input/pin-input.d.ts +2 -2
  134. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
  135. package/dist/types/components/popover/popover.d.ts +2 -2
  136. package/dist/types/components/progress/progress.d.ts +4 -4
  137. package/dist/types/components/progress/use-progress.d.ts +706 -706
  138. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  139. package/dist/types/components/radio/radio.d.ts +5 -5
  140. package/dist/types/components/radio/radio.style.d.ts +1 -1
  141. package/dist/types/components/radio/use-radio-group.d.ts +2 -2
  142. package/dist/types/components/radio-card/radio-card.d.ts +5 -5
  143. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  144. package/dist/types/components/rating/rating.style.d.ts +2 -2
  145. package/dist/types/components/rating/use-rating.d.ts +7 -7
  146. package/dist/types/components/reorder/reorder.d.ts +2 -2
  147. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  148. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  149. package/dist/types/components/resizable/resizable.d.ts +2 -2
  150. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  151. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  152. package/dist/types/components/ripple/ripple.d.ts +2 -2
  153. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  154. package/dist/types/components/rotate/rotate.d.ts +2 -2
  155. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  156. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
  157. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  158. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
  159. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  160. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
  161. package/dist/types/components/select/select.d.ts +2 -2
  162. package/dist/types/components/select/select.style.d.ts +1 -1
  163. package/dist/types/components/select/use-select.d.ts +4 -4
  164. package/dist/types/components/separator/separator.d.ts +2 -2
  165. package/dist/types/components/sidebar/sidebar.d.ts +2 -2
  166. package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
  167. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
  168. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  169. package/dist/types/components/slide/slide.d.ts +2 -2
  170. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
  171. package/dist/types/components/slider/slider.d.ts +2 -2
  172. package/dist/types/components/slider/use-slider.d.ts +2 -2
  173. package/dist/types/components/stack/h-stack.d.ts +2 -2
  174. package/dist/types/components/stack/stack.d.ts +2 -2
  175. package/dist/types/components/stack/v-stack.d.ts +2 -2
  176. package/dist/types/components/stack/z-stack.d.ts +2 -2
  177. package/dist/types/components/stat/stat.d.ts +2 -2
  178. package/dist/types/components/stat/stat.style.d.ts +2 -2
  179. package/dist/types/components/status/status.d.ts +2 -2
  180. package/dist/types/components/status/status.style.d.ts +2 -2
  181. package/dist/types/components/steps/steps.d.ts +2 -2
  182. package/dist/types/components/steps/steps.style.d.ts +1 -1
  183. package/dist/types/components/steps/use-steps.d.ts +10 -10
  184. package/dist/types/components/switch/switch.d.ts +2 -2
  185. package/dist/types/components/table/table.d.ts +2 -2
  186. package/dist/types/components/tabs/tabs.d.ts +2 -2
  187. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  188. package/dist/types/components/tag/tag.d.ts +2 -2
  189. package/dist/types/components/text/text.d.ts +2 -2
  190. package/dist/types/components/textarea/textarea.d.ts +2 -2
  191. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  192. package/dist/types/components/timeline/timeline.d.ts +5 -5
  193. package/dist/types/components/timeline/timeline.style.d.ts +1 -1
  194. package/dist/types/components/toggle/toggle.d.ts +5 -5
  195. package/dist/types/components/toggle/use-toggle.d.ts +2 -2
  196. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  197. package/dist/types/components/tree/tree.d.ts +2 -2
  198. package/dist/types/components/tree/tree.style.d.ts +1 -1
  199. package/dist/types/components/tree/use-tree.d.ts +182 -182
  200. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  201. package/dist/types/components/wrap/wrap.d.ts +2 -2
  202. package/dist/types/core/components/create-component.d.ts +7 -7
  203. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  204. package/dist/types/core/system/storage-script.d.ts +3 -3
  205. package/dist/types/core/system/styled.d.ts +2 -2
  206. package/dist/types/core/system/system-provider.d.ts +2 -2
  207. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  208. package/dist/types/hooks/use-clickable/index.d.ts +7 -7
  209. package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
  210. package/dist/types/hooks/use-counter/index.d.ts +2 -2
  211. package/dist/types/hooks/use-descendants/index.d.ts +2 -2
  212. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
  213. package/dist/types/utils/children.d.ts +2 -2
  214. package/package.json +2 -2
@@ -6,6 +6,7 @@ const require_effect = require('../../utils/effect.cjs');
6
6
  const require_ref = require('../../utils/ref.cjs');
7
7
  const require_utils_index = require('../../utils/index.cjs');
8
8
  const require_environment_provider = require('../../core/system/environment-provider.cjs');
9
+ const require_props = require('../../core/components/props.cjs');
9
10
  require('../../core/index.cjs');
10
11
  const require_hooks_use_controllable_state_index = require('../../hooks/use-controllable-state/index.cjs');
11
12
  const require_hooks_use_descendants_index = require('../../hooks/use-descendants/index.cjs');
@@ -32,11 +33,7 @@ const useSteps = ({ count = 0, defaultIndex = 0, index: indexProp, orientation =
32
33
  const onNext = (0, react.useCallback)(() => {
33
34
  setIndex((index$1) => Math.min(count, index$1 + 1));
34
35
  }, [count, setIndex]);
35
- const getRootProps = (0, react.useCallback)(({ ref, ...props } = {}) => ({
36
- ...rest,
37
- ...props,
38
- ref: require_ref.mergeRefs(ref, rest.ref)
39
- }), [rest]);
36
+ const getRootProps = (0, react.useCallback)((props = {}) => require_props.mergeProps(rest, props)(), [rest]);
40
37
  const getListProps = (0, react.useCallback)((props) => {
41
38
  return {
42
39
  "data-orientation": orientation,
@@ -104,17 +101,12 @@ const useStepsItem = ({ "aria-labelledby": ariaLabelledbyProp, index, ...rest })
104
101
  id,
105
102
  index
106
103
  ]);
107
- const getRootProps = (0, react.useCallback)(({ ref, "aria-labelledby": ariaLabelledby, ...props } = {}) => {
108
- return {
109
- "aria-current": current ? "step" : void 0,
110
- "aria-labelledby": (0, require_utils_index.utils_exports.cx)(ariaLabelledbyProp, ariaLabelledby),
111
- "data-orientation": orientation,
112
- [statusDataAttr]: (0, require_utils_index.utils_exports.dataAttr)(true),
113
- ...rest,
114
- ...props,
115
- ref: require_ref.mergeRefs(ref, register)
116
- };
117
- }, [
104
+ const getRootProps = (0, react.useCallback)(({ ref, "aria-labelledby": ariaLabelledby, ...props } = {}) => require_props.mergeProps({
105
+ "aria-current": current ? "step" : void 0,
106
+ "aria-labelledby": (0, require_utils_index.utils_exports.cx)(ariaLabelledbyProp, ariaLabelledby),
107
+ "data-orientation": orientation,
108
+ [statusDataAttr]: (0, require_utils_index.utils_exports.dataAttr)(true)
109
+ }, rest, props, { ref: require_ref.mergeRefs(ref, register) })(), [
118
110
  ariaLabelledbyProp,
119
111
  current,
120
112
  orientation,
@@ -1 +1 @@
1
- {"version":3,"file":"use-steps.cjs","names":["createDescendants","createContext","useControllableState","indexProp","index","getRootProps: PropGetter","mergeRefs","getListProps: PropGetter<\"ol\">","getContentProps: PropGetter<\"div\", { index?: number }>","getPrevTriggerProps: PropGetter<\"button\">","useEnvironment","getRootProps: PropGetter<\"li\">","getTitleProps: PropGetter<\"h3\">"],"sources":["../../../../src/components/steps/use-steps.ts"],"sourcesContent":["\"use client\"\n\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId } from \"react\"\nimport { useEnvironment } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n dataAttr,\n handlerAll,\n mergeRefs,\n setAttribute,\n useSafeLayoutEffect,\n} from \"../../utils\"\n\nexport type StepStatusScheme = \"complete\" | \"current\" | \"incomplete\"\n\nconst {\n DescendantsContext: StepsDescendantsContext,\n useDescendant: useStepsDescendant,\n useDescendants: useStepsDescendants,\n} = createDescendants<HTMLLIElement>()\n\nexport { StepsDescendantsContext, useStepsDescendant, useStepsDescendants }\n\ninterface StepsContext extends Omit<\n UseStepsReturn,\n \"descendants\" | \"getRootProps\"\n> {}\n\nconst [StepsContext, useStepsContext] = createContext<StepsContext>({\n name: \"StepsContext\",\n})\n\nexport { StepsContext, useStepsContext }\n\ninterface StepsItemContext extends Omit<UseStepsItemReturn, \"getRootProps\"> {}\n\nconst [StepsItemContext, useStepsItemContext] = createContext<StepsItemContext>(\n {\n name: \"StepsItemContext\",\n },\n)\n\nexport { StepsItemContext, useStepsItemContext }\n\nexport interface UseStepsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The total number of steps.\n */\n count?: number\n /**\n * The initial index of the active step.\n *\n * @default 0\n */\n defaultIndex?: number\n /**\n * The index of the active step.\n */\n index?: number\n /**\n * The orientation of the steps.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback function that is called when the active step index is changed.\n */\n onChange?: (index: number) => void\n}\n\nexport const useSteps = ({\n count = 0,\n defaultIndex = 0,\n index: indexProp,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseStepsProps = {}) => {\n const descendants = useStepsDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const id = useId()\n\n const getStatus = useCallback(\n (indexProp: number): StepStatusScheme => {\n if (indexProp < index) {\n return \"complete\"\n } else if (indexProp > index) {\n return \"incomplete\"\n } else {\n return \"current\"\n }\n },\n [index],\n )\n\n const onPrev = useCallback(\n () => setIndex((index) => Math.max(0, index - 1)),\n [setIndex],\n )\n\n const onNext = useCallback(() => {\n setIndex((index) => Math.min(count, index + 1))\n }, [count, setIndex])\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) => ({\n ...rest,\n ...props,\n ref: mergeRefs(ref, rest.ref),\n }),\n [rest],\n )\n\n const getListProps: PropGetter<\"ol\"> = useCallback(\n (props) => {\n return {\n \"data-orientation\": orientation,\n ...props,\n }\n },\n [orientation],\n )\n\n const getContentProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index: indexProp = count, ...props } = {}) => ({\n id: `${id}-${indexProp}`,\n hidden: indexProp !== index,\n tabIndex: 0,\n ...props,\n }),\n [count, id, index],\n )\n\n const getPrevTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => ({\n disabled: index === 0,\n ...props,\n onClick: handlerAll(props.onClick, onPrev),\n }),\n [onPrev, index],\n )\n\n const getNextTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => {\n return {\n disabled: count <= index,\n ...props,\n onClick: handlerAll(props.onClick, onNext),\n }\n },\n [count, index, onNext],\n )\n\n return {\n id,\n count,\n descendants,\n getStatus,\n index,\n orientation,\n setIndex,\n getContentProps,\n getListProps,\n getNextTriggerProps,\n getPrevTriggerProps,\n getRootProps,\n onNext,\n onPrev,\n }\n}\n\nexport type UseStepsReturn = ReturnType<typeof useSteps>\n\nexport interface UseStepsItemProps extends HTMLProps<\"li\"> {\n /**\n * The index of the step.\n */\n index: number\n}\n\nexport const useStepsItem = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseStepsItemProps) => {\n const { descendants, register } = useStepsDescendant()\n const { id, getStatus, orientation } = useStepsContext()\n const status = getStatus(index)\n const current = status === \"current\"\n const first = index === 0\n const last = index === descendants.lastValue()?.index\n const statusDataAttr = `data-${status}`\n const { getDocument } = useEnvironment()\n\n useSafeLayoutEffect(() => {\n const el = descendants.value(index)?.node\n const hasContent = !!getDocument()?.getElementById(`${id}-${index}`)\n\n if (el && hasContent) setAttribute(el, \"aria-labelledby\", `${id}-${index}`)\n }, [descendants, getDocument, id, index])\n\n const getRootProps: PropGetter<\"li\"> = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) => {\n return {\n \"aria-current\": current ? \"step\" : undefined,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby),\n \"data-orientation\": orientation,\n [statusDataAttr]: dataAttr(true),\n ...rest,\n ...props,\n ref: mergeRefs(ref, register),\n }\n },\n [ariaLabelledbyProp, current, orientation, statusDataAttr, rest, register],\n )\n\n const getTitleProps: PropGetter<\"h3\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getDescriptionProps: PropGetter<\"p\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({\n \"data-orientation\": orientation,\n role: \"separator\",\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [orientation, statusDataAttr],\n )\n\n return {\n first,\n index,\n last,\n status,\n getDescriptionProps,\n getIndicatorProps,\n getRootProps,\n getSeparatorProps,\n getTitleProps,\n }\n}\n\nexport type UseStepsItemReturn = ReturnType<typeof useStepsItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-steps.cjs","names":["createDescendants","createContext","useControllableState","indexProp","index","getRootProps: PropGetter","mergeProps","getListProps: PropGetter<\"ol\">","getContentProps: PropGetter<\"div\", { index?: number }>","getPrevTriggerProps: PropGetter<\"button\">","useEnvironment","getRootProps: PropGetter<\"li\">","mergeRefs","getTitleProps: PropGetter<\"h3\">"],"sources":["../../../../src/components/steps/use-steps.ts"],"sourcesContent":["\"use client\"\n\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId } from \"react\"\nimport { mergeProps, useEnvironment } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n dataAttr,\n handlerAll,\n mergeRefs,\n setAttribute,\n useSafeLayoutEffect,\n} from \"../../utils\"\n\nexport type StepStatusScheme = \"complete\" | \"current\" | \"incomplete\"\n\nconst {\n DescendantsContext: StepsDescendantsContext,\n useDescendant: useStepsDescendant,\n useDescendants: useStepsDescendants,\n} = createDescendants<HTMLLIElement>()\n\nexport { StepsDescendantsContext, useStepsDescendant, useStepsDescendants }\n\ninterface StepsContext extends Omit<\n UseStepsReturn,\n \"descendants\" | \"getRootProps\"\n> {}\n\nconst [StepsContext, useStepsContext] = createContext<StepsContext>({\n name: \"StepsContext\",\n})\n\nexport { StepsContext, useStepsContext }\n\ninterface StepsItemContext extends Omit<UseStepsItemReturn, \"getRootProps\"> {}\n\nconst [StepsItemContext, useStepsItemContext] = createContext<StepsItemContext>(\n {\n name: \"StepsItemContext\",\n },\n)\n\nexport { StepsItemContext, useStepsItemContext }\n\nexport interface UseStepsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The total number of steps.\n */\n count?: number\n /**\n * The initial index of the active step.\n *\n * @default 0\n */\n defaultIndex?: number\n /**\n * The index of the active step.\n */\n index?: number\n /**\n * The orientation of the steps.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback function that is called when the active step index is changed.\n */\n onChange?: (index: number) => void\n}\n\nexport const useSteps = ({\n count = 0,\n defaultIndex = 0,\n index: indexProp,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseStepsProps = {}) => {\n const descendants = useStepsDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const id = useId()\n\n const getStatus = useCallback(\n (indexProp: number): StepStatusScheme => {\n if (indexProp < index) {\n return \"complete\"\n } else if (indexProp > index) {\n return \"incomplete\"\n } else {\n return \"current\"\n }\n },\n [index],\n )\n\n const onPrev = useCallback(\n () => setIndex((index) => Math.max(0, index - 1)),\n [setIndex],\n )\n\n const onNext = useCallback(() => {\n setIndex((index) => Math.min(count, index + 1))\n }, [count, setIndex])\n\n const getRootProps: PropGetter = useCallback(\n (props = {}) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getListProps: PropGetter<\"ol\"> = useCallback(\n (props) => {\n return {\n \"data-orientation\": orientation,\n ...props,\n }\n },\n [orientation],\n )\n\n const getContentProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index: indexProp = count, ...props } = {}) => ({\n id: `${id}-${indexProp}`,\n hidden: indexProp !== index,\n tabIndex: 0,\n ...props,\n }),\n [count, id, index],\n )\n\n const getPrevTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => ({\n disabled: index === 0,\n ...props,\n onClick: handlerAll(props.onClick, onPrev),\n }),\n [onPrev, index],\n )\n\n const getNextTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => {\n return {\n disabled: count <= index,\n ...props,\n onClick: handlerAll(props.onClick, onNext),\n }\n },\n [count, index, onNext],\n )\n\n return {\n id,\n count,\n descendants,\n getStatus,\n index,\n orientation,\n setIndex,\n getContentProps,\n getListProps,\n getNextTriggerProps,\n getPrevTriggerProps,\n getRootProps,\n onNext,\n onPrev,\n }\n}\n\nexport type UseStepsReturn = ReturnType<typeof useSteps>\n\nexport interface UseStepsItemProps extends HTMLProps<\"li\"> {\n /**\n * The index of the step.\n */\n index: number\n}\n\nexport const useStepsItem = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseStepsItemProps) => {\n const { descendants, register } = useStepsDescendant()\n const { id, getStatus, orientation } = useStepsContext()\n const status = getStatus(index)\n const current = status === \"current\"\n const first = index === 0\n const last = index === descendants.lastValue()?.index\n const statusDataAttr = `data-${status}`\n const { getDocument } = useEnvironment()\n\n useSafeLayoutEffect(() => {\n const el = descendants.value(index)?.node\n const hasContent = !!getDocument()?.getElementById(`${id}-${index}`)\n\n if (el && hasContent) setAttribute(el, \"aria-labelledby\", `${id}-${index}`)\n }, [descendants, getDocument, id, index])\n\n const getRootProps: PropGetter<\"li\"> = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n \"aria-current\": current ? \"step\" : undefined,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby),\n \"data-orientation\": orientation,\n [statusDataAttr]: dataAttr(true),\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n )(),\n [ariaLabelledbyProp, current, orientation, statusDataAttr, rest, register],\n )\n\n const getTitleProps: PropGetter<\"h3\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getDescriptionProps: PropGetter<\"p\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({\n \"data-orientation\": orientation,\n role: \"separator\",\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [orientation, statusDataAttr],\n )\n\n return {\n first,\n index,\n last,\n status,\n getDescriptionProps,\n getIndicatorProps,\n getRootProps,\n getSeparatorProps,\n getTitleProps,\n }\n}\n\nexport type UseStepsItemReturn = ReturnType<typeof useStepsItem>\n"],"mappings":"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"}
@@ -4,6 +4,8 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
4
4
  const require_dom = require('../../utils/dom.cjs');
5
5
  const require_ref = require('../../utils/ref.cjs');
6
6
  const require_utils_index = require('../../utils/index.cjs');
7
+ const require_props = require('../../core/components/props.cjs');
8
+ require('../../core/index.cjs');
7
9
  const require_hooks_use_controllable_state_index = require('../../hooks/use-controllable-state/index.cjs');
8
10
  const require_use_field_props = require('../field/use-field-props.cjs');
9
11
  require('../field/index.cjs');
@@ -31,51 +33,43 @@ const useSwitch = (props = {}) => {
31
33
  const onKeyDown = (0, react.useCallback)((ev) => {
32
34
  if (interactive && checkOnEnter && ev.key === "Enter") inputRef.current?.click();
33
35
  }, [interactive, checkOnEnter]);
34
- const getRootProps = (0, react.useCallback)((props$1 = {}) => ({
35
- ...dataProps,
36
+ const getRootProps = (0, react.useCallback)((props$1 = {}) => require_props.mergeProps(dataProps, {
36
37
  htmlFor: id,
37
- "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked),
38
- ...rest,
39
- ...props$1
40
- }), [
38
+ "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked)
39
+ }, rest, props$1)(), [
41
40
  checked,
42
41
  rest,
43
42
  id,
44
43
  dataProps
45
44
  ]);
46
- const getTrackProps = (0, react.useCallback)((props$1 = {}) => ({
47
- "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked),
48
- ...dataProps,
49
- ...props$1
50
- }), [checked, dataProps]);
51
- const getThumbProps = (0, react.useCallback)((props$1 = {}) => ({
52
- "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked),
53
- ...dataProps,
54
- ...props$1
55
- }), [checked, dataProps]);
45
+ const getTrackProps = (0, react.useCallback)((props$1 = {}) => require_props.mergeProps(dataProps, { "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked) }, props$1)(), [checked, dataProps]);
46
+ const getThumbProps = (0, react.useCallback)((props$1 = {}) => require_props.mergeProps(dataProps, { "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked) }, props$1)(), [checked, dataProps]);
56
47
  return {
57
48
  checked,
58
- getInputProps: (0, react.useCallback)((props$1 = {}) => ({
59
- ...ariaProps,
60
- ...dataProps,
61
- id,
62
- type: "checkbox",
63
- name,
64
- style: require_dom.visuallyHiddenAttributes.style,
65
- checked,
66
- disabled,
67
- readOnly,
68
- required,
69
- role: "switch",
70
- tabIndex: interactive ? 0 : -1,
71
- value,
72
- ...props$1,
73
- ref: require_ref.mergeRefs(inputRef, props$1.ref, ref),
74
- onBlur: (0, require_utils_index.utils_exports.handlerAll)(eventProps.onBlur, props$1.onBlur),
75
- onChange: (0, require_utils_index.utils_exports.handlerAll)(props$1.onChange, onChange),
76
- onFocus: (0, require_utils_index.utils_exports.handlerAll)(eventProps.onFocus, props$1.onFocus),
77
- onKeyDown: (0, require_utils_index.utils_exports.handlerAll)(props$1.onKeyDown, onKeyDown)
78
- }), [
49
+ getInputProps: (0, react.useCallback)((props$1 = {}) => {
50
+ return {
51
+ ...require_props.mergeProps(ariaProps, dataProps, {
52
+ id,
53
+ type: "checkbox",
54
+ name,
55
+ style: require_dom.visuallyHiddenAttributes.style,
56
+ checked,
57
+ disabled,
58
+ readOnly,
59
+ required,
60
+ role: "switch",
61
+ tabIndex: interactive ? 0 : -1,
62
+ value
63
+ }, {
64
+ onBlur: eventProps.onBlur,
65
+ onFocus: eventProps.onFocus
66
+ }, props$1, {
67
+ onChange,
68
+ onKeyDown
69
+ })({ mergeRef: false }),
70
+ ref: require_ref.mergeRefs(inputRef, props$1.ref, ref)
71
+ };
72
+ }, [
79
73
  ariaProps,
80
74
  dataProps,
81
75
  id,
@@ -91,11 +85,7 @@ const useSwitch = (props = {}) => {
91
85
  onChange,
92
86
  onKeyDown
93
87
  ]),
94
- getLabelProps: (0, react.useCallback)((props$1 = {}) => ({
95
- ...dataProps,
96
- "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked),
97
- ...props$1
98
- }), [dataProps, checked]),
88
+ getLabelProps: (0, react.useCallback)((props$1 = {}) => require_props.mergeProps(dataProps, { "data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked) }, props$1)(), [dataProps, checked]),
99
89
  getRootProps,
100
90
  getThumbProps,
101
91
  getTrackProps
@@ -1 +1 @@
1
- {"version":3,"file":"use-switch.cjs","names":["useFieldProps","useControllableState","getRootProps: PropGetter<\"label\">","props","getTrackProps: PropGetter","getThumbProps: PropGetter","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/switch/use-switch.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSwitchProps<Y extends number | string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the switch will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the switch will be checked when the Enter key is pressed.\n *\n * @default true\n */\n checkOnEnter?: boolean\n /**\n * If `true`, the switch will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the switch input.\n */\n value?: Y\n /**\n * The callback invoked when the switch is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the switch is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useSwitch = <Y extends number | string = string>(\n props: UseSwitchProps<Y> = {},\n) => {\n const uuid = useId()\n const {\n props: {\n id = uuid,\n ref,\n name,\n checked: checkedProp,\n checkOnEnter = true,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n })\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return ev.preventDefault()\n\n setChecked(ev.target.checked)\n onChangeProp?.(ev)\n },\n [onChangeProp, setChecked, interactive],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (interactive && checkOnEnter && ev.key === \"Enter\")\n inputRef.current?.click()\n },\n [interactive, checkOnEnter],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => ({\n ...dataProps,\n htmlFor: id,\n \"data-checked\": dataAttr(checked),\n ...rest,\n ...props,\n }),\n [checked, rest, id, dataProps],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props = {}) => ({\n \"data-checked\": dataAttr(checked),\n ...dataProps,\n ...props,\n }),\n [checked, dataProps],\n )\n\n const getThumbProps: PropGetter = useCallback(\n (props = {}) => ({\n \"data-checked\": dataAttr(checked),\n ...dataProps,\n ...props,\n }),\n [checked, dataProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...ariaProps,\n ...dataProps,\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n checked,\n disabled,\n readOnly,\n required,\n role: \"switch\",\n tabIndex: interactive ? 0 : -1,\n value,\n ...props,\n ref: mergeRefs(inputRef, props.ref, ref),\n onBlur: handlerAll(eventProps.onBlur, props.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [\n ariaProps,\n dataProps,\n id,\n name,\n checked,\n disabled,\n readOnly,\n required,\n interactive,\n value,\n ref,\n eventProps,\n onChange,\n onKeyDown,\n ],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"data-checked\": dataAttr(checked),\n ...props,\n }),\n [dataProps, checked],\n )\n\n return {\n checked,\n getInputProps,\n getLabelProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n }\n}\n\nexport type UseSwitchReturn = ReturnType<typeof useSwitch>\n"],"mappings":";;;;;;;;;;;;AAyEA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,yBAAc;CACpB,MAAM,EACJ,OAAO,EACL,KAAK,MACL,KACA,MACA,SAAS,aACT,eAAe,MACf,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEA,sCAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,6BAAoC,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAcC,gEAAqB;EACjD,cAAc;EACd,OAAO;EACR,CAAC;CAEF,MAAM,mCACH,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAO,GAAG,gBAAgB;AAE5C,aAAW,GAAG,OAAO,QAAQ;AAC7B,iBAAe,GAAG;IAEpB;EAAC;EAAc;EAAY;EAAY,CACxC;CAED,MAAM,oCACH,OAAwC;AACvC,MAAI,eAAe,gBAAgB,GAAG,QAAQ,QAC5C,UAAS,SAAS,OAAO;IAE7B,CAAC,aAAa,aAAa,CAC5B;CAED,MAAMC,uCACH,UAAQ,EAAE,MAAM;EACf,GAAG;EACH,SAAS;EACT,gEAAyB,QAAQ;EACjC,GAAG;EACH,GAAGC;EACJ,GACD;EAAC;EAAS;EAAM;EAAI;EAAU,CAC/B;CAED,MAAMC,wCACH,UAAQ,EAAE,MAAM;EACf,gEAAyB,QAAQ;EACjC,GAAG;EACH,GAAGD;EACJ,GACD,CAAC,SAAS,UAAU,CACrB;CAED,MAAME,wCACH,UAAQ,EAAE,MAAM;EACf,gEAAyB,QAAQ;EACjC,GAAG;EACH,GAAGF;EACJ,GACD,CAAC,SAAS,UAAU,CACrB;AAmDD,QAAO;EACL;EACA,uCAlDC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,GAAG;GACH;GACA,MAAM;GACN;GACA,OAAOG,qCAAyB;GAChC;GACA;GACA;GACA;GACA,MAAM;GACN,UAAU,cAAc,IAAI;GAC5B;GACA,GAAGH;GACH,KAAKI,sBAAU,UAAUJ,QAAM,KAAK,IAAI;GACxC,0DAAmB,WAAW,QAAQA,QAAM,OAAO;GACnD,4DAAqBA,QAAM,UAAU,SAAS;GAC9C,2DAAoB,WAAW,SAASA,QAAM,QAAQ;GACtD,6DAAsBA,QAAM,WAAW,UAAU;GAClD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAcC,uCAXC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,gEAAyB,QAAQ;GACjC,GAAGA;GACJ,GACD,CAAC,WAAW,QAAQ,CACrB;EAMC;EACA;EACA;EACD"}
1
+ {"version":3,"file":"use-switch.cjs","names":["useFieldProps","useControllableState","getRootProps: PropGetter<\"label\">","mergeProps","props","getTrackProps: PropGetter","getThumbProps: PropGetter","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/switch/use-switch.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { dataAttr, mergeRefs, visuallyHiddenAttributes } from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSwitchProps<Y extends number | string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the switch will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the switch will be checked when the Enter key is pressed.\n *\n * @default true\n */\n checkOnEnter?: boolean\n /**\n * If `true`, the switch will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the switch input.\n */\n value?: Y\n /**\n * The callback invoked when the switch is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the switch is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useSwitch = <Y extends number | string = string>(\n props: UseSwitchProps<Y> = {},\n) => {\n const uuid = useId()\n const {\n props: {\n id = uuid,\n ref,\n name,\n checked: checkedProp,\n checkOnEnter = true,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n })\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return ev.preventDefault()\n\n setChecked(ev.target.checked)\n onChangeProp?.(ev)\n },\n [onChangeProp, setChecked, interactive],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (interactive && checkOnEnter && ev.key === \"Enter\")\n inputRef.current?.click()\n },\n [interactive, checkOnEnter],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) =>\n mergeProps(\n dataProps,\n { htmlFor: id, \"data-checked\": dataAttr(checked) },\n rest,\n props,\n )(),\n [checked, rest, id, dataProps],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [checked, dataProps],\n )\n\n const getThumbProps: PropGetter = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [checked, dataProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const mergedProps = mergeProps(\n ariaProps,\n dataProps,\n {\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n checked,\n disabled,\n readOnly,\n required,\n role: \"switch\",\n tabIndex: interactive ? 0 : -1,\n value,\n },\n { onBlur: eventProps.onBlur, onFocus: eventProps.onFocus },\n props,\n { onChange, onKeyDown },\n )({ mergeRef: false })\n\n return {\n ...mergedProps,\n ref: mergeRefs(inputRef, props.ref, ref),\n }\n },\n [\n ariaProps,\n dataProps,\n id,\n name,\n checked,\n disabled,\n readOnly,\n required,\n interactive,\n value,\n ref,\n eventProps,\n onChange,\n onKeyDown,\n ],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [dataProps, checked],\n )\n\n return {\n checked,\n getInputProps,\n getLabelProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n }\n}\n\nexport type UseSwitchReturn = ReturnType<typeof useSwitch>\n"],"mappings":";;;;;;;;;;;;;;AAqEA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,yBAAc;CACpB,MAAM,EACJ,OAAO,EACL,KAAK,MACL,KACA,MACA,SAAS,aACT,eAAe,MACf,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEA,sCAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,6BAAoC,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAcC,gEAAqB;EACjD,cAAc;EACd,OAAO;EACR,CAAC;CAEF,MAAM,mCACH,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAO,GAAG,gBAAgB;AAE5C,aAAW,GAAG,OAAO,QAAQ;AAC7B,iBAAe,GAAG;IAEpB;EAAC;EAAc;EAAY;EAAY,CACxC;CAED,MAAM,oCACH,OAAwC;AACvC,MAAI,eAAe,gBAAgB,GAAG,QAAQ,QAC5C,UAAS,SAAS,OAAO;IAE7B,CAAC,aAAa,aAAa,CAC5B;CAED,MAAMC,uCACH,UAAQ,EAAE,KACTC,yBACE,WACA;EAAE,SAAS;EAAI,gEAAyB,QAAQ;EAAE,EAClD,MACAC,QACD,EAAE,EACL;EAAC;EAAS;EAAM;EAAI;EAAU,CAC/B;CAED,MAAMC,wCACH,UAAQ,EAAE,KACTF,yBAAW,WAAW,EAAE,gEAAyB,QAAQ,EAAE,EAAEC,QAAM,EAAE,EACvE,CAAC,SAAS,UAAU,CACrB;CAED,MAAME,wCACH,UAAQ,EAAE,KACTH,yBAAW,WAAW,EAAE,gEAAyB,QAAQ,EAAE,EAAEC,QAAM,EAAE,EACvE,CAAC,SAAS,UAAU,CACrB;AAsDD,QAAO;EACL;EACA,uCArDC,UAAQ,EAAE,KAAK;AAsBd,UAAO;IACL,GAtBkBD,yBAClB,WACA,WACA;KACE;KACA,MAAM;KACN;KACA,OAAOI,qCAAyB;KAChC;KACA;KACA;KACA;KACA,MAAM;KACN,UAAU,cAAc,IAAI;KAC5B;KACD,EACD;KAAE,QAAQ,WAAW;KAAQ,SAAS,WAAW;KAAS,EAC1DH,SACA;KAAE;KAAU;KAAW,CACxB,CAAC,EAAE,UAAU,OAAO,CAAC;IAIpB,KAAKI,sBAAU,UAAUJ,QAAM,KAAK,IAAI;IACzC;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAWC,uCARC,UAAQ,EAAE,KACTD,yBAAW,WAAW,EAAE,gEAAyB,QAAQ,EAAE,EAAEC,QAAM,EAAE,EACvE,CAAC,WAAW,QAAQ,CACrB;EAMC;EACA;EACA;EACD"}
@@ -5,6 +5,7 @@ import { useSafeLayoutEffect } from "../../utils/effect.js";
5
5
  import { mergeRefs } from "../../utils/ref.js";
6
6
  import { utils_exports } from "../../utils/index.js";
7
7
  import { useEnvironment } from "../../core/system/environment-provider.js";
8
+ import { mergeProps } from "../../core/components/props.js";
8
9
  import "../../core/index.js";
9
10
  import { useControllableState } from "../../hooks/use-controllable-state/index.js";
10
11
  import { createDescendants } from "../../hooks/use-descendants/index.js";
@@ -31,11 +32,7 @@ const useSteps = ({ count = 0, defaultIndex = 0, index: indexProp, orientation =
31
32
  const onNext = useCallback(() => {
32
33
  setIndex((index$1) => Math.min(count, index$1 + 1));
33
34
  }, [count, setIndex]);
34
- const getRootProps = useCallback(({ ref, ...props } = {}) => ({
35
- ...rest,
36
- ...props,
37
- ref: mergeRefs(ref, rest.ref)
38
- }), [rest]);
35
+ const getRootProps = useCallback((props = {}) => mergeProps(rest, props)(), [rest]);
39
36
  const getListProps = useCallback((props) => {
40
37
  return {
41
38
  "data-orientation": orientation,
@@ -103,17 +100,12 @@ const useStepsItem = ({ "aria-labelledby": ariaLabelledbyProp, index, ...rest })
103
100
  id,
104
101
  index
105
102
  ]);
106
- const getRootProps = useCallback(({ ref, "aria-labelledby": ariaLabelledby, ...props } = {}) => {
107
- return {
108
- "aria-current": current ? "step" : void 0,
109
- "aria-labelledby": (0, utils_exports.cx)(ariaLabelledbyProp, ariaLabelledby),
110
- "data-orientation": orientation,
111
- [statusDataAttr]: (0, utils_exports.dataAttr)(true),
112
- ...rest,
113
- ...props,
114
- ref: mergeRefs(ref, register)
115
- };
116
- }, [
103
+ const getRootProps = useCallback(({ ref, "aria-labelledby": ariaLabelledby, ...props } = {}) => mergeProps({
104
+ "aria-current": current ? "step" : void 0,
105
+ "aria-labelledby": (0, utils_exports.cx)(ariaLabelledbyProp, ariaLabelledby),
106
+ "data-orientation": orientation,
107
+ [statusDataAttr]: (0, utils_exports.dataAttr)(true)
108
+ }, rest, props, { ref: mergeRefs(ref, register) })(), [
117
109
  ariaLabelledbyProp,
118
110
  current,
119
111
  orientation,
@@ -1 +1 @@
1
- {"version":3,"file":"use-steps.js","names":["createContext","indexProp","index","getRootProps: PropGetter","getListProps: PropGetter<\"ol\">","getContentProps: PropGetter<\"div\", { index?: number }>","getPrevTriggerProps: PropGetter<\"button\">","getRootProps: PropGetter<\"li\">","getTitleProps: PropGetter<\"h3\">"],"sources":["../../../../src/components/steps/use-steps.ts"],"sourcesContent":["\"use client\"\n\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId } from \"react\"\nimport { useEnvironment } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n dataAttr,\n handlerAll,\n mergeRefs,\n setAttribute,\n useSafeLayoutEffect,\n} from \"../../utils\"\n\nexport type StepStatusScheme = \"complete\" | \"current\" | \"incomplete\"\n\nconst {\n DescendantsContext: StepsDescendantsContext,\n useDescendant: useStepsDescendant,\n useDescendants: useStepsDescendants,\n} = createDescendants<HTMLLIElement>()\n\nexport { StepsDescendantsContext, useStepsDescendant, useStepsDescendants }\n\ninterface StepsContext extends Omit<\n UseStepsReturn,\n \"descendants\" | \"getRootProps\"\n> {}\n\nconst [StepsContext, useStepsContext] = createContext<StepsContext>({\n name: \"StepsContext\",\n})\n\nexport { StepsContext, useStepsContext }\n\ninterface StepsItemContext extends Omit<UseStepsItemReturn, \"getRootProps\"> {}\n\nconst [StepsItemContext, useStepsItemContext] = createContext<StepsItemContext>(\n {\n name: \"StepsItemContext\",\n },\n)\n\nexport { StepsItemContext, useStepsItemContext }\n\nexport interface UseStepsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The total number of steps.\n */\n count?: number\n /**\n * The initial index of the active step.\n *\n * @default 0\n */\n defaultIndex?: number\n /**\n * The index of the active step.\n */\n index?: number\n /**\n * The orientation of the steps.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback function that is called when the active step index is changed.\n */\n onChange?: (index: number) => void\n}\n\nexport const useSteps = ({\n count = 0,\n defaultIndex = 0,\n index: indexProp,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseStepsProps = {}) => {\n const descendants = useStepsDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const id = useId()\n\n const getStatus = useCallback(\n (indexProp: number): StepStatusScheme => {\n if (indexProp < index) {\n return \"complete\"\n } else if (indexProp > index) {\n return \"incomplete\"\n } else {\n return \"current\"\n }\n },\n [index],\n )\n\n const onPrev = useCallback(\n () => setIndex((index) => Math.max(0, index - 1)),\n [setIndex],\n )\n\n const onNext = useCallback(() => {\n setIndex((index) => Math.min(count, index + 1))\n }, [count, setIndex])\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) => ({\n ...rest,\n ...props,\n ref: mergeRefs(ref, rest.ref),\n }),\n [rest],\n )\n\n const getListProps: PropGetter<\"ol\"> = useCallback(\n (props) => {\n return {\n \"data-orientation\": orientation,\n ...props,\n }\n },\n [orientation],\n )\n\n const getContentProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index: indexProp = count, ...props } = {}) => ({\n id: `${id}-${indexProp}`,\n hidden: indexProp !== index,\n tabIndex: 0,\n ...props,\n }),\n [count, id, index],\n )\n\n const getPrevTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => ({\n disabled: index === 0,\n ...props,\n onClick: handlerAll(props.onClick, onPrev),\n }),\n [onPrev, index],\n )\n\n const getNextTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => {\n return {\n disabled: count <= index,\n ...props,\n onClick: handlerAll(props.onClick, onNext),\n }\n },\n [count, index, onNext],\n )\n\n return {\n id,\n count,\n descendants,\n getStatus,\n index,\n orientation,\n setIndex,\n getContentProps,\n getListProps,\n getNextTriggerProps,\n getPrevTriggerProps,\n getRootProps,\n onNext,\n onPrev,\n }\n}\n\nexport type UseStepsReturn = ReturnType<typeof useSteps>\n\nexport interface UseStepsItemProps extends HTMLProps<\"li\"> {\n /**\n * The index of the step.\n */\n index: number\n}\n\nexport const useStepsItem = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseStepsItemProps) => {\n const { descendants, register } = useStepsDescendant()\n const { id, getStatus, orientation } = useStepsContext()\n const status = getStatus(index)\n const current = status === \"current\"\n const first = index === 0\n const last = index === descendants.lastValue()?.index\n const statusDataAttr = `data-${status}`\n const { getDocument } = useEnvironment()\n\n useSafeLayoutEffect(() => {\n const el = descendants.value(index)?.node\n const hasContent = !!getDocument()?.getElementById(`${id}-${index}`)\n\n if (el && hasContent) setAttribute(el, \"aria-labelledby\", `${id}-${index}`)\n }, [descendants, getDocument, id, index])\n\n const getRootProps: PropGetter<\"li\"> = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) => {\n return {\n \"aria-current\": current ? \"step\" : undefined,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby),\n \"data-orientation\": orientation,\n [statusDataAttr]: dataAttr(true),\n ...rest,\n ...props,\n ref: mergeRefs(ref, register),\n }\n },\n [ariaLabelledbyProp, current, orientation, statusDataAttr, rest, register],\n )\n\n const getTitleProps: PropGetter<\"h3\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getDescriptionProps: PropGetter<\"p\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({\n \"data-orientation\": orientation,\n role: \"separator\",\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [orientation, statusDataAttr],\n )\n\n return {\n first,\n index,\n last,\n status,\n getDescriptionProps,\n getIndicatorProps,\n getRootProps,\n getSeparatorProps,\n getTitleProps,\n }\n}\n\nexport type UseStepsItemReturn = ReturnType<typeof useStepsItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-steps.js","names":["createContext","indexProp","index","getRootProps: PropGetter","getListProps: PropGetter<\"ol\">","getContentProps: PropGetter<\"div\", { index?: number }>","getPrevTriggerProps: PropGetter<\"button\">","getRootProps: PropGetter<\"li\">","getTitleProps: PropGetter<\"h3\">"],"sources":["../../../../src/components/steps/use-steps.ts"],"sourcesContent":["\"use client\"\n\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId } from \"react\"\nimport { mergeProps, useEnvironment } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n dataAttr,\n handlerAll,\n mergeRefs,\n setAttribute,\n useSafeLayoutEffect,\n} from \"../../utils\"\n\nexport type StepStatusScheme = \"complete\" | \"current\" | \"incomplete\"\n\nconst {\n DescendantsContext: StepsDescendantsContext,\n useDescendant: useStepsDescendant,\n useDescendants: useStepsDescendants,\n} = createDescendants<HTMLLIElement>()\n\nexport { StepsDescendantsContext, useStepsDescendant, useStepsDescendants }\n\ninterface StepsContext extends Omit<\n UseStepsReturn,\n \"descendants\" | \"getRootProps\"\n> {}\n\nconst [StepsContext, useStepsContext] = createContext<StepsContext>({\n name: \"StepsContext\",\n})\n\nexport { StepsContext, useStepsContext }\n\ninterface StepsItemContext extends Omit<UseStepsItemReturn, \"getRootProps\"> {}\n\nconst [StepsItemContext, useStepsItemContext] = createContext<StepsItemContext>(\n {\n name: \"StepsItemContext\",\n },\n)\n\nexport { StepsItemContext, useStepsItemContext }\n\nexport interface UseStepsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The total number of steps.\n */\n count?: number\n /**\n * The initial index of the active step.\n *\n * @default 0\n */\n defaultIndex?: number\n /**\n * The index of the active step.\n */\n index?: number\n /**\n * The orientation of the steps.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback function that is called when the active step index is changed.\n */\n onChange?: (index: number) => void\n}\n\nexport const useSteps = ({\n count = 0,\n defaultIndex = 0,\n index: indexProp,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseStepsProps = {}) => {\n const descendants = useStepsDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const id = useId()\n\n const getStatus = useCallback(\n (indexProp: number): StepStatusScheme => {\n if (indexProp < index) {\n return \"complete\"\n } else if (indexProp > index) {\n return \"incomplete\"\n } else {\n return \"current\"\n }\n },\n [index],\n )\n\n const onPrev = useCallback(\n () => setIndex((index) => Math.max(0, index - 1)),\n [setIndex],\n )\n\n const onNext = useCallback(() => {\n setIndex((index) => Math.min(count, index + 1))\n }, [count, setIndex])\n\n const getRootProps: PropGetter = useCallback(\n (props = {}) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getListProps: PropGetter<\"ol\"> = useCallback(\n (props) => {\n return {\n \"data-orientation\": orientation,\n ...props,\n }\n },\n [orientation],\n )\n\n const getContentProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index: indexProp = count, ...props } = {}) => ({\n id: `${id}-${indexProp}`,\n hidden: indexProp !== index,\n tabIndex: 0,\n ...props,\n }),\n [count, id, index],\n )\n\n const getPrevTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => ({\n disabled: index === 0,\n ...props,\n onClick: handlerAll(props.onClick, onPrev),\n }),\n [onPrev, index],\n )\n\n const getNextTriggerProps: PropGetter<\"button\"> = useCallback(\n (props = {}) => {\n return {\n disabled: count <= index,\n ...props,\n onClick: handlerAll(props.onClick, onNext),\n }\n },\n [count, index, onNext],\n )\n\n return {\n id,\n count,\n descendants,\n getStatus,\n index,\n orientation,\n setIndex,\n getContentProps,\n getListProps,\n getNextTriggerProps,\n getPrevTriggerProps,\n getRootProps,\n onNext,\n onPrev,\n }\n}\n\nexport type UseStepsReturn = ReturnType<typeof useSteps>\n\nexport interface UseStepsItemProps extends HTMLProps<\"li\"> {\n /**\n * The index of the step.\n */\n index: number\n}\n\nexport const useStepsItem = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseStepsItemProps) => {\n const { descendants, register } = useStepsDescendant()\n const { id, getStatus, orientation } = useStepsContext()\n const status = getStatus(index)\n const current = status === \"current\"\n const first = index === 0\n const last = index === descendants.lastValue()?.index\n const statusDataAttr = `data-${status}`\n const { getDocument } = useEnvironment()\n\n useSafeLayoutEffect(() => {\n const el = descendants.value(index)?.node\n const hasContent = !!getDocument()?.getElementById(`${id}-${index}`)\n\n if (el && hasContent) setAttribute(el, \"aria-labelledby\", `${id}-${index}`)\n }, [descendants, getDocument, id, index])\n\n const getRootProps: PropGetter<\"li\"> = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n \"aria-current\": current ? \"step\" : undefined,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby),\n \"data-orientation\": orientation,\n [statusDataAttr]: dataAttr(true),\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n )(),\n [ariaLabelledbyProp, current, orientation, statusDataAttr, rest, register],\n )\n\n const getTitleProps: PropGetter<\"h3\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getDescriptionProps: PropGetter<\"p\"> = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props) => ({\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [statusDataAttr],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({\n \"data-orientation\": orientation,\n role: \"separator\",\n [statusDataAttr]: dataAttr(true),\n ...props,\n }),\n [orientation, statusDataAttr],\n )\n\n return {\n first,\n index,\n last,\n status,\n getDescriptionProps,\n getIndicatorProps,\n getRootProps,\n getSeparatorProps,\n getTitleProps,\n }\n}\n\nexport type UseStepsItemReturn = ReturnType<typeof useStepsItem>\n"],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
  import { visuallyHiddenAttributes } from "../../utils/dom.js";
4
4
  import { mergeRefs } from "../../utils/ref.js";
5
5
  import { utils_exports } from "../../utils/index.js";
6
+ import { mergeProps } from "../../core/components/props.js";
7
+ import "../../core/index.js";
6
8
  import { useControllableState } from "../../hooks/use-controllable-state/index.js";
7
9
  import { useFieldProps } from "../field/use-field-props.js";
8
10
  import "../field/index.js";
@@ -30,51 +32,43 @@ const useSwitch = (props = {}) => {
30
32
  const onKeyDown = useCallback((ev) => {
31
33
  if (interactive && checkOnEnter && ev.key === "Enter") inputRef.current?.click();
32
34
  }, [interactive, checkOnEnter]);
33
- const getRootProps = useCallback((props$1 = {}) => ({
34
- ...dataProps,
35
+ const getRootProps = useCallback((props$1 = {}) => mergeProps(dataProps, {
35
36
  htmlFor: id,
36
- "data-checked": (0, utils_exports.dataAttr)(checked),
37
- ...rest,
38
- ...props$1
39
- }), [
37
+ "data-checked": (0, utils_exports.dataAttr)(checked)
38
+ }, rest, props$1)(), [
40
39
  checked,
41
40
  rest,
42
41
  id,
43
42
  dataProps
44
43
  ]);
45
- const getTrackProps = useCallback((props$1 = {}) => ({
46
- "data-checked": (0, utils_exports.dataAttr)(checked),
47
- ...dataProps,
48
- ...props$1
49
- }), [checked, dataProps]);
50
- const getThumbProps = useCallback((props$1 = {}) => ({
51
- "data-checked": (0, utils_exports.dataAttr)(checked),
52
- ...dataProps,
53
- ...props$1
54
- }), [checked, dataProps]);
44
+ const getTrackProps = useCallback((props$1 = {}) => mergeProps(dataProps, { "data-checked": (0, utils_exports.dataAttr)(checked) }, props$1)(), [checked, dataProps]);
45
+ const getThumbProps = useCallback((props$1 = {}) => mergeProps(dataProps, { "data-checked": (0, utils_exports.dataAttr)(checked) }, props$1)(), [checked, dataProps]);
55
46
  return {
56
47
  checked,
57
- getInputProps: useCallback((props$1 = {}) => ({
58
- ...ariaProps,
59
- ...dataProps,
60
- id,
61
- type: "checkbox",
62
- name,
63
- style: visuallyHiddenAttributes.style,
64
- checked,
65
- disabled,
66
- readOnly,
67
- required,
68
- role: "switch",
69
- tabIndex: interactive ? 0 : -1,
70
- value,
71
- ...props$1,
72
- ref: mergeRefs(inputRef, props$1.ref, ref),
73
- onBlur: (0, utils_exports.handlerAll)(eventProps.onBlur, props$1.onBlur),
74
- onChange: (0, utils_exports.handlerAll)(props$1.onChange, onChange),
75
- onFocus: (0, utils_exports.handlerAll)(eventProps.onFocus, props$1.onFocus),
76
- onKeyDown: (0, utils_exports.handlerAll)(props$1.onKeyDown, onKeyDown)
77
- }), [
48
+ getInputProps: useCallback((props$1 = {}) => {
49
+ return {
50
+ ...mergeProps(ariaProps, dataProps, {
51
+ id,
52
+ type: "checkbox",
53
+ name,
54
+ style: visuallyHiddenAttributes.style,
55
+ checked,
56
+ disabled,
57
+ readOnly,
58
+ required,
59
+ role: "switch",
60
+ tabIndex: interactive ? 0 : -1,
61
+ value
62
+ }, {
63
+ onBlur: eventProps.onBlur,
64
+ onFocus: eventProps.onFocus
65
+ }, props$1, {
66
+ onChange,
67
+ onKeyDown
68
+ })({ mergeRef: false }),
69
+ ref: mergeRefs(inputRef, props$1.ref, ref)
70
+ };
71
+ }, [
78
72
  ariaProps,
79
73
  dataProps,
80
74
  id,
@@ -90,11 +84,7 @@ const useSwitch = (props = {}) => {
90
84
  onChange,
91
85
  onKeyDown
92
86
  ]),
93
- getLabelProps: useCallback((props$1 = {}) => ({
94
- ...dataProps,
95
- "data-checked": (0, utils_exports.dataAttr)(checked),
96
- ...props$1
97
- }), [dataProps, checked]),
87
+ getLabelProps: useCallback((props$1 = {}) => mergeProps(dataProps, { "data-checked": (0, utils_exports.dataAttr)(checked) }, props$1)(), [dataProps, checked]),
98
88
  getRootProps,
99
89
  getThumbProps,
100
90
  getTrackProps
@@ -1 +1 @@
1
- {"version":3,"file":"use-switch.js","names":["getRootProps: PropGetter<\"label\">","props","getTrackProps: PropGetter","getThumbProps: PropGetter"],"sources":["../../../../src/components/switch/use-switch.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSwitchProps<Y extends number | string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the switch will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the switch will be checked when the Enter key is pressed.\n *\n * @default true\n */\n checkOnEnter?: boolean\n /**\n * If `true`, the switch will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the switch input.\n */\n value?: Y\n /**\n * The callback invoked when the switch is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the switch is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useSwitch = <Y extends number | string = string>(\n props: UseSwitchProps<Y> = {},\n) => {\n const uuid = useId()\n const {\n props: {\n id = uuid,\n ref,\n name,\n checked: checkedProp,\n checkOnEnter = true,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n })\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return ev.preventDefault()\n\n setChecked(ev.target.checked)\n onChangeProp?.(ev)\n },\n [onChangeProp, setChecked, interactive],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (interactive && checkOnEnter && ev.key === \"Enter\")\n inputRef.current?.click()\n },\n [interactive, checkOnEnter],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => ({\n ...dataProps,\n htmlFor: id,\n \"data-checked\": dataAttr(checked),\n ...rest,\n ...props,\n }),\n [checked, rest, id, dataProps],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props = {}) => ({\n \"data-checked\": dataAttr(checked),\n ...dataProps,\n ...props,\n }),\n [checked, dataProps],\n )\n\n const getThumbProps: PropGetter = useCallback(\n (props = {}) => ({\n \"data-checked\": dataAttr(checked),\n ...dataProps,\n ...props,\n }),\n [checked, dataProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...ariaProps,\n ...dataProps,\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n checked,\n disabled,\n readOnly,\n required,\n role: \"switch\",\n tabIndex: interactive ? 0 : -1,\n value,\n ...props,\n ref: mergeRefs(inputRef, props.ref, ref),\n onBlur: handlerAll(eventProps.onBlur, props.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [\n ariaProps,\n dataProps,\n id,\n name,\n checked,\n disabled,\n readOnly,\n required,\n interactive,\n value,\n ref,\n eventProps,\n onChange,\n onKeyDown,\n ],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"data-checked\": dataAttr(checked),\n ...props,\n }),\n [dataProps, checked],\n )\n\n return {\n checked,\n getInputProps,\n getLabelProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n }\n}\n\nexport type UseSwitchReturn = ReturnType<typeof useSwitch>\n"],"mappings":";;;;;;;;;;;AAyEA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,OAAO,OAAO;CACpB,MAAM,EACJ,OAAO,EACL,KAAK,MACL,KACA,MACA,SAAS,aACT,eAAe,MACf,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACE,cAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAc,qBAAqB;EACjD,cAAc;EACd,OAAO;EACR,CAAC;CAEF,MAAM,WAAW,aACd,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAO,GAAG,gBAAgB;AAE5C,aAAW,GAAG,OAAO,QAAQ;AAC7B,iBAAe,GAAG;IAEpB;EAAC;EAAc;EAAY;EAAY,CACxC;CAED,MAAM,YAAY,aACf,OAAwC;AACvC,MAAI,eAAe,gBAAgB,GAAG,QAAQ,QAC5C,UAAS,SAAS,OAAO;IAE7B,CAAC,aAAa,aAAa,CAC5B;CAED,MAAMA,eAAoC,aACvC,UAAQ,EAAE,MAAM;EACf,GAAG;EACH,SAAS;EACT,4CAAyB,QAAQ;EACjC,GAAG;EACH,GAAGC;EACJ,GACD;EAAC;EAAS;EAAM;EAAI;EAAU,CAC/B;CAED,MAAMC,gBAA4B,aAC/B,UAAQ,EAAE,MAAM;EACf,4CAAyB,QAAQ;EACjC,GAAG;EACH,GAAGD;EACJ,GACD,CAAC,SAAS,UAAU,CACrB;CAED,MAAME,gBAA4B,aAC/B,UAAQ,EAAE,MAAM;EACf,4CAAyB,QAAQ;EACjC,GAAG;EACH,GAAGF;EACJ,GACD,CAAC,SAAS,UAAU,CACrB;AAmDD,QAAO;EACL;EACA,eAnDyC,aACxC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,GAAG;GACH;GACA,MAAM;GACN;GACA,OAAO,yBAAyB;GAChC;GACA;GACA;GACA;GACA,MAAM;GACN,UAAU,cAAc,IAAI;GAC5B;GACA,GAAGA;GACH,KAAK,UAAU,UAAUA,QAAM,KAAK,IAAI;GACxC,sCAAmB,WAAW,QAAQA,QAAM,OAAO;GACnD,wCAAqBA,QAAM,UAAU,SAAS;GAC9C,uCAAoB,WAAW,SAASA,QAAM,QAAQ;GACtD,yCAAsBA,QAAM,WAAW,UAAU;GAClD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAcC,eAZwC,aACvC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,4CAAyB,QAAQ;GACjC,GAAGA;GACJ,GACD,CAAC,WAAW,QAAQ,CACrB;EAMC;EACA;EACA;EACD"}
1
+ {"version":3,"file":"use-switch.js","names":["getRootProps: PropGetter<\"label\">","props","getTrackProps: PropGetter","getThumbProps: PropGetter"],"sources":["../../../../src/components/switch/use-switch.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { dataAttr, mergeRefs, visuallyHiddenAttributes } from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSwitchProps<Y extends number | string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the switch will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the switch will be checked when the Enter key is pressed.\n *\n * @default true\n */\n checkOnEnter?: boolean\n /**\n * If `true`, the switch will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the switch input.\n */\n value?: Y\n /**\n * The callback invoked when the switch is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the switch is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useSwitch = <Y extends number | string = string>(\n props: UseSwitchProps<Y> = {},\n) => {\n const uuid = useId()\n const {\n props: {\n id = uuid,\n ref,\n name,\n checked: checkedProp,\n checkOnEnter = true,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n })\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return ev.preventDefault()\n\n setChecked(ev.target.checked)\n onChangeProp?.(ev)\n },\n [onChangeProp, setChecked, interactive],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (interactive && checkOnEnter && ev.key === \"Enter\")\n inputRef.current?.click()\n },\n [interactive, checkOnEnter],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) =>\n mergeProps(\n dataProps,\n { htmlFor: id, \"data-checked\": dataAttr(checked) },\n rest,\n props,\n )(),\n [checked, rest, id, dataProps],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [checked, dataProps],\n )\n\n const getThumbProps: PropGetter = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [checked, dataProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const mergedProps = mergeProps(\n ariaProps,\n dataProps,\n {\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n checked,\n disabled,\n readOnly,\n required,\n role: \"switch\",\n tabIndex: interactive ? 0 : -1,\n value,\n },\n { onBlur: eventProps.onBlur, onFocus: eventProps.onFocus },\n props,\n { onChange, onKeyDown },\n )({ mergeRef: false })\n\n return {\n ...mergedProps,\n ref: mergeRefs(inputRef, props.ref, ref),\n }\n },\n [\n ariaProps,\n dataProps,\n id,\n name,\n checked,\n disabled,\n readOnly,\n required,\n interactive,\n value,\n ref,\n eventProps,\n onChange,\n onKeyDown,\n ],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props = {}) =>\n mergeProps(dataProps, { \"data-checked\": dataAttr(checked) }, props)(),\n [dataProps, checked],\n )\n\n return {\n checked,\n getInputProps,\n getLabelProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n }\n}\n\nexport type UseSwitchReturn = ReturnType<typeof useSwitch>\n"],"mappings":";;;;;;;;;;;;;AAqEA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,OAAO,OAAO;CACpB,MAAM,EACJ,OAAO,EACL,KAAK,MACL,KACA,MACA,SAAS,aACT,eAAe,MACf,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACE,cAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAc,qBAAqB;EACjD,cAAc;EACd,OAAO;EACR,CAAC;CAEF,MAAM,WAAW,aACd,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAO,GAAG,gBAAgB;AAE5C,aAAW,GAAG,OAAO,QAAQ;AAC7B,iBAAe,GAAG;IAEpB;EAAC;EAAc;EAAY;EAAY,CACxC;CAED,MAAM,YAAY,aACf,OAAwC;AACvC,MAAI,eAAe,gBAAgB,GAAG,QAAQ,QAC5C,UAAS,SAAS,OAAO;IAE7B,CAAC,aAAa,aAAa,CAC5B;CAED,MAAMA,eAAoC,aACvC,UAAQ,EAAE,KACT,WACE,WACA;EAAE,SAAS;EAAI,4CAAyB,QAAQ;EAAE,EAClD,MACAC,QACD,EAAE,EACL;EAAC;EAAS;EAAM;EAAI;EAAU,CAC/B;CAED,MAAMC,gBAA4B,aAC/B,UAAQ,EAAE,KACT,WAAW,WAAW,EAAE,4CAAyB,QAAQ,EAAE,EAAED,QAAM,EAAE,EACvE,CAAC,SAAS,UAAU,CACrB;CAED,MAAME,gBAA4B,aAC/B,UAAQ,EAAE,KACT,WAAW,WAAW,EAAE,4CAAyB,QAAQ,EAAE,EAAEF,QAAM,EAAE,EACvE,CAAC,SAAS,UAAU,CACrB;AAsDD,QAAO;EACL;EACA,eAtDyC,aACxC,UAAQ,EAAE,KAAK;AAsBd,UAAO;IACL,GAtBkB,WAClB,WACA,WACA;KACE;KACA,MAAM;KACN;KACA,OAAO,yBAAyB;KAChC;KACA;KACA;KACA;KACA,MAAM;KACN,UAAU,cAAc,IAAI;KAC5B;KACD,EACD;KAAE,QAAQ,WAAW;KAAQ,SAAS,WAAW;KAAS,EAC1DA,SACA;KAAE;KAAU;KAAW,CACxB,CAAC,EAAE,UAAU,OAAO,CAAC;IAIpB,KAAK,UAAU,UAAUA,QAAM,KAAK,IAAI;IACzC;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAWC,eATwC,aACvC,UAAQ,EAAE,KACT,WAAW,WAAW,EAAE,4CAAyB,QAAQ,EAAE,EAAEA,QAAM,EAAE,EACvE,CAAC,WAAW,QAAQ,CACrB;EAMC;EACA;EACA;EACD"}
@@ -7,7 +7,7 @@ import { CollapseProps } from "../collapse/collapse.js";
7
7
  import "../../index.js";
8
8
  import { AccordionStyle } from "./accordion.style.js";
9
9
  import { UseAccordionItemProps, UseAccordionProps } from "./use-accordion.js";
10
- import * as react1033 from "react";
10
+ import * as react164 from "react";
11
11
 
12
12
  //#region src/components/accordion/accordion.d.ts
13
13
  interface AccordionCallBackProps {
@@ -31,7 +31,7 @@ interface AccordionRootProps extends Omit<HTMLStyledProps, "onChange">, ThemePro
31
31
  */
32
32
  items?: AccordionItem[];
33
33
  }
34
- declare const AccordionPropsContext: react1033.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
34
+ declare const AccordionPropsContext: react164.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
35
35
  /**
36
36
  * `Accordion` is a component for a list that displays information in an expandable or collapsible manner.
37
37
  *
@@ -3,7 +3,7 @@ import { CSSModifierObject, CSSPropObject, CSSSlotObject } from "../../core/css/
3
3
  import "../../index.js";
4
4
 
5
5
  //#region src/components/accordion/accordion.style.d.ts
6
- declare const accordionStyle: ComponentSlotStyle<"button" | "panel" | "icon" | "root" | "item", CSSPropObject<CSSSlotObject<"button" | "panel" | "icon" | "root" | "item">>, CSSModifierObject<CSSSlotObject<"button" | "panel" | "icon" | "root" | "item">>, {
6
+ declare const accordionStyle: ComponentSlotStyle<"button" | "panel" | "icon" | "item" | "root", CSSPropObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, CSSModifierObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, {
7
7
  panel: {
8
8
  button: {
9
9
  rounded: "l2";
@@ -2,10 +2,10 @@ import { HTMLProps, PropGetter } from "../../core/components/index.types.js";
2
2
  import "../../core/index.js";
3
3
  import { Descendant } from "../../hooks/use-descendants/index.js";
4
4
  import "../../index.js";
5
- import * as react1021 from "react";
5
+ import * as react152 from "react";
6
6
 
7
7
  //#region src/components/accordion/use-accordion.d.ts
8
- declare const AccordionDescendantsContext: react1021.Context<{
8
+ declare const AccordionDescendantsContext: react152.Context<{
9
9
  active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
10
10
  count: (props?: Partial<{}> | undefined) => number;
11
11
  destroy: () => void;
@@ -24,7 +24,7 @@ declare const AccordionDescendantsContext: react1021.Context<{
24
24
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
25
25
  register: (props?: {
26
26
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
27
- } | undefined) => react1021.RefCallback<HTMLButtonElement>;
27
+ } | undefined) => react152.RefCallback<HTMLButtonElement>;
28
28
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
29
29
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
30
30
  values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
@@ -50,12 +50,12 @@ declare const AccordionDescendantsContext: react1021.Context<{
50
50
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
51
51
  register: (props?: {
52
52
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
53
- } | undefined) => react1021.RefCallback<HTMLButtonElement>;
53
+ } | undefined) => react152.RefCallback<HTMLButtonElement>;
54
54
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
55
55
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
56
56
  values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
57
57
  };
58
- register: react1021.RefCallback<HTMLButtonElement>;
58
+ register: react152.RefCallback<HTMLButtonElement>;
59
59
  }, useAccordionDescendants: () => {
60
60
  active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
61
61
  count: (props?: Partial<{}> | undefined) => number;
@@ -75,15 +75,15 @@ declare const AccordionDescendantsContext: react1021.Context<{
75
75
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
76
76
  register: (props?: {
77
77
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
78
- } | undefined) => react1021.RefCallback<HTMLButtonElement>;
78
+ } | undefined) => react152.RefCallback<HTMLButtonElement>;
79
79
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
80
80
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
81
81
  values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
82
82
  };
83
83
  interface AccordionContext extends Omit<UseAccordionReturn, "descendants" | "getRootProps"> {}
84
- declare const AccordionContext: react1021.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
84
+ declare const AccordionContext: react152.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
85
85
  interface AccordionItemContext extends Omit<UseAccordionItemReturn, "getItemProps"> {}
86
- declare const AccordionItemContext: react1021.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
86
+ declare const AccordionItemContext: react152.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
87
87
  interface UseAccordionProps extends Omit<HTMLProps, "onChange"> {
88
88
  /**
89
89
  * The initial index(es) of the accordion item to expand.
@@ -137,7 +137,7 @@ declare const useAccordion: ({
137
137
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
138
138
  register: (props?: {
139
139
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
140
- } | undefined) => react1021.RefCallback<HTMLButtonElement>;
140
+ } | undefined) => react152.RefCallback<HTMLButtonElement>;
141
141
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
142
142
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
143
143
  values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
@@ -145,8 +145,8 @@ declare const useAccordion: ({
145
145
  focusedIndex: number;
146
146
  index: number | number[];
147
147
  multiple: boolean | undefined;
148
- setFocusedIndex: react1021.Dispatch<react1021.SetStateAction<number>>;
149
- setIndex: react1021.Dispatch<react1021.SetStateAction<number | number[]>>;
148
+ setFocusedIndex: react152.Dispatch<react152.SetStateAction<number>>;
149
+ setIndex: react152.Dispatch<react152.SetStateAction<number | number[]>>;
150
150
  toggle: boolean | undefined;
151
151
  getRootProps: PropGetter<"div", undefined, undefined>;
152
152
  };
@@ -6,7 +6,7 @@ import { PortalProps } from "../portal/portal.js";
6
6
  import { UsePopupAnimationProps } from "../popover/popover.js";
7
7
  import { UseActionBarProps } from "./use-action-bar.js";
8
8
  import "../../index.js";
9
- import * as react1009 from "react";
9
+ import * as react165 from "react";
10
10
  import { PropsWithChildren, ReactNode } from "react";
11
11
 
12
12
  //#region src/components/action-bar/action-bar.d.ts
@@ -28,7 +28,7 @@ interface ActionBarRootProps extends Omit<HTMLStyledProps, "content">, ThemeProp
28
28
  */
29
29
  onCloseComplete?: () => void;
30
30
  }
31
- declare const ActionBarPropsContext: react1009.Context<Partial<ActionBarRootProps> | undefined>, useActionBarPropsContext: () => Partial<ActionBarRootProps> | undefined;
31
+ declare const ActionBarPropsContext: react165.Context<Partial<ActionBarRootProps> | undefined>, useActionBarPropsContext: () => Partial<ActionBarRootProps> | undefined;
32
32
  /**
33
33
  * `ActionBar` is a component that is used to display a bottom action bar with a set of actions.
34
34
  *