@gunkin/uiify 0.0.22-alpha → 0.0.25-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/agents/index.md +1 -1
  2. package/agents/reference/components/accordion.md +23 -3
  3. package/agents/reference/components/alert-modal.md +25 -7
  4. package/agents/reference/components/alert.md +13 -1
  5. package/agents/reference/components/aspect-ratio.md +12 -0
  6. package/agents/reference/components/avatar.md +14 -0
  7. package/agents/reference/components/badge.md +4 -0
  8. package/agents/reference/components/breadcrumb.md +25 -1
  9. package/agents/reference/components/button.md +4 -0
  10. package/agents/reference/components/candle-chart.md +54 -2
  11. package/agents/reference/components/card.md +4 -0
  12. package/agents/reference/components/carousel.md +34 -1
  13. package/agents/reference/components/checkbox.md +7 -1
  14. package/agents/reference/components/collapsible.md +21 -3
  15. package/agents/reference/components/color-picker.md +22 -2
  16. package/agents/reference/components/combobox.md +24 -9
  17. package/agents/reference/components/context-menu.md +41 -5
  18. package/agents/reference/components/date-picker.md +4 -0
  19. package/agents/reference/components/description-list.md +4 -0
  20. package/agents/reference/components/drawer.md +35 -5
  21. package/agents/reference/components/dropdown-menu.md +8 -3
  22. package/agents/reference/components/empty.md +4 -0
  23. package/agents/reference/components/field.md +8 -3
  24. package/agents/reference/components/fieldset.md +4 -0
  25. package/agents/reference/components/file-upload.md +4 -0
  26. package/agents/reference/components/form-error-summary.md +15 -1
  27. package/agents/reference/components/form.md +4 -0
  28. package/agents/reference/components/header.md +4 -0
  29. package/agents/reference/components/hover-card.md +4 -0
  30. package/agents/reference/components/input-group.md +4 -0
  31. package/agents/reference/components/input.md +4 -0
  32. package/agents/reference/components/item.md +4 -0
  33. package/agents/reference/components/line-chart.md +45 -2
  34. package/agents/reference/components/modal.md +27 -3
  35. package/agents/reference/components/number-field.md +4 -0
  36. package/agents/reference/components/otp-input.md +4 -0
  37. package/agents/reference/components/pagination.md +17 -1
  38. package/agents/reference/components/popup.md +5 -0
  39. package/agents/reference/components/progress.md +4 -0
  40. package/agents/reference/components/radio-group.md +13 -2
  41. package/agents/reference/components/rating.md +13 -2
  42. package/agents/reference/components/segmented-control.md +13 -3
  43. package/agents/reference/components/select.md +5 -0
  44. package/agents/reference/components/skeleton.md +4 -0
  45. package/agents/reference/components/slider.md +17 -1
  46. package/agents/reference/components/spinner.md +14 -1
  47. package/agents/reference/components/switch.md +4 -0
  48. package/agents/reference/components/table-of-contents.md +4 -0
  49. package/agents/reference/components/table.md +20 -0
  50. package/agents/reference/components/tabs.md +26 -3
  51. package/agents/reference/components/tags-input.md +26 -1
  52. package/agents/reference/components/textarea.md +4 -0
  53. package/agents/reference/components/toast.md +59 -10
  54. package/agents/reference/components/toggle-group.md +10 -3
  55. package/agents/reference/components/toggle.md +20 -3
  56. package/agents/reference/components/toolbar.md +8 -4
  57. package/agents/reference/components/tooltip.md +4 -0
  58. package/agents/reference/components/virtual-scroll.md +35 -2
  59. package/agents/reference/elements/choice.md +21 -8
  60. package/agents/reference/elements/details.md +1 -1
  61. package/agents/reference/elements/dialog.md +1 -1
  62. package/agents/reference/elements/invoker.md +1 -1
  63. package/agents/reference/elements/popover.md +1 -1
  64. package/dist/components/accordion/Accordion.d.ts +1 -1
  65. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  66. package/dist/components/accordion/Accordion.js +62 -15
  67. package/dist/components/accordion/Accordion.js.map +1 -1
  68. package/dist/components/accordion/index.d.ts +1 -1
  69. package/dist/components/accordion/index.d.ts.map +1 -1
  70. package/dist/components/accordion/index.js.map +1 -1
  71. package/dist/components/accordion/types.d.ts +23 -2
  72. package/dist/components/accordion/types.d.ts.map +1 -1
  73. package/dist/components/alert/Alert.d.ts.map +1 -1
  74. package/dist/components/alert/Alert.js +11 -1
  75. package/dist/components/alert/Alert.js.map +1 -1
  76. package/dist/components/alert/index.d.ts +1 -1
  77. package/dist/components/alert/index.d.ts.map +1 -1
  78. package/dist/components/alert/index.js.map +1 -1
  79. package/dist/components/alert/types.d.ts +11 -1
  80. package/dist/components/alert/types.d.ts.map +1 -1
  81. package/dist/components/alert-modal/AlertModal.d.ts +1 -1
  82. package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
  83. package/dist/components/alert-modal/AlertModal.js +139 -20
  84. package/dist/components/alert-modal/AlertModal.js.map +1 -1
  85. package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
  86. package/dist/components/alert-modal/AlertModalParts.js +37 -4
  87. package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
  88. package/dist/components/alert-modal/index.d.ts +1 -1
  89. package/dist/components/alert-modal/index.d.ts.map +1 -1
  90. package/dist/components/alert-modal/index.js.map +1 -1
  91. package/dist/components/alert-modal/types.d.ts +40 -6
  92. package/dist/components/alert-modal/types.d.ts.map +1 -1
  93. package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
  94. package/dist/components/aspect-ratio/AspectRatio.js +10 -2
  95. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  96. package/dist/components/aspect-ratio/types.d.ts +10 -1
  97. package/dist/components/aspect-ratio/types.d.ts.map +1 -1
  98. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  99. package/dist/components/avatar/Avatar.js +19 -2
  100. package/dist/components/avatar/Avatar.js.map +1 -1
  101. package/dist/components/avatar/types.d.ts +19 -1
  102. package/dist/components/avatar/types.d.ts.map +1 -1
  103. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
  104. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  105. package/dist/components/breadcrumb/Breadcrumb.js +118 -26
  106. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  107. package/dist/components/breadcrumb/index.d.ts +1 -1
  108. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  109. package/dist/components/breadcrumb/index.js.map +1 -1
  110. package/dist/components/breadcrumb/types.d.ts +40 -1
  111. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  112. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  113. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  114. package/dist/components/candle-chart/CandleChart.js +269 -119
  115. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  116. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  117. package/dist/components/candle-chart/client/CandleChartClient.js +21 -1
  118. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  119. package/dist/components/candle-chart/client/index.d.ts +1 -1
  120. package/dist/components/candle-chart/client/index.d.ts.map +1 -1
  121. package/dist/components/candle-chart/client/index.js.map +1 -1
  122. package/dist/components/candle-chart/index.d.ts +1 -1
  123. package/dist/components/candle-chart/index.d.ts.map +1 -1
  124. package/dist/components/candle-chart/index.js.map +1 -1
  125. package/dist/components/candle-chart/types.d.ts +129 -1
  126. package/dist/components/candle-chart/types.d.ts.map +1 -1
  127. package/dist/components/carousel/Carousel.d.ts +2 -2
  128. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  129. package/dist/components/carousel/Carousel.js +2 -1
  130. package/dist/components/carousel/Carousel.js.map +1 -1
  131. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  132. package/dist/components/carousel/CarouselMarkup.js +137 -22
  133. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  134. package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
  135. package/dist/components/carousel/client/CarouselClient.js +3 -2
  136. package/dist/components/carousel/client/CarouselClient.js.map +1 -1
  137. package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
  138. package/dist/components/carousel/client/carousel-controls.js +2 -2
  139. package/dist/components/carousel/client/carousel-controls.js.map +1 -1
  140. package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
  141. package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
  142. package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
  143. package/dist/components/carousel/index.d.ts +1 -1
  144. package/dist/components/carousel/index.d.ts.map +1 -1
  145. package/dist/components/carousel/index.js.map +1 -1
  146. package/dist/components/carousel/types.d.ts +85 -2
  147. package/dist/components/carousel/types.d.ts.map +1 -1
  148. package/dist/components/checkbox/Checkbox.d.ts +6 -1
  149. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  150. package/dist/components/checkbox/Checkbox.js +6 -1
  151. package/dist/components/checkbox/Checkbox.js.map +1 -1
  152. package/dist/components/checkbox/index.d.ts +1 -1
  153. package/dist/components/checkbox/index.d.ts.map +1 -1
  154. package/dist/components/checkbox/index.js.map +1 -1
  155. package/dist/components/checkbox/types.d.ts +3 -0
  156. package/dist/components/checkbox/types.d.ts.map +1 -1
  157. package/dist/components/collapsible/Collapsible.d.ts +1 -1
  158. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  159. package/dist/components/collapsible/Collapsible.js +35 -4
  160. package/dist/components/collapsible/Collapsible.js.map +1 -1
  161. package/dist/components/collapsible/index.d.ts +1 -1
  162. package/dist/components/collapsible/index.d.ts.map +1 -1
  163. package/dist/components/collapsible/index.js.map +1 -1
  164. package/dist/components/collapsible/types.d.ts +25 -3
  165. package/dist/components/collapsible/types.d.ts.map +1 -1
  166. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
  167. package/dist/components/color-picker/ColorPicker.js +165 -49
  168. package/dist/components/color-picker/ColorPicker.js.map +1 -1
  169. package/dist/components/color-picker/index.d.ts +1 -1
  170. package/dist/components/color-picker/index.d.ts.map +1 -1
  171. package/dist/components/color-picker/index.js.map +1 -1
  172. package/dist/components/color-picker/types.d.ts +37 -0
  173. package/dist/components/color-picker/types.d.ts.map +1 -1
  174. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  175. package/dist/components/combobox/Combobox.js +44 -25
  176. package/dist/components/combobox/Combobox.js.map +1 -1
  177. package/dist/components/combobox/index.d.ts +1 -1
  178. package/dist/components/combobox/index.d.ts.map +1 -1
  179. package/dist/components/combobox/index.js.map +1 -1
  180. package/dist/components/combobox/types.d.ts +29 -4
  181. package/dist/components/combobox/types.d.ts.map +1 -1
  182. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  183. package/dist/components/context-menu/ContextMenu.js +48 -11
  184. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  185. package/dist/components/context-menu/index.d.ts +1 -1
  186. package/dist/components/context-menu/index.d.ts.map +1 -1
  187. package/dist/components/context-menu/index.js.map +1 -1
  188. package/dist/components/context-menu/types.d.ts +35 -9
  189. package/dist/components/context-menu/types.d.ts.map +1 -1
  190. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  191. package/dist/components/drawer/Drawer.js +5 -1
  192. package/dist/components/drawer/Drawer.js.map +1 -1
  193. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  194. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  195. package/dist/components/drawer/DrawerNative.js +254 -44
  196. package/dist/components/drawer/DrawerNative.js.map +1 -1
  197. package/dist/components/drawer/index.d.ts +1 -1
  198. package/dist/components/drawer/index.d.ts.map +1 -1
  199. package/dist/components/drawer/index.js.map +1 -1
  200. package/dist/components/drawer/types.d.ts +31 -6
  201. package/dist/components/drawer/types.d.ts.map +1 -1
  202. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  203. package/dist/components/dropdown-menu/DropdownMenu.js +8 -2
  204. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  205. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  206. package/dist/components/dropdown-menu/DropdownMenuBar.js +47 -29
  207. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  208. package/dist/components/dropdown-menu/types.d.ts +7 -5
  209. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  210. package/dist/components/field/types.d.ts +4 -4
  211. package/dist/components/field/types.d.ts.map +1 -1
  212. package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
  213. package/dist/components/form-error-summary/FormErrorSummary.js +35 -3
  214. package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
  215. package/dist/components/form-error-summary/index.d.ts +1 -1
  216. package/dist/components/form-error-summary/index.d.ts.map +1 -1
  217. package/dist/components/form-error-summary/index.js.map +1 -1
  218. package/dist/components/form-error-summary/types.d.ts +20 -1
  219. package/dist/components/form-error-summary/types.d.ts.map +1 -1
  220. package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
  221. package/dist/components/internal/choice-family/ChoiceGroup.js +61 -11
  222. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  223. package/dist/components/internal/choice-family/types.d.ts +51 -1
  224. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  225. package/dist/components/internal/menu/types.d.ts +1 -0
  226. package/dist/components/internal/menu/types.d.ts.map +1 -1
  227. package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
  228. package/dist/components/internal/menu/use-menu-surface.js +2 -1
  229. package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
  230. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
  231. package/dist/components/internal/native-check-control/NativeCheckControl.js +35 -3
  232. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
  233. package/dist/components/internal/native-check-control/types.d.ts +21 -1
  234. package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
  235. package/dist/components/line-chart/LineChart.d.ts +1 -1
  236. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  237. package/dist/components/line-chart/LineChart.js +260 -79
  238. package/dist/components/line-chart/LineChart.js.map +1 -1
  239. package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
  240. package/dist/components/line-chart/client/LineChartClient.js +21 -1
  241. package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
  242. package/dist/components/line-chart/client/index.d.ts +1 -1
  243. package/dist/components/line-chart/client/index.d.ts.map +1 -1
  244. package/dist/components/line-chart/client/index.js.map +1 -1
  245. package/dist/components/line-chart/index.d.ts +1 -1
  246. package/dist/components/line-chart/index.d.ts.map +1 -1
  247. package/dist/components/line-chart/index.js.map +1 -1
  248. package/dist/components/line-chart/types.d.ts +113 -1
  249. package/dist/components/line-chart/types.d.ts.map +1 -1
  250. package/dist/components/modal/Modal.d.ts +1 -1
  251. package/dist/components/modal/Modal.d.ts.map +1 -1
  252. package/dist/components/modal/Modal.js +118 -43
  253. package/dist/components/modal/Modal.js.map +1 -1
  254. package/dist/components/modal/index.d.ts +1 -1
  255. package/dist/components/modal/index.d.ts.map +1 -1
  256. package/dist/components/modal/index.js.map +1 -1
  257. package/dist/components/modal/types.d.ts +24 -2
  258. package/dist/components/modal/types.d.ts.map +1 -1
  259. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  260. package/dist/components/otp-input/OtpInput.js +4 -2
  261. package/dist/components/otp-input/OtpInput.js.map +1 -1
  262. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  263. package/dist/components/pagination/Pagination.js +172 -55
  264. package/dist/components/pagination/Pagination.js.map +1 -1
  265. package/dist/components/pagination/index.d.ts +1 -1
  266. package/dist/components/pagination/index.d.ts.map +1 -1
  267. package/dist/components/pagination/index.js.map +1 -1
  268. package/dist/components/pagination/types.d.ts +33 -1
  269. package/dist/components/pagination/types.d.ts.map +1 -1
  270. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  271. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  272. package/dist/components/radio-group/RadioGroup.js +5 -1
  273. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  274. package/dist/components/radio-group/index.d.ts +1 -1
  275. package/dist/components/radio-group/index.d.ts.map +1 -1
  276. package/dist/components/radio-group/index.js.map +1 -1
  277. package/dist/components/radio-group/types.d.ts +4 -2
  278. package/dist/components/radio-group/types.d.ts.map +1 -1
  279. package/dist/components/rating/Rating.d.ts +1 -1
  280. package/dist/components/rating/Rating.d.ts.map +1 -1
  281. package/dist/components/rating/Rating.js +5 -1
  282. package/dist/components/rating/Rating.js.map +1 -1
  283. package/dist/components/rating/client/RatingClient.d.ts +1 -1
  284. package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
  285. package/dist/components/rating/client/RatingClient.js +5 -1
  286. package/dist/components/rating/client/RatingClient.js.map +1 -1
  287. package/dist/components/rating/index.d.ts +1 -1
  288. package/dist/components/rating/index.d.ts.map +1 -1
  289. package/dist/components/rating/index.js.map +1 -1
  290. package/dist/components/rating/types.d.ts +12 -1
  291. package/dist/components/rating/types.d.ts.map +1 -1
  292. package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
  293. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  294. package/dist/components/segmented-control/SegmentedControl.js +5 -1
  295. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  296. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
  297. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
  298. package/dist/components/segmented-control/client/SegmentedControlClient.js +5 -1
  299. package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
  300. package/dist/components/segmented-control/index.d.ts +1 -1
  301. package/dist/components/segmented-control/index.d.ts.map +1 -1
  302. package/dist/components/segmented-control/index.js.map +1 -1
  303. package/dist/components/segmented-control/types.d.ts +4 -4
  304. package/dist/components/segmented-control/types.d.ts.map +1 -1
  305. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  306. package/dist/components/slider/client/SliderClient.js +102 -20
  307. package/dist/components/slider/client/SliderClient.js.map +1 -1
  308. package/dist/components/slider/client/index.d.ts +1 -1
  309. package/dist/components/slider/client/index.d.ts.map +1 -1
  310. package/dist/components/slider/client/index.js.map +1 -1
  311. package/dist/components/slider/types.d.ts +46 -1
  312. package/dist/components/slider/types.d.ts.map +1 -1
  313. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  314. package/dist/components/spinner/Spinner.js +19 -3
  315. package/dist/components/spinner/Spinner.js.map +1 -1
  316. package/dist/components/spinner/index.d.ts +1 -1
  317. package/dist/components/spinner/index.d.ts.map +1 -1
  318. package/dist/components/spinner/index.js.map +1 -1
  319. package/dist/components/spinner/types.d.ts +11 -1
  320. package/dist/components/spinner/types.d.ts.map +1 -1
  321. package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
  322. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
  323. package/dist/components/table/client/TableColumnHeader.js +24 -2
  324. package/dist/components/table/client/TableColumnHeader.js.map +1 -1
  325. package/dist/components/table/client/TableSelection.d.ts +3 -3
  326. package/dist/components/table/client/TableSelection.d.ts.map +1 -1
  327. package/dist/components/table/client/TableSelection.js +6 -4
  328. package/dist/components/table/client/TableSelection.js.map +1 -1
  329. package/dist/components/table/client.d.ts +1 -1
  330. package/dist/components/table/client.d.ts.map +1 -1
  331. package/dist/components/table/client.js.map +1 -1
  332. package/dist/components/table/types.d.ts +17 -0
  333. package/dist/components/table/types.d.ts.map +1 -1
  334. package/dist/components/tabs/Tabs.d.ts +1 -1
  335. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  336. package/dist/components/tabs/Tabs.js +45 -1
  337. package/dist/components/tabs/Tabs.js.map +1 -1
  338. package/dist/components/tabs/index.d.ts +1 -1
  339. package/dist/components/tabs/index.d.ts.map +1 -1
  340. package/dist/components/tabs/index.js.map +1 -1
  341. package/dist/components/tabs/types.d.ts +29 -3
  342. package/dist/components/tabs/types.d.ts.map +1 -1
  343. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  344. package/dist/components/tags-input/TagsInput.js +54 -9
  345. package/dist/components/tags-input/TagsInput.js.map +1 -1
  346. package/dist/components/tags-input/index.d.ts +1 -1
  347. package/dist/components/tags-input/index.d.ts.map +1 -1
  348. package/dist/components/tags-input/index.js.map +1 -1
  349. package/dist/components/tags-input/types.d.ts +27 -4
  350. package/dist/components/tags-input/types.d.ts.map +1 -1
  351. package/dist/components/toast/Toast.d.ts +1 -1
  352. package/dist/components/toast/Toast.d.ts.map +1 -1
  353. package/dist/components/toast/Toast.js +123 -35
  354. package/dist/components/toast/Toast.js.map +1 -1
  355. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  356. package/dist/components/toast/ToastElements.js +73 -12
  357. package/dist/components/toast/ToastElements.js.map +1 -1
  358. package/dist/components/toast/index.d.ts +1 -1
  359. package/dist/components/toast/index.d.ts.map +1 -1
  360. package/dist/components/toast/index.js.map +1 -1
  361. package/dist/components/toast/types.d.ts +49 -16
  362. package/dist/components/toast/types.d.ts.map +1 -1
  363. package/dist/components/toggle/Toggle.d.ts +1 -1
  364. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  365. package/dist/components/toggle/Toggle.js +63 -29
  366. package/dist/components/toggle/Toggle.js.map +1 -1
  367. package/dist/components/toggle/index.d.ts +1 -1
  368. package/dist/components/toggle/index.d.ts.map +1 -1
  369. package/dist/components/toggle/index.js.map +1 -1
  370. package/dist/components/toggle/types.d.ts +31 -3
  371. package/dist/components/toggle/types.d.ts.map +1 -1
  372. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  373. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  374. package/dist/components/toggle-group/ToggleGroup.js +5 -1
  375. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  376. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
  377. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
  378. package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
  379. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  380. package/dist/components/toggle-group/index.d.ts +1 -1
  381. package/dist/components/toggle-group/index.d.ts.map +1 -1
  382. package/dist/components/toggle-group/index.js.map +1 -1
  383. package/dist/components/toggle-group/types.d.ts +4 -4
  384. package/dist/components/toggle-group/types.d.ts.map +1 -1
  385. package/dist/components/toolbar/Toolbar.d.ts +3 -12
  386. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  387. package/dist/components/toolbar/Toolbar.js +22 -2
  388. package/dist/components/toolbar/Toolbar.js.map +1 -1
  389. package/dist/components/toolbar/types.d.ts +5 -5
  390. package/dist/components/toolbar/types.d.ts.map +1 -1
  391. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  392. package/dist/components/virtual-scroll/VirtualScroll.js +53 -20
  393. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  394. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
  395. package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
  396. package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
  397. package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
  398. package/dist/components/virtual-scroll/index.d.ts +1 -1
  399. package/dist/components/virtual-scroll/index.d.ts.map +1 -1
  400. package/dist/components/virtual-scroll/index.js.map +1 -1
  401. package/dist/components/virtual-scroll/types.d.ts +35 -2
  402. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  403. package/dist/components/virtual-scroll/types.js.map +1 -1
  404. package/dist/core/slot-props.d.ts +19 -0
  405. package/dist/core/slot-props.d.ts.map +1 -0
  406. package/dist/core/slot-props.js +59 -0
  407. package/dist/core/slot-props.js.map +1 -0
  408. package/dist/core/use-popover.d.ts +2 -1
  409. package/dist/core/use-popover.d.ts.map +1 -1
  410. package/dist/core/use-popover.js +3 -1
  411. package/dist/core/use-popover.js.map +1 -1
  412. package/dist/elements/choice/Choice.d.ts.map +1 -1
  413. package/dist/elements/choice/Choice.js +47 -7
  414. package/dist/elements/choice/Choice.js.map +1 -1
  415. package/dist/elements/choice/index.d.ts +1 -1
  416. package/dist/elements/choice/index.d.ts.map +1 -1
  417. package/dist/elements/choice/index.js.map +1 -1
  418. package/dist/elements/choice/types.d.ts +25 -10
  419. package/dist/elements/choice/types.d.ts.map +1 -1
  420. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  421. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  422. package/dist/styles/index.css +1 -1
  423. package/dist/styles/tailwind.css +17 -16
  424. package/package.json +1 -1
  425. package/skills/uiify/SKILL.md +1 -1
  426. package/skills/uiify/references/elements/accordion.md +1 -1
  427. package/skills/uiify/references/elements/breadcrumb.md +1 -0
  428. package/skills/uiify/references/elements/checkbox.md +1 -1
  429. package/skills/uiify/references/elements/color-picker.md +1 -1
  430. package/skills/uiify/references/elements/combobox.md +1 -1
  431. package/skills/uiify/references/elements/context-menu.md +1 -1
  432. package/skills/uiify/references/elements/dropdown-menu.md +1 -1
  433. package/skills/uiify/references/elements/form-error-summary.md +5 -0
  434. package/skills/uiify/references/elements/pagination.md +1 -1
  435. package/skills/uiify/references/elements/radio-group.md +1 -0
  436. package/skills/uiify/references/elements/rating.md +1 -1
  437. package/skills/uiify/references/elements/segmented-control.md +1 -0
  438. package/skills/uiify/references/elements/spinner.md +1 -1
  439. package/skills/uiify/references/elements/table.md +1 -1
  440. package/skills/uiify/references/elements/tabs.md +1 -1
  441. package/skills/uiify/references/elements/tags-input.md +1 -1
  442. package/skills/uiify/references/elements/toast.md +1 -0
  443. package/skills/uiify/references/elements/toggle-group.md +1 -0
@@ -6,7 +6,7 @@ import {
6
6
  useRef,
7
7
  useState
8
8
  } from "react";
9
- import { useControllableState, useId } from "@gunkin/uiify/hooks";
9
+ import { useControllableState, useId, useMergedRefs } from "@gunkin/uiify/hooks";
10
10
  import { createPartContext } from "@gunkin/uiify/core";
11
11
  import { isComposingKeyEvent } from "@gunkin/uiify/core/ime";
12
12
  import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
@@ -112,6 +112,7 @@ function OtpInputHiddenInput(props) {
112
112
  as,
113
113
  render,
114
114
  autoFocus: autoFocusProp,
115
+ ref: consumerRef,
115
116
  style: consumerStyle,
116
117
  ...consumerProps
117
118
  } = props;
@@ -127,6 +128,7 @@ function OtpInputHiddenInput(props) {
127
128
  updateValue,
128
129
  value
129
130
  } = useOtpInputContext("HiddenInput");
131
+ const mergedRef = useMergedRefs(consumerRef, hiddenInputRef);
130
132
  const inputId = useId();
131
133
  const autoFocus = autoFocusProp ?? rootAutoFocus;
132
134
  const {
@@ -157,7 +159,7 @@ function OtpInputHiddenInput(props) {
157
159
  ...consumerProps,
158
160
  "data-part": "control",
159
161
  id: inputId,
160
- ref: hiddenInputRef,
162
+ ref: mergedRef,
161
163
  type: mask ? "password" : "text",
162
164
  inputMode: type === "numeric" ? "numeric" : "text",
163
165
  autoComplete: "one-time-code",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/otp-input/OtpInput.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type ClipboardEvent,\n type CSSProperties,\n type ElementType,\n type KeyboardEvent,\n type ReactElement,\n type SyntheticEvent,\n} from \"react\";\nimport { useControllableState, useId } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { isComposingKeyEvent } from \"@gunkin/uiify/core/ime\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { PolymorphicProps } from \"@gunkin/uiify/core/render\";\nimport type {\n OtpInputType,\n OtpInputContextValue,\n OtpInputRootProps,\n OtpInputSlotProps,\n OtpInputHiddenInputProps,\n} from \"./types.js\";\n\nconst [OtpInputProvider, useOtpInputContext] = createPartContext<OtpInputContextValue>(\"OtpInput\");\n\nfunction sanitizeValue(raw: string, type: OtpInputType, maxLength: number): string {\n const pattern = type === \"numeric\" ? /\\d/g : /[a-zA-Z0-9]/g;\n return (raw.match(pattern) ?? []).join(\"\").slice(0, maxLength);\n}\n\nexport function OtpInputRoot<TAs extends ElementType = \"div\">(\n props: OtpInputRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n length = 6,\n value: controlledValue,\n defaultValue = \"\",\n onValueChange,\n onComplete,\n type = \"numeric\",\n mask = false,\n disabled = false,\n autoFocus = false,\n ...consumerProps\n } = props as OtpInputRootProps<ElementType>;\n\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n const [focused, setFocused] = useState(false);\n const [value, setValue] = useControllableState<string>({\n value: controlledValue,\n defaultValue,\n onChange: onValueChange,\n });\n\n const updateValue = useCallback(\n (nextRaw: string) => {\n const next = sanitizeValue(nextRaw, type, length);\n setValue(next);\n if (next.length === length) onComplete?.(next);\n },\n [length, onComplete, setValue, type],\n );\n\n const { onClick: consumerOnClick } = consumerProps as {\n onClick?: (event: SyntheticEvent<HTMLElement>) => void;\n };\n\n const handleClick = () => hiddenInputRef.current?.focus();\n\n const activeIndex = focused ? Math.min(value.length, length - 1) : -1;\n const contextValue = useMemo<OtpInputContextValue>(\n () => ({\n activeIndex,\n autoFocus,\n disabled,\n hiddenInputRef,\n length,\n mask,\n onHiddenBlur: () => setFocused(false),\n onHiddenFocus: () => setFocused(true),\n type,\n updateValue,\n value,\n }),\n [activeIndex, autoFocus, disabled, length, mask, type, updateValue, value],\n );\n\n const element = useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"data-uiify-otp-input\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-complete\": value.length === length ? \"\" : undefined,\n onClick: composeEventHandlers(consumerOnClick, handleClick),\n },\n render,\n state: { disabled, mask, type },\n });\n\n return <OtpInputProvider value={contextValue}>{element}</OtpInputProvider>;\n}\nOtpInputRoot.displayName = \"OtpInputRoot\";\n\nexport function OtpInputSlot<TAs extends ElementType = \"div\">(\n props: OtpInputSlotProps<TAs>,\n): ReactElement | null {\n const { as, render, index, ...consumerProps } = props as OtpInputSlotProps<ElementType>;\n const { activeIndex, disabled, length, mask, value } = useOtpInputContext(\"Slot\");\n\n if (index < 0 || index >= length) {\n throw new Error(`OtpInput.Slot index ${index} is out of range for length ${length}`);\n }\n\n const char = value[index] ?? \"\";\n const active = activeIndex === index;\n const filled = char !== \"\";\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-hidden\": true,\n \"data-part\": \"slot\",\n \"data-active\": active ? \"\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-filled\": filled ? \"\" : undefined,\n \"data-index\": index,\n children: mask && filled ? \"•\" : char,\n },\n render,\n state: { active, filled },\n });\n}\n\nexport function OtpInputHiddenInput<TAs extends ElementType = \"input\">(\n props: OtpInputHiddenInputProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n autoFocus: autoFocusProp,\n style: consumerStyle,\n ...consumerProps\n } = props as PolymorphicProps<\"input\", { readonly autoFocus?: boolean }>;\n\n const {\n autoFocus: rootAutoFocus,\n disabled,\n hiddenInputRef,\n length,\n mask,\n onHiddenBlur,\n onHiddenFocus,\n type,\n updateValue,\n value,\n } = useOtpInputContext(\"HiddenInput\");\n const inputId = useId();\n const autoFocus = autoFocusProp ?? rootAutoFocus;\n const {\n onBlur: consumerOnBlur,\n onChange: consumerOnChange,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPaste: consumerOnPaste,\n } = consumerProps as {\n onBlur?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onChange?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onFocus?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onPaste?: (event: ClipboardEvent<HTMLInputElement>) => void;\n };\n\n const handleChange = (event: SyntheticEvent<HTMLInputElement>) => {\n updateValue(event.currentTarget.value);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (isComposingKeyEvent(event)) return;\n if (event.key === \"Backspace\" && value.length > 0) {\n event.preventDefault();\n updateValue(value.slice(0, -1));\n }\n };\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n updateValue(event.clipboardData.getData(\"text\"));\n };\n\n return useRenderElement({\n as,\n defaultTag: \"input\",\n props: {\n ...consumerProps,\n \"data-part\": \"control\",\n id: inputId,\n ref: hiddenInputRef,\n type: mask ? \"password\" : \"text\",\n inputMode: type === \"numeric\" ? \"numeric\" : \"text\",\n autoComplete: \"one-time-code\",\n autoFocus: autoFocus || undefined,\n disabled: disabled || undefined,\n \"aria-label\": \"One-time code\",\n value,\n maxLength: length,\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n onFocus: composeEventHandlers(consumerOnFocus, onHiddenFocus),\n onBlur: composeEventHandlers(consumerOnBlur, onHiddenBlur),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n onPaste: composeEventHandlers(consumerOnPaste, handlePaste),\n style: {\n ...consumerStyle,\n position: \"absolute\",\n opacity: 0,\n pointerEvents: \"none\",\n width: 1,\n height: 1,\n } as CSSProperties,\n },\n render,\n state: { disabled },\n });\n}\n\nexport const OtpInput = {\n Root: OtpInputRoot,\n Slot: OtpInputSlot,\n HiddenInput: OtpInputHiddenInput,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/otp-input/OtpInput.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type ClipboardEvent,\n type CSSProperties,\n type ElementType,\n type KeyboardEvent,\n type ReactElement,\n type SyntheticEvent,\n} from \"react\";\nimport { useControllableState, useId, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { isComposingKeyEvent } from \"@gunkin/uiify/core/ime\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { PolymorphicProps } from \"@gunkin/uiify/core/render\";\nimport type {\n OtpInputType,\n OtpInputContextValue,\n OtpInputRootProps,\n OtpInputSlotProps,\n OtpInputHiddenInputProps,\n} from \"./types.js\";\n\nconst [OtpInputProvider, useOtpInputContext] = createPartContext<OtpInputContextValue>(\"OtpInput\");\n\nfunction sanitizeValue(raw: string, type: OtpInputType, maxLength: number): string {\n const pattern = type === \"numeric\" ? /\\d/g : /[a-zA-Z0-9]/g;\n return (raw.match(pattern) ?? []).join(\"\").slice(0, maxLength);\n}\n\nexport function OtpInputRoot<TAs extends ElementType = \"div\">(\n props: OtpInputRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n length = 6,\n value: controlledValue,\n defaultValue = \"\",\n onValueChange,\n onComplete,\n type = \"numeric\",\n mask = false,\n disabled = false,\n autoFocus = false,\n ...consumerProps\n } = props as OtpInputRootProps<ElementType>;\n\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n const [focused, setFocused] = useState(false);\n const [value, setValue] = useControllableState<string>({\n value: controlledValue,\n defaultValue,\n onChange: onValueChange,\n });\n\n const updateValue = useCallback(\n (nextRaw: string) => {\n const next = sanitizeValue(nextRaw, type, length);\n setValue(next);\n if (next.length === length) onComplete?.(next);\n },\n [length, onComplete, setValue, type],\n );\n\n const { onClick: consumerOnClick } = consumerProps as {\n onClick?: (event: SyntheticEvent<HTMLElement>) => void;\n };\n\n const handleClick = () => hiddenInputRef.current?.focus();\n\n const activeIndex = focused ? Math.min(value.length, length - 1) : -1;\n const contextValue = useMemo<OtpInputContextValue>(\n () => ({\n activeIndex,\n autoFocus,\n disabled,\n hiddenInputRef,\n length,\n mask,\n onHiddenBlur: () => setFocused(false),\n onHiddenFocus: () => setFocused(true),\n type,\n updateValue,\n value,\n }),\n [activeIndex, autoFocus, disabled, length, mask, type, updateValue, value],\n );\n\n const element = useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"data-uiify-otp-input\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-complete\": value.length === length ? \"\" : undefined,\n onClick: composeEventHandlers(consumerOnClick, handleClick),\n },\n render,\n state: { disabled, mask, type },\n });\n\n return <OtpInputProvider value={contextValue}>{element}</OtpInputProvider>;\n}\nOtpInputRoot.displayName = \"OtpInputRoot\";\n\nexport function OtpInputSlot<TAs extends ElementType = \"div\">(\n props: OtpInputSlotProps<TAs>,\n): ReactElement | null {\n const { as, render, index, ...consumerProps } = props as OtpInputSlotProps<ElementType>;\n const { activeIndex, disabled, length, mask, value } = useOtpInputContext(\"Slot\");\n\n if (index < 0 || index >= length) {\n throw new Error(`OtpInput.Slot index ${index} is out of range for length ${length}`);\n }\n\n const char = value[index] ?? \"\";\n const active = activeIndex === index;\n const filled = char !== \"\";\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-hidden\": true,\n \"data-part\": \"slot\",\n \"data-active\": active ? \"\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-filled\": filled ? \"\" : undefined,\n \"data-index\": index,\n children: mask && filled ? \"•\" : char,\n },\n render,\n state: { active, filled },\n });\n}\n\nexport function OtpInputHiddenInput<TAs extends ElementType = \"input\">(\n props: OtpInputHiddenInputProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n autoFocus: autoFocusProp,\n ref: consumerRef,\n style: consumerStyle,\n ...consumerProps\n } = props as PolymorphicProps<\"input\", { readonly autoFocus?: boolean }>;\n\n const {\n autoFocus: rootAutoFocus,\n disabled,\n hiddenInputRef,\n length,\n mask,\n onHiddenBlur,\n onHiddenFocus,\n type,\n updateValue,\n value,\n } = useOtpInputContext(\"HiddenInput\");\n const mergedRef = useMergedRefs(consumerRef, hiddenInputRef);\n const inputId = useId();\n const autoFocus = autoFocusProp ?? rootAutoFocus;\n const {\n onBlur: consumerOnBlur,\n onChange: consumerOnChange,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPaste: consumerOnPaste,\n } = consumerProps as {\n onBlur?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onChange?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onFocus?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onPaste?: (event: ClipboardEvent<HTMLInputElement>) => void;\n };\n\n const handleChange = (event: SyntheticEvent<HTMLInputElement>) => {\n updateValue(event.currentTarget.value);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (isComposingKeyEvent(event)) return;\n if (event.key === \"Backspace\" && value.length > 0) {\n event.preventDefault();\n updateValue(value.slice(0, -1));\n }\n };\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n updateValue(event.clipboardData.getData(\"text\"));\n };\n\n return useRenderElement({\n as,\n defaultTag: \"input\",\n props: {\n ...consumerProps,\n \"data-part\": \"control\",\n id: inputId,\n ref: mergedRef,\n type: mask ? \"password\" : \"text\",\n inputMode: type === \"numeric\" ? \"numeric\" : \"text\",\n autoComplete: \"one-time-code\",\n autoFocus: autoFocus || undefined,\n disabled: disabled || undefined,\n \"aria-label\": \"One-time code\",\n value,\n maxLength: length,\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n onFocus: composeEventHandlers(consumerOnFocus, onHiddenFocus),\n onBlur: composeEventHandlers(consumerOnBlur, onHiddenBlur),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n onPaste: composeEventHandlers(consumerOnPaste, handlePaste),\n style: {\n ...consumerStyle,\n position: \"absolute\",\n opacity: 0,\n pointerEvents: \"none\",\n width: 1,\n height: 1,\n } as CSSProperties,\n },\n render,\n state: { disabled },\n });\n}\n\nexport const OtpInput = {\n Root: OtpInputRoot,\n Slot: OtpInputSlot,\n HiddenInput: OtpInputHiddenInput,\n};\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAc,YAAY,EAAE,MAAM,OAAO,CAAC;AAKnE,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAE/C,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAGV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC5D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAiErB;yBAnEe,cAAc;;;AA2H9B,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,CAepD;yBAfe,cAAc;;;AAkB9B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EAC/D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAsCrB;AAkHD,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,WAAW,EAGX,YAAY,EACb,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAE/C,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAGV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC5D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAmErB;yBArEe,cAAc;;;AA0N9B,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,CAgBpD;yBAhBe,cAAc;;;AAmB9B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EAC/D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAsCrB;AA+ID,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC"}
@@ -5,6 +5,7 @@ import { createPartContext } from "@gunkin/uiify/core";
5
5
  import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
6
6
  import { formatLabel } from "@gunkin/uiify/core/format-label";
7
7
  import { useRenderElement } from "@gunkin/uiify/core/render";
8
+ import { resolveRepeatedSlotProps } from "../../core/slot-props.js";
8
9
  import {
9
10
  PaginationEllipsis as PaginationEllipsisElement,
10
11
  DEFAULT_PAGINATION_LABELS,
@@ -29,6 +30,7 @@ function PaginationRoot(props) {
29
30
  locale,
30
31
  showFirstLast,
31
32
  siblingCount,
33
+ slotProps,
32
34
  children,
33
35
  ...consumerProps
34
36
  } = props;
@@ -51,12 +53,13 @@ function PaginationRoot(props) {
51
53
  () => ({
52
54
  count,
53
55
  items,
54
- labels: mergedLabels,
56
+ labels: { ...DEFAULT_PAGINATION_LABELS, ...labels },
55
57
  ...locale !== void 0 ? { locale } : {},
56
58
  page: currentPage,
57
- setPage
59
+ setPage,
60
+ ...slotProps ? { slotProps } : {}
58
61
  }),
59
- [count, currentPage, items, labels, locale, setPage]
62
+ [count, currentPage, items, labels, locale, setPage, slotProps]
60
63
  );
61
64
  const element = useRenderElement({
62
65
  as,
@@ -64,7 +67,7 @@ function PaginationRoot(props) {
64
67
  props: {
65
68
  ...consumerProps,
66
69
  "aria-label": ariaLabel ?? mergedLabels.root,
67
- children: children ?? /* @__PURE__ */ jsx("ol", { children: /* @__PURE__ */ jsx(PaginationListItems, {}) }),
70
+ children: children ?? /* @__PURE__ */ jsx("ol", { ...slotProps?.list, children: /* @__PURE__ */ jsx(PaginationListItems, {}) }),
68
71
  "data-uiify-pagination": ""
69
72
  },
70
73
  render,
@@ -79,6 +82,7 @@ function PaginationListItems() {
79
82
  PaginationItemRenderer,
80
83
  {
81
84
  item,
85
+ itemKey: getPaginationItemKey(item, index),
82
86
  labels,
83
87
  ...locale !== void 0 ? { locale } : {}
84
88
  },
@@ -88,40 +92,132 @@ function PaginationListItems() {
88
92
  PaginationListItems.displayName = "PaginationListItems";
89
93
  function PaginationItemRenderer({
90
94
  item,
95
+ itemKey,
91
96
  labels,
92
97
  locale
93
98
  }) {
99
+ const { slotProps } = usePaginationContext("Item");
100
+ const itemProps = resolveRepeatedSlotProps(slotProps?.item, itemKey);
101
+ let content;
94
102
  switch (item.type) {
95
- case "ellipsis":
96
- return /* @__PURE__ */ jsx(PaginationEllipsisElement, {});
103
+ case "ellipsis": {
104
+ const ellipsisProps = resolveRepeatedSlotProps(slotProps?.ellipsis, itemKey, [
105
+ "aria-hidden",
106
+ "data-type"
107
+ ]);
108
+ content = /* @__PURE__ */ jsx("span", { ...ellipsisProps, "aria-hidden": "true", "data-type": "ellipsis", children: "\u2026" });
109
+ break;
110
+ }
97
111
  case "previous":
98
- return /* @__PURE__ */ jsx(PaginationPrevious, { disabled: item.disabled, labels });
112
+ content = /* @__PURE__ */ jsx(
113
+ PaginationPrevious,
114
+ {
115
+ ...resolveRepeatedSlotProps(slotProps?.control, itemKey, [
116
+ "aria-label",
117
+ "data-type",
118
+ "data-uiify-button",
119
+ "data-variant",
120
+ "disabled",
121
+ "type"
122
+ ]),
123
+ disabled: item.disabled,
124
+ labels
125
+ }
126
+ );
127
+ break;
99
128
  case "next":
100
- return /* @__PURE__ */ jsx(PaginationNext, { disabled: item.disabled, labels });
129
+ content = /* @__PURE__ */ jsx(
130
+ PaginationNext,
131
+ {
132
+ ...resolveRepeatedSlotProps(slotProps?.control, itemKey, [
133
+ "aria-label",
134
+ "data-type",
135
+ "data-uiify-button",
136
+ "data-variant",
137
+ "disabled",
138
+ "type"
139
+ ]),
140
+ disabled: item.disabled,
141
+ labels
142
+ }
143
+ );
144
+ break;
101
145
  case "first":
102
- return /* @__PURE__ */ jsx(PaginationFirst, { disabled: item.disabled, labels });
146
+ content = /* @__PURE__ */ jsx(
147
+ PaginationFirst,
148
+ {
149
+ ...resolveRepeatedSlotProps(slotProps?.control, itemKey, [
150
+ "aria-label",
151
+ "data-type",
152
+ "data-uiify-button",
153
+ "data-variant",
154
+ "disabled",
155
+ "type"
156
+ ]),
157
+ disabled: item.disabled,
158
+ labels
159
+ }
160
+ );
161
+ break;
103
162
  case "last":
104
- return /* @__PURE__ */ jsx(PaginationLast, { disabled: item.disabled, labels });
105
- default:
106
- return /* @__PURE__ */ jsx(PaginationItemPart, { children: /* @__PURE__ */ jsx(
163
+ content = /* @__PURE__ */ jsx(
164
+ PaginationLast,
165
+ {
166
+ ...resolveRepeatedSlotProps(slotProps?.control, itemKey, [
167
+ "aria-label",
168
+ "data-type",
169
+ "data-uiify-button",
170
+ "data-variant",
171
+ "disabled",
172
+ "type"
173
+ ]),
174
+ disabled: item.disabled,
175
+ labels
176
+ }
177
+ );
178
+ break;
179
+ default: {
180
+ const linkProps = resolveRepeatedSlotProps(slotProps?.link, itemKey, [
181
+ "aria-current",
182
+ "aria-label",
183
+ "data-selected",
184
+ "data-size",
185
+ "data-type",
186
+ "data-uiify-button",
187
+ "data-variant",
188
+ "disabled",
189
+ "href",
190
+ "type"
191
+ ]);
192
+ content = /* @__PURE__ */ jsx(
107
193
  PaginationLink,
108
194
  {
195
+ ...linkProps,
109
196
  disabled: item.disabled,
110
197
  ...locale !== void 0 ? { locale } : {},
111
198
  pageLabelTemplate: labels.page,
112
199
  page: item.page ?? 1,
113
200
  selected: item.selected
114
201
  }
115
- ) });
202
+ );
203
+ break;
204
+ }
116
205
  }
206
+ return /* @__PURE__ */ jsx(PaginationItemPart, { ...itemProps, children: content });
117
207
  }
118
208
  PaginationItemRenderer.displayName = "PaginationItemRenderer";
209
+ function getPaginationItemKey(item, index) {
210
+ if (item.type === "page") return `page:${item.page}`;
211
+ if (item.type === "ellipsis") return `ellipsis:${index}`;
212
+ return item.type;
213
+ }
119
214
  function PaginationList() {
120
215
  const { items, labels, locale } = usePaginationContext("List");
121
216
  return /* @__PURE__ */ jsx(PaginationListElement, { children: items.map((item, index) => /* @__PURE__ */ jsx(
122
217
  PaginationItemRenderer,
123
218
  {
124
219
  item,
220
+ itemKey: getPaginationItemKey(item, index),
125
221
  labels,
126
222
  ...locale !== void 0 ? { locale } : {}
127
223
  },
@@ -166,84 +262,105 @@ function PaginationLink(props) {
166
262
  state: { selected }
167
263
  });
168
264
  }
169
- function PaginationPrevious({
265
+ function PaginationControlButton({
170
266
  disabled,
171
- labels
267
+ label,
268
+ labelText,
269
+ onAction,
270
+ type,
271
+ ...consumerProps
172
272
  }) {
173
- const { page, setPage } = usePaginationContext("Previous");
174
- return /* @__PURE__ */ jsx(PaginationItemPart, { children: /* @__PURE__ */ jsx(
273
+ const onClick = consumerProps.onClick;
274
+ return /* @__PURE__ */ jsx(
175
275
  "button",
176
276
  {
177
- "aria-label": labels.previous,
178
- "data-type": "previous",
277
+ ...consumerProps,
278
+ "aria-label": label,
279
+ "data-type": type,
179
280
  "data-uiify-button": "",
180
281
  "data-variant": "ghost",
181
282
  disabled,
182
- onClick: () => setPage(page - 1),
283
+ onClick: composeEventHandlers(onClick, onAction),
183
284
  type: "button",
184
- children: labels.previousText
285
+ children: labelText
286
+ }
287
+ );
288
+ }
289
+ PaginationControlButton.displayName = "PaginationControlButton";
290
+ function PaginationPrevious({
291
+ disabled,
292
+ labels,
293
+ ...consumerProps
294
+ }) {
295
+ const { page, setPage } = usePaginationContext("Previous");
296
+ return /* @__PURE__ */ jsx(
297
+ PaginationControlButton,
298
+ {
299
+ ...consumerProps,
300
+ disabled,
301
+ label: labels.previous,
302
+ labelText: labels.previousText,
303
+ onAction: () => setPage(page - 1),
304
+ type: "previous"
185
305
  }
186
- ) });
306
+ );
187
307
  }
188
308
  PaginationPrevious.displayName = "PaginationPrevious";
189
309
  function PaginationNext({
190
310
  disabled,
191
- labels
311
+ labels,
312
+ ...consumerProps
192
313
  }) {
193
314
  const { page, setPage } = usePaginationContext("Next");
194
- return /* @__PURE__ */ jsx(PaginationItemPart, { children: /* @__PURE__ */ jsx(
195
- "button",
315
+ return /* @__PURE__ */ jsx(
316
+ PaginationControlButton,
196
317
  {
197
- "aria-label": labels.next,
198
- "data-type": "next",
199
- "data-uiify-button": "",
200
- "data-variant": "ghost",
318
+ ...consumerProps,
201
319
  disabled,
202
- onClick: () => setPage(page + 1),
203
- type: "button",
204
- children: labels.nextText
320
+ label: labels.next,
321
+ labelText: labels.nextText,
322
+ onAction: () => setPage(page + 1),
323
+ type: "next"
205
324
  }
206
- ) });
325
+ );
207
326
  }
208
327
  PaginationNext.displayName = "PaginationNext";
209
328
  function PaginationFirst({
210
329
  disabled,
211
- labels
330
+ labels,
331
+ ...consumerProps
212
332
  }) {
213
333
  const { setPage } = usePaginationContext("First");
214
- return /* @__PURE__ */ jsx(PaginationItemPart, { children: /* @__PURE__ */ jsx(
215
- "button",
334
+ return /* @__PURE__ */ jsx(
335
+ PaginationControlButton,
216
336
  {
217
- "aria-label": labels.first,
218
- "data-type": "first",
219
- "data-uiify-button": "",
220
- "data-variant": "ghost",
337
+ ...consumerProps,
221
338
  disabled,
222
- onClick: () => setPage(1),
223
- type: "button",
224
- children: labels.firstText
339
+ label: labels.first,
340
+ labelText: labels.firstText,
341
+ onAction: () => setPage(1),
342
+ type: "first"
225
343
  }
226
- ) });
344
+ );
227
345
  }
228
346
  PaginationFirst.displayName = "PaginationFirst";
229
347
  function PaginationLast({
230
348
  disabled,
231
- labels
349
+ labels,
350
+ ...consumerProps
232
351
  }) {
233
352
  const { count, setPage } = usePaginationContext("Last");
234
- return /* @__PURE__ */ jsx(PaginationItemPart, { children: /* @__PURE__ */ jsx(
235
- "button",
353
+ return /* @__PURE__ */ jsx(
354
+ PaginationControlButton,
236
355
  {
237
- "aria-label": labels.last,
238
- "data-type": "last",
239
- "data-uiify-button": "",
240
- "data-variant": "ghost",
356
+ ...consumerProps,
241
357
  disabled,
242
- onClick: () => setPage(count),
243
- type: "button",
244
- children: labels.lastText
358
+ label: labels.last,
359
+ labelText: labels.lastText,
360
+ onAction: () => setPage(count),
361
+ type: "last"
245
362
  }
246
- ) });
363
+ );
247
364
  }
248
365
  PaginationLast.displayName = "PaginationLast";
249
366
  function formatPageNumber(page, locale) {
@@ -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 \"aria-label\": ariaLabel,\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 ...consumerProps,\n \"aria-label\": ariaLabel ?? mergedLabels.root,\n children: children ?? (\n <ol {...slotProps?.list}>\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 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 \"aria-hidden\",\n \"data-type\",\n ]);\n content = (\n <span {...ellipsisProps} aria-hidden=\"true\" data-type=\"ellipsis\">\n …\n </span>\n );\n break;\n }\n case \"previous\":\n content = (\n <PaginationPrevious\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey, [\n \"aria-label\",\n \"data-type\",\n \"data-uiify-button\",\n \"data-variant\",\n \"disabled\",\n \"type\",\n ])}\n disabled={item.disabled}\n labels={labels}\n />\n );\n break;\n case \"next\":\n content = (\n <PaginationNext\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey, [\n \"aria-label\",\n \"data-type\",\n \"data-uiify-button\",\n \"data-variant\",\n \"disabled\",\n \"type\",\n ])}\n disabled={item.disabled}\n labels={labels}\n />\n );\n break;\n case \"first\":\n content = (\n <PaginationFirst\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey, [\n \"aria-label\",\n \"data-type\",\n \"data-uiify-button\",\n \"data-variant\",\n \"disabled\",\n \"type\",\n ])}\n disabled={item.disabled}\n labels={labels}\n />\n );\n break;\n case \"last\":\n content = (\n <PaginationLast\n {...resolveRepeatedSlotProps(slotProps?.control, itemKey, [\n \"aria-label\",\n \"data-type\",\n \"data-uiify-button\",\n \"data-variant\",\n \"disabled\",\n \"type\",\n ])}\n disabled={item.disabled}\n labels={labels}\n />\n );\n break;\n default: {\n const linkProps = resolveRepeatedSlotProps(slotProps?.link, itemKey, [\n \"aria-current\",\n \"aria-label\",\n \"data-selected\",\n \"data-size\",\n \"data-type\",\n \"data-uiify-button\",\n \"data-variant\",\n \"disabled\",\n \"href\",\n \"type\",\n ]);\n content = (\n <PaginationLink\n {...linkProps}\n disabled={item.disabled}\n {...(locale !== undefined ? { locale } : {})}\n pageLabelTemplate={labels.page}\n page={item.page ?? 1}\n selected={item.selected}\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 ...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\ntype PaginationControlNativeProps = Omit<\n ComponentPropsWithRef<\"button\">,\n | \"aria-label\"\n | \"children\"\n | \"data-type\"\n | \"data-uiify-button\"\n | \"data-variant\"\n | \"disabled\"\n | \"type\"\n>;\n\ninterface PaginationControlButtonProps extends PaginationControlNativeProps {\n readonly disabled: boolean;\n readonly label: string;\n readonly labelText: string;\n readonly onAction: () => void;\n readonly type: \"previous\" | \"next\" | \"first\" | \"last\";\n}\n\nfunction PaginationControlButton({\n disabled,\n label,\n labelText,\n onAction,\n type,\n ...consumerProps\n}: PaginationControlButtonProps): ReactElement {\n const onClick = consumerProps.onClick as MouseEventHandler<HTMLButtonElement> | undefined;\n return (\n <button\n {...consumerProps}\n aria-label={label}\n data-type={type}\n data-uiify-button=\"\"\n data-variant=\"ghost\"\n disabled={disabled}\n onClick={composeEventHandlers(onClick, onAction)}\n type=\"button\"\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;\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 type=\"previous\"\n />\n );\n}\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nfunction PaginationNext({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled: boolean;\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 type=\"next\"\n />\n );\n}\nPaginationNext.displayName = \"PaginationNext\";\n\nfunction PaginationFirst({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled: boolean;\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 type=\"first\"\n />\n );\n}\nPaginationFirst.displayName = \"PaginationFirst\";\n\nfunction PaginationLast({\n disabled,\n labels,\n ...consumerProps\n}: PaginationControlNativeProps & {\n readonly disabled: boolean;\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 type=\"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,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
- import type { ElementType, ReactNode } from "react";
1
+ import type { ComponentPropsWithRef, ElementType, ReactNode } from "react";
2
2
  import type { RenderableProps } from "@gunkin/uiify/core/render";
3
+ import type { ConsumerDataAttributes, RepeatedSlotProps } 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;
@@ -48,6 +49,35 @@ 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
+ type PaginationRepeatedSlotProps<TTag extends ElementType, TOwned extends object = object> = RepeatedSlotProps<Omit<ComponentPropsWithRef<TTag>, "children" | "dangerouslySetInnerHTML">, TOwned>;
55
+ export interface PaginationRootSlotProps {
56
+ readonly list?: Omit<ComponentPropsWithRef<"ol">, "children" | "dangerouslySetInnerHTML"> & ConsumerDataAttributes;
57
+ readonly item?: PaginationRepeatedSlotProps<"li">;
58
+ readonly link?: PaginationRepeatedSlotProps<"button", {
59
+ readonly "aria-current"?: never;
60
+ readonly "aria-label"?: never;
61
+ readonly disabled?: never;
62
+ readonly "data-selected"?: never;
63
+ readonly "data-size"?: never;
64
+ readonly "data-type"?: never;
65
+ readonly "data-uiify-button"?: never;
66
+ readonly "data-variant"?: never;
67
+ readonly type?: never;
68
+ }>;
69
+ readonly control?: PaginationRepeatedSlotProps<"button", {
70
+ readonly "aria-label"?: never;
71
+ readonly disabled?: never;
72
+ readonly "data-type"?: never;
73
+ readonly "data-uiify-button"?: never;
74
+ readonly "data-variant"?: never;
75
+ readonly type?: never;
76
+ }>;
77
+ readonly ellipsis?: PaginationRepeatedSlotProps<"span", {
78
+ readonly "aria-hidden"?: never;
79
+ readonly "data-type"?: never;
80
+ }>;
51
81
  }
52
82
  export interface PaginationRootOwnProps extends UsePaginationParams {
53
83
  readonly "aria-label"?: string;
@@ -55,6 +85,7 @@ export interface PaginationRootOwnProps extends UsePaginationParams {
55
85
  readonly getPageHref?: (page: number) => string;
56
86
  readonly labels?: Partial<PaginationLabels>;
57
87
  readonly locale?: string;
88
+ readonly slotProps?: PaginationRootSlotProps;
58
89
  }
59
90
  export type PaginationRootProps<TAs extends ElementType = "nav"> = RenderableProps<TAs, PaginationRootOwnProps, {
60
91
  page: number;
@@ -82,4 +113,5 @@ export interface PaginationEllipsisOwnProps {
82
113
  readonly children?: ReactNode;
83
114
  }
84
115
  export type PaginationEllipsisProps<TAs extends ElementType = "span"> = RenderableProps<TAs, PaginationEllipsisOwnProps, Record<string, never>, HTMLElement>;
116
+ export {};
85
117
  //# sourceMappingURL=types.d.ts.map
@@ -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":"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"}
@@ -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"}