@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/candle-chart/client/index.ts"],"sourcesContent":["export { CandleChartClient } from \"./CandleChartClient.js\";\nexport type { CandleChartClientOwnProps, CandleChartClientProps } from \"../types.js\";\n"],"mappings":"AAAA,SAAS,yBAAyB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/candle-chart/client/index.ts"],"sourcesContent":["export { CandleChartClient } from \"./CandleChartClient.js\";\nexport type {\n CandleChartClientOwnProps,\n CandleChartClientProps,\n CandleChartSlotProps,\n} from \"../types.js\";\n"],"mappings":"AAAA,SAAS,yBAAyB;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { CandleChart } from "./CandleChart.js";
2
- export type { CandleChartAxisLabel, CandleChartLabels, CandleChartData, CandleChartOwnProps, CandleChartPointerPosition, CandleChartProps, } from "./types.js";
2
+ export type { CandleChartAxisLabel, CandleChartLabels, CandleChartData, CandleChartOwnProps, CandleChartPointerPosition, CandleChartProps, CandleChartSlotProps, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/candle-chart/index.ts"],"sourcesContent":["export { CandleChart } from \"./CandleChart.js\";\nexport type {\n CandleChartAxisLabel,\n CandleChartLabels,\n CandleChartData,\n CandleChartOwnProps,\n CandleChartPointerPosition,\n CandleChartProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/candle-chart/index.ts"],"sourcesContent":["export { CandleChart } from \"./CandleChart.js\";\nexport type {\n CandleChartAxisLabel,\n CandleChartLabels,\n CandleChartData,\n CandleChartOwnProps,\n CandleChartPointerPosition,\n CandleChartProps,\n CandleChartSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
@@ -1,5 +1,56 @@
1
- import type { ElementType, ReactNode } from "react";
1
+ import type { ElementType, DOMAttributes, ReactNode, Ref } from "react";
2
2
  import type { RenderableProps } from "@gunkin/uiify/core/render";
3
+ import type { SlotProps } from "../../core/slot-props.js";
4
+ type CandleChartIndexedSlotProps<TProps extends object> = TProps & {
5
+ readonly byItemIndex?: Readonly<Record<number, TProps>>;
6
+ };
7
+ type CandleChartRepeatedSlotProps<TTag extends ElementType> = CandleChartIndexedSlotProps<SlotProps<TTag>>;
8
+ type CandleChartCandleElementProps = Omit<SlotProps<"div">, keyof DOMAttributes<HTMLElement> | "ref"> & Omit<DOMAttributes<HTMLElement>, "children" | "dangerouslySetInnerHTML"> & {
9
+ readonly ref?: Ref<HTMLElement> | undefined;
10
+ };
11
+ export interface CandleChartSlotProps {
12
+ readonly caption?: SlotProps<"figcaption">;
13
+ readonly readout?: SlotProps<"div">;
14
+ readonly readoutTime?: SlotProps<"span">;
15
+ readonly readoutOpen?: SlotProps<"span">;
16
+ readonly readoutHigh?: SlotProps<"span">;
17
+ readonly readoutLow?: SlotProps<"span">;
18
+ readonly readoutClose?: SlotProps<"span">;
19
+ readonly plot?: SlotProps<"div">;
20
+ readonly scrollViewport?: SlotProps<"div">;
21
+ readonly canvas?: SlotProps<"div">;
22
+ readonly viewport?: SlotProps<"div">;
23
+ readonly candles?: SlotProps<"ol">;
24
+ readonly candle?: CandleChartIndexedSlotProps<CandleChartCandleElementProps>;
25
+ readonly candleHit?: CandleChartRepeatedSlotProps<"button">;
26
+ readonly crosshair?: SlotProps<"div">;
27
+ readonly crosshairMarker?: SlotProps<"span">;
28
+ readonly timeViewport?: SlotProps<"div">;
29
+ readonly timeAxis?: SlotProps<"ol">;
30
+ readonly timeAxisLabel?: CandleChartRepeatedSlotProps<"li">;
31
+ readonly crosshairTime?: SlotProps<"li">;
32
+ readonly priceAxis?: SlotProps<"ol">;
33
+ readonly priceAxisLabel?: CandleChartRepeatedSlotProps<"li">;
34
+ readonly crosshairPrice?: SlotProps<"li">;
35
+ readonly liveScrollport?: SlotProps<"div">;
36
+ readonly liveSpacer?: SlotProps<"div">;
37
+ readonly liveCandleRow?: CandleChartRepeatedSlotProps<"div">;
38
+ readonly dataTable?: SlotProps<"table">;
39
+ readonly dataTableHead?: SlotProps<"thead">;
40
+ readonly dataTableHeaderRow?: SlotProps<"tr">;
41
+ readonly dataTableTimeHeader?: SlotProps<"th">;
42
+ readonly dataTableOpenHeader?: SlotProps<"th">;
43
+ readonly dataTableHighHeader?: SlotProps<"th">;
44
+ readonly dataTableLowHeader?: SlotProps<"th">;
45
+ readonly dataTableCloseHeader?: SlotProps<"th">;
46
+ readonly dataTableBody?: SlotProps<"tbody">;
47
+ readonly dataTableRow?: CandleChartRepeatedSlotProps<"tr">;
48
+ readonly dataTableTimeCell?: CandleChartRepeatedSlotProps<"th">;
49
+ readonly dataTableOpenCell?: CandleChartRepeatedSlotProps<"td">;
50
+ readonly dataTableHighCell?: CandleChartRepeatedSlotProps<"td">;
51
+ readonly dataTableLowCell?: CandleChartRepeatedSlotProps<"td">;
52
+ readonly dataTableCloseCell?: CandleChartRepeatedSlotProps<"td">;
53
+ }
3
54
  export interface CandleChartData {
4
55
  readonly time: string | number;
5
56
  readonly open: number;
@@ -18,7 +69,7 @@ export interface CandleChartPointerPosition {
18
69
  readonly offsetY: number;
19
70
  }
20
71
  export interface CandleChartOwnProps {
21
- readonly "aria-label"?: string;
72
+ readonly "aria-label"?: string | undefined;
22
73
  readonly labels?: Partial<CandleChartLabels>;
23
74
  readonly activeCandleIndex?: number;
24
75
  readonly cursorY?: number;
@@ -30,6 +81,7 @@ export interface CandleChartOwnProps {
30
81
  readonly onCandlePointerLeave?: () => void;
31
82
  readonly onCandlePointerMove?: (position: CandleChartPointerPosition) => void;
32
83
  readonly selectedCandleIndex?: number;
84
+ readonly slotProps?: CandleChartSlotProps;
33
85
  readonly xAxis?: readonly CandleChartAxisLabel[];
34
86
  readonly yAxis?: readonly CandleChartAxisLabel[];
35
87
  }
@@ -86,5 +138,7 @@ export interface CandleChartCandleProps {
86
138
  readonly onCandleClick?: ((index: number) => void) | undefined;
87
139
  readonly onCandlePointerLeave?: (() => void) | undefined;
88
140
  readonly onCandlePointerMove?: ((position: CandleChartPointerPosition) => void) | undefined;
141
+ readonly slotProps?: Pick<CandleChartSlotProps, "candle" | "candleHit"> | undefined;
89
142
  }
143
+ export {};
90
144
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ReactElement } from "react";
2
- import type { CarouselProps } from "./types.js";
2
+ import type { CarouselWithRefProps } from "./types.js";
3
3
  /** Native scrolling and fragment navigation; no client behavior required. */
4
- export declare function Carousel(props: CarouselProps): ReactElement | null;
4
+ export declare function Carousel(props: CarouselWithRefProps): ReactElement | null;
5
5
  export declare namespace Carousel {
6
6
  var displayName: string;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAElE;yBAFe,QAAQ"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI,CAGzE;yBAHe,QAAQ"}
@@ -1,7 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { CarouselMarkup } from "./CarouselMarkup.js";
3
3
  function Carousel(props) {
4
- return /* @__PURE__ */ jsx(CarouselMarkup, { base: props });
4
+ const { ref, ...base } = props;
5
+ return /* @__PURE__ */ jsx(CarouselMarkup, { base, ...ref ? { rootRef: ref } : {} });
5
6
  }
6
7
  Carousel.displayName = "Carousel";
7
8
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/carousel/Carousel.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { CarouselMarkup } from \"./CarouselMarkup.js\";\nimport type { CarouselProps } from \"./types.js\";\n\n/** Native scrolling and fragment navigation; no client behavior required. */\nexport function Carousel(props: CarouselProps): ReactElement | null {\n return <CarouselMarkup base={props} />;\n}\nCarousel.displayName = \"Carousel\";\n"],"mappings":"AAMS;AALT,SAAS,sBAAsB;AAIxB,SAAS,SAAS,OAA2C;AAClE,SAAO,oBAAC,kBAAe,MAAM,OAAO;AACtC;AACA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/carousel/Carousel.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { CarouselMarkup } from \"./CarouselMarkup.js\";\nimport type { CarouselWithRefProps } from \"./types.js\";\n\n/** Native scrolling and fragment navigation; no client behavior required. */\nexport function Carousel(props: CarouselWithRefProps): ReactElement | null {\n const { ref, ...base } = props;\n return <CarouselMarkup base={base} {...(ref ? { rootRef: ref } : {})} />;\n}\nCarousel.displayName = \"Carousel\";\n"],"mappings":"AAOS;AANT,SAAS,sBAAsB;AAIxB,SAAS,SAAS,OAAkD;AACzE,QAAM,EAAE,KAAK,GAAG,KAAK,IAAI;AACzB,SAAO,oBAAC,kBAAe,MAAa,GAAI,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,GAAI;AACxE;AACA,SAAS,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselMarkup.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EAAE,OAAO,EACb,OAAO,EACP,YAAY,GACb,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CAgK3C;yBApKe,cAAc"}
1
+ {"version":3,"file":"CarouselMarkup.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EAAE,OAAO,EACb,OAAO,EACP,YAAY,GACb,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA4L3C;yBAhMe,cAAc"}
@@ -1,5 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { formatLabel } from "@gunkin/uiify/core/format-label";
3
+ import { cn } from "../../core/class-names.js";
4
+ import { resolveRepeatedSlotProps } from "../../core/slot-props.js";
3
5
  import { carouselFragment, carouselSlideId, normalizeCarouselProps } from "./carousel-markup.js";
4
6
  function CarouselMarkup({
5
7
  base: rawBase,
@@ -7,7 +9,28 @@ function CarouselMarkup({
7
9
  presentation
8
10
  }) {
9
11
  const base = normalizeCarouselProps(rawBase);
10
- const { items, labels } = base;
12
+ const { items, labels, slotProps } = base;
13
+ const {
14
+ items: _items,
15
+ labels: _labels,
16
+ slotProps: _slotProps,
17
+ axis: _axis,
18
+ locale: _locale,
19
+ icons: _icons,
20
+ navigation: _navigation,
21
+ pagination: _pagination,
22
+ autoplay: _autoplay,
23
+ afterChange: _afterChange,
24
+ beforeChange: _beforeChange,
25
+ defaultValue: _defaultValue,
26
+ mouseDrag: _mouseDrag,
27
+ onSelect: _onSelect,
28
+ onSwipe: _onSwipe,
29
+ rewind: _rewind,
30
+ swipe: _swipe,
31
+ value: _value,
32
+ ...rootProps
33
+ } = base;
11
34
  const hasControls = items.length > 1;
12
35
  if (items.length === 0) return null;
13
36
  const enhanced = presentation?.snapshot.ready === true;
@@ -20,17 +43,13 @@ function CarouselMarkup({
20
43
  return /* @__PURE__ */ jsxs(
21
44
  "section",
22
45
  {
23
- ref: rootRef,
24
- id: base.id,
25
- "aria-label": base["aria-label"],
26
46
  "aria-roledescription": "carousel",
27
47
  "data-uiify-carousel": "",
28
48
  "data-axis": base.axis,
29
49
  ...presentation ? { "data-mode": presentation.mode } : {},
30
50
  ...enhanced ? { "data-enhanced": "" } : {},
31
- ...base.dir ? { dir: base.dir } : {},
32
- ...base.className ? { className: base.className } : {},
33
- ...base.style ? { style: base.style } : {},
51
+ ...rootProps,
52
+ ref: rootRef,
34
53
  children: [
35
54
  presentation && hasControls && presentation.autoplay ? /* @__PURE__ */ jsx(
36
55
  "button",
@@ -41,6 +60,7 @@ function CarouselMarkup({
41
60
  "data-uiify-button": "",
42
61
  "data-variant": "outline",
43
62
  hidden: !enhanced,
63
+ ...resolveRepeatedSlotProps(slotProps?.rotationControl, "rotation"),
44
64
  children: presentation.autoplay.requested ? labels.stop : labels.start
45
65
  }
46
66
  ) : null,
@@ -52,8 +72,11 @@ function CarouselMarkup({
52
72
  role: "group",
53
73
  "aria-label": base["aria-label"],
54
74
  "data-part": "viewport",
75
+ ...slotProps?.viewport,
55
76
  children: items.map((item, index) => {
56
77
  const slideId = carouselSlideId(base.id, item.id);
78
+ const slideProps = resolveRepeatedSlotProps(slotProps?.slide, item.id);
79
+ const slideContentProps = resolveRepeatedSlotProps(slotProps?.slideContent, item.id);
57
80
  return /* @__PURE__ */ jsx(
58
81
  "div",
59
82
  {
@@ -69,12 +92,13 @@ function CarouselMarkup({
69
92
  },
70
93
  base.locale
71
94
  ),
72
- className: item.className,
73
95
  "data-part": "slide",
74
96
  "data-carousel-index": index,
75
97
  ...enhanced ? { "data-state": index === presentedIndex ? "active" : "inactive" } : {},
76
98
  ...fade && index !== presentedIndex ? { inert: true, "aria-hidden": true } : {},
77
- children: /* @__PURE__ */ jsx("div", { "data-part": "slide-content", children: item.children })
99
+ ...slideProps,
100
+ className: cn(item.className, slideProps.className),
101
+ children: /* @__PURE__ */ jsx("div", { "data-part": "slide-content", ...slideContentProps, children: item.children })
78
102
  },
79
103
  item.id
80
104
  );
@@ -93,10 +117,11 @@ function CarouselMarkup({
93
117
  "data-variant": "outline",
94
118
  hidden: !enhanced,
95
119
  disabled: enhanced ? presentation.snapshot.atStart : void 0,
120
+ ...resolveRepeatedSlotProps(slotProps?.previousControl, "previous"),
96
121
  children: base.icons?.previous
97
122
  }
98
123
  ) : null,
99
- base.pagination && hasControls ? /* @__PURE__ */ jsx("nav", { "aria-label": labels.navigation, "data-part": "dots", children: dotIndices.map((itemIndex) => {
124
+ base.pagination && hasControls ? /* @__PURE__ */ jsx("nav", { "aria-label": labels.navigation, "data-part": "dots", ...slotProps?.dots, children: dotIndices.map((itemIndex) => {
100
125
  const item = items[itemIndex];
101
126
  if (!item) return null;
102
127
  return /* @__PURE__ */ jsx(
@@ -107,6 +132,7 @@ function CarouselMarkup({
107
132
  "aria-current": showActiveDot && itemIndex === activeIndex ? "true" : void 0,
108
133
  "data-part": "dot",
109
134
  "data-carousel-index": itemIndex,
135
+ ...resolveRepeatedSlotProps(slotProps?.dot, item.id),
110
136
  children: itemIndex + 1
111
137
  },
112
138
  item.id
@@ -124,6 +150,7 @@ function CarouselMarkup({
124
150
  "data-variant": "outline",
125
151
  hidden: !enhanced,
126
152
  disabled: enhanced ? presentation.snapshot.atEnd : void 0,
153
+ ...resolveRepeatedSlotProps(slotProps?.nextControl, "next"),
127
154
  children: base.icons?.next
128
155
  }
129
156
  ) : null,
@@ -133,6 +160,7 @@ function CarouselMarkup({
133
160
  "aria-live": presentation.autoplay?.playing ? "off" : "polite",
134
161
  "aria-atomic": "true",
135
162
  "data-part": "status",
163
+ ...slotProps?.status,
136
164
  children: enhanced && announcedIndex !== void 0 ? formatLabel(
137
165
  labels.slide,
138
166
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { carouselFragment, carouselSlideId, normalizeCarouselProps } from \"./carousel-markup.js\";\nimport type { CarouselMarkupProps } from \"./types.js\";\n\nexport function CarouselMarkup({\n base: rawBase,\n rootRef,\n presentation,\n}: CarouselMarkupProps): ReactElement | null {\n const base = normalizeCarouselProps(rawBase);\n const { items, labels } = base;\n const hasControls = items.length > 1;\n\n if (items.length === 0) return null;\n\n const enhanced = presentation?.snapshot.ready === true;\n // Pagination claims a current slide as soon as the client has mounted, even before\n // the controller reports `ready` — SSR/pre-hydration markup still claims nothing.\n const showActiveDot = enhanced || presentation?.mounted === true;\n const activeIndex = presentation?.snapshot.index;\n const announcedIndex = presentation?.snapshot.settledIndex;\n const fade = enhanced && presentation.mode === \"fade\";\n const presentedIndex = fade ? (presentation.snapshot.requestedIndex ?? activeIndex) : activeIndex;\n const dotIndices =\n enhanced && !presentation.preserveFallbackFocus\n ? presentation.snapshot.pages.map((page) => page.index)\n : items.map((_, index) => index);\n\n return (\n <section\n ref={rootRef}\n id={base.id}\n aria-label={base[\"aria-label\"]}\n aria-roledescription=\"carousel\"\n data-uiify-carousel=\"\"\n data-axis={base.axis}\n {...(presentation ? { \"data-mode\": presentation.mode } : {})}\n {...(enhanced ? { \"data-enhanced\": \"\" } : {})}\n {...(base.dir ? { dir: base.dir } : {})}\n {...(base.className ? { className: base.className } : {})}\n {...(base.style ? { style: base.style } : {})}\n >\n {presentation && hasControls && presentation.autoplay ? (\n <button\n type=\"button\"\n data-part=\"controls\"\n data-carousel-action=\"rotation\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n >\n {presentation.autoplay.requested ? labels.stop : labels.start}\n </button>\n ) : null}\n\n <div\n id={`${base.id}--viewport`}\n tabIndex={0}\n role=\"group\"\n aria-label={base[\"aria-label\"]}\n data-part=\"viewport\"\n >\n {items.map((item, index) => {\n const slideId = carouselSlideId(base.id, item.id);\n return (\n <div\n key={item.id}\n id={slideId}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={formatLabel(\n labels.slide,\n {\n label: item.label,\n index: base.locale === undefined ? String(index + 1) : index + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )}\n className={item.className}\n data-part=\"slide\"\n data-carousel-index={index}\n {...(enhanced\n ? { \"data-state\": index === presentedIndex ? \"active\" : \"inactive\" }\n : {})}\n {...(fade && index !== presentedIndex ? { inert: true, \"aria-hidden\": true } : {})}\n >\n <div data-part=\"slide-content\">{item.children}</div>\n </div>\n );\n })}\n </div>\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.previous}\n data-part=\"controls\"\n data-carousel-action=\"previous\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atStart : undefined}\n >\n {base.icons?.previous}\n </button>\n ) : null}\n\n {base.pagination && hasControls ? (\n <nav aria-label={labels.navigation} data-part=\"dots\">\n {dotIndices.map((itemIndex) => {\n const item = items[itemIndex];\n if (!item) return null;\n return (\n <a\n key={item.id}\n href={carouselFragment(carouselSlideId(base.id, item.id))}\n aria-label={formatLabel(labels.goToSlide, { label: item.label }, base.locale)}\n aria-current={showActiveDot && itemIndex === activeIndex ? \"true\" : undefined}\n data-part=\"dot\"\n data-carousel-index={itemIndex}\n >\n {itemIndex + 1}\n </a>\n );\n })}\n </nav>\n ) : null}\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.next}\n data-part=\"controls\"\n data-carousel-action=\"next\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atEnd : undefined}\n >\n {base.icons?.next}\n </button>\n ) : null}\n\n {presentation ? (\n <div\n aria-live={presentation.autoplay?.playing ? \"off\" : \"polite\"}\n aria-atomic=\"true\"\n data-part=\"status\"\n >\n {enhanced && announcedIndex !== undefined\n ? formatLabel(\n labels.slide,\n {\n label: items[announcedIndex]?.label ?? \"\",\n index:\n base.locale === undefined ? String(announcedIndex + 1) : announcedIndex + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )\n : null}\n </div>\n ) : null}\n </section>\n );\n}\nCarouselMarkup.displayName = \"CarouselMarkup\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { cn } from \"../../core/class-names.js\";\nimport { resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport { carouselFragment, carouselSlideId, normalizeCarouselProps } from \"./carousel-markup.js\";\nimport type { CarouselClientProps, CarouselMarkupProps } from \"./types.js\";\n\nexport function CarouselMarkup({\n base: rawBase,\n rootRef,\n presentation,\n}: CarouselMarkupProps): ReactElement | null {\n const base = normalizeCarouselProps(rawBase);\n const { items, labels, slotProps } = base;\n const {\n items: _items,\n labels: _labels,\n slotProps: _slotProps,\n axis: _axis,\n locale: _locale,\n icons: _icons,\n navigation: _navigation,\n pagination: _pagination,\n autoplay: _autoplay,\n afterChange: _afterChange,\n beforeChange: _beforeChange,\n defaultValue: _defaultValue,\n mouseDrag: _mouseDrag,\n onSelect: _onSelect,\n onSwipe: _onSwipe,\n rewind: _rewind,\n swipe: _swipe,\n value: _value,\n ...rootProps\n } = base as typeof base & Partial<CarouselClientProps> & { readonly swipe?: boolean };\n const hasControls = items.length > 1;\n\n if (items.length === 0) return null;\n\n const enhanced = presentation?.snapshot.ready === true;\n // Pagination claims a current slide as soon as the client has mounted, even before\n // the controller reports `ready` — SSR/pre-hydration markup still claims nothing.\n const showActiveDot = enhanced || presentation?.mounted === true;\n const activeIndex = presentation?.snapshot.index;\n const announcedIndex = presentation?.snapshot.settledIndex;\n const fade = enhanced && presentation.mode === \"fade\";\n const presentedIndex = fade ? (presentation.snapshot.requestedIndex ?? activeIndex) : activeIndex;\n const dotIndices =\n enhanced && !presentation.preserveFallbackFocus\n ? presentation.snapshot.pages.map((page) => page.index)\n : items.map((_, index) => index);\n\n return (\n <section\n aria-roledescription=\"carousel\"\n data-uiify-carousel=\"\"\n data-axis={base.axis}\n {...(presentation ? { \"data-mode\": presentation.mode } : {})}\n {...(enhanced ? { \"data-enhanced\": \"\" } : {})}\n {...rootProps}\n ref={rootRef}\n >\n {presentation && hasControls && presentation.autoplay ? (\n <button\n type=\"button\"\n data-part=\"controls\"\n data-carousel-action=\"rotation\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n {...resolveRepeatedSlotProps(slotProps?.rotationControl, \"rotation\")}\n >\n {presentation.autoplay.requested ? labels.stop : labels.start}\n </button>\n ) : null}\n\n <div\n id={`${base.id}--viewport`}\n tabIndex={0}\n role=\"group\"\n aria-label={base[\"aria-label\"]}\n data-part=\"viewport\"\n {...slotProps?.viewport}\n >\n {items.map((item, index) => {\n const slideId = carouselSlideId(base.id, item.id);\n const slideProps = resolveRepeatedSlotProps(slotProps?.slide, item.id);\n const slideContentProps = resolveRepeatedSlotProps(slotProps?.slideContent, item.id);\n return (\n <div\n key={item.id}\n id={slideId}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={formatLabel(\n labels.slide,\n {\n label: item.label,\n index: base.locale === undefined ? String(index + 1) : index + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )}\n data-part=\"slide\"\n data-carousel-index={index}\n {...(enhanced\n ? { \"data-state\": index === presentedIndex ? \"active\" : \"inactive\" }\n : {})}\n {...(fade && index !== presentedIndex ? { inert: true, \"aria-hidden\": true } : {})}\n {...slideProps}\n className={cn(item.className, slideProps.className)}\n >\n <div data-part=\"slide-content\" {...slideContentProps}>\n {item.children}\n </div>\n </div>\n );\n })}\n </div>\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.previous}\n data-part=\"controls\"\n data-carousel-action=\"previous\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atStart : undefined}\n {...resolveRepeatedSlotProps(slotProps?.previousControl, \"previous\")}\n >\n {base.icons?.previous}\n </button>\n ) : null}\n\n {base.pagination && hasControls ? (\n <nav aria-label={labels.navigation} data-part=\"dots\" {...slotProps?.dots}>\n {dotIndices.map((itemIndex) => {\n const item = items[itemIndex];\n if (!item) return null;\n return (\n <a\n key={item.id}\n href={carouselFragment(carouselSlideId(base.id, item.id))}\n aria-label={formatLabel(labels.goToSlide, { label: item.label }, base.locale)}\n aria-current={showActiveDot && itemIndex === activeIndex ? \"true\" : undefined}\n data-part=\"dot\"\n data-carousel-index={itemIndex}\n {...resolveRepeatedSlotProps(slotProps?.dot, item.id)}\n >\n {itemIndex + 1}\n </a>\n );\n })}\n </nav>\n ) : null}\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.next}\n data-part=\"controls\"\n data-carousel-action=\"next\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atEnd : undefined}\n {...resolveRepeatedSlotProps(slotProps?.nextControl, \"next\")}\n >\n {base.icons?.next}\n </button>\n ) : null}\n\n {presentation ? (\n <div\n aria-live={presentation.autoplay?.playing ? \"off\" : \"polite\"}\n aria-atomic=\"true\"\n data-part=\"status\"\n {...slotProps?.status}\n >\n {enhanced && announcedIndex !== undefined\n ? formatLabel(\n labels.slide,\n {\n label: items[announcedIndex]?.label ?? \"\",\n index:\n base.locale === undefined ? String(announcedIndex + 1) : announcedIndex + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )\n : null}\n </div>\n ) : null}\n </section>\n );\n}\nCarouselMarkup.displayName = \"CarouselMarkup\";\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAWrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA2F9E;yBA3Fe,cAAc"}
1
+ {"version":3,"file":"CarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAWrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA4F9E;yBA5Fe,cAAc"}
@@ -17,6 +17,7 @@ import {
17
17
  subscribeToNothing
18
18
  } from "./CarouselClientView.js";
19
19
  function CarouselClient(props) {
20
+ const { ref: clientRef, ...base } = props;
20
21
  const [root, setRoot] = useState(null);
21
22
  const [controller, setController] = useState();
22
23
  const [autoplay, setAutoplay] = useState();
@@ -81,7 +82,7 @@ function CarouselClient(props) {
81
82
  return attachCarouselDrag(root, controller);
82
83
  }, [root, controller, props.mouseDrag]);
83
84
  useImperativeHandle(
84
- props.ref,
85
+ clientRef,
85
86
  () => ({
86
87
  next: () => controller?.next("next"),
87
88
  previous: () => controller?.previous("previous"),
@@ -95,7 +96,7 @@ function CarouselClient(props) {
95
96
  return /* @__PURE__ */ jsx(
96
97
  CarouselClientView,
97
98
  {
98
- base: props,
99
+ base,
99
100
  rootRef: setRoot,
100
101
  mode: "scroll",
101
102
  ...controller ? { controller } : {},
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselClientProps,\n CarouselController,\n} from \"../types.js\";\nimport { createCarouselAutoplay } from \"./carousel-autoplay.js\";\nimport { attachCarouselDrag } from \"./carousel-drag.js\";\nimport { createCarouselController } from \"./carousel-controller.js\";\nimport { attachCarouselControls } from \"./carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"./CarouselClientView.js\";\n\nexport function CarouselClient(props: CarouselClientProps): ReactElement | null {\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n // Also rerender this owner so controlled values reconcile after a settled native change.\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const [name, index] of [\n [\"defaultValue\", props.defaultValue],\n [\"value\", props.value],\n ] as const) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(`Carousel ${name} must be a valid item index`);\n }\n const options = useEffectEvent(() => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n }));\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n useEffect(() => {\n if (!root) return;\n const attached = createCarouselController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items, props.axis, props.dir]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || !props.mouseDrag) return;\n return attachCarouselDrag(root, controller);\n }, [root, controller, props.mouseDrag]);\n useImperativeHandle(\n props.ref,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={props}\n rootRef={setRoot}\n mode=\"scroll\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nCarouselClient.displayName = \"CarouselClient\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselClientProps,\n CarouselController,\n} from \"../types.js\";\nimport { createCarouselAutoplay } from \"./carousel-autoplay.js\";\nimport { attachCarouselDrag } from \"./carousel-drag.js\";\nimport { createCarouselController } from \"./carousel-controller.js\";\nimport { attachCarouselControls } from \"./carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"./CarouselClientView.js\";\n\nexport function CarouselClient(props: CarouselClientProps): ReactElement | null {\n const { ref: clientRef, ...base } = props;\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n // Also rerender this owner so controlled values reconcile after a settled native change.\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const [name, index] of [\n [\"defaultValue\", props.defaultValue],\n [\"value\", props.value],\n ] as const) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(`Carousel ${name} must be a valid item index`);\n }\n const options = useEffectEvent(() => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n }));\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n useEffect(() => {\n if (!root) return;\n const attached = createCarouselController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items, props.axis, props.dir]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || !props.mouseDrag) return;\n return attachCarouselDrag(root, controller);\n }, [root, controller, props.mouseDrag]);\n useImperativeHandle(\n clientRef,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={base}\n rootRef={setRoot}\n mode=\"scroll\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nCarouselClient.displayName = \"CarouselClient\";\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"carousel-controls.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElF,0FAA0F;AAC1F,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAiBZ;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,CAAC,EAAE,0BAA0B,GACpC,MAAM,IAAI,CAsDZ"}
1
+ {"version":3,"file":"carousel-controls.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElF,0FAA0F;AAC1F,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAiBZ;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,CAAC,EAAE,0BAA0B,GACpC,MAAM,IAAI,CAyDZ"}
@@ -45,8 +45,8 @@ function attachCarouselControls(root, controller, autoplay) {
45
45
  event.preventDefault();
46
46
  controller.goTo(index, "dot");
47
47
  }
48
- root.addEventListener("click", click);
49
- return () => root.removeEventListener("click", click);
48
+ root.ownerDocument.addEventListener("click", click);
49
+ return () => root.ownerDocument.removeEventListener("click", click);
50
50
  }
51
51
  export {
52
52
  attachCarouselControls,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"sourcesContent":["import type { CarouselAutoplayController, CarouselController } from \"../types.js\";\n\n/** Keep a focused dot addressable, including duplicate end-page dots awaiting removal. */\nexport function attachCarouselFocus(\n root: HTMLElement,\n receive: (preserve: boolean) => void,\n): () => void {\n function preserve(target: EventTarget | null) {\n receive(\n target instanceof Element &&\n target.closest(\"[data-uiify-carousel]\") === root &&\n target.closest('[data-part=\"dot\"]') !== null,\n );\n }\n const focusIn = (event: FocusEvent) => preserve(event.target);\n const focusOut = (event: FocusEvent) => preserve(event.relatedTarget);\n preserve(root.ownerDocument.activeElement);\n root.addEventListener(\"focusin\", focusIn);\n root.addEventListener(\"focusout\", focusOut);\n return () => {\n root.removeEventListener(\"focusin\", focusIn);\n root.removeEventListener(\"focusout\", focusOut);\n };\n}\n\n/** Delegate only this carousel's own controls; ordinary links keep browser behavior. */\nexport function attachCarouselControls(\n root: HTMLElement,\n controller: CarouselController,\n autoplay?: CarouselAutoplayController,\n): () => void {\n function click(event: MouseEvent) {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey ||\n !controller.getSnapshot().ready ||\n !(event.target instanceof Element) ||\n event.target.closest(\"[data-uiify-carousel]\") !== root\n )\n return;\n const control = event.target.closest<HTMLElement>('[data-carousel-action], [data-part=\"dot\"]');\n if (!control || !root.contains(control)) return;\n if (control instanceof HTMLButtonElement) {\n if (control.disabled) return;\n switch (control.dataset.carouselAction) {\n case \"previous\":\n controller.previous(\"previous\");\n break;\n case \"next\":\n controller.next(\"next\");\n break;\n case \"rotation\":\n if (autoplay?.getSnapshot().requested) autoplay.stop();\n else autoplay?.start();\n break;\n }\n return;\n }\n if (\n !(control instanceof HTMLAnchorElement) ||\n control.hasAttribute(\"download\") ||\n (control.target !== \"\" && control.target !== \"_self\")\n )\n return;\n const index = Number(control.dataset.carouselIndex);\n const slide = root.querySelector<HTMLElement>(':scope > [data-part=\"viewport\"]')?.children[\n index\n ];\n if (\n !Number.isInteger(index) ||\n index < 0 ||\n !slide ||\n control.getAttribute(\"href\") !== `#${encodeURIComponent(slide.id)}`\n )\n return;\n event.preventDefault();\n controller.goTo(index, \"dot\");\n }\n root.addEventListener(\"click\", click);\n return () => root.removeEventListener(\"click\", click);\n}\n"],"mappings":"AAGO,SAAS,oBACd,MACA,SACY;AACZ,WAAS,SAAS,QAA4B;AAC5C;AAAA,MACE,kBAAkB,WAChB,OAAO,QAAQ,uBAAuB,MAAM,QAC5C,OAAO,QAAQ,mBAAmB,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,UAAU,CAAC,UAAsB,SAAS,MAAM,MAAM;AAC5D,QAAM,WAAW,CAAC,UAAsB,SAAS,MAAM,aAAa;AACpE,WAAS,KAAK,cAAc,aAAa;AACzC,OAAK,iBAAiB,WAAW,OAAO;AACxC,OAAK,iBAAiB,YAAY,QAAQ;AAC1C,SAAO,MAAM;AACX,SAAK,oBAAoB,WAAW,OAAO;AAC3C,SAAK,oBAAoB,YAAY,QAAQ;AAAA,EAC/C;AACF;AAGO,SAAS,uBACd,MACA,YACA,UACY;AACZ,WAAS,MAAM,OAAmB;AAChC,QACE,MAAM,oBACN,MAAM,WAAW,KACjB,MAAM,UACN,MAAM,WACN,MAAM,WACN,MAAM,YACN,CAAC,WAAW,YAAY,EAAE,SAC1B,EAAE,MAAM,kBAAkB,YAC1B,MAAM,OAAO,QAAQ,uBAAuB,MAAM;AAElD;AACF,UAAM,UAAU,MAAM,OAAO,QAAqB,2CAA2C;AAC7F,QAAI,CAAC,WAAW,CAAC,KAAK,SAAS,OAAO,EAAG;AACzC,QAAI,mBAAmB,mBAAmB;AACxC,UAAI,QAAQ,SAAU;AACtB,cAAQ,QAAQ,QAAQ,gBAAgB;AAAA,QACtC,KAAK;AACH,qBAAW,SAAS,UAAU;AAC9B;AAAA,QACF,KAAK;AACH,qBAAW,KAAK,MAAM;AACtB;AAAA,QACF,KAAK;AACH,cAAI,UAAU,YAAY,EAAE,UAAW,UAAS,KAAK;AAAA,cAChD,WAAU,MAAM;AACrB;AAAA,MACJ;AACA;AAAA,IACF;AACA,QACE,EAAE,mBAAmB,sBACrB,QAAQ,aAAa,UAAU,KAC9B,QAAQ,WAAW,MAAM,QAAQ,WAAW;AAE7C;AACF,UAAM,QAAQ,OAAO,QAAQ,QAAQ,aAAa;AAClD,UAAM,QAAQ,KAAK,cAA2B,iCAAiC,GAAG,SAChF,KACF;AACA,QACE,CAAC,OAAO,UAAU,KAAK,KACvB,QAAQ,KACR,CAAC,SACD,QAAQ,aAAa,MAAM,MAAM,IAAI,mBAAmB,MAAM,EAAE,CAAC;AAEjE;AACF,UAAM,eAAe;AACrB,eAAW,KAAK,OAAO,KAAK;AAAA,EAC9B;AACA,OAAK,iBAAiB,SAAS,KAAK;AACpC,SAAO,MAAM,KAAK,oBAAoB,SAAS,KAAK;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"sourcesContent":["import type { CarouselAutoplayController, CarouselController } from \"../types.js\";\n\n/** Keep a focused dot addressable, including duplicate end-page dots awaiting removal. */\nexport function attachCarouselFocus(\n root: HTMLElement,\n receive: (preserve: boolean) => void,\n): () => void {\n function preserve(target: EventTarget | null) {\n receive(\n target instanceof Element &&\n target.closest(\"[data-uiify-carousel]\") === root &&\n target.closest('[data-part=\"dot\"]') !== null,\n );\n }\n const focusIn = (event: FocusEvent) => preserve(event.target);\n const focusOut = (event: FocusEvent) => preserve(event.relatedTarget);\n preserve(root.ownerDocument.activeElement);\n root.addEventListener(\"focusin\", focusIn);\n root.addEventListener(\"focusout\", focusOut);\n return () => {\n root.removeEventListener(\"focusin\", focusIn);\n root.removeEventListener(\"focusout\", focusOut);\n };\n}\n\n/** Delegate only this carousel's own controls; ordinary links keep browser behavior. */\nexport function attachCarouselControls(\n root: HTMLElement,\n controller: CarouselController,\n autoplay?: CarouselAutoplayController,\n): () => void {\n function click(event: MouseEvent) {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey ||\n !controller.getSnapshot().ready ||\n !(event.target instanceof Element) ||\n event.target.closest(\"[data-uiify-carousel]\") !== root\n )\n return;\n const control = event.target.closest<HTMLElement>('[data-carousel-action], [data-part=\"dot\"]');\n if (!control || !root.contains(control)) return;\n if (control instanceof HTMLButtonElement) {\n if (control.disabled) return;\n switch (control.dataset.carouselAction) {\n case \"previous\":\n controller.previous(\"previous\");\n break;\n case \"next\":\n controller.next(\"next\");\n break;\n case \"rotation\":\n if (autoplay?.getSnapshot().requested) autoplay.stop();\n else autoplay?.start();\n break;\n }\n return;\n }\n if (\n !(control instanceof HTMLAnchorElement) ||\n control.hasAttribute(\"download\") ||\n (control.target !== \"\" && control.target !== \"_self\")\n )\n return;\n const index = Number(control.dataset.carouselIndex);\n const slide = root.querySelector<HTMLElement>(':scope > [data-part=\"viewport\"]')?.children[\n index\n ];\n if (\n !Number.isInteger(index) ||\n index < 0 ||\n !slide ||\n control.getAttribute(\"href\") !== `#${encodeURIComponent(slide.id)}`\n )\n return;\n event.preventDefault();\n controller.goTo(index, \"dot\");\n }\n // React delegates consumer slot clicks at its root container, which can be outside\n // this section. Handle the native event after that dispatch so preventDefault() from\n // a slot's onClick can cancel the built-in action reliably.\n root.ownerDocument.addEventListener(\"click\", click);\n return () => root.ownerDocument.removeEventListener(\"click\", click);\n}\n"],"mappings":"AAGO,SAAS,oBACd,MACA,SACY;AACZ,WAAS,SAAS,QAA4B;AAC5C;AAAA,MACE,kBAAkB,WAChB,OAAO,QAAQ,uBAAuB,MAAM,QAC5C,OAAO,QAAQ,mBAAmB,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,UAAU,CAAC,UAAsB,SAAS,MAAM,MAAM;AAC5D,QAAM,WAAW,CAAC,UAAsB,SAAS,MAAM,aAAa;AACpE,WAAS,KAAK,cAAc,aAAa;AACzC,OAAK,iBAAiB,WAAW,OAAO;AACxC,OAAK,iBAAiB,YAAY,QAAQ;AAC1C,SAAO,MAAM;AACX,SAAK,oBAAoB,WAAW,OAAO;AAC3C,SAAK,oBAAoB,YAAY,QAAQ;AAAA,EAC/C;AACF;AAGO,SAAS,uBACd,MACA,YACA,UACY;AACZ,WAAS,MAAM,OAAmB;AAChC,QACE,MAAM,oBACN,MAAM,WAAW,KACjB,MAAM,UACN,MAAM,WACN,MAAM,WACN,MAAM,YACN,CAAC,WAAW,YAAY,EAAE,SAC1B,EAAE,MAAM,kBAAkB,YAC1B,MAAM,OAAO,QAAQ,uBAAuB,MAAM;AAElD;AACF,UAAM,UAAU,MAAM,OAAO,QAAqB,2CAA2C;AAC7F,QAAI,CAAC,WAAW,CAAC,KAAK,SAAS,OAAO,EAAG;AACzC,QAAI,mBAAmB,mBAAmB;AACxC,UAAI,QAAQ,SAAU;AACtB,cAAQ,QAAQ,QAAQ,gBAAgB;AAAA,QACtC,KAAK;AACH,qBAAW,SAAS,UAAU;AAC9B;AAAA,QACF,KAAK;AACH,qBAAW,KAAK,MAAM;AACtB;AAAA,QACF,KAAK;AACH,cAAI,UAAU,YAAY,EAAE,UAAW,UAAS,KAAK;AAAA,cAChD,WAAU,MAAM;AACrB;AAAA,MACJ;AACA;AAAA,IACF;AACA,QACE,EAAE,mBAAmB,sBACrB,QAAQ,aAAa,UAAU,KAC9B,QAAQ,WAAW,MAAM,QAAQ,WAAW;AAE7C;AACF,UAAM,QAAQ,OAAO,QAAQ,QAAQ,aAAa;AAClD,UAAM,QAAQ,KAAK,cAA2B,iCAAiC,GAAG,SAChF,KACF;AACA,QACE,CAAC,OAAO,UAAU,KAAK,KACvB,QAAQ,KACR,CAAC,SACD,QAAQ,aAAa,MAAM,MAAM,IAAI,mBAAmB,MAAM,EAAE,CAAC;AAEjE;AACF,UAAM,eAAe;AACrB,eAAW,KAAK,OAAO,KAAK;AAAA,EAC9B;AAIA,OAAK,cAAc,iBAAiB,SAAS,KAAK;AAClD,SAAO,MAAM,KAAK,cAAc,oBAAoB,SAAS,KAAK;AACpE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FadeCarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CA2FtF;yBA3Fe,kBAAkB"}
1
+ {"version":3,"file":"FadeCarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CA4FtF;yBA5Fe,kBAAkB"}
@@ -18,6 +18,7 @@ import {
18
18
  import { createFadeController } from "./fade-controller.js";
19
19
  import { attachFadeSwipe } from "./fade-swipe.js";
20
20
  function FadeCarouselClient(props) {
21
+ const { ref: clientRef, ...base } = props;
21
22
  const [root, setRoot] = useState(null);
22
23
  const [controller, setController] = useState();
23
24
  const [autoplay, setAutoplay] = useState();
@@ -79,7 +80,7 @@ function FadeCarouselClient(props) {
79
80
  return attachFadeSwipe(root, controller, props.mouseDrag ?? false);
80
81
  }, [root, controller, props.swipe, props.mouseDrag]);
81
82
  useImperativeHandle(
82
- props.ref,
83
+ clientRef,
83
84
  () => ({
84
85
  next: () => controller?.next("next"),
85
86
  previous: () => controller?.previous("previous"),
@@ -93,7 +94,7 @@ function FadeCarouselClient(props) {
93
94
  return /* @__PURE__ */ jsx(
94
95
  CarouselClientView,
95
96
  {
96
- base: props,
97
+ base,
97
98
  rootRef: setRoot,
98
99
  mode: "fade",
99
100
  ...controller ? { controller } : {},
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselController,\n FadeCarouselClientProps,\n} from \"../types.js\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport { createCarouselAutoplay } from \"../client/carousel-autoplay.js\";\nimport { attachCarouselControls } from \"../client/carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"../client/CarouselClientView.js\";\nimport { createFadeController } from \"./fade-controller.js\";\nimport { attachFadeSwipe } from \"./fade-swipe.js\";\n\nexport function FadeCarouselClient(props: FadeCarouselClientProps): ReactElement | null {\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const index of [props.defaultValue, props.value]) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(\"Carousel value must be a valid item index\");\n }\n const options = () => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n });\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n // Layout effect: fade's readiness is synchronous, so creating the controller\n // before paint (rather than after, like the native scroll controller) avoids a\n // visible frame where fallback links are still shown but persistent controls\n // are hidden, waiting on an effect that has already run.\n useIsomorphicLayoutEffect(() => {\n if (!root) return;\n const attached = createFadeController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || props.swipe === false) return;\n return attachFadeSwipe(root, controller, props.mouseDrag ?? false);\n }, [root, controller, props.swipe, props.mouseDrag]);\n useImperativeHandle(\n props.ref,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={props}\n rootRef={setRoot}\n mode=\"fade\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nFadeCarouselClient.displayName = \"FadeCarouselClient\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselController,\n FadeCarouselClientProps,\n} from \"../types.js\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport { createCarouselAutoplay } from \"../client/carousel-autoplay.js\";\nimport { attachCarouselControls } from \"../client/carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"../client/CarouselClientView.js\";\nimport { createFadeController } from \"./fade-controller.js\";\nimport { attachFadeSwipe } from \"./fade-swipe.js\";\n\nexport function FadeCarouselClient(props: FadeCarouselClientProps): ReactElement | null {\n const { ref: clientRef, ...base } = props;\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const index of [props.defaultValue, props.value]) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(\"Carousel value must be a valid item index\");\n }\n const options = () => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n });\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n // Layout effect: fade's readiness is synchronous, so creating the controller\n // before paint (rather than after, like the native scroll controller) avoids a\n // visible frame where fallback links are still shown but persistent controls\n // are hidden, waiting on an effect that has already run.\n useIsomorphicLayoutEffect(() => {\n if (!root) return;\n const attached = createFadeController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || props.swipe === false) return;\n return attachFadeSwipe(root, controller, props.mouseDrag ?? false);\n }, [root, controller, props.swipe, props.mouseDrag]);\n useImperativeHandle(\n clientRef,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={base}\n rootRef={setRoot}\n mode=\"fade\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nFadeCarouselClient.displayName = \"FadeCarouselClient\";\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { Carousel } from "./Carousel.js";
2
- export type { CarouselAxis, CarouselItem, CarouselLabels, CarouselProps, CarouselStyle, } from "./types.js";
2
+ export type { CarouselAxis, CarouselItem, CarouselLabels, CarouselProps, CarouselSlotProps, CarouselStyle, CarouselWithRefProps, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/carousel/index.ts"],"sourcesContent":["export { Carousel } from \"./Carousel.js\";\nexport type {\n CarouselAxis,\n CarouselItem,\n CarouselLabels,\n CarouselProps,\n CarouselStyle,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/carousel/index.ts"],"sourcesContent":["export { Carousel } from \"./Carousel.js\";\nexport type {\n CarouselAxis,\n CarouselItem,\n CarouselLabels,\n CarouselProps,\n CarouselSlotProps,\n CarouselStyle,\n CarouselWithRefProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,gBAAgB;","names":[]}
@@ -1,4 +1,5 @@
1
- import type { CSSProperties, ReactNode, Ref } from "react";
1
+ import type { ComponentPropsWithoutRef, CSSProperties, ReactNode, Ref } from "react";
2
+ import type { ConsumerDataAttributes, RepeatedSlotProps, SlotProps } from "../../core/slot-props.js";
2
3
  export type CarouselAxis = "inline" | "block";
3
4
  export type CarouselReason = "previous" | "next" | "dot" | "command" | "scroll" | "drag" | "autoplay" | "controlled" | "items";
4
5
  export interface CarouselItem {
@@ -30,7 +31,18 @@ export interface CarouselStyle extends CSSProperties {
30
31
  readonly "--uiify-carousel-gap"?: string;
31
32
  readonly "--uiify-carousel-fade-duration"?: string;
32
33
  }
33
- export interface CarouselProps {
34
+ export interface CarouselSlotProps {
35
+ readonly viewport?: SlotProps<"div">;
36
+ readonly slide?: RepeatedSlotProps<SlotProps<"div">>;
37
+ readonly slideContent?: RepeatedSlotProps<SlotProps<"div">>;
38
+ readonly rotationControl?: RepeatedSlotProps<SlotProps<"button">>;
39
+ readonly previousControl?: RepeatedSlotProps<SlotProps<"button">>;
40
+ readonly nextControl?: RepeatedSlotProps<SlotProps<"button">>;
41
+ readonly dots?: SlotProps<"nav">;
42
+ readonly dot?: RepeatedSlotProps<SlotProps<"a">>;
43
+ readonly status?: SlotProps<"div">;
44
+ }
45
+ export interface CarouselProps extends Omit<ComponentPropsWithoutRef<"section">, "aria-label" | "children" | "className" | "dangerouslySetInnerHTML" | "defaultValue" | "dir" | "id" | "autoplay" | "afterChange" | "beforeChange" | "mouseDrag" | "onSelect" | "onSwipe" | "rewind" | "swipe" | "style" | "value">, ConsumerDataAttributes {
34
46
  readonly id: string;
35
47
  readonly items: readonly CarouselItem[];
36
48
  readonly "aria-label": string;
@@ -43,6 +55,10 @@ export interface CarouselProps {
43
55
  readonly style?: CarouselStyle;
44
56
  readonly labels?: Partial<CarouselLabels>;
45
57
  readonly icons?: CarouselIcons;
58
+ readonly slotProps?: CarouselSlotProps;
59
+ }
60
+ export interface CarouselWithRefProps extends CarouselProps {
61
+ readonly ref?: Ref<HTMLElement>;
46
62
  }
47
63
  export interface CarouselChange {
48
64
  readonly previousIndex: number;