@gunkin/uiify 0.0.24-alpha → 0.0.26-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 (528) 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 +22 -4
  8. package/agents/reference/components/candle-chart.md +51 -3
  9. package/agents/reference/components/carousel.md +26 -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 +15 -14
  14. package/agents/reference/components/context-menu.md +16 -5
  15. package/agents/reference/components/date-picker.md +2 -1
  16. package/agents/reference/components/drawer.md +28 -17
  17. package/agents/reference/components/dropdown-menu.md +3 -3
  18. package/agents/reference/components/field.md +13 -13
  19. package/agents/reference/components/form-error-summary.md +11 -1
  20. package/agents/reference/components/input-group.md +1 -0
  21. package/agents/reference/components/input.md +1 -0
  22. package/agents/reference/components/line-chart.md +42 -3
  23. package/agents/reference/components/modal.md +22 -5
  24. package/agents/reference/components/number-field.md +1 -1
  25. package/agents/reference/components/otp-input.md +2 -1
  26. package/agents/reference/components/pagination.md +15 -4
  27. package/agents/reference/components/radio-group.md +8 -2
  28. package/agents/reference/components/rating.md +8 -2
  29. package/agents/reference/components/segmented-control.md +9 -3
  30. package/agents/reference/components/select.md +1 -0
  31. package/agents/reference/components/slider.md +13 -1
  32. package/agents/reference/components/spinner.md +10 -1
  33. package/agents/reference/components/table.md +15 -0
  34. package/agents/reference/components/tabs.md +21 -3
  35. package/agents/reference/components/tags-input.md +15 -1
  36. package/agents/reference/components/toast.md +50 -12
  37. package/agents/reference/components/toggle-group.md +5 -3
  38. package/agents/reference/components/toggle.md +17 -3
  39. package/agents/reference/components/toolbar.md +4 -4
  40. package/agents/reference/components/virtual-scroll.md +32 -4
  41. package/agents/reference/elements/choice.md +20 -7
  42. package/agents/reference/elements/details.md +2 -2
  43. package/agents/reference/elements/popover.md +3 -3
  44. package/dist/components/accordion/Accordion.d.ts +1 -1
  45. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  46. package/dist/components/accordion/Accordion.js +36 -15
  47. package/dist/components/accordion/Accordion.js.map +1 -1
  48. package/dist/components/accordion/index.d.ts +1 -1
  49. package/dist/components/accordion/index.d.ts.map +1 -1
  50. package/dist/components/accordion/index.js.map +1 -1
  51. package/dist/components/accordion/types.d.ts +14 -2
  52. package/dist/components/accordion/types.d.ts.map +1 -1
  53. package/dist/components/alert/Alert.d.ts.map +1 -1
  54. package/dist/components/alert/Alert.js +6 -5
  55. package/dist/components/alert/Alert.js.map +1 -1
  56. package/dist/components/alert/index.d.ts +1 -1
  57. package/dist/components/alert/index.d.ts.map +1 -1
  58. package/dist/components/alert/index.js.map +1 -1
  59. package/dist/components/alert/types.d.ts +6 -0
  60. package/dist/components/alert/types.d.ts.map +1 -1
  61. package/dist/components/alert-modal/AlertModal.d.ts +1 -1
  62. package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
  63. package/dist/components/alert-modal/AlertModal.js +18 -8
  64. package/dist/components/alert-modal/AlertModal.js.map +1 -1
  65. package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
  66. package/dist/components/alert-modal/AlertModalParts.js +1 -1
  67. package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
  68. package/dist/components/alert-modal/index.d.ts +1 -1
  69. package/dist/components/alert-modal/index.d.ts.map +1 -1
  70. package/dist/components/alert-modal/index.js.map +1 -1
  71. package/dist/components/alert-modal/types.d.ts +23 -7
  72. package/dist/components/alert-modal/types.d.ts.map +1 -1
  73. package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
  74. package/dist/components/aspect-ratio/AspectRatio.js +5 -5
  75. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  76. package/dist/components/aspect-ratio/types.d.ts +6 -0
  77. package/dist/components/aspect-ratio/types.d.ts.map +1 -1
  78. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  79. package/dist/components/avatar/Avatar.js +5 -5
  80. package/dist/components/avatar/Avatar.js.map +1 -1
  81. package/dist/components/avatar/types.d.ts +8 -0
  82. package/dist/components/avatar/types.d.ts.map +1 -1
  83. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
  84. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  85. package/dist/components/breadcrumb/Breadcrumb.js +59 -47
  86. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  87. package/dist/components/breadcrumb/index.d.ts +1 -1
  88. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  89. package/dist/components/breadcrumb/index.js.map +1 -1
  90. package/dist/components/breadcrumb/types.d.ts +19 -3
  91. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  92. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  93. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  94. package/dist/components/candle-chart/CandleChart.js +161 -75
  95. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  96. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  97. package/dist/components/candle-chart/client/CandleChartClient.js +19 -6
  98. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  99. package/dist/components/candle-chart/client/index.d.ts +1 -1
  100. package/dist/components/candle-chart/client/index.d.ts.map +1 -1
  101. package/dist/components/candle-chart/client/index.js.map +1 -1
  102. package/dist/components/candle-chart/index.d.ts +1 -1
  103. package/dist/components/candle-chart/index.d.ts.map +1 -1
  104. package/dist/components/candle-chart/index.js.map +1 -1
  105. package/dist/components/candle-chart/types.d.ts +56 -2
  106. package/dist/components/candle-chart/types.d.ts.map +1 -1
  107. package/dist/components/carousel/Carousel.d.ts +2 -2
  108. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  109. package/dist/components/carousel/Carousel.js +2 -1
  110. package/dist/components/carousel/Carousel.js.map +1 -1
  111. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  112. package/dist/components/carousel/CarouselMarkup.js +38 -10
  113. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  114. package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
  115. package/dist/components/carousel/client/CarouselClient.js +3 -2
  116. package/dist/components/carousel/client/CarouselClient.js.map +1 -1
  117. package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
  118. package/dist/components/carousel/client/carousel-controls.js +2 -2
  119. package/dist/components/carousel/client/carousel-controls.js.map +1 -1
  120. package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
  121. package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
  122. package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
  123. package/dist/components/carousel/index.d.ts +1 -1
  124. package/dist/components/carousel/index.d.ts.map +1 -1
  125. package/dist/components/carousel/index.js.map +1 -1
  126. package/dist/components/carousel/types.d.ts +18 -2
  127. package/dist/components/carousel/types.d.ts.map +1 -1
  128. package/dist/components/checkbox/Checkbox.d.ts +6 -1
  129. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  130. package/dist/components/checkbox/Checkbox.js +6 -1
  131. package/dist/components/checkbox/Checkbox.js.map +1 -1
  132. package/dist/components/checkbox/index.d.ts +1 -1
  133. package/dist/components/checkbox/index.d.ts.map +1 -1
  134. package/dist/components/checkbox/index.js.map +1 -1
  135. package/dist/components/checkbox/types.d.ts +3 -0
  136. package/dist/components/checkbox/types.d.ts.map +1 -1
  137. package/dist/components/collapsible/Collapsible.d.ts +2 -6
  138. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  139. package/dist/components/collapsible/Collapsible.js +5 -4
  140. package/dist/components/collapsible/Collapsible.js.map +1 -1
  141. package/dist/components/collapsible/index.d.ts +1 -1
  142. package/dist/components/collapsible/index.d.ts.map +1 -1
  143. package/dist/components/collapsible/index.js.map +1 -1
  144. package/dist/components/collapsible/types.d.ts +11 -3
  145. package/dist/components/collapsible/types.d.ts.map +1 -1
  146. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
  147. package/dist/components/color-picker/ColorPicker.js +73 -52
  148. package/dist/components/color-picker/ColorPicker.js.map +1 -1
  149. package/dist/components/color-picker/index.d.ts +1 -1
  150. package/dist/components/color-picker/index.d.ts.map +1 -1
  151. package/dist/components/color-picker/index.js.map +1 -1
  152. package/dist/components/color-picker/types.d.ts +20 -2
  153. package/dist/components/color-picker/types.d.ts.map +1 -1
  154. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  155. package/dist/components/combobox/Combobox.js +59 -33
  156. package/dist/components/combobox/Combobox.js.map +1 -1
  157. package/dist/components/combobox/index.d.ts +1 -1
  158. package/dist/components/combobox/index.d.ts.map +1 -1
  159. package/dist/components/combobox/index.js.map +1 -1
  160. package/dist/components/combobox/types.d.ts +13 -8
  161. package/dist/components/combobox/types.d.ts.map +1 -1
  162. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  163. package/dist/components/context-menu/ContextMenu.js +33 -19
  164. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  165. package/dist/components/context-menu/index.d.ts +1 -1
  166. package/dist/components/context-menu/index.d.ts.map +1 -1
  167. package/dist/components/context-menu/index.js.map +1 -1
  168. package/dist/components/context-menu/types.d.ts +10 -9
  169. package/dist/components/context-menu/types.d.ts.map +1 -1
  170. package/dist/components/date-picker/DatePicker.d.ts +1 -1
  171. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  172. package/dist/components/date-picker/DatePicker.js +2 -1
  173. package/dist/components/date-picker/DatePicker.js.map +1 -1
  174. package/dist/components/date-picker/types.d.ts +4 -1
  175. package/dist/components/date-picker/types.d.ts.map +1 -1
  176. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  177. package/dist/components/drawer/Drawer.js +17 -13
  178. package/dist/components/drawer/Drawer.js.map +1 -1
  179. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  180. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  181. package/dist/components/drawer/DrawerNative.js +30 -25
  182. package/dist/components/drawer/DrawerNative.js.map +1 -1
  183. package/dist/components/drawer/index.d.ts +1 -1
  184. package/dist/components/drawer/index.d.ts.map +1 -1
  185. package/dist/components/drawer/index.js.map +1 -1
  186. package/dist/components/drawer/types.d.ts +31 -11
  187. package/dist/components/drawer/types.d.ts.map +1 -1
  188. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  189. package/dist/components/dropdown-menu/DropdownMenu.js +34 -25
  190. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  191. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  192. package/dist/components/dropdown-menu/DropdownMenuBar.js +43 -29
  193. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  194. package/dist/components/dropdown-menu/types.d.ts +4 -5
  195. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  196. package/dist/components/field/Field.js +7 -7
  197. package/dist/components/field/Field.js.map +1 -1
  198. package/dist/components/field/types.d.ts +14 -14
  199. package/dist/components/field/types.d.ts.map +1 -1
  200. package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
  201. package/dist/components/form-error-summary/FormErrorSummary.js +23 -5
  202. package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
  203. package/dist/components/form-error-summary/index.d.ts +1 -1
  204. package/dist/components/form-error-summary/index.d.ts.map +1 -1
  205. package/dist/components/form-error-summary/index.js.map +1 -1
  206. package/dist/components/form-error-summary/types.d.ts +9 -0
  207. package/dist/components/form-error-summary/types.d.ts.map +1 -1
  208. package/dist/components/hover-card/HoverCard.d.ts.map +1 -1
  209. package/dist/components/hover-card/HoverCard.js +9 -9
  210. package/dist/components/hover-card/HoverCard.js.map +1 -1
  211. package/dist/components/input/Input.d.ts.map +1 -1
  212. package/dist/components/input/Input.js +2 -0
  213. package/dist/components/input/Input.js.map +1 -1
  214. package/dist/components/input/types.d.ts +3 -0
  215. package/dist/components/input/types.d.ts.map +1 -1
  216. package/dist/components/input-group/InputGroup.d.ts.map +1 -1
  217. package/dist/components/input-group/InputGroup.js +2 -1
  218. package/dist/components/input-group/InputGroup.js.map +1 -1
  219. package/dist/components/input-group/types.d.ts +3 -0
  220. package/dist/components/input-group/types.d.ts.map +1 -1
  221. package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts +2 -2
  222. package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts.map +1 -1
  223. package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js +11 -3
  224. package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js.map +1 -1
  225. package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
  226. package/dist/components/internal/choice-family/ChoiceGroup.js +25 -12
  227. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  228. package/dist/components/internal/choice-family/types.d.ts +19 -1
  229. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  230. package/dist/components/internal/control-size/types.d.ts +3 -0
  231. package/dist/components/internal/control-size/types.d.ts.map +1 -0
  232. package/dist/components/internal/control-size/types.js +1 -0
  233. package/dist/components/internal/control-size/types.js.map +1 -0
  234. package/dist/components/internal/live-chart/types.d.ts +3 -1
  235. package/dist/components/internal/live-chart/types.d.ts.map +1 -1
  236. package/dist/components/internal/live-chart/use-live-chart-window.d.ts.map +1 -1
  237. package/dist/components/internal/live-chart/use-live-chart-window.js +21 -5
  238. package/dist/components/internal/live-chart/use-live-chart-window.js.map +1 -1
  239. package/dist/components/internal/menu/menu-parts.d.ts.map +1 -1
  240. package/dist/components/internal/menu/menu-parts.js +3 -3
  241. package/dist/components/internal/menu/menu-parts.js.map +1 -1
  242. package/dist/components/internal/menu/types.d.ts +1 -0
  243. package/dist/components/internal/menu/types.d.ts.map +1 -1
  244. package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
  245. package/dist/components/internal/menu/use-menu-surface.js +2 -1
  246. package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
  247. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
  248. package/dist/components/internal/native-check-control/NativeCheckControl.js +12 -4
  249. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
  250. package/dist/components/internal/native-check-control/types.d.ts +6 -0
  251. package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
  252. package/dist/components/line-chart/LineChart.d.ts +1 -1
  253. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  254. package/dist/components/line-chart/LineChart.js +182 -75
  255. package/dist/components/line-chart/LineChart.js.map +1 -1
  256. package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
  257. package/dist/components/line-chart/client/LineChartClient.js +19 -6
  258. package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
  259. package/dist/components/line-chart/client/index.d.ts +1 -1
  260. package/dist/components/line-chart/client/index.d.ts.map +1 -1
  261. package/dist/components/line-chart/client/index.js.map +1 -1
  262. package/dist/components/line-chart/index.d.ts +1 -1
  263. package/dist/components/line-chart/index.d.ts.map +1 -1
  264. package/dist/components/line-chart/index.js.map +1 -1
  265. package/dist/components/line-chart/types.d.ts +47 -2
  266. package/dist/components/line-chart/types.d.ts.map +1 -1
  267. package/dist/components/modal/Modal.d.ts +1 -1
  268. package/dist/components/modal/Modal.d.ts.map +1 -1
  269. package/dist/components/modal/Modal.js +21 -27
  270. package/dist/components/modal/Modal.js.map +1 -1
  271. package/dist/components/modal/ModalAnatomy.js +6 -6
  272. package/dist/components/modal/ModalAnatomy.js.map +1 -1
  273. package/dist/components/modal/ModalParts.js +1 -1
  274. package/dist/components/modal/ModalParts.js.map +1 -1
  275. package/dist/components/modal/client/ModalClientContent.d.ts.map +1 -1
  276. package/dist/components/modal/client/ModalClientContent.js +2 -2
  277. package/dist/components/modal/client/ModalClientContent.js.map +1 -1
  278. package/dist/components/modal/index.d.ts +1 -1
  279. package/dist/components/modal/index.d.ts.map +1 -1
  280. package/dist/components/modal/index.js.map +1 -1
  281. package/dist/components/modal/types.d.ts +26 -4
  282. package/dist/components/modal/types.d.ts.map +1 -1
  283. package/dist/components/number-field/NumberField.d.ts.map +1 -1
  284. package/dist/components/number-field/NumberField.js +13 -11
  285. package/dist/components/number-field/NumberField.js.map +1 -1
  286. package/dist/components/number-field/types.d.ts +1 -1
  287. package/dist/components/number-field/types.d.ts.map +1 -1
  288. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  289. package/dist/components/otp-input/OtpInput.js +12 -10
  290. package/dist/components/otp-input/OtpInput.js.map +1 -1
  291. package/dist/components/otp-input/types.d.ts +4 -1
  292. package/dist/components/otp-input/types.d.ts.map +1 -1
  293. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  294. package/dist/components/pagination/Pagination.js +135 -61
  295. package/dist/components/pagination/Pagination.js.map +1 -1
  296. package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
  297. package/dist/components/pagination/PaginationShell.js +5 -6
  298. package/dist/components/pagination/PaginationShell.js.map +1 -1
  299. package/dist/components/pagination/index.d.ts +1 -1
  300. package/dist/components/pagination/index.d.ts.map +1 -1
  301. package/dist/components/pagination/index.js.map +1 -1
  302. package/dist/components/pagination/types.d.ts +12 -3
  303. package/dist/components/pagination/types.d.ts.map +1 -1
  304. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  305. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  306. package/dist/components/radio-group/RadioGroup.js +5 -1
  307. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  308. package/dist/components/radio-group/index.d.ts +1 -1
  309. package/dist/components/radio-group/index.d.ts.map +1 -1
  310. package/dist/components/radio-group/index.js.map +1 -1
  311. package/dist/components/radio-group/types.d.ts +4 -2
  312. package/dist/components/radio-group/types.d.ts.map +1 -1
  313. package/dist/components/rating/Rating.d.ts +1 -1
  314. package/dist/components/rating/Rating.d.ts.map +1 -1
  315. package/dist/components/rating/Rating.js +5 -1
  316. package/dist/components/rating/Rating.js.map +1 -1
  317. package/dist/components/rating/client/RatingClient.d.ts +1 -1
  318. package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
  319. package/dist/components/rating/client/RatingClient.js +5 -1
  320. package/dist/components/rating/client/RatingClient.js.map +1 -1
  321. package/dist/components/rating/index.d.ts +1 -1
  322. package/dist/components/rating/index.d.ts.map +1 -1
  323. package/dist/components/rating/index.js.map +1 -1
  324. package/dist/components/rating/types.d.ts +8 -1
  325. package/dist/components/rating/types.d.ts.map +1 -1
  326. package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
  327. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  328. package/dist/components/segmented-control/SegmentedControl.js +9 -3
  329. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  330. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
  331. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
  332. package/dist/components/segmented-control/client/SegmentedControlClient.js +9 -3
  333. package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
  334. package/dist/components/segmented-control/index.d.ts +1 -1
  335. package/dist/components/segmented-control/index.d.ts.map +1 -1
  336. package/dist/components/segmented-control/index.js.map +1 -1
  337. package/dist/components/segmented-control/types.d.ts +7 -4
  338. package/dist/components/segmented-control/types.d.ts.map +1 -1
  339. package/dist/components/select/Select.d.ts.map +1 -1
  340. package/dist/components/select/Select.js +2 -0
  341. package/dist/components/select/Select.js.map +1 -1
  342. package/dist/components/select/types.d.ts +3 -0
  343. package/dist/components/select/types.d.ts.map +1 -1
  344. package/dist/components/slider/Slider.d.ts.map +1 -1
  345. package/dist/components/slider/Slider.js +12 -7
  346. package/dist/components/slider/Slider.js.map +1 -1
  347. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  348. package/dist/components/slider/client/SliderClient.js +55 -20
  349. package/dist/components/slider/client/SliderClient.js.map +1 -1
  350. package/dist/components/slider/client/index.d.ts +1 -1
  351. package/dist/components/slider/client/index.d.ts.map +1 -1
  352. package/dist/components/slider/client/index.js.map +1 -1
  353. package/dist/components/slider/types.d.ts +15 -0
  354. package/dist/components/slider/types.d.ts.map +1 -1
  355. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  356. package/dist/components/spinner/Spinner.js +12 -4
  357. package/dist/components/spinner/Spinner.js.map +1 -1
  358. package/dist/components/spinner/index.d.ts +1 -1
  359. package/dist/components/spinner/index.d.ts.map +1 -1
  360. package/dist/components/spinner/index.js.map +1 -1
  361. package/dist/components/spinner/types.d.ts +7 -0
  362. package/dist/components/spinner/types.d.ts.map +1 -1
  363. package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
  364. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
  365. package/dist/components/table/client/TableColumnHeader.js +10 -2
  366. package/dist/components/table/client/TableColumnHeader.js.map +1 -1
  367. package/dist/components/table/client/TableSelection.d.ts +3 -3
  368. package/dist/components/table/client/TableSelection.d.ts.map +1 -1
  369. package/dist/components/table/client/TableSelection.js +6 -4
  370. package/dist/components/table/client/TableSelection.js.map +1 -1
  371. package/dist/components/table/client.d.ts +1 -1
  372. package/dist/components/table/client.d.ts.map +1 -1
  373. package/dist/components/table/client.js.map +1 -1
  374. package/dist/components/table/types.d.ts +13 -0
  375. package/dist/components/table/types.d.ts.map +1 -1
  376. package/dist/components/tabs/Tabs.d.ts +1 -1
  377. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  378. package/dist/components/tabs/Tabs.js +12 -2
  379. package/dist/components/tabs/Tabs.js.map +1 -1
  380. package/dist/components/tabs/index.d.ts +1 -1
  381. package/dist/components/tabs/index.d.ts.map +1 -1
  382. package/dist/components/tabs/index.js.map +1 -1
  383. package/dist/components/tabs/types.d.ts +17 -4
  384. package/dist/components/tabs/types.d.ts.map +1 -1
  385. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  386. package/dist/components/tags-input/TagsInput.js +45 -11
  387. package/dist/components/tags-input/TagsInput.js.map +1 -1
  388. package/dist/components/tags-input/index.d.ts +1 -1
  389. package/dist/components/tags-input/index.d.ts.map +1 -1
  390. package/dist/components/tags-input/index.js.map +1 -1
  391. package/dist/components/tags-input/types.d.ts +12 -4
  392. package/dist/components/tags-input/types.d.ts.map +1 -1
  393. package/dist/components/toast/Toast.d.ts +1 -1
  394. package/dist/components/toast/Toast.d.ts.map +1 -1
  395. package/dist/components/toast/Toast.js +74 -35
  396. package/dist/components/toast/Toast.js.map +1 -1
  397. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  398. package/dist/components/toast/ToastElements.js +36 -12
  399. package/dist/components/toast/ToastElements.js.map +1 -1
  400. package/dist/components/toast/index.d.ts +1 -1
  401. package/dist/components/toast/index.d.ts.map +1 -1
  402. package/dist/components/toast/index.js.map +1 -1
  403. package/dist/components/toast/types.d.ts +32 -26
  404. package/dist/components/toast/types.d.ts.map +1 -1
  405. package/dist/components/toggle/Toggle.d.ts +1 -1
  406. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  407. package/dist/components/toggle/Toggle.js +13 -4
  408. package/dist/components/toggle/Toggle.js.map +1 -1
  409. package/dist/components/toggle/index.d.ts +1 -1
  410. package/dist/components/toggle/index.d.ts.map +1 -1
  411. package/dist/components/toggle/index.js.map +1 -1
  412. package/dist/components/toggle/types.d.ts +12 -3
  413. package/dist/components/toggle/types.d.ts.map +1 -1
  414. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  415. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  416. package/dist/components/toggle-group/ToggleGroup.js +5 -1
  417. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  418. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
  419. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
  420. package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
  421. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  422. package/dist/components/toggle-group/index.d.ts +1 -1
  423. package/dist/components/toggle-group/index.d.ts.map +1 -1
  424. package/dist/components/toggle-group/index.js.map +1 -1
  425. package/dist/components/toggle-group/types.d.ts +4 -4
  426. package/dist/components/toggle-group/types.d.ts.map +1 -1
  427. package/dist/components/toolbar/Toolbar.d.ts +3 -12
  428. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  429. package/dist/components/toolbar/Toolbar.js +22 -2
  430. package/dist/components/toolbar/Toolbar.js.map +1 -1
  431. package/dist/components/toolbar/types.d.ts +5 -5
  432. package/dist/components/toolbar/types.d.ts.map +1 -1
  433. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  434. package/dist/components/tooltip/Tooltip.js +4 -4
  435. package/dist/components/tooltip/Tooltip.js.map +1 -1
  436. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  437. package/dist/components/virtual-scroll/VirtualScroll.js +99 -44
  438. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  439. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
  440. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
  441. package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
  442. package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
  443. package/dist/components/virtual-scroll/index.d.ts +1 -1
  444. package/dist/components/virtual-scroll/index.d.ts.map +1 -1
  445. package/dist/components/virtual-scroll/index.js.map +1 -1
  446. package/dist/components/virtual-scroll/types.d.ts +23 -3
  447. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  448. package/dist/components/virtual-scroll/types.js.map +1 -1
  449. package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts +3 -0
  450. package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts.map +1 -1
  451. package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js +11 -2
  452. package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js.map +1 -1
  453. package/dist/core/class-names.d.ts +3 -0
  454. package/dist/core/class-names.d.ts.map +1 -0
  455. package/dist/core/class-names.js +7 -0
  456. package/dist/core/class-names.js.map +1 -0
  457. package/dist/core/part-names.d.ts +8 -0
  458. package/dist/core/part-names.d.ts.map +1 -0
  459. package/dist/core/part-names.js +111 -0
  460. package/dist/core/part-names.js.map +1 -0
  461. package/dist/core/polymorphic.d.ts +10 -3
  462. package/dist/core/polymorphic.d.ts.map +1 -1
  463. package/dist/core/render-native-invoker.d.ts +1 -0
  464. package/dist/core/render-native-invoker.d.ts.map +1 -1
  465. package/dist/core/render-native-invoker.js +6 -6
  466. package/dist/core/render-native-invoker.js.map +1 -1
  467. package/dist/core/roving-focus.d.ts +2 -2
  468. package/dist/core/roving-focus.d.ts.map +1 -1
  469. package/dist/core/roving-focus.js +6 -7
  470. package/dist/core/roving-focus.js.map +1 -1
  471. package/dist/core/slot-props.d.ts +21 -0
  472. package/dist/core/slot-props.d.ts.map +1 -0
  473. package/dist/core/slot-props.js +49 -0
  474. package/dist/core/slot-props.js.map +1 -0
  475. package/dist/core/use-popover.d.ts +2 -1
  476. package/dist/core/use-popover.d.ts.map +1 -1
  477. package/dist/core/use-popover.js +3 -1
  478. package/dist/core/use-popover.js.map +1 -1
  479. package/dist/elements/choice/Choice.d.ts.map +1 -1
  480. package/dist/elements/choice/Choice.js +13 -10
  481. package/dist/elements/choice/Choice.js.map +1 -1
  482. package/dist/elements/choice/index.d.ts +1 -1
  483. package/dist/elements/choice/index.d.ts.map +1 -1
  484. package/dist/elements/choice/index.js.map +1 -1
  485. package/dist/elements/choice/types.d.ts +18 -10
  486. package/dist/elements/choice/types.d.ts.map +1 -1
  487. package/dist/elements/details/Details.d.ts.map +1 -1
  488. package/dist/elements/details/Details.js +4 -5
  489. package/dist/elements/details/Details.js.map +1 -1
  490. package/dist/elements/details/types.d.ts +3 -3
  491. package/dist/elements/details/types.d.ts.map +1 -1
  492. package/dist/elements/dialog/Dialog.d.ts.map +1 -1
  493. package/dist/elements/dialog/Dialog.js +1 -1
  494. package/dist/elements/dialog/Dialog.js.map +1 -1
  495. package/dist/elements/invoker/Invoker.js +3 -3
  496. package/dist/elements/invoker/Invoker.js.map +1 -1
  497. package/dist/elements/popover/Popover.d.ts.map +1 -1
  498. package/dist/elements/popover/Popover.js +3 -3
  499. package/dist/elements/popover/Popover.js.map +1 -1
  500. package/dist/elements/popover/types.d.ts +6 -4
  501. package/dist/elements/popover/types.d.ts.map +1 -1
  502. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  503. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  504. package/dist/styles/index.css +1 -1
  505. package/dist/styles/tailwind.css +17 -16
  506. package/dist/styles/tokens.css +1 -1
  507. package/package.json +1 -1
  508. package/skills/uiify/references/elements/accordion.md +1 -1
  509. package/skills/uiify/references/elements/aspect-ratio.md +1 -1
  510. package/skills/uiify/references/elements/breadcrumb.md +1 -0
  511. package/skills/uiify/references/elements/checkbox.md +1 -1
  512. package/skills/uiify/references/elements/color-picker.md +1 -1
  513. package/skills/uiify/references/elements/combobox.md +1 -1
  514. package/skills/uiify/references/elements/context-menu.md +1 -1
  515. package/skills/uiify/references/elements/dropdown-menu.md +1 -1
  516. package/skills/uiify/references/elements/field.md +1 -1
  517. package/skills/uiify/references/elements/form-error-summary.md +5 -0
  518. package/skills/uiify/references/elements/pagination.md +1 -1
  519. package/skills/uiify/references/elements/radio-group.md +1 -0
  520. package/skills/uiify/references/elements/rating.md +1 -1
  521. package/skills/uiify/references/elements/segmented-control.md +1 -0
  522. package/skills/uiify/references/elements/spinner.md +1 -1
  523. package/skills/uiify/references/elements/table.md +1 -1
  524. package/skills/uiify/references/elements/tabs.md +1 -1
  525. package/skills/uiify/references/elements/tags-input.md +1 -1
  526. package/skills/uiify/references/elements/toast.md +1 -0
  527. package/skills/uiify/references/elements/toggle-group.md +1 -0
  528. package/skills/uiify/references/elements/toggle.md +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/pagination/Pagination.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ElementType, MouseEvent, ReactElement } from \"react\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport {\n PaginationEllipsis as PaginationEllipsisElement,\n DEFAULT_PAGINATION_LABELS,\n PaginationItemPart,\n PaginationList as PaginationListElement,\n} from \"./PaginationShell.js\";\nimport { usePagination } from \"./use-pagination.js\";\nimport type {\n PaginationContextValue,\n PaginationItem,\n PaginationLinkProps,\n PaginationRootProps,\n} from \"./types.js\";\n\nexport type { PaginationItem } from \"./types.js\";\n\nexport { PaginationEllipsis, PaginationItemPart } from \"./PaginationShell.js\";\n\nconst [PaginationProvider, usePaginationContext] =\n createPartContext<PaginationContextValue>(\"Pagination\");\n\nexport function PaginationRoot<TAs extends ElementType = \"nav\">(\n props: PaginationRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n \"aria-label\": ariaLabel,\n boundaryCount,\n count,\n defaultPage,\n disabled,\n onPageChange,\n page,\n labels,\n locale,\n showFirstLast,\n siblingCount,\n children,\n ...consumerProps\n } = props as PaginationRootProps<\"nav\">;\n const mergedLabels = { ...DEFAULT_PAGINATION_LABELS, ...labels };\n\n const {\n items,\n page: currentPage,\n setPage,\n } = usePagination({\n count,\n ...(boundaryCount !== undefined ? { boundaryCount } : {}),\n ...(defaultPage !== undefined ? { defaultPage } : {}),\n ...(disabled !== undefined ? { disabled } : {}),\n ...(onPageChange !== undefined ? { onPageChange } : {}),\n ...(page !== undefined ? { page } : {}),\n ...(showFirstLast !== undefined ? { showFirstLast } : {}),\n ...(siblingCount !== undefined ? { siblingCount } : {}),\n });\n\n const contextValue = useMemo(\n () => ({\n count,\n items,\n labels: mergedLabels,\n ...(locale !== undefined ? { locale } : {}),\n page: currentPage,\n setPage,\n }),\n [count, currentPage, items, labels, locale, setPage],\n );\n\n const element = useRenderElement({\n as,\n defaultTag: \"nav\",\n props: {\n ...consumerProps,\n \"aria-label\": ariaLabel ?? mergedLabels.root,\n children: children ?? (\n <ol>\n <PaginationListItems />\n </ol>\n ),\n \"data-uiify-pagination\": \"\",\n },\n render,\n state: { page: currentPage },\n });\n\n return <PaginationProvider value={contextValue}>{element}</PaginationProvider>;\n}\nPaginationRoot.displayName = \"PaginationRoot\";\n\nfunction PaginationListItems(): ReactElement {\n const { items, labels, locale } = usePaginationContext(\"List\");\n return (\n <>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n key={`${item.type}-${item.page ?? index}`}\n labels={labels}\n {...(locale !== undefined ? { locale } : {})}\n />\n ))}\n </>\n );\n}\nPaginationListItems.displayName = \"PaginationListItems\";\n\nfunction PaginationItemRenderer({\n item,\n labels,\n locale,\n}: {\n readonly item: PaginationItem;\n readonly labels: PaginationContextValue[\"labels\"];\n readonly locale?: string;\n}): ReactElement {\n switch (item.type) {\n case \"ellipsis\":\n return <PaginationEllipsisElement />;\n case \"previous\":\n return <PaginationPrevious disabled={item.disabled} labels={labels} />;\n case \"next\":\n return <PaginationNext disabled={item.disabled} labels={labels} />;\n case \"first\":\n return <PaginationFirst disabled={item.disabled} labels={labels} />;\n case \"last\":\n return <PaginationLast disabled={item.disabled} labels={labels} />;\n default:\n return (\n <PaginationItemPart>\n <PaginationLink\n disabled={item.disabled}\n {...(locale !== undefined ? { locale } : {})}\n pageLabelTemplate={labels.page}\n page={item.page ?? 1}\n selected={item.selected}\n />\n </PaginationItemPart>\n );\n }\n}\nPaginationItemRenderer.displayName = \"PaginationItemRenderer\";\n\nexport function PaginationList(): ReactElement | null {\n const { items, labels, locale } = usePaginationContext(\"List\");\n\n return (\n <PaginationListElement>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n key={`${item.type}-${item.page ?? index}`}\n labels={labels}\n {...(locale !== undefined ? { locale } : {})}\n />\n ))}\n </PaginationListElement>\n );\n}\nPaginationList.displayName = \"PaginationList\";\n\nexport function PaginationLink<TAs extends ElementType = \"button\">(\n props: PaginationLinkProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n disabled = false,\n locale,\n pageLabelTemplate,\n page,\n selected = false,\n ...consumerProps\n } = props as PaginationLinkProps<\"button\">;\n const context = usePaginationContext(\"Link\");\n const { setPage } = context;\n const activeLocale = locale ?? context.locale;\n const activePageLabelTemplate = pageLabelTemplate ?? context.labels.page;\n const onClick = (consumerProps as { onClick?: (event: MouseEvent<HTMLButtonElement>) => void })\n .onClick;\n\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n ...consumerProps,\n \"aria-current\": selected ? \"page\" : undefined,\n \"aria-label\": formatPageLabel(activePageLabelTemplate, page, activeLocale),\n \"data-selected\": selected ? \"\" : undefined,\n \"data-size\": \"icon\",\n \"data-type\": \"page\",\n \"data-uiify-button\": \"\",\n \"data-variant\": \"ghost\",\n disabled: disabled || undefined,\n onClick: composeEventHandlers(onClick, () => setPage(page)),\n type: \"button\",\n children: formatPageNumber(page, activeLocale),\n },\n render,\n state: { selected },\n });\n}\n\nfunction PaginationPrevious({\n disabled,\n labels,\n}: {\n readonly disabled: boolean;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { page, setPage } = usePaginationContext(\"Previous\");\n return (\n <PaginationItemPart>\n <button\n aria-label={labels.previous}\n data-type=\"previous\"\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n onClick={() => setPage(page - 1)}\n type=\"button\"\n >\n {labels.previousText}\n </button>\n </PaginationItemPart>\n );\n}\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nfunction PaginationNext({\n disabled,\n labels,\n}: {\n readonly disabled: boolean;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { page, setPage } = usePaginationContext(\"Next\");\n return (\n <PaginationItemPart>\n <button\n aria-label={labels.next}\n data-type=\"next\"\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n onClick={() => setPage(page + 1)}\n type=\"button\"\n >\n {labels.nextText}\n </button>\n </PaginationItemPart>\n );\n}\nPaginationNext.displayName = \"PaginationNext\";\n\nfunction PaginationFirst({\n disabled,\n labels,\n}: {\n readonly disabled: boolean;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { setPage } = usePaginationContext(\"First\");\n return (\n <PaginationItemPart>\n <button\n aria-label={labels.first}\n data-type=\"first\"\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n onClick={() => setPage(1)}\n type=\"button\"\n >\n {labels.firstText}\n </button>\n </PaginationItemPart>\n );\n}\nPaginationFirst.displayName = \"PaginationFirst\";\n\nfunction PaginationLast({\n disabled,\n labels,\n}: {\n readonly disabled: boolean;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { count, setPage } = usePaginationContext(\"Last\");\n return (\n <PaginationItemPart>\n <button\n aria-label={labels.last}\n data-type=\"last\"\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n onClick={() => setPage(count)}\n type=\"button\"\n >\n {labels.lastText}\n </button>\n </PaginationItemPart>\n );\n}\nPaginationLast.displayName = \"PaginationLast\";\n\nfunction formatPageNumber(page: number, locale?: string): string {\n return locale ? new Intl.NumberFormat(locale).format(page) : String(page);\n}\n\nfunction formatPageLabel(template: string, page: number, locale?: string): string {\n return formatLabel(template, { page: locale === undefined ? String(page) : page }, locale);\n}\n\nexport const Pagination = {\n Ellipsis: PaginationEllipsisElement,\n Item: PaginationItemPart,\n Link: PaginationLink,\n List: PaginationList,\n Root: PaginationRoot,\n};\n"],"mappings":"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","names":["PaginationItemPart"]}
1
+ {"version":3,"sources":["../../../src/components/pagination/Pagination.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport type {\n ComponentPropsWithRef,\n ElementType,\n MouseEvent,\n MouseEventHandler,\n ReactElement,\n} from \"react\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport {\n PaginationEllipsis as PaginationEllipsisElement,\n DEFAULT_PAGINATION_LABELS,\n PaginationItemPart,\n PaginationList as PaginationListElement,\n} from \"./PaginationShell.js\";\nimport { usePagination } from \"./use-pagination.js\";\nimport type {\n PaginationContextValue,\n PaginationItem,\n PaginationLinkProps,\n PaginationRootProps,\n} from \"./types.js\";\n\nexport type { PaginationItem } from \"./types.js\";\n\nexport { PaginationEllipsis, PaginationItemPart } from \"./PaginationShell.js\";\n\nconst [PaginationProvider, usePaginationContext] =\n createPartContext<PaginationContextValue>(\"Pagination\");\n\nexport function PaginationRoot<TAs extends ElementType = \"nav\">(\n props: PaginationRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n boundaryCount,\n count,\n defaultPage,\n disabled,\n onPageChange,\n page,\n labels,\n locale,\n showFirstLast,\n siblingCount,\n slotProps,\n children,\n ...consumerProps\n } = props as PaginationRootProps<\"nav\">;\n const mergedLabels = { ...DEFAULT_PAGINATION_LABELS, ...labels };\n\n const {\n items,\n page: currentPage,\n setPage,\n } = usePagination({\n count,\n ...(boundaryCount !== undefined ? { boundaryCount } : {}),\n ...(defaultPage !== undefined ? { defaultPage } : {}),\n ...(disabled !== undefined ? { disabled } : {}),\n ...(onPageChange !== undefined ? { onPageChange } : {}),\n ...(page !== undefined ? { page } : {}),\n ...(showFirstLast !== undefined ? { showFirstLast } : {}),\n ...(siblingCount !== undefined ? { siblingCount } : {}),\n });\n\n const contextValue = useMemo(\n () => ({\n count,\n items,\n labels: { ...DEFAULT_PAGINATION_LABELS, ...labels },\n ...(locale !== undefined ? { locale } : {}),\n page: currentPage,\n setPage,\n ...(slotProps ? { slotProps } : {}),\n }),\n [count, currentPage, items, labels, locale, setPage, slotProps],\n );\n\n const element = useRenderElement({\n as,\n defaultTag: \"nav\",\n props: {\n \"aria-label\": mergedLabels.root,\n \"data-uiify-pagination\": \"\",\n ...consumerProps,\n children: children ?? (\n <ol {...slotProps?.list}>\n <PaginationListItems />\n </ol>\n ),\n },\n render,\n state: { page: currentPage },\n });\n\n return <PaginationProvider value={contextValue}>{element}</PaginationProvider>;\n}\nPaginationRoot.displayName = \"PaginationRoot\";\n\nfunction PaginationListItems(): ReactElement {\n const { items, labels, locale } = usePaginationContext(\"List\");\n return (\n <>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n itemKey={getPaginationItemKey(item, index)}\n key={`${item.type}-${item.page ?? index}`}\n labels={labels}\n {...(locale !== undefined ? { locale } : {})}\n />\n ))}\n </>\n );\n}\nPaginationListItems.displayName = \"PaginationListItems\";\n\nfunction PaginationItemRenderer({\n item,\n itemKey,\n labels,\n locale,\n}: {\n readonly item: PaginationItem;\n readonly itemKey: string;\n readonly labels: PaginationContextValue[\"labels\"];\n readonly locale?: string;\n}): ReactElement {\n const { slotProps } = usePaginationContext(\"Item\");\n const itemProps = resolveRepeatedSlotProps(slotProps?.item, itemKey);\n\n let content: ReactElement;\n switch (item.type) {\n case \"ellipsis\": {\n const ellipsisProps = resolveRepeatedSlotProps(slotProps?.ellipsis, itemKey);\n content = (\n <span aria-hidden=\"true\" data-type=\"ellipsis\" {...ellipsisProps}>\n …\n </span>\n );\n break;\n }\n case \"previous\":\n content = (\n <PaginationPrevious\n disabled={item.disabled}\n labels={labels}\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey)}\n />\n );\n break;\n case \"next\":\n content = (\n <PaginationNext\n disabled={item.disabled}\n labels={labels}\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey)}\n />\n );\n break;\n case \"first\":\n content = (\n <PaginationFirst\n disabled={item.disabled}\n labels={labels}\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey)}\n />\n );\n break;\n case \"last\":\n content = (\n <PaginationLast\n disabled={item.disabled}\n labels={labels}\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey)}\n />\n );\n break;\n default: {\n const linkProps = resolveRepeatedSlotProps(slotProps?.link, itemKey);\n content = (\n <PaginationLink\n disabled={item.disabled}\n {...(locale !== undefined ? { locale } : {})}\n pageLabelTemplate={labels.page}\n page={item.page ?? 1}\n selected={item.selected}\n {...linkProps}\n />\n );\n break;\n }\n }\n return <PaginationItemPart {...itemProps}>{content}</PaginationItemPart>;\n}\nPaginationItemRenderer.displayName = \"PaginationItemRenderer\";\n\nfunction getPaginationItemKey(item: PaginationItem, index: number): string {\n if (item.type === \"page\") return `page:${item.page}`;\n if (item.type === \"ellipsis\") return `ellipsis:${index}`;\n return item.type;\n}\n\nexport function PaginationList(): ReactElement | null {\n const { items, labels, locale } = usePaginationContext(\"List\");\n\n return (\n <PaginationListElement>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n itemKey={getPaginationItemKey(item, index)}\n key={`${item.type}-${item.page ?? index}`}\n labels={labels}\n {...(locale !== undefined ? { locale } : {})}\n />\n ))}\n </PaginationListElement>\n );\n}\nPaginationList.displayName = \"PaginationList\";\n\nexport function PaginationLink<TAs extends ElementType = \"button\">(\n props: PaginationLinkProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n disabled = false,\n locale,\n pageLabelTemplate,\n page,\n selected = false,\n ...consumerProps\n } = props as PaginationLinkProps<\"button\">;\n const context = usePaginationContext(\"Link\");\n const { setPage } = context;\n const activeLocale = locale ?? context.locale;\n const activePageLabelTemplate = pageLabelTemplate ?? context.labels.page;\n const onClick = (consumerProps as { onClick?: (event: MouseEvent<HTMLButtonElement>) => void })\n .onClick;\n\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n \"aria-current\": selected ? \"page\" : undefined,\n \"aria-label\": formatPageLabel(activePageLabelTemplate, page, activeLocale),\n \"data-selected\": selected ? \"\" : undefined,\n \"data-size\": \"icon\",\n \"data-type\": \"page\",\n \"data-uiify-button\": \"\",\n \"data-variant\": \"ghost\",\n disabled: disabled || undefined,\n type: \"button\",\n ...consumerProps,\n onClick: composeEventHandlers(onClick, () => setPage(page)),\n children: formatPageNumber(page, activeLocale),\n },\n render,\n state: { selected },\n });\n}\n\ntype PaginationControlNativeProps = Omit<ComponentPropsWithRef<\"button\">, \"children\">;\n\ninterface PaginationControlButtonProps extends PaginationControlNativeProps {\n readonly disabled?: boolean | undefined;\n readonly label: string;\n readonly labelText: string;\n readonly onAction: () => void;\n readonly actionType: \"previous\" | \"next\" | \"first\" | \"last\";\n}\n\nfunction PaginationControlButton({\n disabled,\n label,\n labelText,\n onAction,\n actionType,\n ...consumerProps\n}: PaginationControlButtonProps): ReactElement {\n const onClick = consumerProps.onClick as MouseEventHandler<HTMLButtonElement> | undefined;\n return (\n <button\n aria-label={label}\n data-type={actionType}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n type=\"button\"\n {...consumerProps}\n onClick={composeEventHandlers(onClick, onAction)}\n >\n {labelText}\n </button>\n );\n}\nPaginationControlButton.displayName = \"PaginationControlButton\";\n\nfunction PaginationPrevious({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled?: boolean | undefined;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { page, setPage } = usePaginationContext(\"Previous\");\n return (\n <PaginationControlButton\n {...consumerProps}\n disabled={disabled}\n label={labels.previous}\n labelText={labels.previousText}\n onAction={() => setPage(page - 1)}\n actionType=\"previous\"\n />\n );\n}\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nfunction PaginationNext({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled?: boolean | undefined;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { page, setPage } = usePaginationContext(\"Next\");\n return (\n <PaginationControlButton\n {...consumerProps}\n disabled={disabled}\n label={labels.next}\n labelText={labels.nextText}\n onAction={() => setPage(page + 1)}\n actionType=\"next\"\n />\n );\n}\nPaginationNext.displayName = \"PaginationNext\";\n\nfunction PaginationFirst({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled?: boolean | undefined;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { setPage } = usePaginationContext(\"First\");\n return (\n <PaginationControlButton\n {...consumerProps}\n disabled={disabled}\n label={labels.first}\n labelText={labels.firstText}\n onAction={() => setPage(1)}\n actionType=\"first\"\n />\n );\n}\nPaginationFirst.displayName = \"PaginationFirst\";\n\nfunction PaginationLast({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled?: boolean | undefined;\n readonly labels: PaginationContextValue[\"labels\"];\n}): ReactElement {\n const { count, setPage } = usePaginationContext(\"Last\");\n return (\n <PaginationControlButton\n {...consumerProps}\n disabled={disabled}\n label={labels.last}\n labelText={labels.lastText}\n onAction={() => setPage(count)}\n actionType=\"last\"\n />\n );\n}\nPaginationLast.displayName = \"PaginationLast\";\n\nfunction formatPageNumber(page: number, locale?: string): string {\n return locale ? new Intl.NumberFormat(locale).format(page) : String(page);\n}\n\nfunction formatPageLabel(template: string, page: number, locale?: string): string {\n return formatLabel(template, { page: locale === undefined ? String(page) : page }, locale);\n}\n\nexport const Pagination = {\n Ellipsis: PaginationEllipsisElement,\n Item: PaginationItemPart,\n Link: PaginationLink,\n List: PaginationList,\n Root: PaginationRoot,\n};\n"],"mappings":"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","names":["PaginationItemPart"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationShell.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/PaginationShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,yBAAyB,EAAE,gBAWvC,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC5D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAyDrB;yBA3De,cAAc;;;AAiJ9B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC3D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAUrB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC/D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAUrB;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,GAAG,EAC1D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAoCrB;AAuDD,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,WAAW,GAAG,MAAM,EACjE,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAClC,YAAY,GAAG,IAAI,CAgBrB;yBAlBe,kBAAkB;;;AAqBlC,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC"}
1
+ {"version":3,"file":"PaginationShell.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/PaginationShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,yBAAyB,EAAE,gBAWvC,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC5D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAwDrB;yBA1De,cAAc;;;AAgJ9B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC3D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAUrB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC/D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAUrB;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,GAAG,EAC1D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAoCrB;AAuDD,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,WAAW,GAAG,MAAM,EACjE,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAClC,YAAY,GAAG,IAAI,CAgBrB;yBAlBe,kBAAkB;;;AAqBlC,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC"}
@@ -19,7 +19,6 @@ function PaginationRoot(props) {
19
19
  const {
20
20
  as,
21
21
  render,
22
- "aria-label": ariaLabel,
23
22
  boundaryCount = 1,
24
23
  count,
25
24
  disabled = false,
@@ -58,10 +57,10 @@ function PaginationRoot(props) {
58
57
  as,
59
58
  defaultTag: "nav",
60
59
  props: {
60
+ "aria-label": mergedLabels.root,
61
+ "data-uiify-pagination": "",
61
62
  ...consumerProps,
62
- "aria-label": ariaLabel ?? mergedLabels.root,
63
- children: content,
64
- "data-uiify-pagination": ""
63
+ children: content
65
64
  },
66
65
  render,
67
66
  state: { page }
@@ -183,7 +182,6 @@ function PaginationLink(props) {
183
182
  as: as ?? Tag,
184
183
  defaultTag: Tag,
185
184
  props: {
186
- ...consumerProps,
187
185
  "aria-current": selected ? "page" : void 0,
188
186
  "aria-label": formatPageLabel(pageLabelTemplate, page, locale),
189
187
  "aria-disabled": disabled ? true : void 0,
@@ -194,6 +192,7 @@ function PaginationLink(props) {
194
192
  "data-uiify-button": "",
195
193
  "data-variant": "ghost",
196
194
  href,
195
+ ...consumerProps,
197
196
  children: formatPageNumber(page, locale)
198
197
  },
199
198
  render,
@@ -245,9 +244,9 @@ function PaginationEllipsis(props) {
245
244
  as,
246
245
  defaultTag: "span",
247
246
  props: {
248
- ...consumerProps,
249
247
  "aria-hidden": true,
250
248
  "data-type": "ellipsis",
249
+ ...consumerProps,
251
250
  children: "\u2026"
252
251
  },
253
252
  render,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/pagination/PaginationShell.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { buildPaginationItems } from \"./pagination-engine.js\";\n\nimport type {\n PaginationItem,\n PaginationLabels,\n PaginationRootProps,\n PaginationListProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationEllipsisProps,\n} from \"./types.js\";\n\nexport { buildPaginationItems } from \"./pagination-engine.js\";\n\nexport const DEFAULT_PAGINATION_LABELS: PaginationLabels = {\n root: \"Pagination\",\n page: \"Page {page}\",\n previous: \"Previous page\",\n next: \"Next page\",\n first: \"First page\",\n last: \"Last page\",\n previousText: \"Previous\",\n nextText: \"Next\",\n firstText: \"First\",\n lastText: \"Last\",\n};\n\nexport function PaginationRoot<TAs extends ElementType = \"nav\">(\n props: PaginationRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n \"aria-label\": ariaLabel,\n boundaryCount = 1,\n count,\n disabled = false,\n getPageHref,\n labels,\n locale,\n page = 1,\n showFirstLast = false,\n siblingCount = 1,\n children,\n defaultPage: _defaultPage,\n onPageChange: _onPageChange,\n ...consumerProps\n } = props as PaginationRootProps<\"nav\">;\n const mergedLabels = { ...DEFAULT_PAGINATION_LABELS, ...labels };\n\n const items = buildPaginationItems(\n count,\n page,\n siblingCount,\n boundaryCount,\n disabled,\n showFirstLast,\n );\n\n const content = children ?? (\n <ol>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n key={`${item.type}-${item.page ?? index}`}\n labels={mergedLabels}\n {...(locale !== undefined ? { locale } : {})}\n page={page}\n {...paginationHrefProps(getPageHref)}\n />\n ))}\n </ol>\n );\n\n return useRenderElement({\n as,\n defaultTag: \"nav\",\n props: {\n ...consumerProps,\n \"aria-label\": ariaLabel ?? mergedLabels.root,\n children: content,\n \"data-uiify-pagination\": \"\",\n },\n render,\n state: { page },\n });\n}\nPaginationRoot.displayName = \"PaginationRoot\";\n\nfunction paginationHrefProps(getPageHref?: (page: number) => string): {\n readonly getPageHref?: (page: number) => string;\n} {\n return getPageHref ? { getPageHref } : {};\n}\n\nfunction PaginationItemRenderer({\n getPageHref,\n item,\n labels,\n locale,\n page,\n}: {\n readonly getPageHref?: (page: number) => string;\n readonly item: PaginationItem;\n readonly labels: PaginationLabels;\n readonly locale?: string;\n readonly page: number;\n}): ReactElement {\n const hrefProps = paginationHrefProps(getPageHref);\n\n switch (item.type) {\n case \"ellipsis\":\n return <PaginationEllipsis />;\n case \"previous\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.previous}\n labelText={labels.previousText}\n page={page - 1}\n type=\"previous\"\n {...hrefProps}\n />\n );\n case \"next\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.next}\n labelText={labels.nextText}\n page={page + 1}\n type=\"next\"\n {...hrefProps}\n />\n );\n case \"first\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.first}\n labelText={labels.firstText}\n page={1}\n type=\"first\"\n {...hrefProps}\n />\n );\n case \"last\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.last}\n labelText={labels.lastText}\n page={item.page ?? page}\n type=\"last\"\n {...hrefProps}\n />\n );\n default:\n return (\n <PaginationLink\n disabled={item.disabled}\n {...(locale !== undefined ? { locale } : {})}\n pageLabelTemplate={labels.page}\n page={item.page ?? 1}\n selected={item.selected}\n {...hrefProps}\n />\n );\n }\n}\nPaginationItemRenderer.displayName = \"PaginationItemRenderer\";\n\nexport function PaginationList<TAs extends ElementType = \"ol\">(\n props: PaginationListProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as PaginationListProps<\"ol\">;\n\n return useRenderElement({\n as,\n defaultTag: \"ol\",\n props: consumerProps,\n render,\n state: {},\n });\n}\n\nexport function PaginationItemPart<TAs extends ElementType = \"li\">(\n props: PaginationItemProps<TAs>,\n): ReactElement | null {\n const { as, render, children, ...consumerProps } = props as PaginationItemProps<\"li\">;\n\n return useRenderElement({\n as,\n defaultTag: \"li\",\n props: { ...consumerProps, children },\n render,\n state: {},\n });\n}\n\nexport function PaginationLink<TAs extends ElementType = \"a\">(\n props: PaginationLinkProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n disabled = false,\n getPageHref,\n locale,\n pageLabelTemplate = DEFAULT_PAGINATION_LABELS.page,\n page,\n selected = false,\n ...consumerProps\n } = props as PaginationLinkProps<\"a\">;\n\n const href = !disabled && getPageHref ? getPageHref(page) : undefined;\n const Tag = href ? \"a\" : \"span\";\n\n return useRenderElement({\n as: as ?? Tag,\n defaultTag: Tag,\n props: {\n ...consumerProps,\n \"aria-current\": selected ? \"page\" : undefined,\n \"aria-label\": formatPageLabel(pageLabelTemplate, page, locale),\n \"aria-disabled\": disabled ? true : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected ? \"\" : undefined,\n \"data-size\": \"icon\",\n \"data-type\": \"page\",\n \"data-uiify-button\": \"\",\n \"data-variant\": \"ghost\",\n href,\n children: formatPageNumber(page, locale),\n },\n render,\n state: { selected },\n });\n}\n\nfunction PaginationNavControl({\n disabled,\n getPageHref,\n label,\n labelText,\n page,\n type,\n}: {\n readonly disabled: boolean;\n readonly getPageHref?: (page: number) => string;\n readonly label: string;\n readonly labelText: string;\n readonly page: number;\n readonly type: \"previous\" | \"next\" | \"first\" | \"last\";\n}): ReactElement {\n const href = !disabled && getPageHref ? getPageHref(page) : undefined;\n return (\n <PaginationItemPart>\n {href ? (\n <a\n aria-label={label}\n data-type={type}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n href={href}\n >\n {labelText}\n </a>\n ) : (\n <span\n aria-disabled={disabled ? true : undefined}\n aria-label={label}\n data-disabled={disabled ? \"\" : undefined}\n data-type={type}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n >\n {labelText}\n </span>\n )}\n </PaginationItemPart>\n );\n}\nPaginationNavControl.displayName = \"PaginationNavControl\";\n\nfunction formatPageNumber(page: number, locale?: string): string {\n return locale ? new Intl.NumberFormat(locale).format(page) : String(page);\n}\n\nfunction formatPageLabel(template: string, page: number, locale?: string): string {\n return formatLabel(template, { page: locale === undefined ? String(page) : page }, locale);\n}\n\nexport function PaginationEllipsis<TAs extends ElementType = \"span\">(\n props: PaginationEllipsisProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as PaginationEllipsisProps<\"span\">;\n const element = useRenderElement({\n as,\n defaultTag: \"span\",\n props: {\n ...consumerProps,\n \"aria-hidden\": true,\n \"data-type\": \"ellipsis\",\n children: \"…\",\n },\n render,\n state: {},\n });\n\n return <PaginationItemPart>{element}</PaginationItemPart>;\n}\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport const Pagination = {\n Ellipsis: PaginationEllipsis,\n Item: PaginationItemPart,\n Link: PaginationLink,\n List: PaginationList,\n Root: PaginationRoot,\n};\n"],"mappings":"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","names":["buildPaginationItems"]}
1
+ {"version":3,"sources":["../../../src/components/pagination/PaginationShell.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { buildPaginationItems } from \"./pagination-engine.js\";\n\nimport type {\n PaginationItem,\n PaginationLabels,\n PaginationRootProps,\n PaginationListProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationEllipsisProps,\n} from \"./types.js\";\n\nexport { buildPaginationItems } from \"./pagination-engine.js\";\n\nexport const DEFAULT_PAGINATION_LABELS: PaginationLabels = {\n root: \"Pagination\",\n page: \"Page {page}\",\n previous: \"Previous page\",\n next: \"Next page\",\n first: \"First page\",\n last: \"Last page\",\n previousText: \"Previous\",\n nextText: \"Next\",\n firstText: \"First\",\n lastText: \"Last\",\n};\n\nexport function PaginationRoot<TAs extends ElementType = \"nav\">(\n props: PaginationRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n boundaryCount = 1,\n count,\n disabled = false,\n getPageHref,\n labels,\n locale,\n page = 1,\n showFirstLast = false,\n siblingCount = 1,\n children,\n defaultPage: _defaultPage,\n onPageChange: _onPageChange,\n ...consumerProps\n } = props as PaginationRootProps<\"nav\">;\n const mergedLabels = { ...DEFAULT_PAGINATION_LABELS, ...labels };\n\n const items = buildPaginationItems(\n count,\n page,\n siblingCount,\n boundaryCount,\n disabled,\n showFirstLast,\n );\n\n const content = children ?? (\n <ol>\n {items.map((item, index) => (\n <PaginationItemRenderer\n item={item}\n key={`${item.type}-${item.page ?? index}`}\n labels={mergedLabels}\n {...(locale !== undefined ? { locale } : {})}\n page={page}\n {...paginationHrefProps(getPageHref)}\n />\n ))}\n </ol>\n );\n\n return useRenderElement({\n as,\n defaultTag: \"nav\",\n props: {\n \"aria-label\": mergedLabels.root,\n \"data-uiify-pagination\": \"\",\n ...consumerProps,\n children: content,\n },\n render,\n state: { page },\n });\n}\nPaginationRoot.displayName = \"PaginationRoot\";\n\nfunction paginationHrefProps(getPageHref?: (page: number) => string): {\n readonly getPageHref?: (page: number) => string;\n} {\n return getPageHref ? { getPageHref } : {};\n}\n\nfunction PaginationItemRenderer({\n getPageHref,\n item,\n labels,\n locale,\n page,\n}: {\n readonly getPageHref?: (page: number) => string;\n readonly item: PaginationItem;\n readonly labels: PaginationLabels;\n readonly locale?: string;\n readonly page: number;\n}): ReactElement {\n const hrefProps = paginationHrefProps(getPageHref);\n\n switch (item.type) {\n case \"ellipsis\":\n return <PaginationEllipsis />;\n case \"previous\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.previous}\n labelText={labels.previousText}\n page={page - 1}\n type=\"previous\"\n {...hrefProps}\n />\n );\n case \"next\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.next}\n labelText={labels.nextText}\n page={page + 1}\n type=\"next\"\n {...hrefProps}\n />\n );\n case \"first\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.first}\n labelText={labels.firstText}\n page={1}\n type=\"first\"\n {...hrefProps}\n />\n );\n case \"last\":\n return (\n <PaginationNavControl\n disabled={item.disabled}\n label={labels.last}\n labelText={labels.lastText}\n page={item.page ?? page}\n type=\"last\"\n {...hrefProps}\n />\n );\n default:\n return (\n <PaginationLink\n disabled={item.disabled}\n {...(locale !== undefined ? { locale } : {})}\n pageLabelTemplate={labels.page}\n page={item.page ?? 1}\n selected={item.selected}\n {...hrefProps}\n />\n );\n }\n}\nPaginationItemRenderer.displayName = \"PaginationItemRenderer\";\n\nexport function PaginationList<TAs extends ElementType = \"ol\">(\n props: PaginationListProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as PaginationListProps<\"ol\">;\n\n return useRenderElement({\n as,\n defaultTag: \"ol\",\n props: consumerProps,\n render,\n state: {},\n });\n}\n\nexport function PaginationItemPart<TAs extends ElementType = \"li\">(\n props: PaginationItemProps<TAs>,\n): ReactElement | null {\n const { as, render, children, ...consumerProps } = props as PaginationItemProps<\"li\">;\n\n return useRenderElement({\n as,\n defaultTag: \"li\",\n props: { ...consumerProps, children },\n render,\n state: {},\n });\n}\n\nexport function PaginationLink<TAs extends ElementType = \"a\">(\n props: PaginationLinkProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n disabled = false,\n getPageHref,\n locale,\n pageLabelTemplate = DEFAULT_PAGINATION_LABELS.page,\n page,\n selected = false,\n ...consumerProps\n } = props as PaginationLinkProps<\"a\">;\n\n const href = !disabled && getPageHref ? getPageHref(page) : undefined;\n const Tag = href ? \"a\" : \"span\";\n\n return useRenderElement({\n as: as ?? Tag,\n defaultTag: Tag,\n props: {\n \"aria-current\": selected ? \"page\" : undefined,\n \"aria-label\": formatPageLabel(pageLabelTemplate, page, locale),\n \"aria-disabled\": disabled ? true : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected ? \"\" : undefined,\n \"data-size\": \"icon\",\n \"data-type\": \"page\",\n \"data-uiify-button\": \"\",\n \"data-variant\": \"ghost\",\n href,\n ...consumerProps,\n children: formatPageNumber(page, locale),\n },\n render,\n state: { selected },\n });\n}\n\nfunction PaginationNavControl({\n disabled,\n getPageHref,\n label,\n labelText,\n page,\n type,\n}: {\n readonly disabled: boolean;\n readonly getPageHref?: (page: number) => string;\n readonly label: string;\n readonly labelText: string;\n readonly page: number;\n readonly type: \"previous\" | \"next\" | \"first\" | \"last\";\n}): ReactElement {\n const href = !disabled && getPageHref ? getPageHref(page) : undefined;\n return (\n <PaginationItemPart>\n {href ? (\n <a\n aria-label={label}\n data-type={type}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n href={href}\n >\n {labelText}\n </a>\n ) : (\n <span\n aria-disabled={disabled ? true : undefined}\n aria-label={label}\n data-disabled={disabled ? \"\" : undefined}\n data-type={type}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n >\n {labelText}\n </span>\n )}\n </PaginationItemPart>\n );\n}\nPaginationNavControl.displayName = \"PaginationNavControl\";\n\nfunction formatPageNumber(page: number, locale?: string): string {\n return locale ? new Intl.NumberFormat(locale).format(page) : String(page);\n}\n\nfunction formatPageLabel(template: string, page: number, locale?: string): string {\n return formatLabel(template, { page: locale === undefined ? String(page) : page }, locale);\n}\n\nexport function PaginationEllipsis<TAs extends ElementType = \"span\">(\n props: PaginationEllipsisProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as PaginationEllipsisProps<\"span\">;\n const element = useRenderElement({\n as,\n defaultTag: \"span\",\n props: {\n \"aria-hidden\": true,\n \"data-type\": \"ellipsis\",\n ...consumerProps,\n children: \"…\",\n },\n render,\n state: {},\n });\n\n return <PaginationItemPart>{element}</PaginationItemPart>;\n}\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport const Pagination = {\n Ellipsis: PaginationEllipsis,\n Item: PaginationItemPart,\n Link: PaginationLink,\n List: PaginationList,\n Root: PaginationRoot,\n};\n"],"mappings":"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","names":["buildPaginationItems"]}
@@ -1,5 +1,5 @@
1
1
  export { buildPaginationItems } from "./pagination-engine.js";
2
2
  export type { PaginationItem as PaginationItemDescriptor, PaginationItemType, UsePaginationParams, } from "./types.js";
3
3
  export { Pagination, PaginationEllipsis, PaginationItemPart as PaginationItem, PaginationLink, PaginationList, PaginationRoot, } from "./Pagination.js";
4
- export type { PaginationEllipsisProps, PaginationEllipsisOwnProps, PaginationItemProps, PaginationItemOwnProps, PaginationLinkOwnProps, PaginationLinkProps, PaginationListOwnProps, PaginationListProps, PaginationRootOwnProps, PaginationRootProps, PaginationLabels, } from "./types.js";
4
+ export type { PaginationEllipsisProps, PaginationEllipsisOwnProps, PaginationItemProps, PaginationItemOwnProps, PaginationLinkOwnProps, PaginationLinkProps, PaginationListOwnProps, PaginationListProps, PaginationRootOwnProps, PaginationRootSlotProps, PaginationRootProps, PaginationLabels, } from "./types.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,cAAc,IAAI,wBAAwB,EAC1C,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,IAAI,cAAc,EACpC,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,cAAc,IAAI,wBAAwB,EAC1C,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,IAAI,cAAc,EACpC,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export { buildPaginationItems } from \"./pagination-engine.js\";\nexport type {\n PaginationItem as PaginationItemDescriptor,\n PaginationItemType,\n UsePaginationParams,\n} from \"./types.js\";\nexport {\n Pagination,\n PaginationEllipsis,\n PaginationItemPart as PaginationItem,\n PaginationLink,\n PaginationList,\n PaginationRoot,\n} from \"./Pagination.js\";\nexport type {\n PaginationEllipsisProps,\n PaginationEllipsisOwnProps,\n PaginationItemProps,\n PaginationItemOwnProps,\n PaginationLinkOwnProps,\n PaginationLinkProps,\n PaginationListOwnProps,\n PaginationListProps,\n PaginationRootOwnProps,\n PaginationRootProps,\n PaginationLabels,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,4BAA4B;AAMrC;AAAA,EACE;AAAA,EACA;AAAA,EACsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export { buildPaginationItems } from \"./pagination-engine.js\";\nexport type {\n PaginationItem as PaginationItemDescriptor,\n PaginationItemType,\n UsePaginationParams,\n} from \"./types.js\";\nexport {\n Pagination,\n PaginationEllipsis,\n PaginationItemPart as PaginationItem,\n PaginationLink,\n PaginationList,\n PaginationRoot,\n} from \"./Pagination.js\";\nexport type {\n PaginationEllipsisProps,\n PaginationEllipsisOwnProps,\n PaginationItemProps,\n PaginationItemOwnProps,\n PaginationLinkOwnProps,\n PaginationLinkProps,\n PaginationListOwnProps,\n PaginationListProps,\n PaginationRootOwnProps,\n PaginationRootSlotProps,\n PaginationRootProps,\n PaginationLabels,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,4BAA4B;AAMrC;AAAA,EACE;AAAA,EACA;AAAA,EACsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -1,5 +1,6 @@
1
1
  import type { ElementType, ReactNode } from "react";
2
2
  import type { RenderableProps } from "@gunkin/uiify/core/render";
3
+ import type { RepeatedSlotProps, SlotProps } from "../../core/slot-props.js";
3
4
  export type PaginationItemType = "page" | "ellipsis" | "previous" | "next" | "first" | "last";
4
5
  export interface PaginationPageItem {
5
6
  readonly disabled: boolean;
@@ -30,7 +31,7 @@ export interface UsePaginationParams {
30
31
  readonly boundaryCount?: number;
31
32
  readonly count: number;
32
33
  readonly defaultPage?: number;
33
- readonly disabled?: boolean;
34
+ readonly disabled?: boolean | undefined;
34
35
  readonly onPageChange?: (page: number) => void;
35
36
  readonly page?: number;
36
37
  readonly showFirstLast?: boolean;
@@ -48,13 +49,21 @@ export interface PaginationContextValue {
48
49
  readonly locale?: string;
49
50
  readonly page: number;
50
51
  readonly setPage: (page: number) => void;
52
+ readonly slotProps?: PaginationRootSlotProps;
53
+ }
54
+ export interface PaginationRootSlotProps {
55
+ readonly list?: SlotProps<"ol">;
56
+ readonly item?: RepeatedSlotProps<SlotProps<"li">>;
57
+ readonly link?: RepeatedSlotProps<SlotProps<"button">>;
58
+ readonly control?: RepeatedSlotProps<SlotProps<"button">>;
59
+ readonly ellipsis?: RepeatedSlotProps<SlotProps<"span">>;
51
60
  }
52
61
  export interface PaginationRootOwnProps extends UsePaginationParams {
53
- readonly "aria-label"?: string;
54
62
  readonly children?: ReactNode;
55
63
  readonly getPageHref?: (page: number) => string;
56
64
  readonly labels?: Partial<PaginationLabels>;
57
65
  readonly locale?: string;
66
+ readonly slotProps?: PaginationRootSlotProps;
58
67
  }
59
68
  export type PaginationRootProps<TAs extends ElementType = "nav"> = RenderableProps<TAs, PaginationRootOwnProps, {
60
69
  page: number;
@@ -68,7 +77,7 @@ export interface PaginationItemOwnProps {
68
77
  }
69
78
  export type PaginationItemProps<TAs extends ElementType = "li"> = RenderableProps<TAs, PaginationItemOwnProps, Record<string, never>, HTMLLIElement>;
70
79
  export interface PaginationLinkOwnProps {
71
- readonly disabled?: boolean;
80
+ readonly disabled?: boolean | undefined;
72
81
  readonly getPageHref?: (page: number) => string;
73
82
  readonly locale?: string;
74
83
  readonly pageLabelTemplate?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,MAAM,mBAAmB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAChF,GAAG,EACH,sBAAsB,EACtB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChB,WAAW,CACZ,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,IAAI,eAAe,CAC/E,GAAG,EACH,sBAAsB,EACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,gBAAgB,CACjB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,IAAI,eAAe,CAC/E,GAAG,EACH,sBAAsB,EACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,aAAa,CACd,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,CAAC,GAAG,SAAS,WAAW,GAAG,GAAG,IAAI,eAAe,CAC9E,GAAG,EACH,sBAAsB,EACtB;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,EACrB,WAAW,CACZ,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,uBAAuB,CAAC,GAAG,SAAS,WAAW,GAAG,MAAM,IAAI,eAAe,CACrF,GAAG,EACH,0BAA0B,EAC1B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,WAAW,CACZ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { RadioGroupProps } from "./types.js";
3
- export declare function RadioGroup({ id, items, defaultValue, name, disabled, orientation, className, "aria-label": ariaLabel, }: RadioGroupProps): ReactElement;
3
+ export declare function RadioGroup({ id, items, defaultValue, name, disabled, orientation, className, slotProps, "aria-label": ariaLabel, ...rootProps }: RadioGroupProps): ReactElement;
4
4
  export declare namespace RadioGroup {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,QAAgB,EAChB,WAAwB,EACxB,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,eAAe,GAAG,YAAY,CAoBhC;yBA7Be,UAAU"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,QAAgB,EAChB,WAAwB,EACxB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,GAAG,SAAS,EACb,EAAE,eAAe,GAAG,YAAY,CAsBhC;yBAjCe,UAAU"}
@@ -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,11 @@ 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"> & ConsumerDataAttributes;
10
17
  export interface RatingClientProps extends RatingProps {
11
18
  readonly value?: number;
12
19
  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,EAC5B,MAAM,cAAc,GAAG,UAAU,GAAG,yBAAyB,CAC9D,GACD,sBAAsB,CAAC;AAEzB,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, size, 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,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,SAAS,EACb,EAAE,qBAAqB,GAAG,YAAY,CA4BtC;yBAzCe,gBAAgB"}