@gunkin/uiify 0.0.22-alpha → 0.0.25-alpha

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 (443) hide show
  1. package/agents/index.md +1 -1
  2. package/agents/reference/components/accordion.md +23 -3
  3. package/agents/reference/components/alert-modal.md +25 -7
  4. package/agents/reference/components/alert.md +13 -1
  5. package/agents/reference/components/aspect-ratio.md +12 -0
  6. package/agents/reference/components/avatar.md +14 -0
  7. package/agents/reference/components/badge.md +4 -0
  8. package/agents/reference/components/breadcrumb.md +25 -1
  9. package/agents/reference/components/button.md +4 -0
  10. package/agents/reference/components/candle-chart.md +54 -2
  11. package/agents/reference/components/card.md +4 -0
  12. package/agents/reference/components/carousel.md +34 -1
  13. package/agents/reference/components/checkbox.md +7 -1
  14. package/agents/reference/components/collapsible.md +21 -3
  15. package/agents/reference/components/color-picker.md +22 -2
  16. package/agents/reference/components/combobox.md +24 -9
  17. package/agents/reference/components/context-menu.md +41 -5
  18. package/agents/reference/components/date-picker.md +4 -0
  19. package/agents/reference/components/description-list.md +4 -0
  20. package/agents/reference/components/drawer.md +35 -5
  21. package/agents/reference/components/dropdown-menu.md +8 -3
  22. package/agents/reference/components/empty.md +4 -0
  23. package/agents/reference/components/field.md +8 -3
  24. package/agents/reference/components/fieldset.md +4 -0
  25. package/agents/reference/components/file-upload.md +4 -0
  26. package/agents/reference/components/form-error-summary.md +15 -1
  27. package/agents/reference/components/form.md +4 -0
  28. package/agents/reference/components/header.md +4 -0
  29. package/agents/reference/components/hover-card.md +4 -0
  30. package/agents/reference/components/input-group.md +4 -0
  31. package/agents/reference/components/input.md +4 -0
  32. package/agents/reference/components/item.md +4 -0
  33. package/agents/reference/components/line-chart.md +45 -2
  34. package/agents/reference/components/modal.md +27 -3
  35. package/agents/reference/components/number-field.md +4 -0
  36. package/agents/reference/components/otp-input.md +4 -0
  37. package/agents/reference/components/pagination.md +17 -1
  38. package/agents/reference/components/popup.md +5 -0
  39. package/agents/reference/components/progress.md +4 -0
  40. package/agents/reference/components/radio-group.md +13 -2
  41. package/agents/reference/components/rating.md +13 -2
  42. package/agents/reference/components/segmented-control.md +13 -3
  43. package/agents/reference/components/select.md +5 -0
  44. package/agents/reference/components/skeleton.md +4 -0
  45. package/agents/reference/components/slider.md +17 -1
  46. package/agents/reference/components/spinner.md +14 -1
  47. package/agents/reference/components/switch.md +4 -0
  48. package/agents/reference/components/table-of-contents.md +4 -0
  49. package/agents/reference/components/table.md +20 -0
  50. package/agents/reference/components/tabs.md +26 -3
  51. package/agents/reference/components/tags-input.md +26 -1
  52. package/agents/reference/components/textarea.md +4 -0
  53. package/agents/reference/components/toast.md +59 -10
  54. package/agents/reference/components/toggle-group.md +10 -3
  55. package/agents/reference/components/toggle.md +20 -3
  56. package/agents/reference/components/toolbar.md +8 -4
  57. package/agents/reference/components/tooltip.md +4 -0
  58. package/agents/reference/components/virtual-scroll.md +35 -2
  59. package/agents/reference/elements/choice.md +21 -8
  60. package/agents/reference/elements/details.md +1 -1
  61. package/agents/reference/elements/dialog.md +1 -1
  62. package/agents/reference/elements/invoker.md +1 -1
  63. package/agents/reference/elements/popover.md +1 -1
  64. package/dist/components/accordion/Accordion.d.ts +1 -1
  65. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  66. package/dist/components/accordion/Accordion.js +62 -15
  67. package/dist/components/accordion/Accordion.js.map +1 -1
  68. package/dist/components/accordion/index.d.ts +1 -1
  69. package/dist/components/accordion/index.d.ts.map +1 -1
  70. package/dist/components/accordion/index.js.map +1 -1
  71. package/dist/components/accordion/types.d.ts +23 -2
  72. package/dist/components/accordion/types.d.ts.map +1 -1
  73. package/dist/components/alert/Alert.d.ts.map +1 -1
  74. package/dist/components/alert/Alert.js +11 -1
  75. package/dist/components/alert/Alert.js.map +1 -1
  76. package/dist/components/alert/index.d.ts +1 -1
  77. package/dist/components/alert/index.d.ts.map +1 -1
  78. package/dist/components/alert/index.js.map +1 -1
  79. package/dist/components/alert/types.d.ts +11 -1
  80. package/dist/components/alert/types.d.ts.map +1 -1
  81. package/dist/components/alert-modal/AlertModal.d.ts +1 -1
  82. package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
  83. package/dist/components/alert-modal/AlertModal.js +139 -20
  84. package/dist/components/alert-modal/AlertModal.js.map +1 -1
  85. package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
  86. package/dist/components/alert-modal/AlertModalParts.js +37 -4
  87. package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
  88. package/dist/components/alert-modal/index.d.ts +1 -1
  89. package/dist/components/alert-modal/index.d.ts.map +1 -1
  90. package/dist/components/alert-modal/index.js.map +1 -1
  91. package/dist/components/alert-modal/types.d.ts +40 -6
  92. package/dist/components/alert-modal/types.d.ts.map +1 -1
  93. package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
  94. package/dist/components/aspect-ratio/AspectRatio.js +10 -2
  95. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  96. package/dist/components/aspect-ratio/types.d.ts +10 -1
  97. package/dist/components/aspect-ratio/types.d.ts.map +1 -1
  98. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  99. package/dist/components/avatar/Avatar.js +19 -2
  100. package/dist/components/avatar/Avatar.js.map +1 -1
  101. package/dist/components/avatar/types.d.ts +19 -1
  102. package/dist/components/avatar/types.d.ts.map +1 -1
  103. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
  104. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  105. package/dist/components/breadcrumb/Breadcrumb.js +118 -26
  106. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  107. package/dist/components/breadcrumb/index.d.ts +1 -1
  108. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  109. package/dist/components/breadcrumb/index.js.map +1 -1
  110. package/dist/components/breadcrumb/types.d.ts +40 -1
  111. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  112. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  113. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  114. package/dist/components/candle-chart/CandleChart.js +269 -119
  115. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  116. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  117. package/dist/components/candle-chart/client/CandleChartClient.js +21 -1
  118. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  119. package/dist/components/candle-chart/client/index.d.ts +1 -1
  120. package/dist/components/candle-chart/client/index.d.ts.map +1 -1
  121. package/dist/components/candle-chart/client/index.js.map +1 -1
  122. package/dist/components/candle-chart/index.d.ts +1 -1
  123. package/dist/components/candle-chart/index.d.ts.map +1 -1
  124. package/dist/components/candle-chart/index.js.map +1 -1
  125. package/dist/components/candle-chart/types.d.ts +129 -1
  126. package/dist/components/candle-chart/types.d.ts.map +1 -1
  127. package/dist/components/carousel/Carousel.d.ts +2 -2
  128. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  129. package/dist/components/carousel/Carousel.js +2 -1
  130. package/dist/components/carousel/Carousel.js.map +1 -1
  131. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  132. package/dist/components/carousel/CarouselMarkup.js +137 -22
  133. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  134. package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
  135. package/dist/components/carousel/client/CarouselClient.js +3 -2
  136. package/dist/components/carousel/client/CarouselClient.js.map +1 -1
  137. package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
  138. package/dist/components/carousel/client/carousel-controls.js +2 -2
  139. package/dist/components/carousel/client/carousel-controls.js.map +1 -1
  140. package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
  141. package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
  142. package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
  143. package/dist/components/carousel/index.d.ts +1 -1
  144. package/dist/components/carousel/index.d.ts.map +1 -1
  145. package/dist/components/carousel/index.js.map +1 -1
  146. package/dist/components/carousel/types.d.ts +85 -2
  147. package/dist/components/carousel/types.d.ts.map +1 -1
  148. package/dist/components/checkbox/Checkbox.d.ts +6 -1
  149. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  150. package/dist/components/checkbox/Checkbox.js +6 -1
  151. package/dist/components/checkbox/Checkbox.js.map +1 -1
  152. package/dist/components/checkbox/index.d.ts +1 -1
  153. package/dist/components/checkbox/index.d.ts.map +1 -1
  154. package/dist/components/checkbox/index.js.map +1 -1
  155. package/dist/components/checkbox/types.d.ts +3 -0
  156. package/dist/components/checkbox/types.d.ts.map +1 -1
  157. package/dist/components/collapsible/Collapsible.d.ts +1 -1
  158. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  159. package/dist/components/collapsible/Collapsible.js +35 -4
  160. package/dist/components/collapsible/Collapsible.js.map +1 -1
  161. package/dist/components/collapsible/index.d.ts +1 -1
  162. package/dist/components/collapsible/index.d.ts.map +1 -1
  163. package/dist/components/collapsible/index.js.map +1 -1
  164. package/dist/components/collapsible/types.d.ts +25 -3
  165. package/dist/components/collapsible/types.d.ts.map +1 -1
  166. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
  167. package/dist/components/color-picker/ColorPicker.js +165 -49
  168. package/dist/components/color-picker/ColorPicker.js.map +1 -1
  169. package/dist/components/color-picker/index.d.ts +1 -1
  170. package/dist/components/color-picker/index.d.ts.map +1 -1
  171. package/dist/components/color-picker/index.js.map +1 -1
  172. package/dist/components/color-picker/types.d.ts +37 -0
  173. package/dist/components/color-picker/types.d.ts.map +1 -1
  174. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  175. package/dist/components/combobox/Combobox.js +44 -25
  176. package/dist/components/combobox/Combobox.js.map +1 -1
  177. package/dist/components/combobox/index.d.ts +1 -1
  178. package/dist/components/combobox/index.d.ts.map +1 -1
  179. package/dist/components/combobox/index.js.map +1 -1
  180. package/dist/components/combobox/types.d.ts +29 -4
  181. package/dist/components/combobox/types.d.ts.map +1 -1
  182. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  183. package/dist/components/context-menu/ContextMenu.js +48 -11
  184. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  185. package/dist/components/context-menu/index.d.ts +1 -1
  186. package/dist/components/context-menu/index.d.ts.map +1 -1
  187. package/dist/components/context-menu/index.js.map +1 -1
  188. package/dist/components/context-menu/types.d.ts +35 -9
  189. package/dist/components/context-menu/types.d.ts.map +1 -1
  190. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  191. package/dist/components/drawer/Drawer.js +5 -1
  192. package/dist/components/drawer/Drawer.js.map +1 -1
  193. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  194. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  195. package/dist/components/drawer/DrawerNative.js +254 -44
  196. package/dist/components/drawer/DrawerNative.js.map +1 -1
  197. package/dist/components/drawer/index.d.ts +1 -1
  198. package/dist/components/drawer/index.d.ts.map +1 -1
  199. package/dist/components/drawer/index.js.map +1 -1
  200. package/dist/components/drawer/types.d.ts +31 -6
  201. package/dist/components/drawer/types.d.ts.map +1 -1
  202. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  203. package/dist/components/dropdown-menu/DropdownMenu.js +8 -2
  204. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  205. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  206. package/dist/components/dropdown-menu/DropdownMenuBar.js +47 -29
  207. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  208. package/dist/components/dropdown-menu/types.d.ts +7 -5
  209. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  210. package/dist/components/field/types.d.ts +4 -4
  211. package/dist/components/field/types.d.ts.map +1 -1
  212. package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
  213. package/dist/components/form-error-summary/FormErrorSummary.js +35 -3
  214. package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
  215. package/dist/components/form-error-summary/index.d.ts +1 -1
  216. package/dist/components/form-error-summary/index.d.ts.map +1 -1
  217. package/dist/components/form-error-summary/index.js.map +1 -1
  218. package/dist/components/form-error-summary/types.d.ts +20 -1
  219. package/dist/components/form-error-summary/types.d.ts.map +1 -1
  220. package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
  221. package/dist/components/internal/choice-family/ChoiceGroup.js +61 -11
  222. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  223. package/dist/components/internal/choice-family/types.d.ts +51 -1
  224. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  225. package/dist/components/internal/menu/types.d.ts +1 -0
  226. package/dist/components/internal/menu/types.d.ts.map +1 -1
  227. package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
  228. package/dist/components/internal/menu/use-menu-surface.js +2 -1
  229. package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
  230. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
  231. package/dist/components/internal/native-check-control/NativeCheckControl.js +35 -3
  232. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
  233. package/dist/components/internal/native-check-control/types.d.ts +21 -1
  234. package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
  235. package/dist/components/line-chart/LineChart.d.ts +1 -1
  236. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  237. package/dist/components/line-chart/LineChart.js +260 -79
  238. package/dist/components/line-chart/LineChart.js.map +1 -1
  239. package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
  240. package/dist/components/line-chart/client/LineChartClient.js +21 -1
  241. package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
  242. package/dist/components/line-chart/client/index.d.ts +1 -1
  243. package/dist/components/line-chart/client/index.d.ts.map +1 -1
  244. package/dist/components/line-chart/client/index.js.map +1 -1
  245. package/dist/components/line-chart/index.d.ts +1 -1
  246. package/dist/components/line-chart/index.d.ts.map +1 -1
  247. package/dist/components/line-chart/index.js.map +1 -1
  248. package/dist/components/line-chart/types.d.ts +113 -1
  249. package/dist/components/line-chart/types.d.ts.map +1 -1
  250. package/dist/components/modal/Modal.d.ts +1 -1
  251. package/dist/components/modal/Modal.d.ts.map +1 -1
  252. package/dist/components/modal/Modal.js +118 -43
  253. package/dist/components/modal/Modal.js.map +1 -1
  254. package/dist/components/modal/index.d.ts +1 -1
  255. package/dist/components/modal/index.d.ts.map +1 -1
  256. package/dist/components/modal/index.js.map +1 -1
  257. package/dist/components/modal/types.d.ts +24 -2
  258. package/dist/components/modal/types.d.ts.map +1 -1
  259. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  260. package/dist/components/otp-input/OtpInput.js +4 -2
  261. package/dist/components/otp-input/OtpInput.js.map +1 -1
  262. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  263. package/dist/components/pagination/Pagination.js +172 -55
  264. package/dist/components/pagination/Pagination.js.map +1 -1
  265. package/dist/components/pagination/index.d.ts +1 -1
  266. package/dist/components/pagination/index.d.ts.map +1 -1
  267. package/dist/components/pagination/index.js.map +1 -1
  268. package/dist/components/pagination/types.d.ts +33 -1
  269. package/dist/components/pagination/types.d.ts.map +1 -1
  270. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  271. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  272. package/dist/components/radio-group/RadioGroup.js +5 -1
  273. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  274. package/dist/components/radio-group/index.d.ts +1 -1
  275. package/dist/components/radio-group/index.d.ts.map +1 -1
  276. package/dist/components/radio-group/index.js.map +1 -1
  277. package/dist/components/radio-group/types.d.ts +4 -2
  278. package/dist/components/radio-group/types.d.ts.map +1 -1
  279. package/dist/components/rating/Rating.d.ts +1 -1
  280. package/dist/components/rating/Rating.d.ts.map +1 -1
  281. package/dist/components/rating/Rating.js +5 -1
  282. package/dist/components/rating/Rating.js.map +1 -1
  283. package/dist/components/rating/client/RatingClient.d.ts +1 -1
  284. package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
  285. package/dist/components/rating/client/RatingClient.js +5 -1
  286. package/dist/components/rating/client/RatingClient.js.map +1 -1
  287. package/dist/components/rating/index.d.ts +1 -1
  288. package/dist/components/rating/index.d.ts.map +1 -1
  289. package/dist/components/rating/index.js.map +1 -1
  290. package/dist/components/rating/types.d.ts +12 -1
  291. package/dist/components/rating/types.d.ts.map +1 -1
  292. package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
  293. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  294. package/dist/components/segmented-control/SegmentedControl.js +5 -1
  295. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  296. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
  297. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
  298. package/dist/components/segmented-control/client/SegmentedControlClient.js +5 -1
  299. package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
  300. package/dist/components/segmented-control/index.d.ts +1 -1
  301. package/dist/components/segmented-control/index.d.ts.map +1 -1
  302. package/dist/components/segmented-control/index.js.map +1 -1
  303. package/dist/components/segmented-control/types.d.ts +4 -4
  304. package/dist/components/segmented-control/types.d.ts.map +1 -1
  305. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  306. package/dist/components/slider/client/SliderClient.js +102 -20
  307. package/dist/components/slider/client/SliderClient.js.map +1 -1
  308. package/dist/components/slider/client/index.d.ts +1 -1
  309. package/dist/components/slider/client/index.d.ts.map +1 -1
  310. package/dist/components/slider/client/index.js.map +1 -1
  311. package/dist/components/slider/types.d.ts +46 -1
  312. package/dist/components/slider/types.d.ts.map +1 -1
  313. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  314. package/dist/components/spinner/Spinner.js +19 -3
  315. package/dist/components/spinner/Spinner.js.map +1 -1
  316. package/dist/components/spinner/index.d.ts +1 -1
  317. package/dist/components/spinner/index.d.ts.map +1 -1
  318. package/dist/components/spinner/index.js.map +1 -1
  319. package/dist/components/spinner/types.d.ts +11 -1
  320. package/dist/components/spinner/types.d.ts.map +1 -1
  321. package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
  322. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
  323. package/dist/components/table/client/TableColumnHeader.js +24 -2
  324. package/dist/components/table/client/TableColumnHeader.js.map +1 -1
  325. package/dist/components/table/client/TableSelection.d.ts +3 -3
  326. package/dist/components/table/client/TableSelection.d.ts.map +1 -1
  327. package/dist/components/table/client/TableSelection.js +6 -4
  328. package/dist/components/table/client/TableSelection.js.map +1 -1
  329. package/dist/components/table/client.d.ts +1 -1
  330. package/dist/components/table/client.d.ts.map +1 -1
  331. package/dist/components/table/client.js.map +1 -1
  332. package/dist/components/table/types.d.ts +17 -0
  333. package/dist/components/table/types.d.ts.map +1 -1
  334. package/dist/components/tabs/Tabs.d.ts +1 -1
  335. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  336. package/dist/components/tabs/Tabs.js +45 -1
  337. package/dist/components/tabs/Tabs.js.map +1 -1
  338. package/dist/components/tabs/index.d.ts +1 -1
  339. package/dist/components/tabs/index.d.ts.map +1 -1
  340. package/dist/components/tabs/index.js.map +1 -1
  341. package/dist/components/tabs/types.d.ts +29 -3
  342. package/dist/components/tabs/types.d.ts.map +1 -1
  343. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  344. package/dist/components/tags-input/TagsInput.js +54 -9
  345. package/dist/components/tags-input/TagsInput.js.map +1 -1
  346. package/dist/components/tags-input/index.d.ts +1 -1
  347. package/dist/components/tags-input/index.d.ts.map +1 -1
  348. package/dist/components/tags-input/index.js.map +1 -1
  349. package/dist/components/tags-input/types.d.ts +27 -4
  350. package/dist/components/tags-input/types.d.ts.map +1 -1
  351. package/dist/components/toast/Toast.d.ts +1 -1
  352. package/dist/components/toast/Toast.d.ts.map +1 -1
  353. package/dist/components/toast/Toast.js +123 -35
  354. package/dist/components/toast/Toast.js.map +1 -1
  355. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  356. package/dist/components/toast/ToastElements.js +73 -12
  357. package/dist/components/toast/ToastElements.js.map +1 -1
  358. package/dist/components/toast/index.d.ts +1 -1
  359. package/dist/components/toast/index.d.ts.map +1 -1
  360. package/dist/components/toast/index.js.map +1 -1
  361. package/dist/components/toast/types.d.ts +49 -16
  362. package/dist/components/toast/types.d.ts.map +1 -1
  363. package/dist/components/toggle/Toggle.d.ts +1 -1
  364. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  365. package/dist/components/toggle/Toggle.js +63 -29
  366. package/dist/components/toggle/Toggle.js.map +1 -1
  367. package/dist/components/toggle/index.d.ts +1 -1
  368. package/dist/components/toggle/index.d.ts.map +1 -1
  369. package/dist/components/toggle/index.js.map +1 -1
  370. package/dist/components/toggle/types.d.ts +31 -3
  371. package/dist/components/toggle/types.d.ts.map +1 -1
  372. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  373. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  374. package/dist/components/toggle-group/ToggleGroup.js +5 -1
  375. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  376. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
  377. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
  378. package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
  379. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  380. package/dist/components/toggle-group/index.d.ts +1 -1
  381. package/dist/components/toggle-group/index.d.ts.map +1 -1
  382. package/dist/components/toggle-group/index.js.map +1 -1
  383. package/dist/components/toggle-group/types.d.ts +4 -4
  384. package/dist/components/toggle-group/types.d.ts.map +1 -1
  385. package/dist/components/toolbar/Toolbar.d.ts +3 -12
  386. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  387. package/dist/components/toolbar/Toolbar.js +22 -2
  388. package/dist/components/toolbar/Toolbar.js.map +1 -1
  389. package/dist/components/toolbar/types.d.ts +5 -5
  390. package/dist/components/toolbar/types.d.ts.map +1 -1
  391. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  392. package/dist/components/virtual-scroll/VirtualScroll.js +53 -20
  393. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  394. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
  395. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
  396. package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
  397. package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
  398. package/dist/components/virtual-scroll/index.d.ts +1 -1
  399. package/dist/components/virtual-scroll/index.d.ts.map +1 -1
  400. package/dist/components/virtual-scroll/index.js.map +1 -1
  401. package/dist/components/virtual-scroll/types.d.ts +35 -2
  402. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  403. package/dist/components/virtual-scroll/types.js.map +1 -1
  404. package/dist/core/slot-props.d.ts +19 -0
  405. package/dist/core/slot-props.d.ts.map +1 -0
  406. package/dist/core/slot-props.js +59 -0
  407. package/dist/core/slot-props.js.map +1 -0
  408. package/dist/core/use-popover.d.ts +2 -1
  409. package/dist/core/use-popover.d.ts.map +1 -1
  410. package/dist/core/use-popover.js +3 -1
  411. package/dist/core/use-popover.js.map +1 -1
  412. package/dist/elements/choice/Choice.d.ts.map +1 -1
  413. package/dist/elements/choice/Choice.js +47 -7
  414. package/dist/elements/choice/Choice.js.map +1 -1
  415. package/dist/elements/choice/index.d.ts +1 -1
  416. package/dist/elements/choice/index.d.ts.map +1 -1
  417. package/dist/elements/choice/index.js.map +1 -1
  418. package/dist/elements/choice/types.d.ts +25 -10
  419. package/dist/elements/choice/types.d.ts.map +1 -1
  420. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  421. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  422. package/dist/styles/index.css +1 -1
  423. package/dist/styles/tailwind.css +17 -16
  424. package/package.json +1 -1
  425. package/skills/uiify/SKILL.md +1 -1
  426. package/skills/uiify/references/elements/accordion.md +1 -1
  427. package/skills/uiify/references/elements/breadcrumb.md +1 -0
  428. package/skills/uiify/references/elements/checkbox.md +1 -1
  429. package/skills/uiify/references/elements/color-picker.md +1 -1
  430. package/skills/uiify/references/elements/combobox.md +1 -1
  431. package/skills/uiify/references/elements/context-menu.md +1 -1
  432. package/skills/uiify/references/elements/dropdown-menu.md +1 -1
  433. package/skills/uiify/references/elements/form-error-summary.md +5 -0
  434. package/skills/uiify/references/elements/pagination.md +1 -1
  435. package/skills/uiify/references/elements/radio-group.md +1 -0
  436. package/skills/uiify/references/elements/rating.md +1 -1
  437. package/skills/uiify/references/elements/segmented-control.md +1 -0
  438. package/skills/uiify/references/elements/spinner.md +1 -1
  439. package/skills/uiify/references/elements/table.md +1 -1
  440. package/skills/uiify/references/elements/tabs.md +1 -1
  441. package/skills/uiify/references/elements/tags-input.md +1 -1
  442. package/skills/uiify/references/elements/toast.md +1 -0
  443. package/skills/uiify/references/elements/toggle-group.md +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { ToggleProps } from "./types.js";
3
- export declare function Toggle({ id, label, pressed, defaultPressed, disabled, className, }: ToggleProps): ReactElement;
3
+ export declare function Toggle({ id, label, pressed, defaultPressed, disabled, slotProps, ...rootProps }: ToggleProps): ReactElement;
4
4
  export declare namespace Toggle {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,KAAK,EACL,OAAO,EACP,cAAsB,EACtB,QAAgB,EAChB,SAAS,GACV,EAAE,WAAW,GAAG,YAAY,CA+B5B;yBAtCe,MAAM"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,KAAK,EACL,OAAO,EACP,cAAsB,EACtB,QAAgB,EAChB,SAAS,EACT,GAAG,SAAS,EACb,EAAE,WAAW,GAAG,YAAY,CA2D5B;yBAnEe,MAAM"}
@@ -1,43 +1,77 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { omitProps } from "../../core/slot-props.js";
2
3
  function Toggle({
3
4
  id,
4
5
  label,
5
6
  pressed,
6
7
  defaultPressed = false,
7
8
  disabled = false,
8
- className
9
+ slotProps,
10
+ ...rootProps
9
11
  }) {
10
12
  const isControlled = pressed !== void 0;
11
13
  const checked = isControlled ? pressed : void 0;
12
14
  const labelId = `${id}-label`;
13
- return /* @__PURE__ */ jsxs("div", { "data-disabled": disabled ? "" : void 0, "data-uiify-toggle": "", children: [
14
- /* @__PURE__ */ jsx(
15
- "input",
16
- {
17
- "aria-labelledby": labelId,
18
- checked,
19
- "data-disabled": disabled ? "" : void 0,
20
- "data-part": "control",
21
- "data-state": isControlled ? pressed ? "on" : "off" : void 0,
22
- defaultChecked: !isControlled ? defaultPressed : void 0,
23
- disabled: disabled || void 0,
24
- id,
25
- type: "checkbox"
26
- }
27
- ),
28
- /* @__PURE__ */ jsx(
29
- "label",
30
- {
31
- className,
32
- "data-part": "label",
33
- "data-uiify-button": "",
34
- "data-variant": "outline",
35
- htmlFor: id,
36
- id: labelId,
37
- children: label
38
- }
39
- )
40
- ] });
15
+ return /* @__PURE__ */ jsxs(
16
+ "div",
17
+ {
18
+ ...omitProps(rootProps, [
19
+ "children",
20
+ "dangerouslySetInnerHTML",
21
+ "data-disabled",
22
+ "data-uiify-toggle",
23
+ "id"
24
+ ]),
25
+ "data-disabled": disabled ? "" : void 0,
26
+ "data-uiify-toggle": "",
27
+ children: [
28
+ /* @__PURE__ */ jsx(
29
+ "input",
30
+ {
31
+ ...omitProps(slotProps?.control, [
32
+ "aria-labelledby",
33
+ "checked",
34
+ "data-disabled",
35
+ "data-part",
36
+ "data-state",
37
+ "data-uiify-toggle",
38
+ "defaultChecked",
39
+ "disabled",
40
+ "id",
41
+ "type"
42
+ ]),
43
+ "aria-labelledby": labelId,
44
+ checked,
45
+ "data-disabled": disabled ? "" : void 0,
46
+ "data-part": "control",
47
+ "data-state": isControlled ? pressed ? "on" : "off" : void 0,
48
+ defaultChecked: !isControlled ? defaultPressed : void 0,
49
+ disabled: disabled || void 0,
50
+ id,
51
+ type: "checkbox"
52
+ }
53
+ ),
54
+ /* @__PURE__ */ jsx(
55
+ "label",
56
+ {
57
+ ...omitProps(slotProps?.label, [
58
+ "data-part",
59
+ "data-uiify-button",
60
+ "data-variant",
61
+ "htmlFor",
62
+ "id"
63
+ ]),
64
+ "data-part": "label",
65
+ "data-uiify-button": "",
66
+ "data-variant": "outline",
67
+ htmlFor: id,
68
+ id: labelId,
69
+ children: label
70
+ }
71
+ )
72
+ ]
73
+ }
74
+ );
41
75
  }
42
76
  Toggle.displayName = "Toggle";
43
77
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/toggle/Toggle.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport type { ToggleProps } from \"./types.js\";\n\nexport function Toggle({\n id,\n label,\n pressed,\n defaultPressed = false,\n disabled = false,\n className,\n}: ToggleProps): ReactElement {\n const isControlled = pressed !== undefined;\n const checked = isControlled ? pressed : undefined;\n\n const labelId = `${id}-label`;\n\n return (\n <div data-disabled={disabled ? \"\" : undefined} data-uiify-toggle=\"\">\n <input\n aria-labelledby={labelId}\n checked={checked}\n data-disabled={disabled ? \"\" : undefined}\n data-part=\"control\"\n data-state={isControlled ? (pressed ? \"on\" : \"off\") : undefined}\n defaultChecked={!isControlled ? defaultPressed : undefined}\n disabled={disabled || undefined}\n id={id}\n type=\"checkbox\"\n />\n <label\n className={className}\n data-part=\"label\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n htmlFor={id}\n id={labelId}\n >\n {label}\n </label>\n </div>\n );\n}\nToggle.displayName = \"Toggle\";\n"],"mappings":"AAiBI,SACE,KADF;AAdG,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX;AACF,GAA8B;AAC5B,QAAM,eAAe,YAAY;AACjC,QAAM,UAAU,eAAe,UAAU;AAEzC,QAAM,UAAU,GAAG,EAAE;AAErB,SACE,qBAAC,SAAI,iBAAe,WAAW,KAAK,QAAW,qBAAkB,IAC/D;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,mBAAiB;AAAA,QACjB;AAAA,QACA,iBAAe,WAAW,KAAK;AAAA,QAC/B,aAAU;AAAA,QACV,cAAY,eAAgB,UAAU,OAAO,QAAS;AAAA,QACtD,gBAAgB,CAAC,eAAe,iBAAiB;AAAA,QACjD,UAAU,YAAY;AAAA,QACtB;AAAA,QACA,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,aAAU;AAAA,QACV,qBAAkB;AAAA,QAClB,gBAAa;AAAA,QACb,SAAS;AAAA,QACT,IAAI;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;AACA,OAAO,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/toggle/Toggle.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { omitProps } from \"../../core/slot-props.js\";\nimport type { ToggleProps } from \"./types.js\";\n\nexport function Toggle({\n id,\n label,\n pressed,\n defaultPressed = false,\n disabled = false,\n slotProps,\n ...rootProps\n}: ToggleProps): ReactElement {\n const isControlled = pressed !== undefined;\n const checked = isControlled ? pressed : undefined;\n\n const labelId = `${id}-label`;\n\n return (\n <div\n {...omitProps(rootProps, [\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"data-disabled\",\n \"data-uiify-toggle\",\n \"id\",\n ])}\n data-disabled={disabled ? \"\" : undefined}\n data-uiify-toggle=\"\"\n >\n <input\n {...omitProps(slotProps?.control, [\n \"aria-labelledby\",\n \"checked\",\n \"data-disabled\",\n \"data-part\",\n \"data-state\",\n \"data-uiify-toggle\",\n \"defaultChecked\",\n \"disabled\",\n \"id\",\n \"type\",\n ])}\n aria-labelledby={labelId}\n checked={checked}\n data-disabled={disabled ? \"\" : undefined}\n data-part=\"control\"\n data-state={isControlled ? (pressed ? \"on\" : \"off\") : undefined}\n defaultChecked={!isControlled ? defaultPressed : undefined}\n disabled={disabled || undefined}\n id={id}\n type=\"checkbox\"\n />\n <label\n {...omitProps(slotProps?.label, [\n \"data-part\",\n \"data-uiify-button\",\n \"data-variant\",\n \"htmlFor\",\n \"id\",\n ])}\n data-part=\"label\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n htmlFor={id}\n id={labelId}\n >\n {label}\n </label>\n </div>\n );\n}\nToggle.displayName = \"Toggle\";\n"],"mappings":"AAmBI,SAWE,KAXF;AAlBJ,SAAS,iBAAiB;AAGnB,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,eAAe,YAAY;AACjC,QAAM,UAAU,eAAe,UAAU;AAEzC,QAAM,UAAU,GAAG,EAAE;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG,UAAU,WAAW;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,iBAAe,WAAW,KAAK;AAAA,MAC/B,qBAAkB;AAAA,MAElB;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,UAAU,WAAW,SAAS;AAAA,cAChC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,YACD,mBAAiB;AAAA,YACjB;AAAA,YACA,iBAAe,WAAW,KAAK;AAAA,YAC/B,aAAU;AAAA,YACV,cAAY,eAAgB,UAAU,OAAO,QAAS;AAAA,YACtD,gBAAgB,CAAC,eAAe,iBAAiB;AAAA,YACjD,UAAU,YAAY;AAAA,YACtB;AAAA,YACA,MAAK;AAAA;AAAA,QACP;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,UAAU,WAAW,OAAO;AAAA,cAC9B;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,YACD,aAAU;AAAA,YACV,qBAAkB;AAAA,YAClB,gBAAa;AAAA,YACb,SAAS;AAAA,YACT,IAAI;AAAA,YAEH;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EACF;AAEJ;AACA,OAAO,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { Toggle } from "./Toggle.js";
2
- export type { ToggleProps } from "./types.js";
2
+ export type { ToggleControlSlotProps, ToggleLabelSlotProps, ToggleProps, ToggleSlotProps, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/toggle/index.ts"],"sourcesContent":["export { Toggle } from \"./Toggle.js\";\nexport type { ToggleProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/toggle/index.ts"],"sourcesContent":["export { Toggle } from \"./Toggle.js\";\nexport type {\n ToggleControlSlotProps,\n ToggleLabelSlotProps,\n ToggleProps,\n ToggleSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
@@ -1,10 +1,38 @@
1
- import type { ReactNode } from "react";
2
- export interface ToggleProps {
1
+ import type { ComponentPropsWithRef, ReactNode } from "react";
2
+ import type { ConsumerDataAttributes } from "../../core/slot-props.js";
3
+ type ToggleControlOwnedAttributes = {
4
+ readonly "aria-labelledby"?: never;
5
+ readonly "data-disabled"?: never;
6
+ readonly "data-part"?: never;
7
+ readonly "data-state"?: never;
8
+ readonly "data-uiify-toggle"?: never;
9
+ readonly checked?: never;
10
+ readonly defaultChecked?: never;
11
+ readonly disabled?: never;
12
+ readonly id?: never;
13
+ readonly type?: never;
14
+ };
15
+ type ToggleLabelOwnedAttributes = {
16
+ readonly "data-part"?: never;
17
+ readonly "data-uiify-button"?: never;
18
+ readonly "data-variant"?: never;
19
+ readonly htmlFor?: never;
20
+ readonly id?: never;
21
+ };
22
+ export type ToggleControlSlotProps = Omit<ComponentPropsWithRef<"input">, "aria-labelledby" | "checked" | "data-disabled" | "data-part" | "data-state" | "data-uiify-toggle" | "defaultChecked" | "disabled" | "id" | "type"> & ToggleControlOwnedAttributes & ConsumerDataAttributes;
23
+ export type ToggleLabelSlotProps = Omit<ComponentPropsWithRef<"label">, "children" | "data-part" | "data-uiify-button" | "data-variant" | "htmlFor" | "id"> & ToggleLabelOwnedAttributes & ConsumerDataAttributes;
24
+ export interface ToggleSlotProps {
25
+ readonly control?: ToggleControlSlotProps;
26
+ readonly label?: ToggleLabelSlotProps;
27
+ }
28
+ export interface ToggleOwnProps {
3
29
  readonly id: string;
4
30
  readonly label: ReactNode;
5
31
  readonly pressed?: boolean;
6
32
  readonly defaultPressed?: boolean;
7
33
  readonly disabled?: boolean;
8
- readonly className?: string;
34
+ readonly slotProps?: ToggleSlotProps;
9
35
  }
36
+ export type ToggleProps = ToggleOwnProps & Omit<ComponentPropsWithRef<"div">, keyof ToggleOwnProps | "children" | "dangerouslySetInnerHTML" | "data-disabled" | "data-uiify-toggle" | "id">;
37
+ export {};
10
38
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,KAAK,4BAA4B,GAAG;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,qBAAqB,CAAC,OAAO,CAAC,EAC5B,iBAAiB,GACjB,SAAS,GACT,eAAe,GACf,WAAW,GACX,YAAY,GACZ,mBAAmB,GACnB,gBAAgB,GAChB,UAAU,GACV,IAAI,GACJ,MAAM,CACT,GACC,4BAA4B,GAC5B,sBAAsB,CAAC;AAEzB,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,qBAAqB,CAAC,OAAO,CAAC,EAC9B,UAAU,GAAG,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,CACnF,GACC,0BAA0B,GAC1B,sBAAsB,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GACtC,IAAI,CACF,qBAAqB,CAAC,KAAK,CAAC,EAC1B,MAAM,cAAc,GACpB,UAAU,GACV,yBAAyB,GACzB,eAAe,GACf,mBAAmB,GACnB,IAAI,CACP,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { ToggleGroupProps } from "./types.js";
3
- export declare function ToggleGroup({ id, items, type, defaultValue, disabled, orientation, size, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupProps): ReactElement;
3
+ export declare function ToggleGroup({ id, items, type, defaultValue, disabled, orientation, size, className, slotProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rootProps }: ToggleGroupProps): ReactElement;
4
4
  export declare namespace ToggleGroup {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroup.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,GAAG,YAAY,CA6BjC;yBAxCe,WAAW"}
1
+ {"version":3,"file":"ToggleGroup.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,YAAY,CA+BjC;yBA5Ce,WAAW"}
@@ -9,8 +9,10 @@ function ToggleGroup({
9
9
  orientation = "horizontal",
10
10
  size,
11
11
  className,
12
+ slotProps,
12
13
  "aria-label": ariaLabel,
13
- "aria-labelledby": ariaLabelledBy
14
+ "aria-labelledby": ariaLabelledBy,
15
+ ...rootProps
14
16
  }) {
15
17
  const values = Array.isArray(defaultValue) ? defaultValue : [defaultValue];
16
18
  const resolvedItems = items.map((item) => ({
@@ -21,6 +23,7 @@ function ToggleGroup({
21
23
  ChoiceGroup,
22
24
  {
23
25
  ...className !== void 0 ? { className } : {},
26
+ rootProps,
24
27
  id,
25
28
  items: resolvedItems,
26
29
  isChecked: (item) => values.includes(item.value),
@@ -32,6 +35,7 @@ function ToggleGroup({
32
35
  ...size !== void 0 ? { "data-size": size } : {}
33
36
  },
34
37
  orientation,
38
+ ...slotProps !== void 0 ? { slotProps } : {},
35
39
  rootAttributes: {
36
40
  role: type === "single" ? "radiogroup" : "group",
37
41
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupItem, ToggleGroupProps } from \"./types.js\";\n\nexport function ToggleGroup({\n id,\n items,\n type = \"single\",\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupProps): ReactElement {\n const values = Array.isArray(defaultValue) ? defaultValue : [defaultValue];\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => values.includes(item.value)}\n kind={type}\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n orientation={orientation}\n rootAttributes={{\n role: type === \"single\" ? \"radiogroup\" : \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\nToggleGroup.displayName = \"ToggleGroup\";\n"],"mappings":"AAuBI;AAtBJ,SAAS,mBAAmB;AAGrB,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAAmC;AACjC,QAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,YAAY;AACzE,QAAM,gBAAgB,MAAM,IAAI,CAAC,UAAU;AAAA,IACzC,GAAG;AAAA,IACH,UAAU,YAAY,KAAK,aAAa;AAAA,EAC1C,EAAE;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,OAAO,SAAS,KAAK,KAAK;AAAA,MAC/C,MAAM;AAAA,MACN,WAAU;AAAA,MACV,iBAAiB;AAAA,QACf,qBAAqB;AAAA,QACrB,gBAAgB;AAAA,QAChB,GAAI,SAAS,SAAY,EAAE,aAAa,KAAK,IAAI,CAAC;AAAA,MACpD;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM,SAAS,WAAW,eAAe;AAAA,QACzC,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,YAAY,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupItem, ToggleGroupProps } from \"./types.js\";\n\nexport function ToggleGroup({\n id,\n items,\n type = \"single\",\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...rootProps\n}: ToggleGroupProps): ReactElement {\n const values = Array.isArray(defaultValue) ? defaultValue : [defaultValue];\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => values.includes(item.value)}\n kind={type}\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{\n role: type === \"single\" ? \"radiogroup\" : \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\nToggleGroup.displayName = \"ToggleGroup\";\n"],"mappings":"AAyBI;AAxBJ,SAAS,mBAAmB;AAGrB,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,GAAG;AACL,GAAmC;AACjC,QAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,YAAY;AACzE,QAAM,gBAAgB,MAAM,IAAI,CAAC,UAAU;AAAA,IACzC,GAAG;AAAA,IACH,UAAU,YAAY,KAAK,aAAa;AAAA,EAC1C,EAAE;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,OAAO,SAAS,KAAK,KAAK;AAAA,MAC/C,MAAM;AAAA,MACN,WAAU;AAAA,MACV,iBAAiB;AAAA,QACf,qBAAqB;AAAA,QACrB,gBAAgB;AAAA,QAChB,GAAI,SAAS,SAAY,EAAE,aAAa,KAAK,IAAI,CAAC;AAAA,MACpD;AAAA,MACA;AAAA,MACC,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD,gBAAgB;AAAA,QACd,MAAM,SAAS,WAAW,eAAe;AAAA,QACzC,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,YAAY,cAAc;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { ToggleGroupClientProps } from "../types.js";
3
- export declare function ToggleGroupClient({ id, items, type, value: controlledValue, defaultValue, onValueChange, disabled, orientation, size, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupClientProps): ReactElement;
3
+ export declare function ToggleGroupClient({ id, items, type, value: controlledValue, defaultValue, onValueChange, disabled, orientation, size, className, slotProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rootProps }: ToggleGroupClientProps): ReactElement;
4
4
  export declare namespace ToggleGroupClient {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroupClient.d.ts","sourceRoot":"","sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAU3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,IAAe,EACf,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,sBAAsB,GAAG,YAAY,CAkCvC;yBA/Ce,iBAAiB"}
1
+ {"version":3,"file":"ToggleGroupClient.d.ts","sourceRoot":"","sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAU3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,IAAe,EACf,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,SAAS,EACb,EAAE,sBAAsB,GAAG,YAAY,CAsCvC;yBArDe,iBAAiB"}
@@ -19,8 +19,10 @@ function ToggleGroupClient({
19
19
  orientation = "horizontal",
20
20
  size,
21
21
  className,
22
+ slotProps,
22
23
  "aria-label": ariaLabel,
23
- "aria-labelledby": ariaLabelledBy
24
+ "aria-labelledby": ariaLabelledBy,
25
+ ...rootProps
24
26
  }) {
25
27
  if (type === "multiple") {
26
28
  return /* @__PURE__ */ jsx(
@@ -36,6 +38,8 @@ function ToggleGroupClient({
36
38
  items,
37
39
  onValueChange,
38
40
  orientation,
41
+ rootProps,
42
+ slotProps,
39
43
  size
40
44
  }
41
45
  );
@@ -53,6 +57,8 @@ function ToggleGroupClient({
53
57
  items,
54
58
  onValueChange,
55
59
  orientation,
60
+ rootProps,
61
+ ...slotProps !== void 0 ? { slotProps } : {},
56
62
  size
57
63
  }
58
64
  );
@@ -68,6 +74,8 @@ function SingleToggleGroupClient({
68
74
  items,
69
75
  onValueChange,
70
76
  orientation,
77
+ rootProps,
78
+ slotProps,
71
79
  size
72
80
  }) {
73
81
  const [selectedValue, setSelectedValue] = useControllableState({
@@ -85,6 +93,7 @@ function SingleToggleGroupClient({
85
93
  ChoiceGroup,
86
94
  {
87
95
  ...className !== void 0 ? { className } : {},
96
+ rootProps,
88
97
  id,
89
98
  items: resolvedItems,
90
99
  isChecked: (item) => item.value === selectedValue,
@@ -98,6 +107,7 @@ function SingleToggleGroupClient({
98
107
  },
99
108
  onItemChange: (item) => setSelectedValue(item.value),
100
109
  orientation,
110
+ ...slotProps !== void 0 ? { slotProps } : {},
101
111
  rootAttributes: {
102
112
  role: "radiogroup",
103
113
  "aria-label": ariaLabel,
@@ -119,6 +129,8 @@ function MultipleToggleGroupClient({
119
129
  items,
120
130
  onValueChange,
121
131
  orientation,
132
+ rootProps,
133
+ slotProps,
122
134
  size
123
135
  }) {
124
136
  const [selectedValues, setSelectedValues] = useControllableState({
@@ -134,6 +146,7 @@ function MultipleToggleGroupClient({
134
146
  ChoiceGroup,
135
147
  {
136
148
  ...className !== void 0 ? { className } : {},
149
+ rootProps,
137
150
  id,
138
151
  items: resolvedItems,
139
152
  isChecked: (item) => selectedValues.includes(item.value),
@@ -149,6 +162,7 @@ function MultipleToggleGroupClient({
149
162
  (currentValues) => currentValues.includes(item.value) ? currentValues.filter((value) => value !== item.value) : [...currentValues, item.value]
150
163
  ),
151
164
  orientation,
165
+ ...slotProps !== void 0 ? { slotProps } : {},
152
166
  rootAttributes: {
153
167
  role: "group",
154
168
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n readonly size?: ToggleGroupClientProps[\"size\"];\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) => setSelectedValue(item.value)}\n orientation={orientation}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nSingleToggleGroupClient.displayName = \"SingleToggleGroupClient\";\n\nfunction MultipleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValues, setSelectedValues] = useControllableState<readonly string[]>({\n defaultValue: normalizeMultiple(defaultValue),\n onChange: onValueChange,\n value: controlledValue === undefined ? undefined : normalizeMultiple(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) =>\n setSelectedValues((currentValues) =>\n currentValues.includes(item.value)\n ? currentValues.filter((value) => value !== item.value)\n : [...currentValues, item.value],\n )\n }\n orientation={orientation}\n rootAttributes={{\n role: \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nMultipleToggleGroupClient.displayName = \"MultipleToggleGroupClient\";\nToggleGroupClient.displayName = \"ToggleGroupClient\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ChoiceGroupRootProps } from \"../../internal/choice-family/types.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...rootProps\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n rootProps={rootProps}\n slotProps={slotProps}\n size={size}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n rootProps={rootProps}\n {...(slotProps !== undefined ? { slotProps } : {})}\n size={size}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n readonly rootProps: ChoiceGroupRootProps;\n readonly slotProps?: ToggleGroupClientProps[\"slotProps\"];\n readonly size?: ToggleGroupClientProps[\"size\"];\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n rootProps,\n slotProps,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) => setSelectedValue(item.value)}\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nSingleToggleGroupClient.displayName = \"SingleToggleGroupClient\";\n\nfunction MultipleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n rootProps,\n slotProps,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValues, setSelectedValues] = useControllableState<readonly string[]>({\n defaultValue: normalizeMultiple(defaultValue),\n onChange: onValueChange,\n value: controlledValue === undefined ? undefined : normalizeMultiple(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) =>\n setSelectedValues((currentValues) =>\n currentValues.includes(item.value)\n ? currentValues.filter((value) => value !== item.value)\n : [...currentValues, item.value],\n )\n }\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{\n role: \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nMultipleToggleGroupClient.displayName = \"MultipleToggleGroupClient\";\nToggleGroupClient.displayName = \"ToggleGroupClient\";\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { ToggleGroup } from "./ToggleGroup.js";
2
- export type { ToggleGroupClientProps, ToggleGroupItem, ToggleGroupProps } from "./types.js";
2
+ export type { ToggleGroupClientProps, ToggleGroupItem, ToggleGroupProps, ToggleGroupSlotProps, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/toggle-group/index.ts"],"sourcesContent":["export { ToggleGroup } from \"./ToggleGroup.js\";\nexport type { ToggleGroupClientProps, ToggleGroupItem, ToggleGroupProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/toggle-group/index.ts"],"sourcesContent":["export { ToggleGroup } from \"./ToggleGroup.js\";\nexport type {\n ToggleGroupClientProps,\n ToggleGroupItem,\n ToggleGroupProps,\n ToggleGroupSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
@@ -1,6 +1,7 @@
1
- import type { ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
1
+ import type { ChoiceGroupRootProps, ChoiceOptionSlotProps, ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
2
+ export type ToggleGroupSlotProps = ChoiceOptionSlotProps;
2
3
  export type ToggleGroupItem = ChoiceItem;
3
- export interface ToggleGroupProps {
4
+ export interface ToggleGroupProps extends ChoiceGroupRootProps {
4
5
  readonly id: string;
5
6
  readonly type?: "single" | "multiple";
6
7
  readonly items: readonly ToggleGroupItem[];
@@ -10,8 +11,7 @@ export interface ToggleGroupProps {
10
11
  /** Button size of each item; `md` metrics when omitted. */
11
12
  readonly size?: "sm" | "md" | "lg";
12
13
  readonly className?: string;
13
- readonly "aria-label"?: string;
14
- readonly "aria-labelledby"?: string;
14
+ readonly slotProps?: ToggleGroupSlotProps;
15
15
  }
16
16
  export interface ToggleGroupClientProps extends ToggleGroupProps {
17
17
  readonly value?: string | readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE"}
@@ -1,14 +1,6 @@
1
- import type { HTMLAttributes, ReactElement, ReactNode } from "react";
2
- import { type Direction } from "@gunkin/uiify/core/direction";
3
- import type { RovingFocusOrientation } from "@gunkin/uiify/core/roving-focus";
4
- import type { ToolbarButtonProps, ToolbarLinkProps, ToolbarSeparatorProps, ToolbarToggleGroupProps } from "./types.js";
5
- interface ToolbarRootClientProps extends HTMLAttributes<HTMLDivElement> {
6
- readonly children?: ReactNode;
7
- readonly dir?: Direction;
8
- readonly loop?: boolean;
9
- readonly orientation?: RovingFocusOrientation;
10
- }
11
- export declare function ToolbarRootClient({ children, className, dir: localDir, loop, orientation, ...consumerProps }: ToolbarRootClientProps): ReactElement;
1
+ import type { ReactElement } from "react";
2
+ import type { ToolbarButtonProps, ToolbarLinkProps, ToolbarRootProps, ToolbarSeparatorProps, ToolbarToggleGroupProps } from "./types.js";
3
+ export declare function ToolbarRootClient({ children, className, dir: localDir, loop, orientation, ref, ...consumerProps }: ToolbarRootProps): ReactElement;
12
4
  export declare namespace ToolbarRootClient {
13
5
  var displayName: string;
14
6
  }
@@ -36,5 +28,4 @@ export declare const Toolbar: {
36
28
  Separator: typeof ToolbarSeparator;
37
29
  ToggleGroup: typeof ToolbarToggleGroup;
38
30
  };
39
- export {};
40
31
  //# sourceMappingURL=Toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAQ9E,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,UAAU,sBAAuB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAqCD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,EAAE,QAAQ,EACb,IAAW,EACX,WAA0B,EAC1B,GAAG,aAAa,EACjB,EAAE,sBAAsB,GAAG,YAAY,CAkFvC;yBAzFe,iBAAiB;;;AA4FjC,eAAO,MAAM,WAAW,0BAAoB,CAAC;AAE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAE5E;yBAFe,aAAa;;;AAK7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAElF;yBAFe,gBAAgB;;;AAKhC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAEtF;yBAFe,kBAAkB;;;AAKlC,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAU1C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAqCpB,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,EAAE,QAAQ,EACb,IAAW,EACX,WAA0B,EAC1B,GAAG,EACH,GAAG,aAAa,EACjB,EAAE,gBAAgB,GAAG,YAAY,CAqGjC;yBA7Ge,iBAAiB;;;AAgHjC,eAAO,MAAM,WAAW,0BAAoB,CAAC;AAE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAE5E;yBAFe,aAAa;;;AAK7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAElF;yBAFe,gBAAgB;;;AAKhC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAEtF;yBAFe,kBAAkB;;;AAKlC,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { useEffect, useRef } from "react";
3
+ import { useCallback, useEffect, useRef } from "react";
4
4
  import { useDirectionOverride } from "@gunkin/uiify/core/direction";
5
5
  import { resolveDirection } from "@gunkin/uiify/core/text-direction";
6
6
  import {
@@ -38,11 +38,31 @@ function ToolbarRootClient({
38
38
  dir: localDir,
39
39
  loop = true,
40
40
  orientation = "horizontal",
41
+ ref,
41
42
  ...consumerProps
42
43
  }) {
43
44
  const dir = useDirectionOverride(localDir);
44
45
  const rootRef = useRef(null);
45
46
  const currentRef = useRef(null);
47
+ const setRootRef = useCallback(
48
+ (node) => {
49
+ rootRef.current = node;
50
+ if (typeof ref === "function") {
51
+ const cleanup = ref(node);
52
+ if (node) {
53
+ return () => {
54
+ rootRef.current = null;
55
+ if (cleanup) cleanup();
56
+ else ref(null);
57
+ };
58
+ }
59
+ return;
60
+ }
61
+ if (ref) ref.current = node;
62
+ return;
63
+ },
64
+ [ref]
65
+ );
46
66
  useEffect(() => {
47
67
  const root = rootRef.current;
48
68
  if (!root) return;
@@ -105,7 +125,7 @@ function ToolbarRootClient({
105
125
  "data-part": "root",
106
126
  "data-uiify-toolbar": "",
107
127
  ...dir ? { dir } : {},
108
- ref: rootRef,
128
+ ref: setRootRef,
109
129
  role: "toolbar",
110
130
  children
111
131
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport type { HTMLAttributes, ReactElement, ReactNode } from \"react\";\nimport { useDirectionOverride, type Direction } from \"@gunkin/uiify/core/direction\";\nimport { resolveDirection } from \"@gunkin/uiify/core/text-direction\";\nimport type { RovingFocusOrientation } from \"@gunkin/uiify/core/roving-focus\";\n\nimport {\n ToolbarButton as ServerToolbarButton,\n ToolbarLink as ServerToolbarLink,\n ToolbarSeparator as ServerToolbarSeparator,\n ToolbarToggleGroup as ServerToolbarToggleGroup,\n} from \"./ToolbarShell.js\";\nimport type {\n ToolbarButtonProps,\n ToolbarLinkProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n} from \"./types.js\";\n\ninterface ToolbarRootClientProps extends HTMLAttributes<HTMLDivElement> {\n readonly children?: ReactNode;\n readonly dir?: Direction;\n readonly loop?: boolean;\n readonly orientation?: RovingFocusOrientation;\n}\n\nfunction getToolbarItems(root: HTMLDivElement): HTMLElement[] {\n return Array.from(root.querySelectorAll<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]'));\n}\n\nfunction isDisabledItem(item: HTMLElement): boolean {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item.hasAttribute(\"disabled\");\n}\n\nfunction syncTabStops(root: HTMLDivElement, current: HTMLElement | null): HTMLElement | null {\n const items = getToolbarItems(root);\n const enabled = items.filter((item) => !isDisabledItem(item));\n if (enabled.length === 0) return null;\n\n const nextCurrent = current && enabled.includes(current) ? current : (enabled[0] ?? null);\n\n for (const item of items) {\n item.tabIndex = nextCurrent === item ? 0 : -1;\n }\n\n return nextCurrent;\n}\n\nfunction moveIndex(\n currentIndex: number,\n offset: number,\n length: number,\n loop: boolean,\n): number | null {\n if (length === 0) return null;\n if (loop) return (currentIndex + offset + length) % length;\n const nextIndex = currentIndex + offset;\n if (nextIndex < 0 || nextIndex >= length) return null;\n return nextIndex;\n}\n\nexport function ToolbarRootClient({\n children,\n className,\n dir: localDir,\n loop = true,\n orientation = \"horizontal\",\n ...consumerProps\n}: ToolbarRootClientProps): ReactElement {\n const dir = useDirectionOverride(localDir);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const currentRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n currentRef.current = syncTabStops(root, currentRef.current);\n });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n\n const handleFocusIn = (event: FocusEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item) || isDisabledItem(item)) return;\n currentRef.current = syncTabStops(root, item);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item)) return;\n\n const enabled = getToolbarItems(root).filter((entry) => !isDisabledItem(entry));\n const currentIndex = enabled.indexOf(item);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n if (event.key === \"Home\") nextIndex = 0;\n if (event.key === \"End\") nextIndex = enabled.length - 1;\n const rtl = resolveDirection(item, dir) === \"rtl\";\n if (orientation !== \"vertical\" && event.key === \"ArrowRight\") {\n nextIndex = moveIndex(currentIndex, rtl ? -1 : 1, enabled.length, loop);\n }\n if (orientation !== \"vertical\" && event.key === \"ArrowLeft\") {\n nextIndex = moveIndex(currentIndex, rtl ? 1 : -1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowDown\") {\n nextIndex = moveIndex(currentIndex, 1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowUp\") {\n nextIndex = moveIndex(currentIndex, -1, enabled.length, loop);\n }\n\n if (nextIndex === null) return;\n\n event.preventDefault();\n const nextItem = enabled[nextIndex];\n if (!nextItem) return;\n currentRef.current = syncTabStops(root, nextItem);\n nextItem.focus();\n };\n\n root.addEventListener(\"focusin\", handleFocusIn);\n root.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n root.removeEventListener(\"focusin\", handleFocusIn);\n root.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [dir, loop, orientation]);\n\n return (\n <div\n {...consumerProps}\n className={className}\n data-orientation={orientation}\n data-part=\"root\"\n data-uiify-toolbar=\"\"\n {...(dir ? { dir } : {})}\n ref={rootRef}\n role=\"toolbar\"\n >\n {children}\n </div>\n );\n}\nToolbarRootClient.displayName = \"ToolbarRootClient\";\n\nexport const ToolbarRoot = ToolbarRootClient;\n\nexport function ToolbarButton(props: ToolbarButtonProps): ReactElement | null {\n return <ServerToolbarButton {...props} />;\n}\nToolbarButton.displayName = \"ToolbarButton\";\n\nexport function ToolbarLink(props: ToolbarLinkProps): ReactElement | null {\n return <ServerToolbarLink {...props} />;\n}\nToolbarLink.displayName = \"ToolbarLink\";\n\nexport function ToolbarSeparator(props: ToolbarSeparatorProps): ReactElement | null {\n return <ServerToolbarSeparator {...props} />;\n}\nToolbarSeparator.displayName = \"ToolbarSeparator\";\n\nexport function ToolbarToggleGroup(props: ToolbarToggleGroupProps): ReactElement | null {\n return <ServerToolbarToggleGroup {...props} />;\n}\nToolbarToggleGroup.displayName = \"ToolbarToggleGroup\";\n\nexport const Toolbar = {\n Button: ToolbarButton,\n Link: ToolbarLink,\n Root: ToolbarRoot,\n Separator: ToolbarSeparator,\n ToggleGroup: ToolbarToggleGroup,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { useDirectionOverride } from \"@gunkin/uiify/core/direction\";\nimport { resolveDirection } from \"@gunkin/uiify/core/text-direction\";\n\nimport {\n ToolbarButton as ServerToolbarButton,\n ToolbarLink as ServerToolbarLink,\n ToolbarSeparator as ServerToolbarSeparator,\n ToolbarToggleGroup as ServerToolbarToggleGroup,\n} from \"./ToolbarShell.js\";\nimport type {\n ToolbarButtonProps,\n ToolbarLinkProps,\n ToolbarRootProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n} from \"./types.js\";\n\nfunction getToolbarItems(root: HTMLDivElement): HTMLElement[] {\n return Array.from(root.querySelectorAll<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]'));\n}\n\nfunction isDisabledItem(item: HTMLElement): boolean {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item.hasAttribute(\"disabled\");\n}\n\nfunction syncTabStops(root: HTMLDivElement, current: HTMLElement | null): HTMLElement | null {\n const items = getToolbarItems(root);\n const enabled = items.filter((item) => !isDisabledItem(item));\n if (enabled.length === 0) return null;\n\n const nextCurrent = current && enabled.includes(current) ? current : (enabled[0] ?? null);\n\n for (const item of items) {\n item.tabIndex = nextCurrent === item ? 0 : -1;\n }\n\n return nextCurrent;\n}\n\nfunction moveIndex(\n currentIndex: number,\n offset: number,\n length: number,\n loop: boolean,\n): number | null {\n if (length === 0) return null;\n if (loop) return (currentIndex + offset + length) % length;\n const nextIndex = currentIndex + offset;\n if (nextIndex < 0 || nextIndex >= length) return null;\n return nextIndex;\n}\n\nexport function ToolbarRootClient({\n children,\n className,\n dir: localDir,\n loop = true,\n orientation = \"horizontal\",\n ref,\n ...consumerProps\n}: ToolbarRootProps): ReactElement {\n const dir = useDirectionOverride(localDir);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const currentRef = useRef<HTMLElement | null>(null);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === \"function\") {\n const cleanup = ref(node);\n if (node) {\n return () => {\n rootRef.current = null;\n if (cleanup) cleanup();\n else ref(null);\n };\n }\n return;\n }\n if (ref) ref.current = node;\n return;\n },\n [ref],\n );\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n currentRef.current = syncTabStops(root, currentRef.current);\n });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n\n const handleFocusIn = (event: FocusEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item) || isDisabledItem(item)) return;\n currentRef.current = syncTabStops(root, item);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item)) return;\n\n const enabled = getToolbarItems(root).filter((entry) => !isDisabledItem(entry));\n const currentIndex = enabled.indexOf(item);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n if (event.key === \"Home\") nextIndex = 0;\n if (event.key === \"End\") nextIndex = enabled.length - 1;\n const rtl = resolveDirection(item, dir) === \"rtl\";\n if (orientation !== \"vertical\" && event.key === \"ArrowRight\") {\n nextIndex = moveIndex(currentIndex, rtl ? -1 : 1, enabled.length, loop);\n }\n if (orientation !== \"vertical\" && event.key === \"ArrowLeft\") {\n nextIndex = moveIndex(currentIndex, rtl ? 1 : -1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowDown\") {\n nextIndex = moveIndex(currentIndex, 1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowUp\") {\n nextIndex = moveIndex(currentIndex, -1, enabled.length, loop);\n }\n\n if (nextIndex === null) return;\n\n event.preventDefault();\n const nextItem = enabled[nextIndex];\n if (!nextItem) return;\n currentRef.current = syncTabStops(root, nextItem);\n nextItem.focus();\n };\n\n root.addEventListener(\"focusin\", handleFocusIn);\n root.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n root.removeEventListener(\"focusin\", handleFocusIn);\n root.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [dir, loop, orientation]);\n\n return (\n <div\n {...consumerProps}\n className={className}\n data-orientation={orientation}\n data-part=\"root\"\n data-uiify-toolbar=\"\"\n {...(dir ? { dir } : {})}\n ref={setRootRef}\n role=\"toolbar\"\n >\n {children}\n </div>\n );\n}\nToolbarRootClient.displayName = \"ToolbarRootClient\";\n\nexport const ToolbarRoot = ToolbarRootClient;\n\nexport function ToolbarButton(props: ToolbarButtonProps): ReactElement | null {\n return <ServerToolbarButton {...props} />;\n}\nToolbarButton.displayName = \"ToolbarButton\";\n\nexport function ToolbarLink(props: ToolbarLinkProps): ReactElement | null {\n return <ServerToolbarLink {...props} />;\n}\nToolbarLink.displayName = \"ToolbarLink\";\n\nexport function ToolbarSeparator(props: ToolbarSeparatorProps): ReactElement | null {\n return <ServerToolbarSeparator {...props} />;\n}\nToolbarSeparator.displayName = \"ToolbarSeparator\";\n\nexport function ToolbarToggleGroup(props: ToolbarToggleGroupProps): ReactElement | null {\n return <ServerToolbarToggleGroup {...props} />;\n}\nToolbarToggleGroup.displayName = \"ToolbarToggleGroup\";\n\nexport const Toolbar = {\n Button: ToolbarButton,\n Link: ToolbarLink,\n Root: ToolbarRoot,\n Separator: ToolbarSeparator,\n ToggleGroup: ToolbarToggleGroup,\n};\n"],"mappings":"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","names":[]}