@yamada-ui/react 2.2.1-dev-20260428170353 → 2.2.1-dev-20260429020906

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 (250) hide show
  1. package/dist/cjs/components/toggle/use-toggle-group.cjs +5 -5
  2. package/dist/cjs/components/toggle/use-toggle-group.cjs.map +1 -1
  3. package/dist/cjs/components/toggle/use-toggle.cjs +19 -14
  4. package/dist/cjs/components/toggle/use-toggle.cjs.map +1 -1
  5. package/dist/esm/components/toggle/use-toggle-group.js +5 -5
  6. package/dist/esm/components/toggle/use-toggle-group.js.map +1 -1
  7. package/dist/esm/components/toggle/use-toggle.js +19 -14
  8. package/dist/esm/components/toggle/use-toggle.js.map +1 -1
  9. package/dist/types/components/accordion/accordion.d.ts +2 -4
  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 -3
  13. package/dist/types/components/airy/airy.d.ts +2 -3
  14. package/dist/types/components/alert/alert.d.ts +2 -5
  15. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -3
  16. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  17. package/dist/types/components/autocomplete/autocomplete.d.ts +2 -4
  18. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  19. package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -7
  20. package/dist/types/components/avatar/avatar.d.ts +5 -5
  21. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  22. package/dist/types/components/badge/badge.d.ts +2 -2
  23. package/dist/types/components/bleed/bleed.d.ts +2 -2
  24. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  25. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  26. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  27. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  28. package/dist/types/components/button/button-group.d.ts +0 -1
  29. package/dist/types/components/button/button.d.ts +2 -3
  30. package/dist/types/components/button/icon-button.d.ts +2 -2
  31. package/dist/types/components/calendar/calendar.d.ts +2 -3
  32. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  33. package/dist/types/components/calendar/use-calendar.d.ts +8 -9
  34. package/dist/types/components/card/card.d.ts +2 -2
  35. package/dist/types/components/carousel/carousel.d.ts +2 -3
  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/area-chart.d.ts +2 -2
  40. package/dist/types/components/chart/bar-chart.d.ts +2 -2
  41. package/dist/types/components/chart/chart.d.ts +2 -2
  42. package/dist/types/components/chart/composed-chart.d.ts +2 -2
  43. package/dist/types/components/chart/donut-chart.d.ts +2 -2
  44. package/dist/types/components/chart/use-chart.d.ts +2 -2
  45. package/dist/types/components/checkbox/checkbox-group.d.ts +0 -2
  46. package/dist/types/components/checkbox/checkbox.d.ts +4 -5
  47. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -3
  48. package/dist/types/components/checkbox/use-checkbox.d.ts +0 -1
  49. package/dist/types/components/checkbox-card/checkbox-card-group.d.ts +0 -3
  50. package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -7
  51. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  52. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -3
  53. package/dist/types/components/close-button/close-button.d.ts +2 -3
  54. package/dist/types/components/code/code.d.ts +2 -2
  55. package/dist/types/components/collapse/collapse.d.ts +2 -3
  56. package/dist/types/components/color-picker/color-picker.d.ts +2 -6
  57. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  58. package/dist/types/components/color-picker/use-color-picker.d.ts +2 -5
  59. package/dist/types/components/color-selector/color-selector.d.ts +2 -6
  60. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  61. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -5
  62. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  63. package/dist/types/components/container/container.d.ts +2 -2
  64. package/dist/types/components/data-list/data-list.d.ts +2 -2
  65. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  66. package/dist/types/components/date-picker/date-picker.d.ts +2 -5
  67. package/dist/types/components/date-picker/use-date-picker.d.ts +4 -7
  68. package/dist/types/components/drawer/drawer.d.ts +2 -5
  69. package/dist/types/components/drawer/use-drawer.d.ts +0 -2
  70. package/dist/types/components/dropzone/dropzone.d.ts +2 -5
  71. package/dist/types/components/dropzone/use-dropzone.d.ts +0 -1
  72. package/dist/types/components/editable/editable.d.ts +2 -3
  73. package/dist/types/components/editable/use-editable.d.ts +2 -3
  74. package/dist/types/components/em/em.d.ts +2 -2
  75. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  76. package/dist/types/components/fade/fade.d.ts +2 -3
  77. package/dist/types/components/fade-scale/fade-scale.d.ts +0 -1
  78. package/dist/types/components/field/field.d.ts +3 -3
  79. package/dist/types/components/field/use-field-props.d.ts +3 -3
  80. package/dist/types/components/fieldset/fieldset.d.ts +3 -4
  81. package/dist/types/components/file-button/file-button.d.ts +2 -4
  82. package/dist/types/components/file-button/use-file-button.d.ts +18 -20
  83. package/dist/types/components/file-input/file-input.d.ts +2 -4
  84. package/dist/types/components/file-input/use-file-input.d.ts +15 -16
  85. package/dist/types/components/flex/flex.d.ts +2 -2
  86. package/dist/types/components/flip/flip.d.ts +4 -5
  87. package/dist/types/components/flip/flip.style.d.ts +1 -1
  88. package/dist/types/components/float/float.d.ts +2 -2
  89. package/dist/types/components/form/form.d.ts +3 -4
  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/format/use-format-byte.d.ts +0 -1
  94. package/dist/types/components/format/use-format-date-time.d.ts +0 -1
  95. package/dist/types/components/format/use-format-number.d.ts +0 -1
  96. package/dist/types/components/grid/grid-item.d.ts +2 -2
  97. package/dist/types/components/grid/grid.d.ts +2 -2
  98. package/dist/types/components/group/group.d.ts +2 -3
  99. package/dist/types/components/group/use-group.d.ts +2 -2
  100. package/dist/types/components/heading/heading.d.ts +2 -2
  101. package/dist/types/components/highlight/highlight.d.ts +0 -2
  102. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -4
  103. package/dist/types/components/icon/icon.d.ts +5 -5
  104. package/dist/types/components/image/image.d.ts +2 -2
  105. package/dist/types/components/indicator/indicator.d.ts +4 -5
  106. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  107. package/dist/types/components/input/input-addon.d.ts +2 -2
  108. package/dist/types/components/input/input-element.d.ts +2 -2
  109. package/dist/types/components/input/input-group.d.ts +0 -2
  110. package/dist/types/components/input/input.d.ts +2 -3
  111. package/dist/types/components/kbd/kbd.d.ts +2 -2
  112. package/dist/types/components/link/link.d.ts +2 -2
  113. package/dist/types/components/link-box/link-box.d.ts +2 -2
  114. package/dist/types/components/list/list.d.ts +2 -2
  115. package/dist/types/components/list/list.style.d.ts +2 -2
  116. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  117. package/dist/types/components/loading/loading.d.ts +3 -4
  118. package/dist/types/components/loading/use-loading-component.d.ts +0 -1
  119. package/dist/types/components/mark/mark.d.ts +2 -2
  120. package/dist/types/components/menu/menu.d.ts +2 -3
  121. package/dist/types/components/menu/use-menu.d.ts +11 -11
  122. package/dist/types/components/modal/modal.d.ts +2 -6
  123. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  124. package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
  125. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  126. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  127. package/dist/types/components/native-select/native-select.d.ts +2 -4
  128. package/dist/types/components/native-select/use-native-select.d.ts +0 -1
  129. package/dist/types/components/native-table/native-table.d.ts +4 -4
  130. package/dist/types/components/notice/notice.style.d.ts +1 -1
  131. package/dist/types/components/notice/use-notice.d.ts +0 -3
  132. package/dist/types/components/number-input/number-input.d.ts +2 -3
  133. package/dist/types/components/number-input/number-input.style.d.ts +1 -1
  134. package/dist/types/components/number-input/use-number-input.d.ts +0 -1
  135. package/dist/types/components/pagination/pagination.d.ts +2 -3
  136. package/dist/types/components/pagination/pagination.style.d.ts +1 -1
  137. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  138. package/dist/types/components/password-input/password-input.d.ts +2 -3
  139. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  140. package/dist/types/components/password-input/use-password-input.d.ts +2 -3
  141. package/dist/types/components/picture/picture.d.ts +0 -1
  142. package/dist/types/components/pin-input/pin-input.d.ts +2 -4
  143. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -8
  144. package/dist/types/components/popover/popover.d.ts +2 -3
  145. package/dist/types/components/progress/progress.d.ts +4 -4
  146. package/dist/types/components/progress/use-progress.d.ts +706 -706
  147. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  148. package/dist/types/components/radio/radio-group.d.ts +0 -2
  149. package/dist/types/components/radio/radio.d.ts +4 -5
  150. package/dist/types/components/radio/use-radio-group.d.ts +2 -3
  151. package/dist/types/components/radio/use-radio.d.ts +0 -1
  152. package/dist/types/components/radio-card/radio-card-group.d.ts +0 -3
  153. package/dist/types/components/radio-card/radio-card.d.ts +5 -7
  154. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  155. package/dist/types/components/rating/rating.style.d.ts +2 -2
  156. package/dist/types/components/rating/use-rating.d.ts +7 -8
  157. package/dist/types/components/reorder/reorder.d.ts +2 -3
  158. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  159. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  160. package/dist/types/components/resizable/resizable.d.ts +2 -2
  161. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  162. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  163. package/dist/types/components/ripple/ripple.d.ts +2 -3
  164. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  165. package/dist/types/components/rotate/rotate.d.ts +2 -3
  166. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  167. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -3
  168. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  169. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -3
  170. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  171. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -10
  172. package/dist/types/components/select/select.d.ts +2 -4
  173. package/dist/types/components/select/select.style.d.ts +1 -1
  174. package/dist/types/components/select/use-select.d.ts +4 -6
  175. package/dist/types/components/separator/separator.d.ts +2 -2
  176. package/dist/types/components/sidebar/sidebar.d.ts +2 -7
  177. package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
  178. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -3
  179. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  180. package/dist/types/components/slide/slide.d.ts +2 -3
  181. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -3
  182. package/dist/types/components/slider/slider.d.ts +2 -2
  183. package/dist/types/components/slider/use-slider.d.ts +2 -3
  184. package/dist/types/components/snacks/snacks.d.ts +0 -2
  185. package/dist/types/components/snacks/use-snacks.d.ts +0 -1
  186. package/dist/types/components/stack/h-stack.d.ts +2 -2
  187. package/dist/types/components/stack/stack.d.ts +2 -2
  188. package/dist/types/components/stack/v-stack.d.ts +2 -2
  189. package/dist/types/components/stack/z-stack.d.ts +2 -2
  190. package/dist/types/components/stat/stat.d.ts +2 -2
  191. package/dist/types/components/status/status.d.ts +2 -2
  192. package/dist/types/components/steps/steps.d.ts +2 -2
  193. package/dist/types/components/steps/steps.style.d.ts +1 -1
  194. package/dist/types/components/steps/use-steps.d.ts +10 -10
  195. package/dist/types/components/switch/switch.d.ts +2 -2
  196. package/dist/types/components/switch/use-switch.d.ts +0 -1
  197. package/dist/types/components/table/table.d.ts +2 -4
  198. package/dist/types/components/tabs/tabs.d.ts +2 -2
  199. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  200. package/dist/types/components/tag/tag.d.ts +2 -2
  201. package/dist/types/components/text/text.d.ts +2 -2
  202. package/dist/types/components/textarea/textarea.d.ts +2 -4
  203. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  204. package/dist/types/components/timeline/timeline.d.ts +5 -5
  205. package/dist/types/components/timeline/timeline.style.d.ts +1 -1
  206. package/dist/types/components/tip/tip.d.ts +0 -3
  207. package/dist/types/components/toggle/toggle-group.d.ts +1 -1
  208. package/dist/types/components/toggle/toggle.d.ts +5 -7
  209. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  210. package/dist/types/components/toggle/use-toggle.d.ts +2 -3
  211. package/dist/types/components/tooltip/tooltip.d.ts +2 -4
  212. package/dist/types/components/tree/tree.d.ts +2 -6
  213. package/dist/types/components/tree/tree.style.d.ts +1 -1
  214. package/dist/types/components/tree/use-tree.d.ts +182 -183
  215. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  216. package/dist/types/components/wrap/wrap.d.ts +2 -3
  217. package/dist/types/core/components/create-component.d.ts +9 -7
  218. package/dist/types/core/components/index.types.d.ts +1 -0
  219. package/dist/types/core/components/use-component-style.d.ts +2 -0
  220. package/dist/types/core/components/utils.d.ts +1 -0
  221. package/dist/types/core/constant.d.ts +1 -0
  222. package/dist/types/core/css/calc.d.ts +1 -0
  223. package/dist/types/core/css/config.d.ts +1 -0
  224. package/dist/types/core/css/css.d.ts +1 -0
  225. package/dist/types/core/css/index.types.d.ts +1 -0
  226. package/dist/types/core/css/styles.d.ts +1 -0
  227. package/dist/types/core/css/token.d.ts +1 -0
  228. package/dist/types/core/css/use-css.d.ts +1 -0
  229. package/dist/types/core/css/utils.d.ts +2 -0
  230. package/dist/types/core/generated-theme-tokens.types.d.ts +1 -0
  231. package/dist/types/core/index.d.ts +2 -0
  232. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  233. package/dist/types/core/system/config.d.ts +1 -0
  234. package/dist/types/core/system/create-system.d.ts +1 -0
  235. package/dist/types/core/system/factory.d.ts +1 -0
  236. package/dist/types/core/system/index.types.d.ts +1 -0
  237. package/dist/types/core/system/storage-script.d.ts +3 -3
  238. package/dist/types/core/system/styled.d.ts +3 -2
  239. package/dist/types/core/system/system-provider.d.ts +2 -2
  240. package/dist/types/core/system/var.d.ts +2 -0
  241. package/dist/types/hooks/use-async-callback/index.d.ts +0 -1
  242. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  243. package/dist/types/hooks/use-combobox/index.d.ts +0 -1
  244. package/dist/types/hooks/use-popper/index.d.ts +2 -2
  245. package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
  246. package/dist/types/index.d.ts +0 -106
  247. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
  248. package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -3
  249. package/dist/types/utils/children.d.ts +2 -2
  250. package/package.json +2 -2
@@ -4,6 +4,8 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
4
4
  const require_context = require('../../utils/context.cjs');
5
5
  const require_effect = require('../../utils/effect.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
  let react = require("react");
9
11
 
@@ -54,13 +56,11 @@ const useToggleGroup = ({ defaultValue, disabled, readOnly, value: valueProp, on
54
56
  disabled,
55
57
  readOnly,
56
58
  value,
57
- getGroupProps: (0, react.useCallback)((props) => ({
59
+ getGroupProps: (0, react.useCallback)((props) => require_props.mergeProps({
58
60
  "data-disabled": (0, require_utils_index.utils_exports.dataAttr)(disabled),
59
61
  "data-readonly": (0, require_utils_index.utils_exports.dataAttr)(readOnly),
60
- role: "group",
61
- ...rest,
62
- ...props
63
- }), [
62
+ role: "group"
63
+ }, rest, props)(), [
64
64
  disabled,
65
65
  readOnly,
66
66
  rest
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle-group.cjs","names":["createContext","useControllableState","value"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) {\n onChange(true)\n } else {\n onChange(false)\n }\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) => ({\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n ...rest,\n ...props,\n }),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;;;AAuBA,MAAM,CAAC,oBAAoB,yBACzBA,8BAAkC;CAChC,MAAM;CACN,QAAQ;CACT,CAAC;AAiCJ,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,mDACJ,IAAI,KAAK,CACV;CACD,MAAM,CAAC,OAAO,YAAYC,gEAA4B;EACpD;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,kCAAuB,gBAA2B;AACtD,iBAAe,QAAQ,SAAS,YAAU,YAAU;AAClD,OAAI,aAAa,SAASC,QAAM,CAC9B,YAAS,KAAK;OAEd,YAAS,MAAM;IAEjB;IACD,EAAE,CAAC;CAEN,MAAM,mCAEF,YACG;AACH,yDAAgBA,QAAM,CAAE;AAExB,YAAU,SAAS;AACjB,sDAAY,KAAK,CAGf,KAFiB,KAAK,SAASA,QAAM,EAEvB;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAcA,QAAM;AAEjE,YAAQ,UAAU;AAElB,WAAO;UACF;IACL,MAAM,YAAY,CAAC,GAAG,MAAMA,QAAM;AAElC,YAAQ,UAAU;AAElB,WAAO;;YAGL,OAAOA,QAAM,KAAK,MAAM;AAC1B,aAAS;AAET;UACK;AACL,YAAQ,CAACA,QAAM,CAAC;AAEhB,WAAOA;;IAGX;IAEJ,CAAC,UAAU,QAAQ,CACpB;AAED,sCAAsB;AACpB,UAAQ,oDAAa,UAAU,kDAAW,UAAU,GAAG,OAAU;AAEjE,WAAS,UAAmB;IAC3B,CAAC,UAAU,CAAC;AAaf,QAAO;EAAE;EAAU;EAAU;EAAO,uCAVjC,WAAW;GACV,iEAA0B,SAAS;GACnC,iEAA0B,SAAS;GACnC,MAAM;GACN,GAAG;GACH,GAAG;GACJ,GACD;GAAC;GAAU;GAAU;GAAK,CAC3B;EAEkD;EAAU;EAAgB"}
1
+ {"version":3,"file":"use-toggle-group.cjs","names":["createContext","useControllableState","value","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) {\n onChange(true)\n } else {\n onChange(false)\n }\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) =>\n mergeProps(\n {\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;;;;;AAwBA,MAAM,CAAC,oBAAoB,yBACzBA,8BAAkC;CAChC,MAAM;CACN,QAAQ;CACT,CAAC;AAiCJ,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,mDACJ,IAAI,KAAK,CACV;CACD,MAAM,CAAC,OAAO,YAAYC,gEAA4B;EACpD;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,kCAAuB,gBAA2B;AACtD,iBAAe,QAAQ,SAAS,YAAU,YAAU;AAClD,OAAI,aAAa,SAASC,QAAM,CAC9B,YAAS,KAAK;OAEd,YAAS,MAAM;IAEjB;IACD,EAAE,CAAC;CAEN,MAAM,mCAEF,YACG;AACH,yDAAgBA,QAAM,CAAE;AAExB,YAAU,SAAS;AACjB,sDAAY,KAAK,CAGf,KAFiB,KAAK,SAASA,QAAM,EAEvB;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAcA,QAAM;AAEjE,YAAQ,UAAU;AAElB,WAAO;UACF;IACL,MAAM,YAAY,CAAC,GAAG,MAAMA,QAAM;AAElC,YAAQ,UAAU;AAElB,WAAO;;YAGL,OAAOA,QAAM,KAAK,MAAM;AAC1B,aAAS;AAET;UACK;AACL,YAAQ,CAACA,QAAM,CAAC;AAEhB,WAAOA;;IAGX;IAEJ,CAAC,UAAU,QAAQ,CACpB;AAED,sCAAsB;AACpB,UAAQ,oDAAa,UAAU,kDAAW,UAAU,GAAG,OAAU;AAEjE,WAAS,UAAmB;IAC3B,CAAC,UAAU,CAAC;AAgBf,QAAO;EAAE;EAAU;EAAU;EAAO,uCAbjC,UACCC,yBACE;GACE,iEAA0B,SAAS;GACnC,iEAA0B,SAAS;GACnC,MAAM;GACP,EACD,MACA,MACD,EAAE,EACL;GAAC;GAAU;GAAU;GAAK,CAC3B;EAEkD;EAAU;EAAgB"}
@@ -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_i18n_provider = require('../../providers/i18n-provider/i18n-provider.cjs');
9
11
  require('../../providers/i18n-provider/index.cjs');
@@ -93,20 +95,23 @@ const useToggle = (props = {}) => {
93
95
  return {
94
96
  checked: trulyChecked,
95
97
  setChecked,
96
- getButtonProps: (0, react.useCallback)((props$1 = {}) => ({
97
- ...dataProps,
98
- type: "button",
99
- "aria-disabled": (0, require_utils_index.utils_exports.ariaAttr)(!interactive),
100
- "aria-label": value?.toString() ?? t("Toggle button"),
101
- "aria-pressed": trulyChecked,
102
- "data-active": (0, require_utils_index.utils_exports.dataAttr)(active),
103
- "data-checked": (0, require_utils_index.utils_exports.dataAttr)(trulyChecked),
104
- disabled,
105
- tabIndex: interactive ? void 0 : -1,
106
- ...rest,
107
- ...props$1,
108
- onClick: (0, require_utils_index.utils_exports.handlerAll)(rest.onClick, props$1.onClick, onClick)
109
- }), [
98
+ getButtonProps: (0, react.useCallback)((props$1 = {}) => {
99
+ const ariaLabel = value?.toString() ?? t("Toggle button");
100
+ const mergedProps = require_props.mergeProps(dataProps, {
101
+ type: "button",
102
+ "aria-disabled": (0, require_utils_index.utils_exports.ariaAttr)(!interactive),
103
+ "aria-label": ariaLabel,
104
+ "aria-pressed": trulyChecked,
105
+ "data-active": (0, require_utils_index.utils_exports.dataAttr)(active),
106
+ "data-checked": (0, require_utils_index.utils_exports.dataAttr)(trulyChecked),
107
+ disabled,
108
+ tabIndex: interactive ? void 0 : -1
109
+ }, rest, props$1, { onClick })();
110
+ return {
111
+ ...mergedProps,
112
+ "aria-label": mergedProps["aria-label"] ?? ariaLabel
113
+ };
114
+ }, [
110
115
  dataProps,
111
116
  value,
112
117
  trulyChecked,
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle.cjs","names":["useI18n","useToggleGroupContext","useFieldProps","useControllableState","getInputProps: PropGetter<\"input\">","visuallyHiddenAttributes","props","mergeRefs"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\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<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) {\n return checked\n } else {\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}) => ({\n ...dataProps,\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": value?.toString() ?? t(\"Toggle button\"),\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n ...rest,\n ...props,\n onClick: handlerAll(rest.onClick, props.onClick, onClick),\n }),\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;;;;;AAoDA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,EAAE,MAAMA,8BAAQ,SAAS;CAC/B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACEC,gDAAuB,IAAI,EAAE;CACjC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEC,sCAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;EACJ,CAAC;CACF,MAAM,6BAAoC,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAcC,gEAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;EACX,CAAC;CACF,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,oDAAa,WAAW;CAC3C,MAAM,wCAA6B;AACjC,MAAI,CAAC,WACH,QAAO;MAEP,uDAAe,WAAW,GACtB,WAAW,SAAS,SAAS,GAAG,GAChC,UAAU;IAEf;EAAC;EAAY;EAAY;EAAS;EAAM,CAAC;AAE5C,KAAI,iEAA0B,MAAM,CAClC,SAAQ,KAAK,mDAAmD;AAElE,KAAI,MAAO,iBAAgB,QAAQ,IAAI,OAAO,WAAW;CAEzD,MAAM,uCAA4B;AAChC,MAAI,CAAC,YAAa;AAElB,cAAY,SAAS,CAAC,KAAK;AAC3B,kBAAgB,MAAM;IACrB;EAAC;EAAe;EAAY;EAAO;EAAY,CAAC;CAEnD,MAAM,mCACH,OAAsC;AACrC,aAAW,GAAG,OAAO,QAAQ;AAC7B,kBAAgB,MAAM;IAExB;EAAC;EAAe;EAAY;EAAM,CACnC;CAED,MAAMC,wCACH,UAAQ,EAAE,MAAM;EACf,GAAGC;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAGC;EACH,KAAKC,sBAAU,UAAU,KAAKD,QAAM,IAAI;EACxC,4DAAqBA,QAAM,UAAU,SAAS;EAC/C,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAkCD,QAAO;EACL,SAAS;EACT;EACA,wCA9BC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,MAAM;GACN,iEAA0B,CAAC,YAAY;GACvC,cAAc,OAAO,UAAU,IAAI,EAAE,gBAAgB;GACrD,gBAAgB;GAChB,+DAAwB,OAAO;GAC/B,gEAAyB,aAAa;GACtC;GACA,UAAU,cAAc,SAAY;GACpC,GAAG;GACH,GAAGA;GACH,2DAAoB,KAAK,SAASA,QAAM,SAAS,QAAQ;GAC1D,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAMC;EACD"}
1
+ {"version":3,"file":"use-toggle.cjs","names":["useI18n","useToggleGroupContext","useFieldProps","useControllableState","getInputProps: PropGetter<\"input\">","visuallyHiddenAttributes","props","mergeRefs","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\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<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) {\n return checked\n } else {\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}): Merge<HTMLProps<\"button\">, { \"aria-label\": string }> => {\n const ariaLabel = value?.toString() ?? t(\"Toggle button\")\n const mergedProps = mergeProps(\n dataProps,\n {\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": ariaLabel,\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n },\n rest,\n props,\n { onClick },\n )()\n\n return {\n ...mergedProps,\n \"aria-label\": mergedProps[\"aria-label\"] ?? ariaLabel,\n }\n },\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;;;;;;;AAqDA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,EAAE,MAAMA,8BAAQ,SAAS;CAC/B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACEC,gDAAuB,IAAI,EAAE;CACjC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEC,sCAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;EACJ,CAAC;CACF,MAAM,6BAAoC,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAcC,gEAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;EACX,CAAC;CACF,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,oDAAa,WAAW;CAC3C,MAAM,wCAA6B;AACjC,MAAI,CAAC,WACH,QAAO;MAEP,uDAAe,WAAW,GACtB,WAAW,SAAS,SAAS,GAAG,GAChC,UAAU;IAEf;EAAC;EAAY;EAAY;EAAS;EAAM,CAAC;AAE5C,KAAI,iEAA0B,MAAM,CAClC,SAAQ,KAAK,mDAAmD;AAElE,KAAI,MAAO,iBAAgB,QAAQ,IAAI,OAAO,WAAW;CAEzD,MAAM,uCAA4B;AAChC,MAAI,CAAC,YAAa;AAElB,cAAY,SAAS,CAAC,KAAK;AAC3B,kBAAgB,MAAM;IACrB;EAAC;EAAe;EAAY;EAAO;EAAY,CAAC;CAEnD,MAAM,mCACH,OAAsC;AACrC,aAAW,GAAG,OAAO,QAAQ;AAC7B,kBAAgB,MAAM;IAExB;EAAC;EAAe;EAAY;EAAM,CACnC;CAED,MAAMC,wCACH,UAAQ,EAAE,MAAM;EACf,GAAGC;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAGC;EACH,KAAKC,sBAAU,UAAU,KAAKD,QAAM,IAAI;EACxC,4DAAqBA,QAAM,UAAU,SAAS;EAC/C,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA4CD,QAAO;EACL,SAAS;EACT;EACA,wCAxCC,UAAQ,EAAE,KAA2D;GACpE,MAAM,YAAY,OAAO,UAAU,IAAI,EAAE,gBAAgB;GACzD,MAAM,cAAcE,yBAClB,WACA;IACE,MAAM;IACN,iEAA0B,CAAC,YAAY;IACvC,cAAc;IACd,gBAAgB;IAChB,+DAAwB,OAAO;IAC/B,gEAAyB,aAAa;IACtC;IACA,UAAU,cAAc,SAAY;IACrC,EACD,MACAF,SACA,EAAE,SAAS,CACZ,EAAE;AAEH,UAAO;IACL,GAAG;IACH,cAAc,YAAY,iBAAiB;IAC5C;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAMC;EACD"}
@@ -3,6 +3,8 @@
3
3
  import { createContext as createContext$1 } from "../../utils/context.js";
4
4
  import { useUpdateEffect } from "../../utils/effect.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 { useCallback, useRef } from "react";
8
10
 
@@ -53,13 +55,11 @@ const useToggleGroup = ({ defaultValue, disabled, readOnly, value: valueProp, on
53
55
  disabled,
54
56
  readOnly,
55
57
  value,
56
- getGroupProps: useCallback((props) => ({
58
+ getGroupProps: useCallback((props) => mergeProps({
57
59
  "data-disabled": (0, utils_exports.dataAttr)(disabled),
58
60
  "data-readonly": (0, utils_exports.dataAttr)(readOnly),
59
- role: "group",
60
- ...rest,
61
- ...props
62
- }), [
61
+ role: "group"
62
+ }, rest, props)(), [
63
63
  disabled,
64
64
  readOnly,
65
65
  rest
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle-group.js","names":["createContext","value"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) {\n onChange(true)\n } else {\n onChange(false)\n }\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) => ({\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n ...rest,\n ...props,\n }),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;;AAuBA,MAAM,CAAC,oBAAoB,yBACzBA,gBAAkC;CAChC,MAAM;CACN,QAAQ;CACT,CAAC;AAiCJ,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,iBAAiB,uBACrB,IAAI,KAAK,CACV;CACD,MAAM,CAAC,OAAO,YAAY,qBAA4B;EACpD;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,UAAU,aAAa,gBAA2B;AACtD,iBAAe,QAAQ,SAAS,YAAU,YAAU;AAClD,OAAI,aAAa,SAASC,QAAM,CAC9B,YAAS,KAAK;OAEd,YAAS,MAAM;IAEjB;IACD,EAAE,CAAC;CAEN,MAAM,WAAW,aAEb,YACG;AACH,qCAAgBA,QAAM,CAAE;AAExB,YAAU,SAAS;AACjB,kCAAY,KAAK,CAGf,KAFiB,KAAK,SAASA,QAAM,EAEvB;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAcA,QAAM;AAEjE,YAAQ,UAAU;AAElB,WAAO;UACF;IACL,MAAM,YAAY,CAAC,GAAG,MAAMA,QAAM;AAElC,YAAQ,UAAU;AAElB,WAAO;;YAGL,OAAOA,QAAM,KAAK,MAAM;AAC1B,aAAS;AAET;UACK;AACL,YAAQ,CAACA,QAAM,CAAC;AAEhB,WAAOA;;IAGX;IAEJ,CAAC,UAAU,QAAQ,CACpB;AAED,uBAAsB;AACpB,UAAQ,gCAAa,UAAU,8BAAW,UAAU,GAAG,OAAU;AAEjE,WAAS,UAAmB;IAC3B,CAAC,UAAU,CAAC;AAaf,QAAO;EAAE;EAAU;EAAU;EAAO,eAXF,aAC/B,WAAW;GACV,6CAA0B,SAAS;GACnC,6CAA0B,SAAS;GACnC,MAAM;GACN,GAAG;GACH,GAAG;GACJ,GACD;GAAC;GAAU;GAAU;GAAK,CAC3B;EAEkD;EAAU;EAAgB"}
1
+ {"version":3,"file":"use-toggle-group.js","names":["createContext","value"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) {\n onChange(true)\n } else {\n onChange(false)\n }\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) =>\n mergeProps(\n {\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;;;;AAwBA,MAAM,CAAC,oBAAoB,yBACzBA,gBAAkC;CAChC,MAAM;CACN,QAAQ;CACT,CAAC;AAiCJ,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,iBAAiB,uBACrB,IAAI,KAAK,CACV;CACD,MAAM,CAAC,OAAO,YAAY,qBAA4B;EACpD;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,UAAU,aAAa,gBAA2B;AACtD,iBAAe,QAAQ,SAAS,YAAU,YAAU;AAClD,OAAI,aAAa,SAASC,QAAM,CAC9B,YAAS,KAAK;OAEd,YAAS,MAAM;IAEjB;IACD,EAAE,CAAC;CAEN,MAAM,WAAW,aAEb,YACG;AACH,qCAAgBA,QAAM,CAAE;AAExB,YAAU,SAAS;AACjB,kCAAY,KAAK,CAGf,KAFiB,KAAK,SAASA,QAAM,EAEvB;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAcA,QAAM;AAEjE,YAAQ,UAAU;AAElB,WAAO;UACF;IACL,MAAM,YAAY,CAAC,GAAG,MAAMA,QAAM;AAElC,YAAQ,UAAU;AAElB,WAAO;;YAGL,OAAOA,QAAM,KAAK,MAAM;AAC1B,aAAS;AAET;UACK;AACL,YAAQ,CAACA,QAAM,CAAC;AAEhB,WAAOA;;IAGX;IAEJ,CAAC,UAAU,QAAQ,CACpB;AAED,uBAAsB;AACpB,UAAQ,gCAAa,UAAU,8BAAW,UAAU,GAAG,OAAU;AAEjE,WAAS,UAAmB;IAC3B,CAAC,UAAU,CAAC;AAgBf,QAAO;EAAE;EAAU;EAAU;EAAO,eAdF,aAC/B,UACC,WACE;GACE,6CAA0B,SAAS;GACnC,6CAA0B,SAAS;GACnC,MAAM;GACP,EACD,MACA,MACD,EAAE,EACL;GAAC;GAAU;GAAU;GAAK,CAC3B;EAEkD;EAAU;EAAgB"}
@@ -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 { useI18n } from "../../providers/i18n-provider/i18n-provider.js";
8
10
  import "../../providers/i18n-provider/index.js";
@@ -92,20 +94,23 @@ const useToggle = (props = {}) => {
92
94
  return {
93
95
  checked: trulyChecked,
94
96
  setChecked,
95
- getButtonProps: useCallback((props$1 = {}) => ({
96
- ...dataProps,
97
- type: "button",
98
- "aria-disabled": (0, utils_exports.ariaAttr)(!interactive),
99
- "aria-label": value?.toString() ?? t("Toggle button"),
100
- "aria-pressed": trulyChecked,
101
- "data-active": (0, utils_exports.dataAttr)(active),
102
- "data-checked": (0, utils_exports.dataAttr)(trulyChecked),
103
- disabled,
104
- tabIndex: interactive ? void 0 : -1,
105
- ...rest,
106
- ...props$1,
107
- onClick: (0, utils_exports.handlerAll)(rest.onClick, props$1.onClick, onClick)
108
- }), [
97
+ getButtonProps: useCallback((props$1 = {}) => {
98
+ const ariaLabel = value?.toString() ?? t("Toggle button");
99
+ const mergedProps = mergeProps(dataProps, {
100
+ type: "button",
101
+ "aria-disabled": (0, utils_exports.ariaAttr)(!interactive),
102
+ "aria-label": ariaLabel,
103
+ "aria-pressed": trulyChecked,
104
+ "data-active": (0, utils_exports.dataAttr)(active),
105
+ "data-checked": (0, utils_exports.dataAttr)(trulyChecked),
106
+ disabled,
107
+ tabIndex: interactive ? void 0 : -1
108
+ }, rest, props$1, { onClick })();
109
+ return {
110
+ ...mergedProps,
111
+ "aria-label": mergedProps["aria-label"] ?? ariaLabel
112
+ };
113
+ }, [
109
114
  dataProps,
110
115
  value,
111
116
  trulyChecked,
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle.js","names":["getInputProps: PropGetter<\"input\">","props"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\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<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) {\n return checked\n } else {\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}) => ({\n ...dataProps,\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": value?.toString() ?? t(\"Toggle button\"),\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n ...rest,\n ...props,\n onClick: handlerAll(rest.onClick, props.onClick, onClick),\n }),\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;;;;AAoDA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,EAAE,MAAM,QAAQ,SAAS;CAC/B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACE,uBAAuB,IAAI,EAAE;CACjC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACE,cAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;EACJ,CAAC;CACF,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAc,qBAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;EACX,CAAC;CACF,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,gCAAa,WAAW;CAC3C,MAAM,eAAe,cAAc;AACjC,MAAI,CAAC,WACH,QAAO;MAEP,mCAAe,WAAW,GACtB,WAAW,SAAS,SAAS,GAAG,GAChC,UAAU;IAEf;EAAC;EAAY;EAAY;EAAS;EAAM,CAAC;AAE5C,KAAI,6CAA0B,MAAM,CAClC,SAAQ,KAAK,mDAAmD;AAElE,KAAI,MAAO,iBAAgB,QAAQ,IAAI,OAAO,WAAW;CAEzD,MAAM,UAAU,kBAAkB;AAChC,MAAI,CAAC,YAAa;AAElB,cAAY,SAAS,CAAC,KAAK;AAC3B,kBAAgB,MAAM;IACrB;EAAC;EAAe;EAAY;EAAO;EAAY,CAAC;CAEnD,MAAM,WAAW,aACd,OAAsC;AACrC,aAAW,GAAG,OAAO,QAAQ;AAC7B,kBAAgB,MAAM;IAExB;EAAC;EAAe;EAAY;EAAM,CACnC;CAED,MAAMA,gBAAqC,aACxC,UAAQ,EAAE,MAAM;EACf,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAGC;EACH,KAAK,UAAU,UAAU,KAAKA,QAAM,IAAI;EACxC,wCAAqBA,QAAM,UAAU,SAAS;EAC/C,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAkCD,QAAO;EACL,SAAS;EACT;EACA,gBA/BE,aACD,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,MAAM;GACN,6CAA0B,CAAC,YAAY;GACvC,cAAc,OAAO,UAAU,IAAI,EAAE,gBAAgB;GACrD,gBAAgB;GAChB,2CAAwB,OAAO;GAC/B,4CAAyB,aAAa;GACtC;GACA,UAAU,cAAc,SAAY;GACpC,GAAG;GACH,GAAGA;GACH,uCAAoB,KAAK,SAASA,QAAM,SAAS,QAAQ;GAC1D,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAMC;EACD"}
1
+ {"version":3,"file":"use-toggle.js","names":["getInputProps: PropGetter<\"input\">","props"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\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<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) {\n return checked\n } else {\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}): Merge<HTMLProps<\"button\">, { \"aria-label\": string }> => {\n const ariaLabel = value?.toString() ?? t(\"Toggle button\")\n const mergedProps = mergeProps(\n dataProps,\n {\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": ariaLabel,\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n },\n rest,\n props,\n { onClick },\n )()\n\n return {\n ...mergedProps,\n \"aria-label\": mergedProps[\"aria-label\"] ?? ariaLabel,\n }\n },\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;;;;;;AAqDA,MAAa,aACX,QAA2B,EAAE,KAC1B;CACH,MAAM,EAAE,MAAM,QAAQ,SAAS;CAC/B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACE,uBAAuB,IAAI,EAAE;CACjC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACE,cAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;EACJ,CAAC;CACF,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,CAAC,SAAS,cAAc,qBAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;EACX,CAAC;CACF,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,gCAAa,WAAW;CAC3C,MAAM,eAAe,cAAc;AACjC,MAAI,CAAC,WACH,QAAO;MAEP,mCAAe,WAAW,GACtB,WAAW,SAAS,SAAS,GAAG,GAChC,UAAU;IAEf;EAAC;EAAY;EAAY;EAAS;EAAM,CAAC;AAE5C,KAAI,6CAA0B,MAAM,CAClC,SAAQ,KAAK,mDAAmD;AAElE,KAAI,MAAO,iBAAgB,QAAQ,IAAI,OAAO,WAAW;CAEzD,MAAM,UAAU,kBAAkB;AAChC,MAAI,CAAC,YAAa;AAElB,cAAY,SAAS,CAAC,KAAK;AAC3B,kBAAgB,MAAM;IACrB;EAAC;EAAe;EAAY;EAAO;EAAY,CAAC;CAEnD,MAAM,WAAW,aACd,OAAsC;AACrC,aAAW,GAAG,OAAO,QAAQ;AAC7B,kBAAgB,MAAM;IAExB;EAAC;EAAe;EAAY;EAAM,CACnC;CAED,MAAMA,gBAAqC,aACxC,UAAQ,EAAE,MAAM;EACf,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAGC;EACH,KAAK,UAAU,UAAU,KAAKA,QAAM,IAAI;EACxC,wCAAqBA,QAAM,UAAU,SAAS;EAC/C,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA4CD,QAAO;EACL,SAAS;EACT;EACA,gBAzCE,aACD,UAAQ,EAAE,KAA2D;GACpE,MAAM,YAAY,OAAO,UAAU,IAAI,EAAE,gBAAgB;GACzD,MAAM,cAAc,WAClB,WACA;IACE,MAAM;IACN,6CAA0B,CAAC,YAAY;IACvC,cAAc;IACd,gBAAgB;IAChB,2CAAwB,OAAO;IAC/B,4CAAyB,aAAa;IACtC;IACA,UAAU,cAAc,SAAY;IACrC,EACD,MACAA,SACA,EAAE,SAAS,CACZ,EAAE;AAEH,UAAO;IACL,GAAG;IACH,cAAc,YAAY,iBAAiB;IAC5C;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAMC;EACD"}
@@ -3,13 +3,11 @@ import { ThemeProps } from "../../core/system/index.types.js";
3
3
  import { Component, HTMLStyledProps } from "../../core/components/index.types.js";
4
4
  import "../../core/index.js";
5
5
  import { WithTransitionProps } from "../motion/index.types.js";
6
- import "../motion/index.js";
7
6
  import { CollapseProps } from "../collapse/collapse.js";
8
- import "../collapse/index.js";
9
7
  import "../../index.js";
10
8
  import { AccordionStyle } from "./accordion.style.js";
11
9
  import { UseAccordionItemProps, UseAccordionProps } from "./use-accordion.js";
12
- import * as react147 from "react";
10
+ import * as react952 from "react";
13
11
 
14
12
  //#region src/components/accordion/accordion.d.ts
15
13
  interface AccordionCallBackProps {
@@ -33,7 +31,7 @@ interface AccordionRootProps extends Omit<HTMLStyledProps, "onChange">, ThemePro
33
31
  */
34
32
  items?: AccordionItem[];
35
33
  }
36
- declare const AccordionPropsContext: react147.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
34
+ declare const AccordionPropsContext: react952.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
37
35
  /**
38
36
  * `Accordion` is a component for a list that displays information in an expandable or collapsible manner.
39
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 react135 from "react";
5
+ import * as react953 from "react";
6
6
 
7
7
  //#region src/components/accordion/use-accordion.d.ts
8
- declare const AccordionDescendantsContext: react135.Context<{
8
+ declare const AccordionDescendantsContext: react953.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: react135.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) => react135.RefCallback<HTMLButtonElement>;
27
+ } | undefined) => react953.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: react135.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) => react135.RefCallback<HTMLButtonElement>;
53
+ } | undefined) => react953.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: react135.RefCallback<HTMLButtonElement>;
58
+ register: react953.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: react135.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) => react135.RefCallback<HTMLButtonElement>;
78
+ } | undefined) => react953.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: react135.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
84
+ declare const AccordionContext: react953.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
85
85
  interface AccordionItemContext extends Omit<UseAccordionItemReturn, "getItemProps"> {}
86
- declare const AccordionItemContext: react135.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
86
+ declare const AccordionItemContext: react953.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) => react135.RefCallback<HTMLButtonElement>;
140
+ } | undefined) => react953.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: react135.Dispatch<react135.SetStateAction<number>>;
149
- setIndex: react135.Dispatch<react135.SetStateAction<number | number[]>>;
148
+ setFocusedIndex: react953.Dispatch<react953.SetStateAction<number>>;
149
+ setIndex: react953.Dispatch<react953.SetStateAction<number | number[]>>;
150
150
  toggle: boolean | undefined;
151
151
  getRootProps: PropGetter<"div", undefined, undefined>;
152
152
  };
@@ -4,10 +4,9 @@ import "../../core/index.js";
4
4
  import { ActionBarStyle } from "./action-bar.style.js";
5
5
  import { PortalProps } from "../portal/portal.js";
6
6
  import { UsePopupAnimationProps } from "../popover/popover.js";
7
- import "../popover/index.js";
8
7
  import { UseActionBarProps } from "./use-action-bar.js";
9
8
  import "../../index.js";
10
- import * as react30 from "react";
9
+ import * as react946 from "react";
11
10
  import { PropsWithChildren, ReactNode } from "react";
12
11
 
13
12
  //#region src/components/action-bar/action-bar.d.ts
@@ -29,7 +28,7 @@ interface ActionBarRootProps extends Omit<HTMLStyledProps, "content">, ThemeProp
29
28
  */
30
29
  onCloseComplete?: () => void;
31
30
  }
32
- declare const ActionBarPropsContext: react30.Context<Partial<ActionBarRootProps> | undefined>, useActionBarPropsContext: () => Partial<ActionBarRootProps> | undefined;
31
+ declare const ActionBarPropsContext: react946.Context<Partial<ActionBarRootProps> | undefined>, useActionBarPropsContext: () => Partial<ActionBarRootProps> | undefined;
33
32
  /**
34
33
  * `ActionBar` is a component that is used to display a bottom action bar with a set of actions.
35
34
  *
@@ -2,10 +2,9 @@ import { KeyframeIdent, ThemeProps } from "../../core/system/index.types.js";
2
2
  import { Component } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import { HTMLMotionProps } from "../motion/index.types.js";
5
- import "../motion/index.js";
6
5
  import { AiryStyle } from "./airy.style.js";
7
6
  import "../../index.js";
8
- import * as react26 from "react";
7
+ import * as react951 from "react";
9
8
  import { ReactNode } from "react";
10
9
 
11
10
  //#region src/components/airy/airy.d.ts
@@ -57,7 +56,7 @@ interface AiryProps extends Omit<HTMLMotionProps<"button">, "onChange">, ThemePr
57
56
  */
58
57
  onChange?: (value: KeyframeIdent) => void;
59
58
  }
60
- declare const AiryPropsContext: react26.Context<Partial<AiryProps> | undefined>, useAiryPropsContext: () => Partial<AiryProps> | undefined;
59
+ declare const AiryPropsContext: react951.Context<Partial<AiryProps> | undefined>, useAiryPropsContext: () => Partial<AiryProps> | undefined;
61
60
  /**
62
61
  * `Airy` is a component that creates an airy animation, switching between two elements when one is clicked.
63
62
  *
@@ -3,13 +3,10 @@ import { Component, HTMLStyledProps } from "../../core/components/index.types.js
3
3
  import "../../core/index.js";
4
4
  import { AlertStyle } from "./alert.style.js";
5
5
  import { IconProps } from "../icon/icon.js";
6
- import "../icon/index.js";
7
6
  import { LoadingProps } from "../loading/loading.js";
8
- import "../loading/index.js";
9
7
  import { StatusScheme } from "../status/status.js";
10
- import "../status/index.js";
11
8
  import "../../index.js";
12
- import * as react134 from "react";
9
+ import * as react777 from "react";
13
10
 
14
11
  //#region src/components/alert/alert.d.ts
15
12
  interface AlertRootProps extends HTMLStyledProps, ThemeProps<AlertStyle> {
@@ -20,7 +17,7 @@ interface AlertRootProps extends HTMLStyledProps, ThemeProps<AlertStyle> {
20
17
  */
21
18
  status?: StatusScheme;
22
19
  }
23
- declare const AlertPropsContext: react134.Context<Partial<AlertRootProps> | undefined>, useAlertPropsContext: () => Partial<AlertRootProps> | undefined;
20
+ declare const AlertPropsContext: react777.Context<Partial<AlertRootProps> | undefined>, useAlertPropsContext: () => Partial<AlertRootProps> | undefined;
24
21
  /**
25
22
  * `Alert` is a component that conveys information to the user.
26
23
  *
@@ -3,9 +3,8 @@ import { Component } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import { AlphaSliderStyle } from "./alpha-slider.style.js";
5
5
  import { HueSliderOverlayProps, HueSliderRootProps, HueSliderThumbProps, HueSliderTrackProps } from "../hue-slider/hue-slider.js";
6
- import "../hue-slider/index.js";
7
6
  import "../../index.js";
8
- import * as react133 from "react";
7
+ import * as react944 from "react";
9
8
 
10
9
  //#region src/components/alpha-slider/alpha-slider.d.ts
11
10
  interface AlphaSliderRootProps extends WithoutThemeProps<Omit<HueSliderRootProps, "color" | "max" | "step" | "thumbProps" | "trackProps">, AlphaSliderStyle> {
@@ -38,7 +37,7 @@ interface AlphaSliderRootProps extends WithoutThemeProps<Omit<HueSliderRootProps
38
37
  */
39
38
  trackProps?: AlphaSliderTrackProps;
40
39
  }
41
- declare const AlphaSliderPropsContext: react133.Context<Partial<AlphaSliderRootProps> | undefined>, useAlphaSliderPropsContext: () => Partial<AlphaSliderRootProps> | undefined;
40
+ declare const AlphaSliderPropsContext: react944.Context<Partial<AlphaSliderRootProps> | undefined>, useAlphaSliderPropsContext: () => Partial<AlphaSliderRootProps> | undefined;
42
41
  /**
43
42
  * `AlphaSlider` is a component used to allow the user to select color transparency.
44
43
  *
@@ -2,7 +2,7 @@ import { StyleValue } from "../../core/css/index.types.js";
2
2
  import { Component, HTMLStyledProps } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import "../../index.js";
5
- import * as react132 from "react";
5
+ import * as react943 from "react";
6
6
 
7
7
  //#region src/components/aspect-ratio/aspect-ratio.d.ts
8
8
  interface AspectRatioProps extends HTMLStyledProps {
@@ -13,7 +13,7 @@ interface AspectRatioProps extends HTMLStyledProps {
13
13
  */
14
14
  ratio?: StyleValue<number>;
15
15
  }
16
- declare const AspectRatioPropsContext: react132.Context<Partial<AspectRatioProps> | undefined>, useAspectRatioPropsContext: () => Partial<AspectRatioProps> | undefined;
16
+ declare const AspectRatioPropsContext: react943.Context<Partial<AspectRatioProps> | undefined>, useAspectRatioPropsContext: () => Partial<AspectRatioProps> | undefined;
17
17
  /**
18
18
  * `AspectRatio` is a component for embedding things like videos and maps while maintaining the aspect ratio.
19
19
  *
@@ -3,16 +3,14 @@ import { ThemeProps } from "../../core/system/index.types.js";
3
3
  import { Component, GenericsComponent, HTMLStyledProps } from "../../core/components/index.types.js";
4
4
  import "../../core/index.js";
5
5
  import { PopoverContentProps, UsePopoverStyleProps, UsePopupAnimationProps } from "../popover/popover.js";
6
- import "../popover/index.js";
7
6
  import { AutocompleteStyle } from "./autocomplete.style.js";
8
7
  import { UseComboboxGroupProps } from "../../hooks/use-combobox/index.js";
9
8
  import { UseInputBorderProps } from "../input/use-input-border.js";
10
9
  import { InputElementProps } from "../input/input-element.js";
11
10
  import { InputGroupRootProps } from "../input/input-group.js";
12
- import "../input/index.js";
13
11
  import { UseAutocompleteOptionProps, UseAutocompleteProps } from "./use-autocomplete.js";
14
12
  import "../../index.js";
15
- import * as react126 from "react";
13
+ import * as react977 from "react";
16
14
  import { ReactElement, ReactNode } from "react";
17
15
 
18
16
  //#region src/components/autocomplete/autocomplete.d.ts
@@ -68,7 +66,7 @@ interface AutocompleteRootProps<Multiple extends boolean = false> extends Omit<H
68
66
  */
69
67
  rootProps?: InputGroupRootProps;
70
68
  }
71
- declare const AutocompletePropsContext: react126.Context<Partial<AutocompleteRootProps<false>> | undefined>, useAutocompletePropsContext: () => Partial<AutocompleteRootProps<false>> | undefined;
69
+ declare const AutocompletePropsContext: react977.Context<Partial<AutocompleteRootProps<false>> | undefined>, useAutocompletePropsContext: () => Partial<AutocompleteRootProps<false>> | undefined;
72
70
  /**
73
71
  * `Autocomplete` is a component used to display suggestions in response to user text input.
74
72
  *
@@ -3,7 +3,7 @@ import { CSSPropObject, CSSSlotObject } from "../../core/css/index.types.js";
3
3
  import "../../index.js";
4
4
 
5
5
  //#region src/components/autocomplete/autocomplete.style.d.ts
6
- declare const autocompleteStyle: ComponentSlotStyle<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "root" | "field" | "empty" | "indicator" | "valueText", CSSPropObject<CSSSlotObject<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "root" | "field" | "empty" | "indicator" | "valueText">>, {
6
+ declare const autocompleteStyle: ComponentSlotStyle<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "root" | "indicator" | "field" | "empty" | "valueText", CSSPropObject<CSSSlotObject<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "root" | "indicator" | "field" | "empty" | "valueText">>, {
7
7
  xs: {
8
8
  empty: {
9
9
  gap: "1.5";
@@ -2,13 +2,11 @@ import { index_d_exports } from "../../utils/index.js";
2
2
  import { HTMLProps, HTMLRefAttributes, PropGetter } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import { UsePopoverProps } from "../popover/use-popover.js";
5
- import "../popover/index.js";
6
5
  import { FieldProps } from "../field/field.js";
7
- import "../field/index.js";
8
6
  import { Descendant, DescendantProps } from "../../hooks/use-descendants/index.js";
9
7
  import { ComboboxDescendant, ComboboxDescendantProps, ComboboxItem, ComboboxItemWithValue, UseComboboxItemProps, UseComboboxProps } from "../../hooks/use-combobox/index.js";
10
8
  import "../../index.js";
11
- import * as react120 from "react";
9
+ import * as react978 from "react";
12
10
  import { ChangeEvent, ReactNode } from "react";
13
11
 
14
12
  //#region src/components/autocomplete/use-autocomplete.d.ts
@@ -28,7 +26,7 @@ interface AutocompleteFilter {
28
26
  }
29
27
  type AutocompleteMatcher = typeof index_d_exports.match;
30
28
  interface AutocompleteContext extends Pick<UseAutocompleteReturn, "max" | "value"> {}
31
- declare const AutocompleteContext: react120.Context<AutocompleteContext>, useAutocompleteContext: () => AutocompleteContext;
29
+ declare const AutocompleteContext: react978.Context<AutocompleteContext>, useAutocompleteContext: () => AutocompleteContext;
32
30
  interface UseAutocompleteProps<Multiple extends boolean = false> extends Omit<HTMLProps, "defaultValue" | "onChange" | "ref" | "value">, Omit<UseComboboxProps, "defaultValue" | "initialFocusValue" | "onChange" | "ref" | "value">, HTMLRefAttributes<"input">, FieldProps {
33
31
  /**
34
32
  * If `true`, the autocomplete will allow custom value.
@@ -156,7 +154,7 @@ declare const useAutocomplete: <Multiple extends boolean = false>(props?: UseAut
156
154
  lastValue: (props?: Partial<ComboboxDescendantProps> | undefined) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
157
155
  nextValue: (indexOrNode: number | HTMLDivElement | Descendant<HTMLDivElement, ComboboxDescendantProps> | null, loop?: boolean, props?: Partial<ComboboxDescendantProps> | undefined) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
158
156
  prevValue: (indexOrNode: number | HTMLDivElement | Descendant<HTMLDivElement, ComboboxDescendantProps> | null, loop?: boolean, props?: Partial<ComboboxDescendantProps> | undefined) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
159
- register: (props?: DescendantProps<HTMLDivElement, ComboboxDescendantProps> | undefined) => react120.RefCallback<HTMLDivElement>;
157
+ register: (props?: DescendantProps<HTMLDivElement, ComboboxDescendantProps> | undefined) => react978.RefCallback<HTMLDivElement>;
160
158
  unregister: (node?: HTMLDivElement | null | undefined) => void;
161
159
  value: (indexOrNode: number | HTMLDivElement | null) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
162
160
  values: (props?: Partial<ComboboxDescendantProps> | undefined) => Descendant<HTMLDivElement, ComboboxDescendantProps>[];
@@ -166,8 +164,8 @@ declare const useAutocomplete: <Multiple extends boolean = false>(props?: UseAut
166
164
  items: ComboboxItem[];
167
165
  max: number | undefined;
168
166
  open: boolean;
169
- setInputValue: react120.Dispatch<react120.SetStateAction<string>>;
170
- setValue: react120.Dispatch<react120.SetStateAction<Multiple extends true ? string[] : string>>;
167
+ setInputValue: react978.Dispatch<react978.SetStateAction<string>>;
168
+ setValue: react978.Dispatch<react978.SetStateAction<Multiple extends true ? string[] : string>>;
171
169
  value: Multiple extends true ? string[] : string;
172
170
  valueMap: {
173
171
  [key: string]: ComboboxItemWithValue;