@gunkin/uiify 0.0.24-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 (414) hide show
  1. package/agents/index.md +1 -1
  2. package/agents/reference/components/accordion.md +18 -3
  3. package/agents/reference/components/alert-modal.md +19 -7
  4. package/agents/reference/components/alert.md +9 -1
  5. package/agents/reference/components/aspect-ratio.md +8 -0
  6. package/agents/reference/components/avatar.md +10 -0
  7. package/agents/reference/components/breadcrumb.md +20 -1
  8. package/agents/reference/components/candle-chart.md +50 -2
  9. package/agents/reference/components/carousel.md +30 -1
  10. package/agents/reference/components/checkbox.md +3 -1
  11. package/agents/reference/components/collapsible.md +16 -3
  12. package/agents/reference/components/color-picker.md +18 -2
  13. package/agents/reference/components/combobox.md +20 -9
  14. package/agents/reference/components/context-menu.md +37 -5
  15. package/agents/reference/components/drawer.md +30 -5
  16. package/agents/reference/components/dropdown-menu.md +4 -3
  17. package/agents/reference/components/field.md +3 -3
  18. package/agents/reference/components/form-error-summary.md +11 -1
  19. package/agents/reference/components/line-chart.md +41 -2
  20. package/agents/reference/components/modal.md +22 -3
  21. package/agents/reference/components/pagination.md +13 -1
  22. package/agents/reference/components/radio-group.md +8 -2
  23. package/agents/reference/components/rating.md +8 -2
  24. package/agents/reference/components/segmented-control.md +8 -3
  25. package/agents/reference/components/slider.md +13 -1
  26. package/agents/reference/components/spinner.md +10 -1
  27. package/agents/reference/components/table.md +15 -0
  28. package/agents/reference/components/tabs.md +21 -3
  29. package/agents/reference/components/tags-input.md +22 -1
  30. package/agents/reference/components/toast.md +55 -10
  31. package/agents/reference/components/toggle-group.md +5 -3
  32. package/agents/reference/components/toggle.md +16 -3
  33. package/agents/reference/components/toolbar.md +4 -4
  34. package/agents/reference/components/virtual-scroll.md +31 -2
  35. package/agents/reference/elements/choice.md +20 -7
  36. package/dist/components/accordion/Accordion.d.ts +1 -1
  37. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  38. package/dist/components/accordion/Accordion.js +62 -15
  39. package/dist/components/accordion/Accordion.js.map +1 -1
  40. package/dist/components/accordion/index.d.ts +1 -1
  41. package/dist/components/accordion/index.d.ts.map +1 -1
  42. package/dist/components/accordion/index.js.map +1 -1
  43. package/dist/components/accordion/types.d.ts +23 -2
  44. package/dist/components/accordion/types.d.ts.map +1 -1
  45. package/dist/components/alert/Alert.d.ts.map +1 -1
  46. package/dist/components/alert/Alert.js +11 -1
  47. package/dist/components/alert/Alert.js.map +1 -1
  48. package/dist/components/alert/index.d.ts +1 -1
  49. package/dist/components/alert/index.d.ts.map +1 -1
  50. package/dist/components/alert/index.js.map +1 -1
  51. package/dist/components/alert/types.d.ts +11 -1
  52. package/dist/components/alert/types.d.ts.map +1 -1
  53. package/dist/components/alert-modal/AlertModal.d.ts +1 -1
  54. package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
  55. package/dist/components/alert-modal/AlertModal.js +139 -20
  56. package/dist/components/alert-modal/AlertModal.js.map +1 -1
  57. package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
  58. package/dist/components/alert-modal/AlertModalParts.js +37 -4
  59. package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
  60. package/dist/components/alert-modal/index.d.ts +1 -1
  61. package/dist/components/alert-modal/index.d.ts.map +1 -1
  62. package/dist/components/alert-modal/index.js.map +1 -1
  63. package/dist/components/alert-modal/types.d.ts +40 -6
  64. package/dist/components/alert-modal/types.d.ts.map +1 -1
  65. package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
  66. package/dist/components/aspect-ratio/AspectRatio.js +10 -2
  67. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  68. package/dist/components/aspect-ratio/types.d.ts +10 -1
  69. package/dist/components/aspect-ratio/types.d.ts.map +1 -1
  70. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  71. package/dist/components/avatar/Avatar.js +19 -2
  72. package/dist/components/avatar/Avatar.js.map +1 -1
  73. package/dist/components/avatar/types.d.ts +19 -1
  74. package/dist/components/avatar/types.d.ts.map +1 -1
  75. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
  76. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  77. package/dist/components/breadcrumb/Breadcrumb.js +118 -26
  78. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  79. package/dist/components/breadcrumb/index.d.ts +1 -1
  80. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  81. package/dist/components/breadcrumb/index.js.map +1 -1
  82. package/dist/components/breadcrumb/types.d.ts +40 -1
  83. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  84. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  85. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  86. package/dist/components/candle-chart/CandleChart.js +269 -119
  87. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  88. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  89. package/dist/components/candle-chart/client/CandleChartClient.js +21 -1
  90. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  91. package/dist/components/candle-chart/client/index.d.ts +1 -1
  92. package/dist/components/candle-chart/client/index.d.ts.map +1 -1
  93. package/dist/components/candle-chart/client/index.js.map +1 -1
  94. package/dist/components/candle-chart/index.d.ts +1 -1
  95. package/dist/components/candle-chart/index.d.ts.map +1 -1
  96. package/dist/components/candle-chart/index.js.map +1 -1
  97. package/dist/components/candle-chart/types.d.ts +129 -1
  98. package/dist/components/candle-chart/types.d.ts.map +1 -1
  99. package/dist/components/carousel/Carousel.d.ts +2 -2
  100. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  101. package/dist/components/carousel/Carousel.js +2 -1
  102. package/dist/components/carousel/Carousel.js.map +1 -1
  103. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  104. package/dist/components/carousel/CarouselMarkup.js +137 -22
  105. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  106. package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
  107. package/dist/components/carousel/client/CarouselClient.js +3 -2
  108. package/dist/components/carousel/client/CarouselClient.js.map +1 -1
  109. package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
  110. package/dist/components/carousel/client/carousel-controls.js +2 -2
  111. package/dist/components/carousel/client/carousel-controls.js.map +1 -1
  112. package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
  113. package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
  114. package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
  115. package/dist/components/carousel/index.d.ts +1 -1
  116. package/dist/components/carousel/index.d.ts.map +1 -1
  117. package/dist/components/carousel/index.js.map +1 -1
  118. package/dist/components/carousel/types.d.ts +85 -2
  119. package/dist/components/carousel/types.d.ts.map +1 -1
  120. package/dist/components/checkbox/Checkbox.d.ts +6 -1
  121. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  122. package/dist/components/checkbox/Checkbox.js +6 -1
  123. package/dist/components/checkbox/Checkbox.js.map +1 -1
  124. package/dist/components/checkbox/index.d.ts +1 -1
  125. package/dist/components/checkbox/index.d.ts.map +1 -1
  126. package/dist/components/checkbox/index.js.map +1 -1
  127. package/dist/components/checkbox/types.d.ts +3 -0
  128. package/dist/components/checkbox/types.d.ts.map +1 -1
  129. package/dist/components/collapsible/Collapsible.d.ts +1 -1
  130. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  131. package/dist/components/collapsible/Collapsible.js +35 -4
  132. package/dist/components/collapsible/Collapsible.js.map +1 -1
  133. package/dist/components/collapsible/index.d.ts +1 -1
  134. package/dist/components/collapsible/index.d.ts.map +1 -1
  135. package/dist/components/collapsible/index.js.map +1 -1
  136. package/dist/components/collapsible/types.d.ts +25 -3
  137. package/dist/components/collapsible/types.d.ts.map +1 -1
  138. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
  139. package/dist/components/color-picker/ColorPicker.js +165 -49
  140. package/dist/components/color-picker/ColorPicker.js.map +1 -1
  141. package/dist/components/color-picker/index.d.ts +1 -1
  142. package/dist/components/color-picker/index.d.ts.map +1 -1
  143. package/dist/components/color-picker/index.js.map +1 -1
  144. package/dist/components/color-picker/types.d.ts +37 -0
  145. package/dist/components/color-picker/types.d.ts.map +1 -1
  146. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  147. package/dist/components/combobox/Combobox.js +44 -25
  148. package/dist/components/combobox/Combobox.js.map +1 -1
  149. package/dist/components/combobox/index.d.ts +1 -1
  150. package/dist/components/combobox/index.d.ts.map +1 -1
  151. package/dist/components/combobox/index.js.map +1 -1
  152. package/dist/components/combobox/types.d.ts +29 -4
  153. package/dist/components/combobox/types.d.ts.map +1 -1
  154. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  155. package/dist/components/context-menu/ContextMenu.js +48 -11
  156. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  157. package/dist/components/context-menu/index.d.ts +1 -1
  158. package/dist/components/context-menu/index.d.ts.map +1 -1
  159. package/dist/components/context-menu/index.js.map +1 -1
  160. package/dist/components/context-menu/types.d.ts +35 -9
  161. package/dist/components/context-menu/types.d.ts.map +1 -1
  162. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  163. package/dist/components/drawer/Drawer.js +5 -1
  164. package/dist/components/drawer/Drawer.js.map +1 -1
  165. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  166. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  167. package/dist/components/drawer/DrawerNative.js +254 -44
  168. package/dist/components/drawer/DrawerNative.js.map +1 -1
  169. package/dist/components/drawer/index.d.ts +1 -1
  170. package/dist/components/drawer/index.d.ts.map +1 -1
  171. package/dist/components/drawer/index.js.map +1 -1
  172. package/dist/components/drawer/types.d.ts +31 -6
  173. package/dist/components/drawer/types.d.ts.map +1 -1
  174. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  175. package/dist/components/dropdown-menu/DropdownMenu.js +8 -2
  176. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  177. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  178. package/dist/components/dropdown-menu/DropdownMenuBar.js +47 -29
  179. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  180. package/dist/components/dropdown-menu/types.d.ts +7 -5
  181. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  182. package/dist/components/field/types.d.ts +4 -4
  183. package/dist/components/field/types.d.ts.map +1 -1
  184. package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
  185. package/dist/components/form-error-summary/FormErrorSummary.js +35 -3
  186. package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
  187. package/dist/components/form-error-summary/index.d.ts +1 -1
  188. package/dist/components/form-error-summary/index.d.ts.map +1 -1
  189. package/dist/components/form-error-summary/index.js.map +1 -1
  190. package/dist/components/form-error-summary/types.d.ts +20 -1
  191. package/dist/components/form-error-summary/types.d.ts.map +1 -1
  192. package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
  193. package/dist/components/internal/choice-family/ChoiceGroup.js +61 -11
  194. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  195. package/dist/components/internal/choice-family/types.d.ts +51 -1
  196. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  197. package/dist/components/internal/menu/types.d.ts +1 -0
  198. package/dist/components/internal/menu/types.d.ts.map +1 -1
  199. package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
  200. package/dist/components/internal/menu/use-menu-surface.js +2 -1
  201. package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
  202. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
  203. package/dist/components/internal/native-check-control/NativeCheckControl.js +35 -3
  204. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
  205. package/dist/components/internal/native-check-control/types.d.ts +21 -1
  206. package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
  207. package/dist/components/line-chart/LineChart.d.ts +1 -1
  208. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  209. package/dist/components/line-chart/LineChart.js +260 -79
  210. package/dist/components/line-chart/LineChart.js.map +1 -1
  211. package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
  212. package/dist/components/line-chart/client/LineChartClient.js +21 -1
  213. package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
  214. package/dist/components/line-chart/client/index.d.ts +1 -1
  215. package/dist/components/line-chart/client/index.d.ts.map +1 -1
  216. package/dist/components/line-chart/client/index.js.map +1 -1
  217. package/dist/components/line-chart/index.d.ts +1 -1
  218. package/dist/components/line-chart/index.d.ts.map +1 -1
  219. package/dist/components/line-chart/index.js.map +1 -1
  220. package/dist/components/line-chart/types.d.ts +113 -1
  221. package/dist/components/line-chart/types.d.ts.map +1 -1
  222. package/dist/components/modal/Modal.d.ts +1 -1
  223. package/dist/components/modal/Modal.d.ts.map +1 -1
  224. package/dist/components/modal/Modal.js +118 -43
  225. package/dist/components/modal/Modal.js.map +1 -1
  226. package/dist/components/modal/index.d.ts +1 -1
  227. package/dist/components/modal/index.d.ts.map +1 -1
  228. package/dist/components/modal/index.js.map +1 -1
  229. package/dist/components/modal/types.d.ts +24 -2
  230. package/dist/components/modal/types.d.ts.map +1 -1
  231. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  232. package/dist/components/otp-input/OtpInput.js +4 -2
  233. package/dist/components/otp-input/OtpInput.js.map +1 -1
  234. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  235. package/dist/components/pagination/Pagination.js +172 -55
  236. package/dist/components/pagination/Pagination.js.map +1 -1
  237. package/dist/components/pagination/index.d.ts +1 -1
  238. package/dist/components/pagination/index.d.ts.map +1 -1
  239. package/dist/components/pagination/index.js.map +1 -1
  240. package/dist/components/pagination/types.d.ts +33 -1
  241. package/dist/components/pagination/types.d.ts.map +1 -1
  242. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  243. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  244. package/dist/components/radio-group/RadioGroup.js +5 -1
  245. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  246. package/dist/components/radio-group/index.d.ts +1 -1
  247. package/dist/components/radio-group/index.d.ts.map +1 -1
  248. package/dist/components/radio-group/index.js.map +1 -1
  249. package/dist/components/radio-group/types.d.ts +4 -2
  250. package/dist/components/radio-group/types.d.ts.map +1 -1
  251. package/dist/components/rating/Rating.d.ts +1 -1
  252. package/dist/components/rating/Rating.d.ts.map +1 -1
  253. package/dist/components/rating/Rating.js +5 -1
  254. package/dist/components/rating/Rating.js.map +1 -1
  255. package/dist/components/rating/client/RatingClient.d.ts +1 -1
  256. package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
  257. package/dist/components/rating/client/RatingClient.js +5 -1
  258. package/dist/components/rating/client/RatingClient.js.map +1 -1
  259. package/dist/components/rating/index.d.ts +1 -1
  260. package/dist/components/rating/index.d.ts.map +1 -1
  261. package/dist/components/rating/index.js.map +1 -1
  262. package/dist/components/rating/types.d.ts +12 -1
  263. package/dist/components/rating/types.d.ts.map +1 -1
  264. package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
  265. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  266. package/dist/components/segmented-control/SegmentedControl.js +5 -1
  267. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  268. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
  269. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
  270. package/dist/components/segmented-control/client/SegmentedControlClient.js +5 -1
  271. package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
  272. package/dist/components/segmented-control/index.d.ts +1 -1
  273. package/dist/components/segmented-control/index.d.ts.map +1 -1
  274. package/dist/components/segmented-control/index.js.map +1 -1
  275. package/dist/components/segmented-control/types.d.ts +4 -4
  276. package/dist/components/segmented-control/types.d.ts.map +1 -1
  277. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  278. package/dist/components/slider/client/SliderClient.js +102 -20
  279. package/dist/components/slider/client/SliderClient.js.map +1 -1
  280. package/dist/components/slider/client/index.d.ts +1 -1
  281. package/dist/components/slider/client/index.d.ts.map +1 -1
  282. package/dist/components/slider/client/index.js.map +1 -1
  283. package/dist/components/slider/types.d.ts +46 -1
  284. package/dist/components/slider/types.d.ts.map +1 -1
  285. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  286. package/dist/components/spinner/Spinner.js +19 -3
  287. package/dist/components/spinner/Spinner.js.map +1 -1
  288. package/dist/components/spinner/index.d.ts +1 -1
  289. package/dist/components/spinner/index.d.ts.map +1 -1
  290. package/dist/components/spinner/index.js.map +1 -1
  291. package/dist/components/spinner/types.d.ts +11 -1
  292. package/dist/components/spinner/types.d.ts.map +1 -1
  293. package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
  294. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
  295. package/dist/components/table/client/TableColumnHeader.js +24 -2
  296. package/dist/components/table/client/TableColumnHeader.js.map +1 -1
  297. package/dist/components/table/client/TableSelection.d.ts +3 -3
  298. package/dist/components/table/client/TableSelection.d.ts.map +1 -1
  299. package/dist/components/table/client/TableSelection.js +6 -4
  300. package/dist/components/table/client/TableSelection.js.map +1 -1
  301. package/dist/components/table/client.d.ts +1 -1
  302. package/dist/components/table/client.d.ts.map +1 -1
  303. package/dist/components/table/client.js.map +1 -1
  304. package/dist/components/table/types.d.ts +17 -0
  305. package/dist/components/table/types.d.ts.map +1 -1
  306. package/dist/components/tabs/Tabs.d.ts +1 -1
  307. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  308. package/dist/components/tabs/Tabs.js +45 -1
  309. package/dist/components/tabs/Tabs.js.map +1 -1
  310. package/dist/components/tabs/index.d.ts +1 -1
  311. package/dist/components/tabs/index.d.ts.map +1 -1
  312. package/dist/components/tabs/index.js.map +1 -1
  313. package/dist/components/tabs/types.d.ts +29 -3
  314. package/dist/components/tabs/types.d.ts.map +1 -1
  315. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  316. package/dist/components/tags-input/TagsInput.js +54 -9
  317. package/dist/components/tags-input/TagsInput.js.map +1 -1
  318. package/dist/components/tags-input/index.d.ts +1 -1
  319. package/dist/components/tags-input/index.d.ts.map +1 -1
  320. package/dist/components/tags-input/index.js.map +1 -1
  321. package/dist/components/tags-input/types.d.ts +27 -4
  322. package/dist/components/tags-input/types.d.ts.map +1 -1
  323. package/dist/components/toast/Toast.d.ts +1 -1
  324. package/dist/components/toast/Toast.d.ts.map +1 -1
  325. package/dist/components/toast/Toast.js +123 -35
  326. package/dist/components/toast/Toast.js.map +1 -1
  327. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  328. package/dist/components/toast/ToastElements.js +73 -12
  329. package/dist/components/toast/ToastElements.js.map +1 -1
  330. package/dist/components/toast/index.d.ts +1 -1
  331. package/dist/components/toast/index.d.ts.map +1 -1
  332. package/dist/components/toast/index.js.map +1 -1
  333. package/dist/components/toast/types.d.ts +49 -16
  334. package/dist/components/toast/types.d.ts.map +1 -1
  335. package/dist/components/toggle/Toggle.d.ts +1 -1
  336. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  337. package/dist/components/toggle/Toggle.js +63 -29
  338. package/dist/components/toggle/Toggle.js.map +1 -1
  339. package/dist/components/toggle/index.d.ts +1 -1
  340. package/dist/components/toggle/index.d.ts.map +1 -1
  341. package/dist/components/toggle/index.js.map +1 -1
  342. package/dist/components/toggle/types.d.ts +31 -3
  343. package/dist/components/toggle/types.d.ts.map +1 -1
  344. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  345. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  346. package/dist/components/toggle-group/ToggleGroup.js +5 -1
  347. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  348. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
  349. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
  350. package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
  351. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  352. package/dist/components/toggle-group/index.d.ts +1 -1
  353. package/dist/components/toggle-group/index.d.ts.map +1 -1
  354. package/dist/components/toggle-group/index.js.map +1 -1
  355. package/dist/components/toggle-group/types.d.ts +4 -4
  356. package/dist/components/toggle-group/types.d.ts.map +1 -1
  357. package/dist/components/toolbar/Toolbar.d.ts +3 -12
  358. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  359. package/dist/components/toolbar/Toolbar.js +22 -2
  360. package/dist/components/toolbar/Toolbar.js.map +1 -1
  361. package/dist/components/toolbar/types.d.ts +5 -5
  362. package/dist/components/toolbar/types.d.ts.map +1 -1
  363. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  364. package/dist/components/virtual-scroll/VirtualScroll.js +53 -20
  365. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  366. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
  367. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
  368. package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
  369. package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
  370. package/dist/components/virtual-scroll/index.d.ts +1 -1
  371. package/dist/components/virtual-scroll/index.d.ts.map +1 -1
  372. package/dist/components/virtual-scroll/index.js.map +1 -1
  373. package/dist/components/virtual-scroll/types.d.ts +35 -2
  374. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  375. package/dist/components/virtual-scroll/types.js.map +1 -1
  376. package/dist/core/slot-props.d.ts +19 -0
  377. package/dist/core/slot-props.d.ts.map +1 -0
  378. package/dist/core/slot-props.js +59 -0
  379. package/dist/core/slot-props.js.map +1 -0
  380. package/dist/core/use-popover.d.ts +2 -1
  381. package/dist/core/use-popover.d.ts.map +1 -1
  382. package/dist/core/use-popover.js +3 -1
  383. package/dist/core/use-popover.js.map +1 -1
  384. package/dist/elements/choice/Choice.d.ts.map +1 -1
  385. package/dist/elements/choice/Choice.js +47 -7
  386. package/dist/elements/choice/Choice.js.map +1 -1
  387. package/dist/elements/choice/index.d.ts +1 -1
  388. package/dist/elements/choice/index.d.ts.map +1 -1
  389. package/dist/elements/choice/index.js.map +1 -1
  390. package/dist/elements/choice/types.d.ts +25 -10
  391. package/dist/elements/choice/types.d.ts.map +1 -1
  392. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  393. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  394. package/dist/styles/index.css +1 -1
  395. package/dist/styles/tailwind.css +17 -16
  396. package/package.json +1 -1
  397. package/skills/uiify/references/elements/accordion.md +1 -1
  398. package/skills/uiify/references/elements/breadcrumb.md +1 -0
  399. package/skills/uiify/references/elements/checkbox.md +1 -1
  400. package/skills/uiify/references/elements/color-picker.md +1 -1
  401. package/skills/uiify/references/elements/combobox.md +1 -1
  402. package/skills/uiify/references/elements/context-menu.md +1 -1
  403. package/skills/uiify/references/elements/dropdown-menu.md +1 -1
  404. package/skills/uiify/references/elements/form-error-summary.md +5 -0
  405. package/skills/uiify/references/elements/pagination.md +1 -1
  406. package/skills/uiify/references/elements/radio-group.md +1 -0
  407. package/skills/uiify/references/elements/rating.md +1 -1
  408. package/skills/uiify/references/elements/segmented-control.md +1 -0
  409. package/skills/uiify/references/elements/spinner.md +1 -1
  410. package/skills/uiify/references/elements/table.md +1 -1
  411. package/skills/uiify/references/elements/tabs.md +1 -1
  412. package/skills/uiify/references/elements/tags-input.md +1 -1
  413. package/skills/uiify/references/elements/toast.md +1 -0
  414. package/skills/uiify/references/elements/toggle-group.md +1 -0
@@ -8,7 +8,9 @@ function RadioGroup({
8
8
  disabled = false,
9
9
  orientation = "vertical",
10
10
  className,
11
- "aria-label": ariaLabel
11
+ slotProps,
12
+ "aria-label": ariaLabel,
13
+ ...rootProps
12
14
  }) {
13
15
  const resolvedItems = items.map((item) => ({
14
16
  ...item,
@@ -19,6 +21,7 @@ function RadioGroup({
19
21
  {
20
22
  ...className !== void 0 ? { className } : {},
21
23
  ...name !== void 0 ? { name } : {},
24
+ rootProps,
22
25
  id,
23
26
  items: resolvedItems,
24
27
  isChecked: (item) => item.value === defaultValue,
@@ -26,6 +29,7 @@ function RadioGroup({
26
29
  kind: "single",
27
30
  namespace: "radio-group",
28
31
  orientation,
32
+ ...slotProps !== void 0 ? { slotProps } : {},
29
33
  rootAttributes: { "aria-label": ariaLabel, "data-disabled": disabled ? "" : void 0 }
30
34
  }
31
35
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/radio-group/RadioGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { RadioGroupItem, RadioGroupProps } from \"./types.js\";\n\nexport function RadioGroup({\n id,\n items,\n defaultValue,\n name,\n disabled = false,\n orientation = \"vertical\",\n className,\n \"aria-label\": ariaLabel,\n}: RadioGroupProps): ReactElement {\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<RadioGroupItem>\n {...(className !== undefined ? { className } : {})}\n {...(name !== undefined ? { name } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === defaultValue}\n itemInputClassName={(item) => item.className}\n kind=\"single\"\n namespace=\"radio-group\"\n orientation={orientation}\n rootAttributes={{ \"aria-label\": ariaLabel, \"data-disabled\": disabled ? \"\" : undefined }}\n />\n );\n}\nRadioGroup.displayName = \"RadioGroup\";\n"],"mappings":"AAoBI;AAnBJ,SAAS,mBAAmB;AAGrB,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AAAA,EACA,cAAc;AAChB,GAAkC;AAChC,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,MAC/C,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,MACtC;AAAA,MACA,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,KAAK,UAAU;AAAA,MACpC,oBAAoB,CAAC,SAAS,KAAK;AAAA,MACnC,MAAK;AAAA,MACL,WAAU;AAAA,MACV;AAAA,MACA,gBAAgB,EAAE,cAAc,WAAW,iBAAiB,WAAW,KAAK,OAAU;AAAA;AAAA,EACxF;AAEJ;AACA,WAAW,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/radio-group/RadioGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { RadioGroupItem, RadioGroupProps } from \"./types.js\";\n\nexport function RadioGroup({\n id,\n items,\n defaultValue,\n name,\n disabled = false,\n orientation = \"vertical\",\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n ...rootProps\n}: RadioGroupProps): ReactElement {\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<RadioGroupItem>\n {...(className !== undefined ? { className } : {})}\n {...(name !== undefined ? { name } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === defaultValue}\n itemInputClassName={(item) => item.className}\n kind=\"single\"\n namespace=\"radio-group\"\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{ \"aria-label\": ariaLabel, \"data-disabled\": disabled ? \"\" : undefined }}\n />\n );\n}\nRadioGroup.displayName = \"RadioGroup\";\n"],"mappings":"AAsBI;AArBJ,SAAS,mBAAmB;AAGrB,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAAkC;AAChC,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,MAC/C,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,MACtC;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,KAAK,UAAU;AAAA,MACpC,oBAAoB,CAAC,SAAS,KAAK;AAAA,MACnC,MAAK;AAAA,MACL,WAAU;AAAA,MACV;AAAA,MACC,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD,gBAAgB,EAAE,cAAc,WAAW,iBAAiB,WAAW,KAAK,OAAU;AAAA;AAAA,EACxF;AAEJ;AACA,WAAW,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { RadioGroup } from "./RadioGroup.js";
2
- export type { RadioGroupItem, RadioGroupProps } from "./types.js";
2
+ export type { RadioGroupItem, RadioGroupProps, RadioGroupSlotProps } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/radio-group/index.ts"],"sourcesContent":["export { RadioGroup } from \"./RadioGroup.js\";\nexport type { RadioGroupItem, RadioGroupProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,kBAAkB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/radio-group/index.ts"],"sourcesContent":["export { RadioGroup } from \"./RadioGroup.js\";\nexport type { RadioGroupItem, RadioGroupProps, RadioGroupSlotProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,kBAAkB;","names":[]}
@@ -1,11 +1,13 @@
1
1
  import type { ReactNode } from "react";
2
+ import type { ChoiceGroupRootProps, ChoiceOptionSlotProps } from "../internal/choice-family/types.js";
3
+ export type RadioGroupSlotProps = ChoiceOptionSlotProps;
2
4
  export interface RadioGroupItem {
3
5
  readonly value: string;
4
6
  readonly label: ReactNode;
5
7
  readonly disabled?: boolean;
6
8
  readonly className?: string;
7
9
  }
8
- export interface RadioGroupProps {
10
+ export interface RadioGroupProps extends ChoiceGroupRootProps {
9
11
  readonly id: string;
10
12
  readonly items: readonly RadioGroupItem[];
11
13
  readonly defaultValue?: string;
@@ -13,6 +15,6 @@ export interface RadioGroupProps {
13
15
  readonly disabled?: boolean;
14
16
  readonly orientation?: "horizontal" | "vertical";
15
17
  readonly className?: string;
16
- readonly "aria-label"?: string;
18
+ readonly slotProps?: RadioGroupSlotProps;
17
19
  }
18
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C"}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { RatingProps } from "./types.js";
3
- export declare function Rating({ id, defaultValue, max, readOnly, disabled, className, "aria-label": ariaLabel, }: RatingProps): ReactElement;
3
+ export declare function Rating({ id, defaultValue, max, readOnly, disabled, className, slotProps, "aria-label": ariaLabel, ...rootProps }: RatingProps): ReactElement;
4
4
  export declare namespace Rating {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../../../src/components/rating/Rating.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,YAAgB,EAChB,GAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,WAAW,GAAG,YAAY,CAiB5B;yBAzBe,MAAM"}
1
+ {"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../../../src/components/rating/Rating.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,YAAgB,EAChB,GAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,GAAG,SAAS,EACb,EAAE,WAAW,GAAG,YAAY,CAmB5B;yBA7Be,MAAM"}
@@ -8,7 +8,9 @@ function Rating({
8
8
  readOnly = false,
9
9
  disabled = false,
10
10
  className,
11
- "aria-label": ariaLabel
11
+ slotProps,
12
+ "aria-label": ariaLabel,
13
+ ...rootProps
12
14
  }) {
13
15
  return /* @__PURE__ */ jsx(
14
16
  ChoiceGroup,
@@ -20,6 +22,8 @@ function Rating({
20
22
  kind: "single",
21
23
  namespace: "rating",
22
24
  orientation: "horizontal",
25
+ rootProps,
26
+ ...slotProps ? { slotProps } : {},
23
27
  rootAttributes: {
24
28
  "aria-label": ariaLabel,
25
29
  "data-disabled": disabled ? "" : void 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/rating/Rating.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ChoiceItem } from \"../internal/choice-family/types.js\";\nimport { buildRatingItems } from \"./rating-items.js\";\nimport type { RatingProps } from \"./types.js\";\n\nexport function Rating({\n id,\n defaultValue = 0,\n max = 5,\n readOnly = false,\n disabled = false,\n className,\n \"aria-label\": ariaLabel,\n}: RatingProps): ReactElement {\n return (\n <ChoiceGroup<ChoiceItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={buildRatingItems(max, disabled || readOnly)}\n isChecked={(item) => Number(item.value) === defaultValue}\n kind=\"single\"\n namespace=\"rating\"\n orientation=\"horizontal\"\n rootAttributes={{\n \"aria-label\": ariaLabel,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n }}\n />\n );\n}\nRating.displayName = \"Rating\";\n"],"mappings":"AAgBI;AAfJ,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AAG1B,SAAS,OAAO;AAAA,EACrB;AAAA,EACA,eAAe;AAAA,EACf,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA,cAAc;AAChB,GAA8B;AAC5B,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO,iBAAiB,KAAK,YAAY,QAAQ;AAAA,MACjD,WAAW,CAAC,SAAS,OAAO,KAAK,KAAK,MAAM;AAAA,MAC5C,MAAK;AAAA,MACL,WAAU;AAAA,MACV,aAAY;AAAA,MACZ,gBAAgB;AAAA,QACd,cAAc;AAAA,QACd,iBAAiB,WAAW,KAAK;AAAA,QACjC,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,OAAO,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/rating/Rating.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ChoiceItem } from \"../internal/choice-family/types.js\";\nimport { buildRatingItems } from \"./rating-items.js\";\nimport type { RatingProps } from \"./types.js\";\n\nexport function Rating({\n id,\n defaultValue = 0,\n max = 5,\n readOnly = false,\n disabled = false,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n ...rootProps\n}: RatingProps): ReactElement {\n return (\n <ChoiceGroup<ChoiceItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={buildRatingItems(max, disabled || readOnly)}\n isChecked={(item) => Number(item.value) === defaultValue}\n kind=\"single\"\n namespace=\"rating\"\n orientation=\"horizontal\"\n rootProps={rootProps}\n {...(slotProps ? { slotProps } : {})}\n rootAttributes={{\n \"aria-label\": ariaLabel,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n }}\n />\n );\n}\nRating.displayName = \"Rating\";\n"],"mappings":"AAkBI;AAjBJ,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AAG1B,SAAS,OAAO;AAAA,EACrB;AAAA,EACA,eAAe;AAAA,EACf,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAA8B;AAC5B,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO,iBAAiB,KAAK,YAAY,QAAQ;AAAA,MACjD,WAAW,CAAC,SAAS,OAAO,KAAK,KAAK,MAAM;AAAA,MAC5C,MAAK;AAAA,MACL,WAAU;AAAA,MACV,aAAY;AAAA,MACZ;AAAA,MACC,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAClC,gBAAgB;AAAA,QACd,cAAc;AAAA,QACd,iBAAiB,WAAW,KAAK;AAAA,QACjC,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,OAAO,cAAc;","names":[]}
@@ -9,7 +9,7 @@ import type { RatingClientProps } from "../types.js";
9
9
  * genuinely uncontrolled DOM nodes rather than teaching ChoiceGroup a
10
10
  * React-controlled `checked` mode.
11
11
  */
12
- export declare function RatingClient({ id, value: controlledValue, defaultValue, onValueChange, max, readOnly, disabled, className, "aria-label": ariaLabel, }: RatingClientProps): ReactElement;
12
+ export declare function RatingClient({ id, value: controlledValue, defaultValue, onValueChange, max, readOnly, disabled, className, slotProps, "aria-label": ariaLabel, ...rootProps }: RatingClientProps): ReactElement;
13
13
  export declare namespace RatingClient {
14
14
  var displayName: string;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RatingClient.d.ts","sourceRoot":"","sources":["../../../../src/components/rating/client/RatingClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EAAE,eAAe,EACtB,YAAgB,EAChB,aAAa,EACb,GAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,iBAAiB,GAAG,YAAY,CAyBlC;yBAnCe,YAAY"}
1
+ {"version":3,"file":"RatingClient.d.ts","sourceRoot":"","sources":["../../../../src/components/rating/client/RatingClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EAAE,eAAe,EACtB,YAAgB,EAChB,aAAa,EACb,GAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,GAAG,SAAS,EACb,EAAE,iBAAiB,GAAG,YAAY,CA2BlC;yBAvCe,YAAY"}
@@ -12,7 +12,9 @@ function RatingClient({
12
12
  readOnly = false,
13
13
  disabled = false,
14
14
  className,
15
- "aria-label": ariaLabel
15
+ slotProps,
16
+ "aria-label": ariaLabel,
17
+ ...rootProps
16
18
  }) {
17
19
  const [value, setValue] = useControllableState({
18
20
  defaultValue,
@@ -31,6 +33,8 @@ function RatingClient({
31
33
  namespace: "rating",
32
34
  onItemChange: (item) => setValue(Number(item.value)),
33
35
  orientation: "horizontal",
36
+ rootProps,
37
+ ...slotProps ? { slotProps } : {},
34
38
  rootAttributes: {
35
39
  "aria-label": ariaLabel,
36
40
  "data-disabled": disabled ? "" : void 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/rating/client/RatingClient.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 { ChoiceItem } from \"../../internal/choice-family/types.js\";\nimport { buildRatingItems } from \"../rating-items.js\";\nimport type { RatingClientProps } from \"../types.js\";\n\n/**\n * Controlled entry point. The default `Rating` (server, Tier 0) covers the\n * common uncontrolled case with zero client JS — hover preview and\n * persisted selection are pure CSS (`:checked`/`:hover` sibling rules). This entry only exists\n * for `value`/`onValueChange`:\n * remounting on every value change (via `key`) keeps the underlying radios\n * genuinely uncontrolled DOM nodes rather than teaching ChoiceGroup a\n * React-controlled `checked` mode.\n */\nexport function RatingClient({\n id,\n value: controlledValue,\n defaultValue = 0,\n onValueChange,\n max = 5,\n readOnly = false,\n disabled = false,\n className,\n \"aria-label\": ariaLabel,\n}: RatingClientProps): ReactElement {\n const [value, setValue] = useControllableState({\n defaultValue,\n onChange: onValueChange,\n value: controlledValue,\n });\n\n return (\n <ChoiceGroup<ChoiceItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={buildRatingItems(max, disabled || readOnly)}\n isChecked={(item) => Number(item.value) === value}\n key={value}\n kind=\"single\"\n namespace=\"rating\"\n onItemChange={(item) => setValue(Number(item.value))}\n orientation=\"horizontal\"\n rootAttributes={{\n \"aria-label\": ariaLabel,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n }}\n />\n );\n}\nRatingClient.displayName = \"RatingClient\";\n"],"mappings":";AAoCI;AAjCJ,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AAY1B,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA,EACP,eAAe;AAAA,EACf;AAAA,EACA,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA,cAAc;AAChB,GAAoC;AAClC,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAqB;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,IACV,OAAO;AAAA,EACT,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO,iBAAiB,KAAK,YAAY,QAAQ;AAAA,MACjD,WAAW,CAAC,SAAS,OAAO,KAAK,KAAK,MAAM;AAAA,MAC5C,KAAK;AAAA,MACL,MAAK;AAAA,MACL,WAAU;AAAA,MACV,cAAc,CAAC,SAAS,SAAS,OAAO,KAAK,KAAK,CAAC;AAAA,MACnD,aAAY;AAAA,MACZ,gBAAgB;AAAA,QACd,cAAc;AAAA,QACd,iBAAiB,WAAW,KAAK;AAAA,QACjC,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,aAAa,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/rating/client/RatingClient.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 { ChoiceItem } from \"../../internal/choice-family/types.js\";\nimport { buildRatingItems } from \"../rating-items.js\";\nimport type { RatingClientProps } from \"../types.js\";\n\n/**\n * Controlled entry point. The default `Rating` (server, Tier 0) covers the\n * common uncontrolled case with zero client JS — hover preview and\n * persisted selection are pure CSS (`:checked`/`:hover` sibling rules). This entry only exists\n * for `value`/`onValueChange`:\n * remounting on every value change (via `key`) keeps the underlying radios\n * genuinely uncontrolled DOM nodes rather than teaching ChoiceGroup a\n * React-controlled `checked` mode.\n */\nexport function RatingClient({\n id,\n value: controlledValue,\n defaultValue = 0,\n onValueChange,\n max = 5,\n readOnly = false,\n disabled = false,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n ...rootProps\n}: RatingClientProps): ReactElement {\n const [value, setValue] = useControllableState({\n defaultValue,\n onChange: onValueChange,\n value: controlledValue,\n });\n\n return (\n <ChoiceGroup<ChoiceItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={buildRatingItems(max, disabled || readOnly)}\n isChecked={(item) => Number(item.value) === value}\n key={value}\n kind=\"single\"\n namespace=\"rating\"\n onItemChange={(item) => setValue(Number(item.value))}\n orientation=\"horizontal\"\n rootProps={rootProps}\n {...(slotProps ? { slotProps } : {})}\n rootAttributes={{\n \"aria-label\": ariaLabel,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n }}\n />\n );\n}\nRatingClient.displayName = \"RatingClient\";\n"],"mappings":";AAsCI;AAnCJ,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AAY1B,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA,EACP,eAAe;AAAA,EACf;AAAA,EACA,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAAoC;AAClC,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAqB;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,IACV,OAAO;AAAA,EACT,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO,iBAAiB,KAAK,YAAY,QAAQ;AAAA,MACjD,WAAW,CAAC,SAAS,OAAO,KAAK,KAAK,MAAM;AAAA,MAC5C,KAAK;AAAA,MACL,MAAK;AAAA,MACL,WAAU;AAAA,MACV,cAAc,CAAC,SAAS,SAAS,OAAO,KAAK,KAAK,CAAC;AAAA,MACnD,aAAY;AAAA,MACZ;AAAA,MACC,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAClC,gBAAgB;AAAA,QACd,cAAc;AAAA,QACd,iBAAiB,WAAW,KAAK;AAAA,QACjC,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,aAAa,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { Rating } from "./Rating.js";
2
- export type { RatingProps } from "./types.js";
2
+ export type { RatingOwnProps, RatingProps, RatingSlotProps } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/rating/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/rating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/rating/index.ts"],"sourcesContent":["export { Rating } from \"./Rating.js\";\nexport type { RatingProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/rating/index.ts"],"sourcesContent":["export { Rating } from \"./Rating.js\";\nexport type { RatingOwnProps, RatingProps, RatingSlotProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
@@ -1,4 +1,7 @@
1
- export interface RatingProps {
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import type { ConsumerDataAttributes } from "../../core/slot-props.js";
3
+ import type { ChoiceOptionSlotProps } from "../internal/choice-family/types.js";
4
+ export interface RatingOwnProps {
2
5
  readonly id: string;
3
6
  readonly defaultValue?: number;
4
7
  readonly max?: number;
@@ -6,7 +9,15 @@ export interface RatingProps {
6
9
  readonly disabled?: boolean;
7
10
  readonly className?: string;
8
11
  readonly "aria-label"?: string;
12
+ /** Props for each generated item, radio input, or label. Values target one rating item. */
13
+ readonly slotProps?: RatingSlotProps;
9
14
  }
15
+ export type RatingSlotProps = ChoiceOptionSlotProps;
16
+ export type RatingProps = RatingOwnProps & Omit<ComponentPropsWithRef<"div">, keyof RatingOwnProps | "children" | "dangerouslySetInnerHTML" | "data-orientation" | "data-part" | "data-uiify-choice" | "data-uiify-rating"> & ConsumerDataAttributes & {
17
+ readonly "data-orientation"?: never;
18
+ readonly "data-uiify-choice"?: never;
19
+ readonly "data-uiify-rating"?: never;
20
+ };
10
21
  export interface RatingClientProps extends RatingProps {
11
22
  readonly value?: number;
12
23
  readonly onValueChange?: (value: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/rating/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/rating/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,cAAc,GACtC,IAAI,CACF,qBAAqB,CAAC,KAAK,CAAC,EAC1B,MAAM,cAAc,GACpB,UAAU,GACV,yBAAyB,GACzB,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,mBAAmB,CACtB,GACD,sBAAsB,GAAG;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;CACtC,CAAC;AAEJ,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD"}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { SegmentedControlProps } from "./types.js";
3
- export declare function SegmentedControl({ id, items, defaultValue, disabled, orientation, fullWidth, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: SegmentedControlProps): ReactElement;
3
+ export declare function SegmentedControl({ id, items, defaultValue, disabled, orientation, fullWidth, className, slotProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rootProps }: SegmentedControlProps): ReactElement;
4
4
  export declare namespace SegmentedControl {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,SAAiB,EACjB,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,qBAAqB,GAAG,YAAY,CAyBtC;yBAnCe,gBAAgB"}
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,SAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,SAAS,EACb,EAAE,qBAAqB,GAAG,YAAY,CA2BtC;yBAvCe,gBAAgB"}
@@ -8,8 +8,10 @@ function SegmentedControl({
8
8
  orientation = "horizontal",
9
9
  fullWidth = false,
10
10
  className,
11
+ slotProps,
11
12
  "aria-label": ariaLabel,
12
- "aria-labelledby": ariaLabelledBy
13
+ "aria-labelledby": ariaLabelledBy,
14
+ ...rootProps
13
15
  }) {
14
16
  const resolvedItems = items.map((item) => ({
15
17
  ...item,
@@ -19,6 +21,7 @@ function SegmentedControl({
19
21
  ChoiceGroup,
20
22
  {
21
23
  ...className !== void 0 ? { className } : {},
24
+ rootProps,
22
25
  id,
23
26
  items: resolvedItems,
24
27
  isChecked: (item) => item.value === defaultValue,
@@ -26,6 +29,7 @@ function SegmentedControl({
26
29
  namespace: "segmented-control",
27
30
  labelAttributes: { "data-uiify-button": "", "data-variant": "ghost", "data-size": "sm" },
28
31
  orientation,
32
+ ...slotProps !== void 0 ? { slotProps } : {},
29
33
  rootAttributes: {
30
34
  role: "radiogroup",
31
35
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/segmented-control/SegmentedControl.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { SegmentedControlItem, SegmentedControlProps } from \"./types.js\";\n\nexport function SegmentedControl({\n id,\n items,\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n fullWidth = false,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: SegmentedControlProps): ReactElement {\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<SegmentedControlItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === defaultValue}\n kind=\"single\"\n namespace=\"segmented-control\"\n labelAttributes={{ \"data-uiify-button\": \"\", \"data-variant\": \"ghost\", \"data-size\": \"sm\" }}\n orientation={orientation}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-full-width\": fullWidth ? \"\" : undefined,\n }}\n />\n );\n}\nSegmentedControl.displayName = \"SegmentedControl\";\n"],"mappings":"AAqBI;AApBJ,SAAS,mBAAmB;AAGrB,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAAwC;AACtC,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,KAAK,UAAU;AAAA,MACpC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,iBAAiB,EAAE,qBAAqB,IAAI,gBAAgB,SAAS,aAAa,KAAK;AAAA,MACvF;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,QACjC,mBAAmB,YAAY,KAAK;AAAA,MACtC;AAAA;AAAA,EACF;AAEJ;AACA,iBAAiB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/segmented-control/SegmentedControl.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { SegmentedControlItem, SegmentedControlProps } from \"./types.js\";\n\nexport function SegmentedControl({\n id,\n items,\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n fullWidth = false,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...rootProps\n}: SegmentedControlProps): ReactElement {\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<SegmentedControlItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === defaultValue}\n kind=\"single\"\n namespace=\"segmented-control\"\n labelAttributes={{ \"data-uiify-button\": \"\", \"data-variant\": \"ghost\", \"data-size\": \"sm\" }}\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 \"data-full-width\": fullWidth ? \"\" : undefined,\n }}\n />\n );\n}\nSegmentedControl.displayName = \"SegmentedControl\";\n"],"mappings":"AAuBI;AAtBJ,SAAS,mBAAmB;AAGrB,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,GAAG;AACL,GAAwC;AACtC,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,KAAK,UAAU;AAAA,MACpC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,iBAAiB,EAAE,qBAAqB,IAAI,gBAAgB,SAAS,aAAa,KAAK;AAAA,MACvF;AAAA,MACC,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,QACjC,mBAAmB,YAAY,KAAK;AAAA,MACtC;AAAA;AAAA,EACF;AAEJ;AACA,iBAAiB,cAAc;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { SegmentedControlClientProps } from "../types.js";
3
- export declare function SegmentedControlClient({ id, items, value: controlledValue, defaultValue, onValueChange, disabled, orientation, fullWidth, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: SegmentedControlClientProps): ReactElement;
3
+ export declare function SegmentedControlClient({ id, items, value: controlledValue, defaultValue, onValueChange, disabled, orientation, fullWidth, className, slotProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rootProps }: SegmentedControlClientProps): ReactElement;
4
4
  export declare namespace SegmentedControlClient {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControlClient.d.ts","sourceRoot":"","sources":["../../../../src/components/segmented-control/client/SegmentedControlClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,2BAA2B,EAAwB,MAAM,aAAa,CAAC;AAErF,wBAAgB,sBAAsB,CAAC,EACrC,EAAE,EACF,KAAK,EACL,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,SAAiB,EACjB,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,2BAA2B,GAAG,YAAY,CAkC5C;yBA9Ce,sBAAsB"}
1
+ {"version":3,"file":"SegmentedControlClient.d.ts","sourceRoot":"","sources":["../../../../src/components/segmented-control/client/SegmentedControlClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,2BAA2B,EAAwB,MAAM,aAAa,CAAC;AAErF,wBAAgB,sBAAsB,CAAC,EACrC,EAAE,EACF,KAAK,EACL,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,SAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,SAAS,EACb,EAAE,2BAA2B,GAAG,YAAY,CAoC5C;yBAlDe,sBAAsB"}
@@ -12,8 +12,10 @@ function SegmentedControlClient({
12
12
  orientation = "horizontal",
13
13
  fullWidth = false,
14
14
  className,
15
+ slotProps,
15
16
  "aria-label": ariaLabel,
16
- "aria-labelledby": ariaLabelledBy
17
+ "aria-labelledby": ariaLabelledBy,
18
+ ...rootProps
17
19
  }) {
18
20
  const [selectedValue, setSelectedValue] = useControllableState({
19
21
  defaultValue,
@@ -30,6 +32,7 @@ function SegmentedControlClient({
30
32
  ChoiceGroup,
31
33
  {
32
34
  ...className !== void 0 ? { className } : {},
35
+ rootProps,
33
36
  id,
34
37
  items: resolvedItems,
35
38
  isChecked: (item) => item.value === selectedValue,
@@ -39,6 +42,7 @@ function SegmentedControlClient({
39
42
  labelAttributes: { "data-uiify-button": "", "data-variant": "ghost", "data-size": "sm" },
40
43
  onItemChange: (item) => setSelectedValue(item.value),
41
44
  orientation,
45
+ ...slotProps !== void 0 ? { slotProps } : {},
42
46
  rootAttributes: {
43
47
  role: "radiogroup",
44
48
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/segmented-control/client/SegmentedControlClient.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 { SegmentedControlClientProps, SegmentedControlItem } from \"../types.js\";\n\nexport function SegmentedControlClient({\n id,\n items,\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n fullWidth = false,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: SegmentedControlClientProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue,\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: controlledValue,\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<SegmentedControlItem>\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=\"segmented-control\"\n labelAttributes={{ \"data-uiify-button\": \"\", \"data-variant\": \"ghost\", \"data-size\": \"sm\" }}\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 \"data-full-width\": fullWidth ? \"\" : undefined,\n }}\n />\n );\n}\n\nSegmentedControlClient.displayName = \"SegmentedControlClient\";\n"],"mappings":";AAiCI;AA9BJ,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAGrB,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAA8C;AAC5C,QAAM,CAAC,eAAe,gBAAgB,IAAI,qBAAyC;AAAA,IACjF;AAAA,IACA,UAAU,CAAC,cAAc;AACvB,UAAI,cAAc,OAAW,iBAAgB,SAAS;AAAA,IACxD;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AACD,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,KAAK,UAAU;AAAA,MACpC,cAAc,oBAAoB;AAAA,MAClC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,iBAAiB,EAAE,qBAAqB,IAAI,gBAAgB,SAAS,aAAa,KAAK;AAAA,MACvF,cAAc,CAAC,SAAS,iBAAiB,KAAK,KAAK;AAAA,MACnD;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,QACjC,mBAAmB,YAAY,KAAK;AAAA,MACtC;AAAA;AAAA,EACF;AAEJ;AAEA,uBAAuB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/segmented-control/client/SegmentedControlClient.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 { SegmentedControlClientProps, SegmentedControlItem } from \"../types.js\";\n\nexport function SegmentedControlClient({\n id,\n items,\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n fullWidth = false,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...rootProps\n}: SegmentedControlClientProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue,\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: controlledValue,\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<SegmentedControlItem>\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=\"segmented-control\"\n labelAttributes={{ \"data-uiify-button\": \"\", \"data-variant\": \"ghost\", \"data-size\": \"sm\" }}\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 \"data-full-width\": fullWidth ? \"\" : undefined,\n }}\n />\n );\n}\n\nSegmentedControlClient.displayName = \"SegmentedControlClient\";\n"],"mappings":";AAmCI;AAhCJ,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAGrB,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,GAAG;AACL,GAA8C;AAC5C,QAAM,CAAC,eAAe,gBAAgB,IAAI,qBAAyC;AAAA,IACjF;AAAA,IACA,UAAU,CAAC,cAAc;AACvB,UAAI,cAAc,OAAW,iBAAgB,SAAS;AAAA,IACxD;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AACD,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,KAAK,UAAU;AAAA,MACpC,cAAc,oBAAoB;AAAA,MAClC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,iBAAiB,EAAE,qBAAqB,IAAI,gBAAgB,SAAS,aAAa,KAAK;AAAA,MACvF,cAAc,CAAC,SAAS,iBAAiB,KAAK,KAAK;AAAA,MACnD;AAAA,MACC,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,QACjC,mBAAmB,YAAY,KAAK;AAAA,MACtC;AAAA;AAAA,EACF;AAEJ;AAEA,uBAAuB,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { SegmentedControl } from "./SegmentedControl.js";
2
- export type { SegmentedControlClientProps, SegmentedControlItem, SegmentedControlProps, } from "./types.js";
2
+ export type { SegmentedControlClientProps, SegmentedControlItem, SegmentedControlProps, SegmentedControlSlotProps, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/segmented-control/index.ts"],"sourcesContent":["export { SegmentedControl } from \"./SegmentedControl.js\";\nexport type {\n SegmentedControlClientProps,\n SegmentedControlItem,\n SegmentedControlProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,wBAAwB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/segmented-control/index.ts"],"sourcesContent":["export { SegmentedControl } from \"./SegmentedControl.js\";\nexport type {\n SegmentedControlClientProps,\n SegmentedControlItem,\n SegmentedControlProps,\n SegmentedControlSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,wBAAwB;","names":[]}
@@ -1,7 +1,8 @@
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 SegmentedControlSlotProps = ChoiceOptionSlotProps;
2
3
  export interface SegmentedControlItem extends ChoiceItem {
3
4
  }
4
- export interface SegmentedControlProps {
5
+ export interface SegmentedControlProps extends ChoiceGroupRootProps {
5
6
  readonly id: string;
6
7
  readonly items: readonly SegmentedControlItem[];
7
8
  readonly defaultValue?: string;
@@ -9,8 +10,7 @@ export interface SegmentedControlProps {
9
10
  readonly orientation?: ChoiceOrientation;
10
11
  readonly fullWidth?: boolean;
11
12
  readonly className?: string;
12
- readonly "aria-label"?: string;
13
- readonly "aria-labelledby"?: string;
13
+ readonly slotProps?: SegmentedControlSlotProps;
14
14
  }
15
15
  export interface SegmentedControlClientProps extends SegmentedControlProps {
16
16
  readonly value?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,MAAM,WAAW,oBAAqB,SAAQ,UAAU;CAAG;AAE3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,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,2BAA4B,SAAQ,qBAAqB;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE9D,MAAM,WAAW,oBAAqB,SAAQ,UAAU;CAAG;AAE3D,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SliderClient.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/client/SliderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EAEX,YAAY,EAEb,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,aAAa,CAAC;AAoDpF,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC1D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CAoLrB;yBAtLe,YAAY"}
1
+ {"version":3,"file":"SliderClient.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/client/SliderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EAEX,YAAY,EAEb,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAmErB,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC1D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CA4OrB;yBA9Oe,YAAY"}
@@ -1,9 +1,15 @@
1
1
  "use client";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { createElement } from "react";
3
4
  import { useEffect, useState } from "react";
4
5
  import { useControllableState } from "@gunkin/uiify/hooks";
5
6
  import { useRenderElement } from "@gunkin/uiify/core/render";
6
7
  import { resolveDirection } from "@gunkin/uiify/core/text-direction";
8
+ import {
9
+ mergeRepeatedSlotProps,
10
+ omitProps,
11
+ resolveRepeatedSlotProps
12
+ } from "../../../core/slot-props.js";
7
13
  import { getSliderStops, snapSliderToStops } from "../slider-values.js";
8
14
  const DEFAULT_SLIDER_LABELS = {
9
15
  minimum: "Minimum value",
@@ -31,6 +37,16 @@ function position(value, min, max) {
31
37
  function marksInRange(marks, min, max) {
32
38
  return marks.filter(({ value }) => Number.isFinite(value) && value >= min && value <= max);
33
39
  }
40
+ function resolveMarkSlotProps(slotProps, markValue, index) {
41
+ const { byItemValue, byItemIndex, ...commonProps } = slotProps ?? {};
42
+ return omitProps(
43
+ mergeRepeatedSlotProps(
44
+ mergeRepeatedSlotProps(commonProps, byItemValue?.[String(markValue)]),
45
+ byItemIndex?.[index]
46
+ ),
47
+ ["children", "dangerouslySetInnerHTML", "data-part"]
48
+ );
49
+ }
34
50
  function SliderClient(props) {
35
51
  const {
36
52
  as,
@@ -45,6 +61,7 @@ function SliderClient(props) {
45
61
  orientation = "horizontal",
46
62
  marks = [],
47
63
  labels,
64
+ slotProps,
48
65
  thumbLabels,
49
66
  "aria-label": ariaLabel,
50
67
  "aria-labelledby": ariaLabelledBy,
@@ -108,12 +125,33 @@ function SliderClient(props) {
108
125
  const nextValue = availableStops[currentIndex + direction];
109
126
  if (nextValue !== void 0) setThumbValue(index, nextValue);
110
127
  };
128
+ const thumbKeys = isRange ? ["minimum", "maximum"] : ["value"];
111
129
  const inputNodes = values.map((currentValue, index) => {
130
+ const thumbKey = thumbKeys[index];
131
+ const inputProps = resolveRepeatedSlotProps(slotProps?.input, thumbKey, [
132
+ "aria-label",
133
+ "aria-labelledby",
134
+ "aria-orientation",
135
+ "data-disabled",
136
+ "data-orientation",
137
+ "data-part",
138
+ "data-state",
139
+ "defaultChecked",
140
+ "defaultValue",
141
+ "disabled",
142
+ "max",
143
+ "min",
144
+ "step",
145
+ "type",
146
+ "value"
147
+ ]);
112
148
  const inputLabel = isRange ? thumbLabels?.[index] ?? (index === 0 ? accessibleLabels.minimum : accessibleLabels.maximum) : ariaLabel;
113
149
  const inputLabelledBy = isRange ? void 0 : ariaLabelledBy;
114
- return /* @__PURE__ */ jsx(
150
+ return /* @__PURE__ */ createElement(
115
151
  "input",
116
152
  {
153
+ ...inputProps,
154
+ key: index,
117
155
  type: "range",
118
156
  min,
119
157
  max,
@@ -127,10 +165,15 @@ function SliderClient(props) {
127
165
  "data-state": String(currentValue),
128
166
  "data-orientation": orientation,
129
167
  "data-disabled": disabled ? "" : void 0,
130
- onChange: (event) => handleChange(index, event),
131
- onKeyDown: (event) => handleKeyDown(index, event)
132
- },
133
- index
168
+ onChange: (event) => {
169
+ inputProps.onChange?.(event);
170
+ if (!event.defaultPrevented) handleChange(index, event);
171
+ },
172
+ onKeyDown: (event) => {
173
+ inputProps.onKeyDown?.(event);
174
+ if (!event.defaultPrevented) handleKeyDown(index, event);
175
+ }
176
+ }
134
177
  );
135
178
  });
136
179
  return useRenderElement({
@@ -150,21 +193,60 @@ function SliderClient(props) {
150
193
  "data-enhanced": enhanced ? "" : void 0,
151
194
  style: rootStyle,
152
195
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
153
- /* @__PURE__ */ jsxs("div", { "data-part": "track", "aria-hidden": "true", children: [
154
- /* @__PURE__ */ jsx("span", { "data-part": "range" }),
155
- visibleMarks.map((mark) => /* @__PURE__ */ jsx(
156
- "span",
157
- {
158
- "data-part": "mark",
159
- style: {
160
- "--uiify-slider-position": String(position(mark.value, min, max)) + "%"
161
- },
162
- children: mark.label
163
- },
164
- mark.value
165
- )),
166
- positionStyles.map((style, index) => /* @__PURE__ */ jsx("span", { "data-part": "visual-thumb", style }, index))
167
- ] }),
196
+ /* @__PURE__ */ jsxs(
197
+ "div",
198
+ {
199
+ ...omitProps(slotProps?.track, [
200
+ "aria-hidden",
201
+ "children",
202
+ "dangerouslySetInnerHTML",
203
+ "data-part"
204
+ ]),
205
+ "data-part": "track",
206
+ "aria-hidden": "true",
207
+ children: [
208
+ /* @__PURE__ */ jsx(
209
+ "span",
210
+ {
211
+ ...omitProps(slotProps?.range, ["children", "dangerouslySetInnerHTML", "data-part"]),
212
+ "data-part": "range"
213
+ }
214
+ ),
215
+ visibleMarks.map((mark, index) => {
216
+ const markProps = resolveMarkSlotProps(slotProps?.mark, mark.value, index);
217
+ return /* @__PURE__ */ createElement(
218
+ "span",
219
+ {
220
+ ...markProps,
221
+ key: index,
222
+ "data-part": "mark",
223
+ style: {
224
+ ...markProps.style,
225
+ "--uiify-slider-position": String(position(mark.value, min, max)) + "%"
226
+ }
227
+ },
228
+ mark.label
229
+ );
230
+ }),
231
+ positionStyles.map((style, index) => {
232
+ const thumbProps = resolveRepeatedSlotProps(
233
+ slotProps?.visualThumb,
234
+ thumbKeys[index],
235
+ ["data-part"]
236
+ );
237
+ return /* @__PURE__ */ createElement(
238
+ "span",
239
+ {
240
+ ...thumbProps,
241
+ key: index,
242
+ "data-part": "visual-thumb",
243
+ style: { ...thumbProps.style, ...style }
244
+ }
245
+ );
246
+ })
247
+ ]
248
+ }
249
+ ),
168
250
  inputNodes
169
251
  ] })
170
252
  },