@gunkin/uiify 0.0.19-alpha → 0.0.22-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 (439) hide show
  1. package/agents/components.md +14 -1
  2. package/agents/index.md +32 -1
  3. package/agents/reference/components/alert.md +44 -0
  4. package/agents/reference/components/aspect-ratio.md +26 -0
  5. package/agents/reference/components/avatar.md +32 -0
  6. package/agents/reference/components/badge.md +31 -0
  7. package/agents/reference/components/breadcrumb.md +11 -1
  8. package/agents/reference/components/button.md +4 -4
  9. package/agents/reference/components/candle-chart.md +20 -1
  10. package/agents/reference/components/card.md +24 -0
  11. package/agents/reference/components/carousel.md +3 -2
  12. package/agents/reference/components/checkbox.md +2 -0
  13. package/agents/reference/components/combobox.md +2 -1
  14. package/agents/reference/components/date-picker.md +23 -0
  15. package/agents/reference/components/description-list.md +38 -0
  16. package/agents/reference/components/drawer.md +8 -1
  17. package/agents/reference/components/dropdown-menu.md +1 -1
  18. package/agents/reference/components/empty.md +45 -0
  19. package/agents/reference/components/fieldset.md +31 -0
  20. package/agents/reference/components/file-upload.md +12 -1
  21. package/agents/reference/components/form-error-summary.md +33 -0
  22. package/agents/reference/components/input-group.md +33 -0
  23. package/agents/reference/components/item.md +52 -0
  24. package/agents/reference/components/line-chart.md +1 -0
  25. package/agents/reference/components/modal.md +8 -1
  26. package/agents/reference/components/number-field.md +14 -3
  27. package/agents/reference/components/pagination.md +22 -1
  28. package/agents/reference/components/progress.md +16 -0
  29. package/agents/reference/components/slider.md +9 -1
  30. package/agents/reference/components/spinner.md +8 -1
  31. package/agents/reference/components/toast.md +14 -1
  32. package/dist/components/alert/Alert.d.ts +15 -0
  33. package/dist/components/alert/Alert.d.ts.map +1 -0
  34. package/dist/components/alert/Alert.js +61 -0
  35. package/dist/components/alert/Alert.js.map +1 -0
  36. package/dist/components/alert/index.d.ts +3 -0
  37. package/dist/components/alert/index.d.ts.map +1 -0
  38. package/dist/components/alert/index.js +7 -0
  39. package/dist/components/alert/index.js.map +1 -0
  40. package/dist/components/alert/types.d.ts +20 -0
  41. package/dist/components/alert/types.d.ts.map +1 -0
  42. package/dist/components/alert/types.js +1 -0
  43. package/dist/components/alert/types.js.map +1 -0
  44. package/dist/components/alert.d.ts +1 -0
  45. package/dist/components/alert.js +1 -0
  46. package/dist/components/aspect-ratio/AspectRatio.d.ts +7 -0
  47. package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -0
  48. package/dist/components/aspect-ratio/AspectRatio.js +26 -0
  49. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -0
  50. package/dist/components/aspect-ratio/index.d.ts +3 -0
  51. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  52. package/dist/components/aspect-ratio/index.js +5 -0
  53. package/dist/components/aspect-ratio/index.js.map +1 -0
  54. package/dist/components/aspect-ratio/types.d.ts +9 -0
  55. package/dist/components/aspect-ratio/types.d.ts.map +1 -0
  56. package/dist/components/aspect-ratio/types.js +1 -0
  57. package/dist/components/aspect-ratio/types.js.map +1 -0
  58. package/dist/components/aspect-ratio.d.ts +1 -0
  59. package/dist/components/aspect-ratio.js +1 -0
  60. package/dist/components/avatar/Avatar.d.ts +7 -0
  61. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  62. package/dist/components/avatar/Avatar.js +24 -0
  63. package/dist/components/avatar/Avatar.js.map +1 -0
  64. package/dist/components/avatar/index.d.ts +3 -0
  65. package/dist/components/avatar/index.d.ts.map +1 -0
  66. package/dist/components/avatar/index.js +5 -0
  67. package/dist/components/avatar/index.js.map +1 -0
  68. package/dist/components/avatar/types.d.ts +12 -0
  69. package/dist/components/avatar/types.d.ts.map +1 -0
  70. package/dist/components/avatar/types.js +1 -0
  71. package/dist/components/avatar/types.js.map +1 -0
  72. package/dist/components/avatar.d.ts +1 -0
  73. package/dist/components/avatar.js +1 -0
  74. package/dist/components/badge/Badge.d.ts +7 -0
  75. package/dist/components/badge/Badge.d.ts.map +1 -0
  76. package/dist/components/badge/Badge.js +21 -0
  77. package/dist/components/badge/Badge.js.map +1 -0
  78. package/dist/components/badge/index.d.ts +3 -0
  79. package/dist/components/badge/index.d.ts.map +1 -0
  80. package/dist/components/badge/index.js +5 -0
  81. package/dist/components/badge/index.js.map +1 -0
  82. package/dist/components/badge/types.d.ts +11 -0
  83. package/dist/components/badge/types.d.ts.map +1 -0
  84. package/dist/components/badge/types.js +1 -0
  85. package/dist/components/badge/types.js.map +1 -0
  86. package/dist/components/badge.d.ts +1 -0
  87. package/dist/components/badge.js +1 -0
  88. package/dist/components/behavior.css +21 -9
  89. package/dist/components/behavior.css.map +1 -1
  90. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  91. package/dist/components/breadcrumb/Breadcrumb.js +21 -4
  92. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  93. package/dist/components/breadcrumb/index.d.ts +1 -1
  94. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  95. package/dist/components/breadcrumb/index.js.map +1 -1
  96. package/dist/components/breadcrumb/types.d.ts +7 -0
  97. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  98. package/dist/components/button/types.d.ts +4 -0
  99. package/dist/components/button/types.d.ts.map +1 -1
  100. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  101. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  102. package/dist/components/candle-chart/CandleChart.js +81 -46
  103. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  104. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  105. package/dist/components/candle-chart/client/CandleChartClient.js +5 -0
  106. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  107. package/dist/components/candle-chart/index.d.ts +1 -1
  108. package/dist/components/candle-chart/index.d.ts.map +1 -1
  109. package/dist/components/candle-chart/index.js.map +1 -1
  110. package/dist/components/candle-chart/types.d.ts +17 -0
  111. package/dist/components/candle-chart/types.d.ts.map +1 -1
  112. package/dist/components/card/Card.d.ts +7 -0
  113. package/dist/components/card/Card.d.ts.map +1 -0
  114. package/dist/components/card/Card.js +16 -0
  115. package/dist/components/card/Card.js.map +1 -0
  116. package/dist/components/card/index.d.ts +3 -0
  117. package/dist/components/card/index.d.ts.map +1 -0
  118. package/dist/components/card/index.js +5 -0
  119. package/dist/components/card/index.js.map +1 -0
  120. package/dist/components/card/types.d.ts +7 -0
  121. package/dist/components/card/types.d.ts.map +1 -0
  122. package/dist/components/card/types.js +1 -0
  123. package/dist/components/card/types.js.map +1 -0
  124. package/dist/components/card.d.ts +1 -0
  125. package/dist/components/card.js +1 -0
  126. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  127. package/dist/components/carousel/CarouselMarkup.js +20 -3
  128. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  129. package/dist/components/carousel/carousel-markup.js +2 -2
  130. package/dist/components/carousel/carousel-markup.js.map +1 -1
  131. package/dist/components/carousel/types.d.ts +3 -2
  132. package/dist/components/carousel/types.d.ts.map +1 -1
  133. package/dist/components/checkbox/types.d.ts +2 -0
  134. package/dist/components/checkbox/types.d.ts.map +1 -1
  135. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  136. package/dist/components/combobox/Combobox.js +37 -23
  137. package/dist/components/combobox/Combobox.js.map +1 -1
  138. package/dist/components/combobox/combobox-store.d.ts.map +1 -1
  139. package/dist/components/combobox/combobox-store.js +5 -2
  140. package/dist/components/combobox/combobox-store.js.map +1 -1
  141. package/dist/components/combobox/types.d.ts +2 -3
  142. package/dist/components/combobox/types.d.ts.map +1 -1
  143. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  144. package/dist/components/context-menu/ContextMenu.js +25 -5
  145. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  146. package/dist/components/date-picker/DatePicker.d.ts +7 -0
  147. package/dist/components/date-picker/DatePicker.d.ts.map +1 -0
  148. package/dist/components/date-picker/DatePicker.js +19 -0
  149. package/dist/components/date-picker/DatePicker.js.map +1 -0
  150. package/dist/components/date-picker/index.d.ts +3 -0
  151. package/dist/components/date-picker/index.d.ts.map +1 -0
  152. package/dist/components/date-picker/index.js +5 -0
  153. package/dist/components/date-picker/index.js.map +1 -0
  154. package/dist/components/date-picker/types.d.ts +5 -0
  155. package/dist/components/date-picker/types.d.ts.map +1 -0
  156. package/dist/components/date-picker/types.js +1 -0
  157. package/dist/components/date-picker/types.js.map +1 -0
  158. package/dist/components/date-picker.d.ts +1 -0
  159. package/dist/components/date-picker.js +1 -0
  160. package/dist/components/description-list/DescriptionList.d.ts +15 -0
  161. package/dist/components/description-list/DescriptionList.d.ts.map +1 -0
  162. package/dist/components/description-list/DescriptionList.js +48 -0
  163. package/dist/components/description-list/DescriptionList.js.map +1 -0
  164. package/dist/components/description-list/index.d.ts +3 -0
  165. package/dist/components/description-list/index.d.ts.map +1 -0
  166. package/dist/components/description-list/index.js +7 -0
  167. package/dist/components/description-list/index.js.map +1 -0
  168. package/dist/components/description-list/types.d.ts +15 -0
  169. package/dist/components/description-list/types.d.ts.map +1 -0
  170. package/dist/components/description-list/types.js +1 -0
  171. package/dist/components/description-list/types.js.map +1 -0
  172. package/dist/components/description-list.d.ts +1 -0
  173. package/dist/components/description-list.js +1 -0
  174. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  175. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  176. package/dist/components/drawer/DrawerNative.js +5 -2
  177. package/dist/components/drawer/DrawerNative.js.map +1 -1
  178. package/dist/components/drawer/index.d.ts +1 -1
  179. package/dist/components/drawer/index.d.ts.map +1 -1
  180. package/dist/components/drawer/index.js.map +1 -1
  181. package/dist/components/drawer/types.d.ts +4 -0
  182. package/dist/components/drawer/types.d.ts.map +1 -1
  183. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  184. package/dist/components/dropdown-menu/DropdownMenu.js +31 -15
  185. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  186. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  187. package/dist/components/dropdown-menu/DropdownMenuBar.js +7 -5
  188. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  189. package/dist/components/dropdown-menu/types.d.ts +1 -1
  190. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  191. package/dist/components/empty/Empty.d.ts +19 -0
  192. package/dist/components/empty/Empty.d.ts.map +1 -0
  193. package/dist/components/empty/Empty.js +56 -0
  194. package/dist/components/empty/Empty.js.map +1 -0
  195. package/dist/components/empty/index.d.ts +3 -0
  196. package/dist/components/empty/index.d.ts.map +1 -0
  197. package/dist/components/empty/index.js +8 -0
  198. package/dist/components/empty/index.js.map +1 -0
  199. package/dist/components/empty/types.d.ts +19 -0
  200. package/dist/components/empty/types.d.ts.map +1 -0
  201. package/dist/components/empty/types.js +1 -0
  202. package/dist/components/empty/types.js.map +1 -0
  203. package/dist/components/empty.d.ts +1 -0
  204. package/dist/components/empty.js +1 -0
  205. package/dist/components/fieldset/Fieldset.d.ts +11 -0
  206. package/dist/components/fieldset/Fieldset.d.ts.map +1 -0
  207. package/dist/components/fieldset/Fieldset.js +38 -0
  208. package/dist/components/fieldset/Fieldset.js.map +1 -0
  209. package/dist/components/fieldset/index.d.ts +3 -0
  210. package/dist/components/fieldset/index.d.ts.map +1 -0
  211. package/dist/components/fieldset/index.js +6 -0
  212. package/dist/components/fieldset/index.js.map +1 -0
  213. package/dist/components/fieldset/types.d.ts +11 -0
  214. package/dist/components/fieldset/types.d.ts.map +1 -0
  215. package/dist/components/fieldset/types.js +1 -0
  216. package/dist/components/fieldset/types.js.map +1 -0
  217. package/dist/components/fieldset.d.ts +1 -0
  218. package/dist/components/fieldset.js +1 -0
  219. package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
  220. package/dist/components/file-upload/FileUpload.js +11 -4
  221. package/dist/components/file-upload/FileUpload.js.map +1 -1
  222. package/dist/components/file-upload/FileUploadRoot.d.ts +1 -1
  223. package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -1
  224. package/dist/components/file-upload/FileUploadRoot.js +9 -0
  225. package/dist/components/file-upload/FileUploadRoot.js.map +1 -1
  226. package/dist/components/file-upload/index.d.ts +1 -1
  227. package/dist/components/file-upload/index.d.ts.map +1 -1
  228. package/dist/components/file-upload/index.js.map +1 -1
  229. package/dist/components/file-upload/types.d.ts +8 -0
  230. package/dist/components/file-upload/types.d.ts.map +1 -1
  231. package/dist/components/form-error-summary/FormErrorSummary.d.ts +7 -0
  232. package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -0
  233. package/dist/components/form-error-summary/FormErrorSummary.js +25 -0
  234. package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -0
  235. package/dist/components/form-error-summary/index.d.ts +3 -0
  236. package/dist/components/form-error-summary/index.d.ts.map +1 -0
  237. package/dist/components/form-error-summary/index.js +5 -0
  238. package/dist/components/form-error-summary/index.js.map +1 -0
  239. package/dist/components/form-error-summary/types.d.ts +12 -0
  240. package/dist/components/form-error-summary/types.d.ts.map +1 -0
  241. package/dist/components/form-error-summary/types.js +1 -0
  242. package/dist/components/form-error-summary/types.js.map +1 -0
  243. package/dist/components/form-error-summary.d.ts +1 -0
  244. package/dist/components/form-error-summary.js +1 -0
  245. package/dist/components/index.d.ts +13 -0
  246. package/dist/components/index.d.ts.map +1 -1
  247. package/dist/components/index.js +13 -0
  248. package/dist/components/index.js.map +1 -1
  249. package/dist/components/input-group/InputGroup.d.ts +5 -0
  250. package/dist/components/input-group/InputGroup.d.ts.map +1 -0
  251. package/dist/components/input-group/InputGroup.js +37 -0
  252. package/dist/components/input-group/InputGroup.js.map +1 -0
  253. package/dist/components/input-group/index.d.ts +3 -0
  254. package/dist/components/input-group/index.d.ts.map +1 -0
  255. package/dist/components/input-group/index.js +6 -0
  256. package/dist/components/input-group/index.js.map +1 -0
  257. package/dist/components/input-group/types.d.ts +12 -0
  258. package/dist/components/input-group/types.d.ts.map +1 -0
  259. package/dist/components/input-group/types.js +1 -0
  260. package/dist/components/input-group/types.js.map +1 -0
  261. package/dist/components/input-group.d.ts +1 -0
  262. package/dist/components/input-group.js +1 -0
  263. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
  264. package/dist/components/internal/native-check-control/NativeCheckControl.js +4 -0
  265. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
  266. package/dist/components/internal/native-check-control/types.d.ts +2 -0
  267. package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
  268. package/dist/components/item/Item.d.ts +23 -0
  269. package/dist/components/item/Item.d.ts.map +1 -0
  270. package/dist/components/item/Item.js +64 -0
  271. package/dist/components/item/Item.js.map +1 -0
  272. package/dist/components/item/index.d.ts +3 -0
  273. package/dist/components/item/index.d.ts.map +1 -0
  274. package/dist/components/item/index.js +9 -0
  275. package/dist/components/item/index.js.map +1 -0
  276. package/dist/components/item/types.d.ts +23 -0
  277. package/dist/components/item/types.d.ts.map +1 -0
  278. package/dist/components/item/types.js +1 -0
  279. package/dist/components/item/types.js.map +1 -0
  280. package/dist/components/item.d.ts +1 -0
  281. package/dist/components/item.js +1 -0
  282. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  283. package/dist/components/line-chart/LineChart.js +3 -2
  284. package/dist/components/line-chart/LineChart.js.map +1 -1
  285. package/dist/components/line-chart/line-chart-geometry.d.ts +2 -2
  286. package/dist/components/line-chart/line-chart-geometry.d.ts.map +1 -1
  287. package/dist/components/line-chart/line-chart-geometry.js +6 -6
  288. package/dist/components/line-chart/line-chart-geometry.js.map +1 -1
  289. package/dist/components/line-chart/types.d.ts +2 -0
  290. package/dist/components/line-chart/types.d.ts.map +1 -1
  291. package/dist/components/modal/Modal.d.ts +1 -1
  292. package/dist/components/modal/Modal.d.ts.map +1 -1
  293. package/dist/components/modal/Modal.js +5 -2
  294. package/dist/components/modal/Modal.js.map +1 -1
  295. package/dist/components/modal/index.d.ts +1 -1
  296. package/dist/components/modal/index.d.ts.map +1 -1
  297. package/dist/components/modal/index.js.map +1 -1
  298. package/dist/components/modal/types.d.ts +4 -0
  299. package/dist/components/modal/types.d.ts.map +1 -1
  300. package/dist/components/number-field/NumberField.d.ts +1 -1
  301. package/dist/components/number-field/NumberField.d.ts.map +1 -1
  302. package/dist/components/number-field/NumberField.js +25 -5
  303. package/dist/components/number-field/NumberField.js.map +1 -1
  304. package/dist/components/number-field/format.d.ts +1 -1
  305. package/dist/components/number-field/format.d.ts.map +1 -1
  306. package/dist/components/number-field/format.js +32 -7
  307. package/dist/components/number-field/format.js.map +1 -1
  308. package/dist/components/number-field/index.d.ts +1 -1
  309. package/dist/components/number-field/index.d.ts.map +1 -1
  310. package/dist/components/number-field/index.js.map +1 -1
  311. package/dist/components/number-field/types.d.ts +11 -2
  312. package/dist/components/number-field/types.d.ts.map +1 -1
  313. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  314. package/dist/components/otp-input/OtpInput.js +2 -0
  315. package/dist/components/otp-input/OtpInput.js.map +1 -1
  316. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  317. package/dist/components/pagination/Pagination.js +93 -29
  318. package/dist/components/pagination/Pagination.js.map +1 -1
  319. package/dist/components/pagination/PaginationShell.d.ts +2 -1
  320. package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
  321. package/dist/components/pagination/PaginationShell.js +44 -9
  322. package/dist/components/pagination/PaginationShell.js.map +1 -1
  323. package/dist/components/pagination/index.d.ts +1 -1
  324. package/dist/components/pagination/index.d.ts.map +1 -1
  325. package/dist/components/pagination/index.js.map +1 -1
  326. package/dist/components/pagination/types.d.ts +18 -0
  327. package/dist/components/pagination/types.d.ts.map +1 -1
  328. package/dist/components/progress/Progress.d.ts +7 -0
  329. package/dist/components/progress/Progress.d.ts.map +1 -0
  330. package/dist/components/progress/Progress.js +9 -0
  331. package/dist/components/progress/Progress.js.map +1 -0
  332. package/dist/components/progress/index.d.ts +3 -0
  333. package/dist/components/progress/index.d.ts.map +1 -0
  334. package/dist/components/progress/index.js +5 -0
  335. package/dist/components/progress/index.js.map +1 -0
  336. package/dist/components/progress/types.d.ts +3 -0
  337. package/dist/components/progress/types.d.ts.map +1 -0
  338. package/dist/components/progress/types.js +1 -0
  339. package/dist/components/progress/types.js.map +1 -0
  340. package/dist/components/progress.d.ts +1 -0
  341. package/dist/components/progress.js +1 -0
  342. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  343. package/dist/components/slider/client/SliderClient.js +11 -2
  344. package/dist/components/slider/client/SliderClient.js.map +1 -1
  345. package/dist/components/slider/index.d.ts +1 -1
  346. package/dist/components/slider/index.d.ts.map +1 -1
  347. package/dist/components/slider/index.js.map +1 -1
  348. package/dist/components/slider/types.d.ts +5 -0
  349. package/dist/components/slider/types.d.ts.map +1 -1
  350. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  351. package/dist/components/spinner/Spinner.js +6 -3
  352. package/dist/components/spinner/Spinner.js.map +1 -1
  353. package/dist/components/spinner/index.d.ts +1 -1
  354. package/dist/components/spinner/index.d.ts.map +1 -1
  355. package/dist/components/spinner/index.js.map +1 -1
  356. package/dist/components/spinner/types.d.ts +4 -0
  357. package/dist/components/spinner/types.d.ts.map +1 -1
  358. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  359. package/dist/components/tags-input/TagsInput.js +2 -0
  360. package/dist/components/tags-input/TagsInput.js.map +1 -1
  361. package/dist/components/toast/Toast.d.ts +1 -1
  362. package/dist/components/toast/Toast.d.ts.map +1 -1
  363. package/dist/components/toast/Toast.js +33 -29
  364. package/dist/components/toast/Toast.js.map +1 -1
  365. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  366. package/dist/components/toast/ToastElements.js +24 -12
  367. package/dist/components/toast/ToastElements.js.map +1 -1
  368. package/dist/components/toast/index.d.ts +1 -1
  369. package/dist/components/toast/index.d.ts.map +1 -1
  370. package/dist/components/toast/index.js.map +1 -1
  371. package/dist/components/toast/types.d.ts +10 -0
  372. package/dist/components/toast/types.d.ts.map +1 -1
  373. package/dist/components/toolbar/Toolbar.d.ts +2 -2
  374. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  375. package/dist/components/toolbar/Toolbar.js +8 -4
  376. package/dist/components/toolbar/Toolbar.js.map +1 -1
  377. package/dist/core/direction.d.ts +2 -0
  378. package/dist/core/direction.d.ts.map +1 -1
  379. package/dist/core/direction.js +8 -3
  380. package/dist/core/direction.js.map +1 -1
  381. package/dist/core/dismissable-layer-registry.d.ts.map +1 -1
  382. package/dist/core/dismissable-layer-registry.js +3 -1
  383. package/dist/core/dismissable-layer-registry.js.map +1 -1
  384. package/dist/core/format-label.d.ts +2 -0
  385. package/dist/core/format-label.d.ts.map +1 -0
  386. package/dist/core/format-label.js +13 -0
  387. package/dist/core/format-label.js.map +1 -0
  388. package/dist/core/ime.d.ts +16 -0
  389. package/dist/core/ime.d.ts.map +1 -0
  390. package/dist/core/ime.js +7 -0
  391. package/dist/core/ime.js.map +1 -0
  392. package/dist/core/index.d.ts +3 -0
  393. package/dist/core/index.d.ts.map +1 -1
  394. package/dist/core/index.js +3 -0
  395. package/dist/core/index.js.map +1 -1
  396. package/dist/core/roving-focus-store.d.ts +3 -2
  397. package/dist/core/roving-focus-store.d.ts.map +1 -1
  398. package/dist/core/roving-focus-store.js +5 -3
  399. package/dist/core/roving-focus-store.js.map +1 -1
  400. package/dist/core/roving-focus.d.ts.map +1 -1
  401. package/dist/core/roving-focus.js +10 -5
  402. package/dist/core/roving-focus.js.map +1 -1
  403. package/dist/core/text-direction.d.ts +7 -0
  404. package/dist/core/text-direction.d.ts.map +1 -0
  405. package/dist/core/text-direction.js +7 -0
  406. package/dist/core/text-direction.js.map +1 -0
  407. package/dist/styles/index.css +1 -1
  408. package/package.json +2 -1
  409. package/skills/uiify/SKILL.md +43 -34
  410. package/skills/uiify/references/elements/alert-modal.md +5 -5
  411. package/skills/uiify/references/elements/aspect-ratio.md +59 -0
  412. package/skills/uiify/references/elements/avatar.md +10 -19
  413. package/skills/uiify/references/elements/badge.md +11 -19
  414. package/skills/uiify/references/elements/button.md +5 -5
  415. package/skills/uiify/references/elements/candle-chart.md +2 -0
  416. package/skills/uiify/references/elements/card.md +10 -21
  417. package/skills/uiify/references/elements/carousel.md +2 -0
  418. package/skills/uiify/references/elements/checkbox.md +1 -1
  419. package/skills/uiify/references/elements/date-picker.md +11 -15
  420. package/skills/uiify/references/elements/description-list.md +38 -0
  421. package/skills/uiify/references/elements/empty-state.md +12 -23
  422. package/skills/uiify/references/elements/field.md +2 -2
  423. package/skills/uiify/references/elements/fieldset.md +39 -0
  424. package/skills/uiify/references/elements/form-error-summary.md +39 -0
  425. package/skills/uiify/references/elements/inline-alert.md +11 -19
  426. package/skills/uiify/references/elements/input-group.md +39 -0
  427. package/skills/uiify/references/elements/item.md +39 -0
  428. package/skills/uiify/references/elements/modal.md +1 -1
  429. package/skills/uiify/references/elements/number-field.md +2 -0
  430. package/skills/uiify/references/elements/pagination.md +2 -0
  431. package/skills/uiify/references/elements/progress-bar.md +11 -20
  432. package/skills/uiify/references/elements/select.md +1 -1
  433. package/skills/uiify/references/examples/alert-confirmation.md +21 -9
  434. package/skills/uiify/references/examples/field-validation.md +2 -2
  435. package/skills/uiify/references/examples/select-basic.md +1 -1
  436. package/skills/uiify/references/examples/table-controls.md +3 -2
  437. package/skills/uiify/references/guides/i18n.md +21 -0
  438. package/skills/uiify/references/guides/verification.md +9 -0
  439. package/skills/uiify/scripts/static.mjs +79 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ReactElement } from "react";
2
+ import type { ProgressProps } from "./types.js";
3
+ export declare function Progress(props: ProgressProps): ReactElement;
4
+ export declare namespace Progress {
5
+ var displayName: string;
6
+ }
7
+ //# sourceMappingURL=Progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../src/components/progress/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAE3D;yBAFe,QAAQ"}
@@ -0,0 +1,9 @@
1
+ import { createElement } from "react";
2
+ function Progress(props) {
3
+ return createElement("progress", { ...props, "data-uiify-progress": "" });
4
+ }
5
+ Progress.displayName = "Progress";
6
+ export {
7
+ Progress
8
+ };
9
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/progress/Progress.tsx"],"sourcesContent":["import { createElement } from \"react\";\nimport type { ReactElement } from \"react\";\nimport type { ProgressProps } from \"./types.js\";\n\nexport function Progress(props: ProgressProps): ReactElement {\n return createElement(\"progress\", { ...props, \"data-uiify-progress\": \"\" });\n}\n\nProgress.displayName = \"Progress\";\n"],"mappings":"AAAA,SAAS,qBAAqB;AAIvB,SAAS,SAAS,OAAoC;AAC3D,SAAO,cAAc,YAAY,EAAE,GAAG,OAAO,uBAAuB,GAAG,CAAC;AAC1E;AAEA,SAAS,cAAc;","names":[]}
@@ -0,0 +1,3 @@
1
+ export { Progress } from "./Progress.js";
2
+ export type { ProgressProps } from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Progress } from "./Progress.js";
2
+ export {
3
+ Progress
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/progress/index.ts"],"sourcesContent":["export { Progress } from \"./Progress.js\";\nexport type { ProgressProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,gBAAgB;","names":[]}
@@ -0,0 +1,3 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ export type ProgressProps = ComponentPropsWithRef<"progress">;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/progress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ export * from "./progress/index.js";
@@ -0,0 +1 @@
1
+ export * from "./progress/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SliderClient.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/client/SliderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EAEX,YAAY,EAEb,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,aAAa,CAAC;AA+CpF,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC1D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CA4KrB;yBA9Ke,YAAY"}
1
+ {"version":3,"file":"SliderClient.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/client/SliderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EAEX,YAAY,EAEb,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,aAAa,CAAC;AAoDpF,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC1D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CAoLrB;yBAtLe,YAAY"}
@@ -3,7 +3,12 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  import { useControllableState } from "@gunkin/uiify/hooks";
5
5
  import { useRenderElement } from "@gunkin/uiify/core/render";
6
+ import { resolveDirection } from "@gunkin/uiify/core/text-direction";
6
7
  import { getSliderStops, snapSliderToStops } from "../slider-values.js";
8
+ const DEFAULT_SLIDER_LABELS = {
9
+ minimum: "Minimum value",
10
+ maximum: "Maximum value"
11
+ };
7
12
  function normalizeValue(value, min, max) {
8
13
  if (typeof value === "number") return Math.max(min, Math.min(max, value));
9
14
  const first = Math.max(min, Math.min(max, value[0]));
@@ -39,6 +44,7 @@ function SliderClient(props) {
39
44
  disabled = false,
40
45
  orientation = "horizontal",
41
46
  marks = [],
47
+ labels,
42
48
  thumbLabels,
43
49
  "aria-label": ariaLabel,
44
50
  "aria-labelledby": ariaLabelledBy,
@@ -71,6 +77,7 @@ function SliderClient(props) {
71
77
  ) + "%"
72
78
  };
73
79
  const visibleMarks = marksInRange(marks, min, max);
80
+ const accessibleLabels = { ...DEFAULT_SLIDER_LABELS, ...labels };
74
81
  const setThumbValue = (index, proposed) => {
75
82
  if (disabled) return;
76
83
  if (!isRange) {
@@ -90,7 +97,9 @@ function SliderClient(props) {
90
97
  };
91
98
  const handleKeyDown = (index, event) => {
92
99
  if (disabled || step !== null) return;
93
- const direction = event.key === "ArrowRight" || event.key === "ArrowUp" ? 1 : event.key === "ArrowLeft" || event.key === "ArrowDown" ? -1 : 0;
100
+ const horizontalKey = event.key === "ArrowRight" || event.key === "ArrowLeft";
101
+ const mirror = horizontalKey && orientation !== "vertical" && resolveDirection(event.currentTarget) === "rtl" ? -1 : 1;
102
+ const direction = (event.key === "ArrowRight" || event.key === "ArrowUp" ? 1 : event.key === "ArrowLeft" || event.key === "ArrowDown" ? -1 : 0) * mirror;
94
103
  if (direction === 0) return;
95
104
  event.preventDefault();
96
105
  const currentValue = values[index];
@@ -100,7 +109,7 @@ function SliderClient(props) {
100
109
  if (nextValue !== void 0) setThumbValue(index, nextValue);
101
110
  };
102
111
  const inputNodes = values.map((currentValue, index) => {
103
- const inputLabel = isRange ? thumbLabels?.[index] ?? (index === 0 ? "Minimum value" : "Maximum value") : ariaLabel;
112
+ const inputLabel = isRange ? thumbLabels?.[index] ?? (index === 0 ? accessibleLabels.minimum : accessibleLabels.maximum) : ariaLabel;
104
113
  const inputLabelledBy = isRange ? void 0 : ariaLabelledBy;
105
114
  return /* @__PURE__ */ jsx(
106
115
  "input",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/slider/client/SliderClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n CSSProperties,\n ElementType,\n KeyboardEvent,\n ReactElement,\n SyntheticEvent,\n} from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\n\nimport { getSliderStops, snapSliderToStops } from \"../slider-values.js\";\nimport type { SliderClientProps, SliderClientValue, SliderMark } from \"../types.js\";\n\ntype SliderPositionStyle = CSSProperties & {\n readonly \"--uiify-slider-position\"?: string;\n readonly \"--uiify-slider-start\"?: string;\n readonly \"--uiify-slider-end\"?: string;\n readonly \"--uiify-slider-middle\"?: string;\n};\n\nfunction normalizeValue(value: SliderClientValue, min: number, max: number): SliderClientValue {\n if (typeof value === \"number\") return Math.max(min, Math.min(max, value));\n\n const first = Math.max(min, Math.min(max, value[0]));\n const second = Math.max(min, Math.min(max, value[1]));\n return first <= second ? [first, second] : [second, first];\n}\n\nfunction normalizeSelection(\n value: SliderClientValue,\n min: number,\n max: number,\n step: number | null,\n stops: readonly number[],\n): SliderClientValue {\n const normalized = normalizeValue(value, min, max);\n if (step !== null) return normalized;\n if (typeof normalized === \"number\") return snapSliderToStops(normalized, stops);\n\n const lowerStops = stops.filter((stop) => stop <= normalized[1]);\n const lower = snapSliderToStops(normalized[0], lowerStops);\n const upperStops = stops.filter((stop) => stop >= lower);\n return [lower, snapSliderToStops(normalized[1], upperStops)];\n}\n\nfunction position(value: number, min: number, max: number): number {\n if (max <= min) return 0;\n return Math.max(0, Math.min(100, ((value - min) / (max - min)) * 100));\n}\n\nfunction marksInRange(\n marks: readonly SliderMark[],\n min: number,\n max: number,\n): readonly SliderMark[] {\n return marks.filter(({ value }) => Number.isFinite(value) && value >= min && value <= max);\n}\n\nexport function SliderClient<TAs extends ElementType = \"div\">(\n props: SliderClientProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value: controlledValue,\n defaultValue,\n onValueChange,\n min = 0,\n max = 100,\n step = 1,\n disabled = false,\n orientation = \"horizontal\",\n marks = [],\n thumbLabels,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...consumerProps\n } = props as SliderClientProps<\"div\">;\n\n const stops = getSliderStops(min, max, marks);\n const initialValue = normalizeSelection(defaultValue ?? min, min, max, step, stops);\n const safeControlledValue =\n controlledValue === undefined\n ? undefined\n : normalizeSelection(controlledValue, min, max, step, stops);\n const [value, setValue] = useControllableState<SliderClientValue>({\n defaultValue: initialValue,\n onChange: onValueChange,\n value: safeControlledValue,\n });\n const [enhanced, setEnhanced] = useState(false);\n useEffect(() => setEnhanced(true), []);\n\n const normalizedValue = normalizeValue(value, min, max);\n const values: readonly number[] =\n typeof normalizedValue === \"number\"\n ? [normalizedValue]\n : [normalizedValue[0], normalizedValue[1]];\n const isRange = values.length === 2;\n const consumerStyle = \"style\" in consumerProps ? consumerProps.style : undefined;\n const consumerRole = \"role\" in consumerProps ? consumerProps.role : undefined;\n const positionStyles: readonly SliderPositionStyle[] = values.map((currentValue) => ({\n \"--uiify-slider-position\": String(position(currentValue, min, max)) + \"%\",\n }));\n const rootStyle: SliderPositionStyle = {\n ...consumerStyle,\n \"--uiify-slider-start\": String(position(values[0]!, min, max)) + \"%\",\n \"--uiify-slider-end\": String(position(values[values.length - 1]!, min, max)) + \"%\",\n \"--uiify-slider-middle\":\n String(\n (position(values[0]!, min, max) + position(values[values.length - 1]!, min, max)) / 2,\n ) + \"%\",\n };\n const visibleMarks = marksInRange(marks, min, max);\n\n const setThumbValue = (index: number, proposed: number): void => {\n if (disabled) return;\n\n if (!isRange) {\n const next = step === null ? snapSliderToStops(proposed, stops) : proposed;\n setValue(next);\n return;\n }\n\n const lower = index === 0 ? min : values[0]!;\n const upper = index === 0 ? values[1]! : max;\n const availableStops = stops.filter((stop) => stop >= lower && stop <= upper);\n const snapped = step === null ? snapSliderToStops(proposed, availableStops) : proposed;\n const nextValue =\n index === 0\n ? ([Math.min(snapped, values[1]!), values[1]!] as const)\n : ([values[0]!, Math.max(snapped, values[0]!)] as const);\n setValue(nextValue);\n };\n\n const handleChange = (index: number, event: SyntheticEvent<HTMLInputElement>): void => {\n setThumbValue(index, event.currentTarget.valueAsNumber);\n };\n\n const handleKeyDown = (index: number, event: KeyboardEvent<HTMLInputElement>): void => {\n if (disabled || step !== null) return;\n\n const direction =\n event.key === \"ArrowRight\" || event.key === \"ArrowUp\"\n ? 1\n : event.key === \"ArrowLeft\" || event.key === \"ArrowDown\"\n ? -1\n : 0;\n if (direction === 0) return;\n\n event.preventDefault();\n const currentValue = values[index]!;\n const availableStops = isRange\n ? stops.filter((stop) => (index === 0 ? stop <= values[1]! : stop >= values[0]!))\n : stops;\n const currentIndex = availableStops.indexOf(currentValue);\n const nextValue = availableStops[currentIndex + direction];\n if (nextValue !== undefined) setThumbValue(index, nextValue);\n };\n\n const inputNodes = values.map((currentValue, index) => {\n const inputLabel = isRange\n ? (thumbLabels?.[index] ?? (index === 0 ? \"Minimum value\" : \"Maximum value\"))\n : ariaLabel;\n const inputLabelledBy = isRange ? undefined : ariaLabelledBy;\n\n return (\n <input\n key={index}\n type=\"range\"\n min={min}\n max={max}\n step={step === null ? \"any\" : step}\n value={currentValue}\n disabled={disabled}\n aria-label={inputLabel}\n aria-labelledby={inputLabelledBy}\n aria-orientation={orientation}\n data-part=\"thumb\"\n data-state={String(currentValue)}\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n onChange={(event) => handleChange(index, event)}\n onKeyDown={(event) => handleKeyDown(index, event)}\n />\n );\n });\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n role: isRange ? \"group\" : consumerRole,\n \"aria-label\": isRange ? ariaLabel : undefined,\n \"aria-labelledby\": isRange ? ariaLabelledBy : undefined,\n \"data-uiify-slider-client\": \"\",\n \"data-part\": \"root\",\n \"data-range\": isRange ? \"\" : undefined,\n \"data-state\": isRange ? \"range\" : String(values[0]),\n \"data-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-enhanced\": enhanced ? \"\" : undefined,\n style: rootStyle,\n children: (\n <>\n <div data-part=\"track\" aria-hidden=\"true\">\n <span data-part=\"range\" />\n {visibleMarks.map((mark) => (\n <span\n key={mark.value}\n data-part=\"mark\"\n style={\n {\n \"--uiify-slider-position\": String(position(mark.value, min, max)) + \"%\",\n } as SliderPositionStyle\n }\n >\n {mark.label}\n </span>\n ))}\n {positionStyles.map((style, index) => (\n <span key={index} data-part=\"visual-thumb\" style={style} />\n ))}\n </div>\n {inputNodes}\n </>\n ),\n },\n render,\n state: { disabled, orientation, value: normalizedValue },\n });\n}\n\nSliderClient.displayName = \"SliderClient\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/slider/client/SliderClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n CSSProperties,\n ElementType,\n KeyboardEvent,\n ReactElement,\n SyntheticEvent,\n} from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { resolveDirection } from \"@gunkin/uiify/core/text-direction\";\n\nimport { getSliderStops, snapSliderToStops } from \"../slider-values.js\";\nimport type { SliderClientProps, SliderClientValue, SliderMark } from \"../types.js\";\n\nconst DEFAULT_SLIDER_LABELS = {\n minimum: \"Minimum value\",\n maximum: \"Maximum value\",\n} as const;\n\ntype SliderPositionStyle = CSSProperties & {\n readonly \"--uiify-slider-position\"?: string;\n readonly \"--uiify-slider-start\"?: string;\n readonly \"--uiify-slider-end\"?: string;\n readonly \"--uiify-slider-middle\"?: string;\n};\n\nfunction normalizeValue(value: SliderClientValue, min: number, max: number): SliderClientValue {\n if (typeof value === \"number\") return Math.max(min, Math.min(max, value));\n\n const first = Math.max(min, Math.min(max, value[0]));\n const second = Math.max(min, Math.min(max, value[1]));\n return first <= second ? [first, second] : [second, first];\n}\n\nfunction normalizeSelection(\n value: SliderClientValue,\n min: number,\n max: number,\n step: number | null,\n stops: readonly number[],\n): SliderClientValue {\n const normalized = normalizeValue(value, min, max);\n if (step !== null) return normalized;\n if (typeof normalized === \"number\") return snapSliderToStops(normalized, stops);\n\n const lowerStops = stops.filter((stop) => stop <= normalized[1]);\n const lower = snapSliderToStops(normalized[0], lowerStops);\n const upperStops = stops.filter((stop) => stop >= lower);\n return [lower, snapSliderToStops(normalized[1], upperStops)];\n}\n\nfunction position(value: number, min: number, max: number): number {\n if (max <= min) return 0;\n return Math.max(0, Math.min(100, ((value - min) / (max - min)) * 100));\n}\n\nfunction marksInRange(\n marks: readonly SliderMark[],\n min: number,\n max: number,\n): readonly SliderMark[] {\n return marks.filter(({ value }) => Number.isFinite(value) && value >= min && value <= max);\n}\n\nexport function SliderClient<TAs extends ElementType = \"div\">(\n props: SliderClientProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value: controlledValue,\n defaultValue,\n onValueChange,\n min = 0,\n max = 100,\n step = 1,\n disabled = false,\n orientation = \"horizontal\",\n marks = [],\n labels,\n thumbLabels,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...consumerProps\n } = props as SliderClientProps<\"div\">;\n\n const stops = getSliderStops(min, max, marks);\n const initialValue = normalizeSelection(defaultValue ?? min, min, max, step, stops);\n const safeControlledValue =\n controlledValue === undefined\n ? undefined\n : normalizeSelection(controlledValue, min, max, step, stops);\n const [value, setValue] = useControllableState<SliderClientValue>({\n defaultValue: initialValue,\n onChange: onValueChange,\n value: safeControlledValue,\n });\n const [enhanced, setEnhanced] = useState(false);\n useEffect(() => setEnhanced(true), []);\n\n const normalizedValue = normalizeValue(value, min, max);\n const values: readonly number[] =\n typeof normalizedValue === \"number\"\n ? [normalizedValue]\n : [normalizedValue[0], normalizedValue[1]];\n const isRange = values.length === 2;\n const consumerStyle = \"style\" in consumerProps ? consumerProps.style : undefined;\n const consumerRole = \"role\" in consumerProps ? consumerProps.role : undefined;\n const positionStyles: readonly SliderPositionStyle[] = values.map((currentValue) => ({\n \"--uiify-slider-position\": String(position(currentValue, min, max)) + \"%\",\n }));\n const rootStyle: SliderPositionStyle = {\n ...consumerStyle,\n \"--uiify-slider-start\": String(position(values[0]!, min, max)) + \"%\",\n \"--uiify-slider-end\": String(position(values[values.length - 1]!, min, max)) + \"%\",\n \"--uiify-slider-middle\":\n String(\n (position(values[0]!, min, max) + position(values[values.length - 1]!, min, max)) / 2,\n ) + \"%\",\n };\n const visibleMarks = marksInRange(marks, min, max);\n const accessibleLabels = { ...DEFAULT_SLIDER_LABELS, ...labels };\n\n const setThumbValue = (index: number, proposed: number): void => {\n if (disabled) return;\n\n if (!isRange) {\n const next = step === null ? snapSliderToStops(proposed, stops) : proposed;\n setValue(next);\n return;\n }\n\n const lower = index === 0 ? min : values[0]!;\n const upper = index === 0 ? values[1]! : max;\n const availableStops = stops.filter((stop) => stop >= lower && stop <= upper);\n const snapped = step === null ? snapSliderToStops(proposed, availableStops) : proposed;\n const nextValue =\n index === 0\n ? ([Math.min(snapped, values[1]!), values[1]!] as const)\n : ([values[0]!, Math.max(snapped, values[0]!)] as const);\n setValue(nextValue);\n };\n\n const handleChange = (index: number, event: SyntheticEvent<HTMLInputElement>): void => {\n setThumbValue(index, event.currentTarget.valueAsNumber);\n };\n\n const handleKeyDown = (index: number, event: KeyboardEvent<HTMLInputElement>): void => {\n if (disabled || step !== null) return;\n\n const horizontalKey = event.key === \"ArrowRight\" || event.key === \"ArrowLeft\";\n const mirror =\n horizontalKey && orientation !== \"vertical\" && resolveDirection(event.currentTarget) === \"rtl\"\n ? -1\n : 1;\n const direction =\n (event.key === \"ArrowRight\" || event.key === \"ArrowUp\"\n ? 1\n : event.key === \"ArrowLeft\" || event.key === \"ArrowDown\"\n ? -1\n : 0) * mirror;\n if (direction === 0) return;\n\n event.preventDefault();\n const currentValue = values[index]!;\n const availableStops = isRange\n ? stops.filter((stop) => (index === 0 ? stop <= values[1]! : stop >= values[0]!))\n : stops;\n const currentIndex = availableStops.indexOf(currentValue);\n const nextValue = availableStops[currentIndex + direction];\n if (nextValue !== undefined) setThumbValue(index, nextValue);\n };\n\n const inputNodes = values.map((currentValue, index) => {\n const inputLabel = isRange\n ? (thumbLabels?.[index] ??\n (index === 0 ? accessibleLabels.minimum : accessibleLabels.maximum))\n : ariaLabel;\n const inputLabelledBy = isRange ? undefined : ariaLabelledBy;\n\n return (\n <input\n key={index}\n type=\"range\"\n min={min}\n max={max}\n step={step === null ? \"any\" : step}\n value={currentValue}\n disabled={disabled}\n aria-label={inputLabel}\n aria-labelledby={inputLabelledBy}\n aria-orientation={orientation}\n data-part=\"thumb\"\n data-state={String(currentValue)}\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n onChange={(event) => handleChange(index, event)}\n onKeyDown={(event) => handleKeyDown(index, event)}\n />\n );\n });\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n role: isRange ? \"group\" : consumerRole,\n \"aria-label\": isRange ? ariaLabel : undefined,\n \"aria-labelledby\": isRange ? ariaLabelledBy : undefined,\n \"data-uiify-slider-client\": \"\",\n \"data-part\": \"root\",\n \"data-range\": isRange ? \"\" : undefined,\n \"data-state\": isRange ? \"range\" : String(values[0]),\n \"data-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-enhanced\": enhanced ? \"\" : undefined,\n style: rootStyle,\n children: (\n <>\n <div data-part=\"track\" aria-hidden=\"true\">\n <span data-part=\"range\" />\n {visibleMarks.map((mark) => (\n <span\n key={mark.value}\n data-part=\"mark\"\n style={\n {\n \"--uiify-slider-position\": String(position(mark.value, min, max)) + \"%\",\n } as SliderPositionStyle\n }\n >\n {mark.label}\n </span>\n ))}\n {positionStyles.map((style, index) => (\n <span key={index} data-part=\"visual-thumb\" style={style} />\n ))}\n </div>\n {inputNodes}\n </>\n ),\n },\n render,\n state: { disabled, orientation, value: normalizedValue },\n });\n}\n\nSliderClient.displayName = \"SliderClient\";\n"],"mappings":";AAwLM,SAsCE,UAtCF,KAuCI,YAvCJ;AA/KN,SAAS,WAAW,gBAAgB;AACpC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAEjC,SAAS,gBAAgB,yBAAyB;AAGlD,MAAM,wBAAwB;AAAA,EAC5B,SAAS;AAAA,EACT,SAAS;AACX;AASA,SAAS,eAAe,OAA0B,KAAa,KAAgC;AAC7F,MAAI,OAAO,UAAU,SAAU,QAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAExE,QAAM,QAAQ,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,SAAS,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;AACpD,SAAO,SAAS,SAAS,CAAC,OAAO,MAAM,IAAI,CAAC,QAAQ,KAAK;AAC3D;AAEA,SAAS,mBACP,OACA,KACA,KACA,MACA,OACmB;AACnB,QAAM,aAAa,eAAe,OAAO,KAAK,GAAG;AACjD,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI,OAAO,eAAe,SAAU,QAAO,kBAAkB,YAAY,KAAK;AAE9E,QAAM,aAAa,MAAM,OAAO,CAAC,SAAS,QAAQ,WAAW,CAAC,CAAC;AAC/D,QAAM,QAAQ,kBAAkB,WAAW,CAAC,GAAG,UAAU;AACzD,QAAM,aAAa,MAAM,OAAO,CAAC,SAAS,QAAQ,KAAK;AACvD,SAAO,CAAC,OAAO,kBAAkB,WAAW,CAAC,GAAG,UAAU,CAAC;AAC7D;AAEA,SAAS,SAAS,OAAe,KAAa,KAAqB;AACjE,MAAI,OAAO,IAAK,QAAO;AACvB,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,MAAO,QAAQ,QAAQ,MAAM,OAAQ,GAAG,CAAC;AACvE;AAEA,SAAS,aACP,OACA,KACA,KACuB;AACvB,SAAO,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM,OAAO,SAAS,KAAK,KAAK,SAAS,OAAO,SAAS,GAAG;AAC3F;AAEO,SAAS,aACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,cAAc;AAAA,IACd,QAAQ,CAAC;AAAA,IACT;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,QAAQ,eAAe,KAAK,KAAK,KAAK;AAC5C,QAAM,eAAe,mBAAmB,gBAAgB,KAAK,KAAK,KAAK,MAAM,KAAK;AAClF,QAAM,sBACJ,oBAAoB,SAChB,SACA,mBAAmB,iBAAiB,KAAK,KAAK,MAAM,KAAK;AAC/D,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAwC;AAAA,IAChE,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,EACT,CAAC;AACD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,YAAU,MAAM,YAAY,IAAI,GAAG,CAAC,CAAC;AAErC,QAAM,kBAAkB,eAAe,OAAO,KAAK,GAAG;AACtD,QAAM,SACJ,OAAO,oBAAoB,WACvB,CAAC,eAAe,IAChB,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAC7C,QAAM,UAAU,OAAO,WAAW;AAClC,QAAM,gBAAgB,WAAW,gBAAgB,cAAc,QAAQ;AACvE,QAAM,eAAe,UAAU,gBAAgB,cAAc,OAAO;AACpE,QAAM,iBAAiD,OAAO,IAAI,CAAC,kBAAkB;AAAA,IACnF,2BAA2B,OAAO,SAAS,cAAc,KAAK,GAAG,CAAC,IAAI;AAAA,EACxE,EAAE;AACF,QAAM,YAAiC;AAAA,IACrC,GAAG;AAAA,IACH,wBAAwB,OAAO,SAAS,OAAO,CAAC,GAAI,KAAK,GAAG,CAAC,IAAI;AAAA,IACjE,sBAAsB,OAAO,SAAS,OAAO,OAAO,SAAS,CAAC,GAAI,KAAK,GAAG,CAAC,IAAI;AAAA,IAC/E,yBACE;AAAA,OACG,SAAS,OAAO,CAAC,GAAI,KAAK,GAAG,IAAI,SAAS,OAAO,OAAO,SAAS,CAAC,GAAI,KAAK,GAAG,KAAK;AAAA,IACtF,IAAI;AAAA,EACR;AACA,QAAM,eAAe,aAAa,OAAO,KAAK,GAAG;AACjD,QAAM,mBAAmB,EAAE,GAAG,uBAAuB,GAAG,OAAO;AAE/D,QAAM,gBAAgB,CAAC,OAAe,aAA2B;AAC/D,QAAI,SAAU;AAEd,QAAI,CAAC,SAAS;AACZ,YAAM,OAAO,SAAS,OAAO,kBAAkB,UAAU,KAAK,IAAI;AAClE,eAAS,IAAI;AACb;AAAA,IACF;AAEA,UAAM,QAAQ,UAAU,IAAI,MAAM,OAAO,CAAC;AAC1C,UAAM,QAAQ,UAAU,IAAI,OAAO,CAAC,IAAK;AACzC,UAAM,iBAAiB,MAAM,OAAO,CAAC,SAAS,QAAQ,SAAS,QAAQ,KAAK;AAC5E,UAAM,UAAU,SAAS,OAAO,kBAAkB,UAAU,cAAc,IAAI;AAC9E,UAAM,YACJ,UAAU,IACL,CAAC,KAAK,IAAI,SAAS,OAAO,CAAC,CAAE,GAAG,OAAO,CAAC,CAAE,IAC1C,CAAC,OAAO,CAAC,GAAI,KAAK,IAAI,SAAS,OAAO,CAAC,CAAE,CAAC;AACjD,aAAS,SAAS;AAAA,EACpB;AAEA,QAAM,eAAe,CAAC,OAAe,UAAkD;AACrF,kBAAc,OAAO,MAAM,cAAc,aAAa;AAAA,EACxD;AAEA,QAAM,gBAAgB,CAAC,OAAe,UAAiD;AACrF,QAAI,YAAY,SAAS,KAAM;AAE/B,UAAM,gBAAgB,MAAM,QAAQ,gBAAgB,MAAM,QAAQ;AAClE,UAAM,SACJ,iBAAiB,gBAAgB,cAAc,iBAAiB,MAAM,aAAa,MAAM,QACrF,KACA;AACN,UAAM,aACH,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,YACzC,IACA,MAAM,QAAQ,eAAe,MAAM,QAAQ,cACzC,KACA,KAAK;AACb,QAAI,cAAc,EAAG;AAErB,UAAM,eAAe;AACrB,UAAM,eAAe,OAAO,KAAK;AACjC,UAAM,iBAAiB,UACnB,MAAM,OAAO,CAAC,SAAU,UAAU,IAAI,QAAQ,OAAO,CAAC,IAAK,QAAQ,OAAO,CAAC,CAAG,IAC9E;AACJ,UAAM,eAAe,eAAe,QAAQ,YAAY;AACxD,UAAM,YAAY,eAAe,eAAe,SAAS;AACzD,QAAI,cAAc,OAAW,eAAc,OAAO,SAAS;AAAA,EAC7D;AAEA,QAAM,aAAa,OAAO,IAAI,CAAC,cAAc,UAAU;AACrD,UAAM,aAAa,UACd,cAAc,KAAK,MACnB,UAAU,IAAI,iBAAiB,UAAU,iBAAiB,WAC3D;AACJ,UAAM,kBAAkB,UAAU,SAAY;AAE9C,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,MAAM,SAAS,OAAO,QAAQ;AAAA,QAC9B,OAAO;AAAA,QACP;AAAA,QACA,cAAY;AAAA,QACZ,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,aAAU;AAAA,QACV,cAAY,OAAO,YAAY;AAAA,QAC/B,oBAAkB;AAAA,QAClB,iBAAe,WAAW,KAAK;AAAA,QAC/B,UAAU,CAAC,UAAU,aAAa,OAAO,KAAK;AAAA,QAC9C,WAAW,CAAC,UAAU,cAAc,OAAO,KAAK;AAAA;AAAA,MAf3C;AAAA,IAgBP;AAAA,EAEJ,CAAC;AAED,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,UAAU,UAAU;AAAA,MAC1B,cAAc,UAAU,YAAY;AAAA,MACpC,mBAAmB,UAAU,iBAAiB;AAAA,MAC9C,4BAA4B;AAAA,MAC5B,aAAa;AAAA,MACb,cAAc,UAAU,KAAK;AAAA,MAC7B,cAAc,UAAU,UAAU,OAAO,OAAO,CAAC,CAAC;AAAA,MAClD,oBAAoB;AAAA,MACpB,iBAAiB,WAAW,KAAK;AAAA,MACjC,iBAAiB,WAAW,KAAK;AAAA,MACjC,OAAO;AAAA,MACP,UACE,iCACE;AAAA,6BAAC,SAAI,aAAU,SAAQ,eAAY,QACjC;AAAA,8BAAC,UAAK,aAAU,SAAQ;AAAA,UACvB,aAAa,IAAI,CAAC,SACjB;AAAA,YAAC;AAAA;AAAA,cAEC,aAAU;AAAA,cACV,OACE;AAAA,gBACE,2BAA2B,OAAO,SAAS,KAAK,OAAO,KAAK,GAAG,CAAC,IAAI;AAAA,cACtE;AAAA,cAGD,eAAK;AAAA;AAAA,YARD,KAAK;AAAA,UASZ,CACD;AAAA,UACA,eAAe,IAAI,CAAC,OAAO,UAC1B,oBAAC,UAAiB,aAAU,gBAAe,SAAhC,KAA8C,CAC1D;AAAA,WACH;AAAA,QACC;AAAA,SACH;AAAA,IAEJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,aAAa,OAAO,gBAAgB;AAAA,EACzD,CAAC;AACH;AAEA,aAAa,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { Slider } from "./Slider.js";
2
- export type { SliderOwnProps, SliderProps } from "./types.js";
2
+ export type { SliderLabels, SliderOwnProps, SliderProps } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/slider/index.ts"],"sourcesContent":["export { Slider } from \"./Slider.js\";\nexport type { SliderOwnProps, SliderProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/slider/index.ts"],"sourcesContent":["export { Slider } from \"./Slider.js\";\nexport type { SliderLabels, SliderOwnProps, SliderProps } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
@@ -24,10 +24,15 @@ export interface SliderClientOwnProps {
24
24
  readonly disabled?: boolean;
25
25
  readonly orientation?: "horizontal" | "vertical";
26
26
  readonly marks?: readonly SliderMark[];
27
+ readonly labels?: Partial<SliderLabels>;
27
28
  readonly thumbLabels?: readonly [string, string];
28
29
  readonly "aria-label"?: string;
29
30
  readonly "aria-labelledby"?: string;
30
31
  }
32
+ export interface SliderLabels {
33
+ readonly minimum: string;
34
+ readonly maximum: string;
35
+ }
31
36
  export interface SliderClientRenderState {
32
37
  readonly disabled: boolean;
33
38
  readonly orientation: "horizontal" | "vertical";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/slider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC9E,GAAG,EACH,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,IAAI,eAAe,CAC1E,GAAG,EACH,cAAc,EACd,cAAc,EACd,gBAAgB,CACjB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/slider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC9E,GAAG,EACH,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,IAAI,eAAe,CAC1E,GAAG,EACH,cAAc,EACd,cAAc,EACd,gBAAgB,CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,OAAO,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACrD,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GACvB,YAAY,GAAG,IAAI,CAsCrB;yBAxCe,OAAO"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EAAkC,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/E,wBAAgB,OAAO,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACrD,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GACvB,YAAY,GAAG,IAAI,CAwCrB;yBA1Ce,OAAO"}
@@ -1,24 +1,27 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useRenderElement } from "@gunkin/uiify/core/render";
3
+ const DEFAULT_SPINNER_LABELS = { loading: "Loading" };
3
4
  function Spinner(props) {
4
5
  const {
5
6
  as,
6
7
  align,
7
8
  render,
8
9
  delay = 0,
9
- label = "Loading",
10
+ label,
11
+ labels,
10
12
  showLabel = false,
11
13
  size = "md",
12
14
  children,
13
15
  ...consumerProps
14
16
  } = props;
15
17
  const visible = delay === 0;
18
+ const resolvedLabel = label ?? labels?.loading ?? DEFAULT_SPINNER_LABELS.loading;
16
19
  return useRenderElement({
17
20
  as,
18
21
  defaultTag: "div",
19
22
  props: {
20
23
  ...consumerProps,
21
- "aria-label": label,
24
+ "aria-label": resolvedLabel,
22
25
  "aria-live": "polite",
23
26
  "data-align": align,
24
27
  "data-delay": delay > 0 ? `${delay}ms` : void 0,
@@ -27,7 +30,7 @@ function Spinner(props) {
27
30
  "data-uiify-spinner": "",
28
31
  role: "status",
29
32
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
30
- showLabel ? /* @__PURE__ */ jsx("span", { "data-part": "label", children: label }) : null,
33
+ showLabel ? /* @__PURE__ */ jsx("span", { "data-part": "label", children: resolvedLabel }) : null,
31
34
  children
32
35
  ] })
33
36
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { PolymorphicProps } from \"@gunkin/uiify/core/render\";\nimport type { SpinnerOwnProps, SpinnerProps } from \"./types.js\";\n\nexport function Spinner<TAs extends ElementType = \"div\">(\n props: SpinnerProps<TAs>,\n): ReactElement | null {\n const {\n as,\n align,\n render,\n delay = 0,\n label = \"Loading\",\n showLabel = false,\n size = \"md\",\n children,\n ...consumerProps\n } = props as PolymorphicProps<\"div\", SpinnerOwnProps>;\n\n const visible = delay === 0;\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-label\": label,\n \"aria-live\": \"polite\",\n \"data-align\": align,\n \"data-delay\": delay > 0 ? `${delay}ms` : undefined,\n \"data-size\": size,\n \"data-state\": visible ? \"visible\" : \"delayed\",\n \"data-uiify-spinner\": \"\",\n role: \"status\",\n children: (\n <>\n {showLabel ? <span data-part=\"label\">{label}</span> : null}\n {children}\n </>\n ),\n },\n render,\n state: { visible },\n });\n}\nSpinner.displayName = \"Spinner\";\n"],"mappings":"AAoCQ,mBACe,KADf;AAnCR,SAAS,wBAAwB;AAI1B,SAAS,QACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,UAAU,UAAU;AAE1B,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc,QAAQ,IAAI,GAAG,KAAK,OAAO;AAAA,MACzC,aAAa;AAAA,MACb,cAAc,UAAU,YAAY;AAAA,MACpC,sBAAsB;AAAA,MACtB,MAAM;AAAA,MACN,UACE,iCACG;AAAA,oBAAY,oBAAC,UAAK,aAAU,SAAS,iBAAM,IAAU;AAAA,QACrD;AAAA,SACH;AAAA,IAEJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ;AAAA,EACnB,CAAC;AACH;AACA,QAAQ,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { PolymorphicProps } from \"@gunkin/uiify/core/render\";\nimport type { SpinnerLabels, SpinnerOwnProps, SpinnerProps } from \"./types.js\";\n\nconst DEFAULT_SPINNER_LABELS: SpinnerLabels = { loading: \"Loading\" };\n\nexport function Spinner<TAs extends ElementType = \"div\">(\n props: SpinnerProps<TAs>,\n): ReactElement | null {\n const {\n as,\n align,\n render,\n delay = 0,\n label,\n labels,\n showLabel = false,\n size = \"md\",\n children,\n ...consumerProps\n } = props as PolymorphicProps<\"div\", SpinnerOwnProps>;\n\n const visible = delay === 0;\n const resolvedLabel = label ?? labels?.loading ?? DEFAULT_SPINNER_LABELS.loading;\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-label\": resolvedLabel,\n \"aria-live\": \"polite\",\n \"data-align\": align,\n \"data-delay\": delay > 0 ? `${delay}ms` : undefined,\n \"data-size\": size,\n \"data-state\": visible ? \"visible\" : \"delayed\",\n \"data-uiify-spinner\": \"\",\n role: \"status\",\n children: (\n <>\n {showLabel ? <span data-part=\"label\">{resolvedLabel}</span> : null}\n {children}\n </>\n ),\n },\n render,\n state: { visible },\n });\n}\nSpinner.displayName = \"Spinner\";\n"],"mappings":"AAwCQ,mBACe,KADf;AAvCR,SAAS,wBAAwB;AAIjC,MAAM,yBAAwC,EAAE,SAAS,UAAU;AAE5D,SAAS,QACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,IACP;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,UAAU,UAAU;AAC1B,QAAM,gBAAgB,SAAS,QAAQ,WAAW,uBAAuB;AAEzE,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc,QAAQ,IAAI,GAAG,KAAK,OAAO;AAAA,MACzC,aAAa;AAAA,MACb,cAAc,UAAU,YAAY;AAAA,MACpC,sBAAsB;AAAA,MACtB,MAAM;AAAA,MACN,UACE,iCACG;AAAA,oBAAY,oBAAC,UAAK,aAAU,SAAS,yBAAc,IAAU;AAAA,QAC7D;AAAA,SACH;AAAA,IAEJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ;AAAA,EACnB,CAAC;AACH;AACA,QAAQ,cAAc;","names":[]}
@@ -1,3 +1,3 @@
1
1
  export { Spinner } from "./Spinner.js";
2
- export type { SpinnerAlign, SpinnerOwnProps, SpinnerProps, SpinnerSize } from "./types.js";
2
+ export type { SpinnerAlign, SpinnerLabels, SpinnerOwnProps, SpinnerProps, SpinnerSize, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/spinner/index.ts"],"sourcesContent":["export { Spinner } from \"./Spinner.js\";\nexport type { SpinnerAlign, SpinnerOwnProps, SpinnerProps, SpinnerSize } from \"./types.js\";\n"],"mappings":"AAAA,SAAS,eAAe;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/spinner/index.ts"],"sourcesContent":["export { Spinner } from \"./Spinner.js\";\nexport type {\n SpinnerAlign,\n SpinnerLabels,\n SpinnerOwnProps,\n SpinnerProps,\n SpinnerSize,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,eAAe;","names":[]}
@@ -2,11 +2,15 @@ import type { ElementType, ReactNode } from "react";
2
2
  import type { RenderableProps } from "@gunkin/uiify/core/render";
3
3
  export type SpinnerAlign = "center" | "fixed" | "absolute";
4
4
  export type SpinnerSize = "sm" | "md" | "lg";
5
+ export interface SpinnerLabels {
6
+ readonly loading: string;
7
+ }
5
8
  export interface SpinnerOwnProps {
6
9
  readonly align?: SpinnerAlign;
7
10
  readonly children?: ReactNode;
8
11
  readonly delay?: number;
9
12
  readonly label?: string;
13
+ readonly labels?: Partial<SpinnerLabels>;
10
14
  readonly showLabel?: boolean;
11
15
  readonly size?: SpinnerSize;
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CACzE,GAAG,EACH,eAAe,EACf;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CACzE,GAAG,EACH,eAAe,EACf;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInput.d.ts","sourceRoot":"","sources":["../../../src/components/tags-input/TagsInput.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAkB,MAAM,OAAO,CAAC;AAOtF,OAAO,KAAK,EAGV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CA+F5E;yBA/Fe,aAAa;;;AAkG7B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC9D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CA4ErB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA+B/E;yBA/Be,aAAa;;;AAkC7B,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACzD,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CA4CrB;yBA9Ce,YAAY;;;AAiD5B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,GAAG,YAAY,GAAG,IAAI,CAgBzF;AAED,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC"}
1
+ {"version":3,"file":"TagsInput.d.ts","sourceRoot":"","sources":["../../../src/components/tags-input/TagsInput.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAkB,MAAM,OAAO,CAAC;AAQtF,OAAO,KAAK,EAGV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CA+F5E;yBA/Fe,aAAa;;;AAkG7B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC9D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CA6ErB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA+B/E;yBA/Be,aAAa;;;AAkC7B,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACzD,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CA4CrB;yBA9Ce,YAAY;;;AAiD5B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,GAAG,YAAY,GAAG,IAAI,CAgBzF;AAED,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC"}
@@ -12,6 +12,7 @@ import {
12
12
  import { useControllableState, useId, useIsomorphicLayoutEffect } from "@gunkin/uiify/hooks";
13
13
  import { createPartContext } from "@gunkin/uiify/core";
14
14
  import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
15
+ import { isComposingKeyEvent } from "@gunkin/uiify/core/ime";
15
16
  import { RovingFocusItem, RovingFocusRoot } from "@gunkin/uiify/core/roving-focus";
16
17
  import { useRenderElement } from "@gunkin/uiify/core/render";
17
18
  import { createTagsInputStore, splitTags } from "./tags-input-store.js";
@@ -127,6 +128,7 @@ function TagsInputInput(props) {
127
128
  setInputValue(event.currentTarget.value);
128
129
  };
129
130
  const handleKeyDown = (event) => {
131
+ if (isComposingKeyEvent(event)) return;
130
132
  if (event.key === "Enter" || delimiters.includes(event.key)) {
131
133
  event.preventDefault();
132
134
  commitInput();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/tags-input/TagsInput.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Children,\n isValidElement,\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ElementType, KeyboardEvent, ReactElement, SyntheticEvent } from \"react\";\nimport { useControllableState, useId, useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { RovingFocusItem, RovingFocusRoot } from \"@gunkin/uiify/core/roving-focus\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { createTagsInputStore, splitTags } from \"./tags-input-store.js\";\nimport type {\n TagsInputStore,\n TagsInputContextValue,\n TagsInputRootProps,\n TagsInputInputProps,\n TagsInputListOwnProps,\n TagsInputTagProps,\n TagsInputTagRemoveOwnProps,\n} from \"./types.js\";\n\nconst [TagsInputProvider, useTagsInputContext] =\n createPartContext<TagsInputContextValue>(\"TagsInput\");\n\nexport function TagsInputRoot(props: TagsInputRootProps): ReactElement | null {\n const {\n addOnPaste = true,\n allowDuplicates = false,\n children,\n className,\n defaultValue = [],\n delimiters = [\",\"],\n disabled = false,\n maxTags,\n onValueChange,\n validate,\n value: controlledValue,\n } = props;\n\n const listId = useId();\n const inputId = useId();\n const [inputValue, setInputValue] = useState(\"\");\n const [tags, setTags] = useControllableState<string[]>({\n defaultValue: [...defaultValue],\n ...(controlledValue !== undefined ? { value: [...controlledValue] } : {}),\n ...(onValueChange ? { onChange: onValueChange } : {}),\n });\n\n const storeRef = useRef<TagsInputStore | null>(null);\n storeRef.current ??= createTagsInputStore(tags, {\n allowDuplicates,\n ...(maxTags !== undefined ? { maxTags } : {}),\n ...(validate ? { validate } : {}),\n });\n const store = storeRef.current;\n\n useIsomorphicLayoutEffect(() => {\n store.setTags(tags);\n store.updateOptions({\n allowDuplicates,\n ...(maxTags !== undefined ? { maxTags } : {}),\n ...(validate ? { validate } : {}),\n });\n }, [allowDuplicates, maxTags, store, tags, validate]);\n\n const addTag = useCallback(\n (tag: string) => {\n if (disabled) return;\n if (store.addTag(tag)) {\n setTags(store.getTags());\n setInputValue(\"\");\n }\n },\n [disabled, setTags, store],\n );\n\n const removeAt = useCallback(\n (index: number) => {\n if (disabled) return;\n store.removeAt(index);\n setTags(store.getTags());\n },\n [disabled, setTags, store],\n );\n\n const contextValue = useMemo(\n () => ({\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n }),\n [\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n ],\n );\n\n return (\n <TagsInputProvider value={contextValue}>\n <div className={className} data-disabled={disabled ? \"\" : undefined} data-uiify-tags-input=\"\">\n {children}\n </div>\n </TagsInputProvider>\n );\n}\nTagsInputRoot.displayName = \"TagsInputRoot\";\n\nexport function TagsInputInput<TAs extends ElementType = \"input\">(\n props: TagsInputInputProps<TAs>,\n): ReactElement | null {\n const { as, render, className, placeholder, ...consumerProps } =\n props as TagsInputInputProps<\"input\">;\n const {\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n } = useTagsInputContext(\"Input\");\n const tags = useSyncExternalStore(store.subscribe, store.getTags, store.getTags);\n const {\n onChange: consumerOnChange,\n onKeyDown: consumerOnKeyDown,\n onPaste: consumerOnPaste,\n } = consumerProps as {\n onChange?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n };\n\n const commitInput = () => {\n if (inputValue.trim()) addTag(inputValue);\n };\n\n const handleChange = (event: SyntheticEvent<HTMLInputElement>) => {\n setInputValue(event.currentTarget.value);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"Enter\" || delimiters.includes(event.key)) {\n event.preventDefault();\n commitInput();\n } else if (event.key === \"Backspace\" && !inputValue && tags.length > 0) {\n event.preventDefault();\n removeAt(tags.length - 1);\n }\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!addOnPaste) return;\n const text = event.clipboardData.getData(\"text\");\n const splitChars = [...delimiters, \"\\n\", \"\\t\"];\n if (!splitChars.some((delimiter) => text.includes(delimiter))) return;\n event.preventDefault();\n const parts = splitTags(text, splitChars);\n for (const part of parts) addTag(part);\n };\n\n return useRenderElement({\n as,\n defaultTag: \"input\",\n props: {\n ...consumerProps,\n id: inputId,\n type: \"text\",\n role: \"combobox\",\n \"aria-controls\": listId,\n \"aria-expanded\": false,\n disabled: disabled || undefined,\n \"data-part\": \"input\",\n value: inputValue,\n placeholder,\n ...(className ? { className } : {}),\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n onPaste: composeEventHandlers(consumerOnPaste, handlePaste),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function TagsInputList(props: TagsInputListOwnProps): ReactElement | null {\n const { children, className } = props;\n const { listId, store } = useTagsInputContext(\"List\");\n const tags = useSyncExternalStore(store.subscribe, store.getTags, store.getTags);\n\n return (\n <RovingFocusRoot\n as=\"ul\"\n id={listId}\n orientation=\"horizontal\"\n {...(className ? { className } : {})}\n data-part=\"list\"\n >\n {tags.map((tag, index) => (\n <li data-index={index} data-value={tag} key={`${tag}-${index}`}>\n {tag}\n </li>\n ))}\n {/* A <ul> may only contain <li>, so a non-<li> child (typically TagsInput.Input)\n needs one too — leaving it bare made the list malformed, a serious axe\n violation. TagsInputTag already renders its own <li>; wrapping it again\n would nest <li> inside <li>, an invalid, hydration-breaking tree. */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === TagsInputTag ? (\n child\n ) : (\n <li data-part=\"input-slot\">{child}</li>\n ),\n )}\n </RovingFocusRoot>\n );\n}\nTagsInputList.displayName = \"TagsInputList\";\n\nexport function TagsInputTag<TAs extends ElementType = \"li\">(\n props: TagsInputTagProps<TAs>,\n): ReactElement | null {\n const { as, render, children, className, index, value, ...consumerProps } =\n props as TagsInputTagProps<\"li\">;\n const { disabled, removeAt } = useTagsInputContext(\"Tag\");\n const { onKeyDown: consumerOnKeyDown } = consumerProps as {\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Backspace\" || event.key === \"Delete\") {\n event.preventDefault();\n removeAt(index);\n }\n };\n\n const tagProps = {\n ...consumerProps,\n role: \"listitem\",\n \"data-part\": \"tag\",\n \"data-value\": value,\n ...(className ? { className } : {}),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n children,\n };\n\n if (render) {\n return (\n <RovingFocusItem\n disabled={disabled}\n render={(renderProps, state) => render(renderProps, { current: state.current })}\n textValue={value}\n {...(tagProps as object)}\n />\n );\n }\n\n return (\n <RovingFocusItem\n as={as ?? \"li\"}\n disabled={disabled}\n textValue={value}\n {...(tagProps as object)}\n />\n );\n}\nTagsInputTag.displayName = \"TagsInputTag\";\n\nexport function TagsInputTagRemove(props: TagsInputTagRemoveOwnProps): ReactElement | null {\n const { className, index } = props;\n const { disabled, removeAt } = useTagsInputContext(\"TagRemove\");\n\n return useRenderElement({\n defaultTag: \"button\",\n props: {\n type: \"button\",\n \"aria-label\": \"Remove tag\",\n \"data-part\": \"tag-remove\",\n disabled: disabled || undefined,\n ...(className ? { className } : {}),\n onClick: () => removeAt(index),\n },\n state: { disabled },\n });\n}\n\nexport const TagsInput = {\n Input: TagsInputInput,\n List: TagsInputList,\n Root: TagsInputRoot,\n Tag: TagsInputTag,\n TagRemove: TagsInputTagRemove,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/tags-input/TagsInput.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Children,\n isValidElement,\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ElementType, KeyboardEvent, ReactElement, SyntheticEvent } from \"react\";\nimport { useControllableState, useId, useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { isComposingKeyEvent } from \"@gunkin/uiify/core/ime\";\nimport { RovingFocusItem, RovingFocusRoot } from \"@gunkin/uiify/core/roving-focus\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { createTagsInputStore, splitTags } from \"./tags-input-store.js\";\nimport type {\n TagsInputStore,\n TagsInputContextValue,\n TagsInputRootProps,\n TagsInputInputProps,\n TagsInputListOwnProps,\n TagsInputTagProps,\n TagsInputTagRemoveOwnProps,\n} from \"./types.js\";\n\nconst [TagsInputProvider, useTagsInputContext] =\n createPartContext<TagsInputContextValue>(\"TagsInput\");\n\nexport function TagsInputRoot(props: TagsInputRootProps): ReactElement | null {\n const {\n addOnPaste = true,\n allowDuplicates = false,\n children,\n className,\n defaultValue = [],\n delimiters = [\",\"],\n disabled = false,\n maxTags,\n onValueChange,\n validate,\n value: controlledValue,\n } = props;\n\n const listId = useId();\n const inputId = useId();\n const [inputValue, setInputValue] = useState(\"\");\n const [tags, setTags] = useControllableState<string[]>({\n defaultValue: [...defaultValue],\n ...(controlledValue !== undefined ? { value: [...controlledValue] } : {}),\n ...(onValueChange ? { onChange: onValueChange } : {}),\n });\n\n const storeRef = useRef<TagsInputStore | null>(null);\n storeRef.current ??= createTagsInputStore(tags, {\n allowDuplicates,\n ...(maxTags !== undefined ? { maxTags } : {}),\n ...(validate ? { validate } : {}),\n });\n const store = storeRef.current;\n\n useIsomorphicLayoutEffect(() => {\n store.setTags(tags);\n store.updateOptions({\n allowDuplicates,\n ...(maxTags !== undefined ? { maxTags } : {}),\n ...(validate ? { validate } : {}),\n });\n }, [allowDuplicates, maxTags, store, tags, validate]);\n\n const addTag = useCallback(\n (tag: string) => {\n if (disabled) return;\n if (store.addTag(tag)) {\n setTags(store.getTags());\n setInputValue(\"\");\n }\n },\n [disabled, setTags, store],\n );\n\n const removeAt = useCallback(\n (index: number) => {\n if (disabled) return;\n store.removeAt(index);\n setTags(store.getTags());\n },\n [disabled, setTags, store],\n );\n\n const contextValue = useMemo(\n () => ({\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n }),\n [\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n ],\n );\n\n return (\n <TagsInputProvider value={contextValue}>\n <div className={className} data-disabled={disabled ? \"\" : undefined} data-uiify-tags-input=\"\">\n {children}\n </div>\n </TagsInputProvider>\n );\n}\nTagsInputRoot.displayName = \"TagsInputRoot\";\n\nexport function TagsInputInput<TAs extends ElementType = \"input\">(\n props: TagsInputInputProps<TAs>,\n): ReactElement | null {\n const { as, render, className, placeholder, ...consumerProps } =\n props as TagsInputInputProps<\"input\">;\n const {\n addOnPaste,\n addTag,\n delimiters,\n disabled,\n inputId,\n inputValue,\n listId,\n removeAt,\n setInputValue,\n store,\n } = useTagsInputContext(\"Input\");\n const tags = useSyncExternalStore(store.subscribe, store.getTags, store.getTags);\n const {\n onChange: consumerOnChange,\n onKeyDown: consumerOnKeyDown,\n onPaste: consumerOnPaste,\n } = consumerProps as {\n onChange?: (event: SyntheticEvent<HTMLInputElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n };\n\n const commitInput = () => {\n if (inputValue.trim()) addTag(inputValue);\n };\n\n const handleChange = (event: SyntheticEvent<HTMLInputElement>) => {\n setInputValue(event.currentTarget.value);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (isComposingKeyEvent(event)) return;\n if (event.key === \"Enter\" || delimiters.includes(event.key)) {\n event.preventDefault();\n commitInput();\n } else if (event.key === \"Backspace\" && !inputValue && tags.length > 0) {\n event.preventDefault();\n removeAt(tags.length - 1);\n }\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!addOnPaste) return;\n const text = event.clipboardData.getData(\"text\");\n const splitChars = [...delimiters, \"\\n\", \"\\t\"];\n if (!splitChars.some((delimiter) => text.includes(delimiter))) return;\n event.preventDefault();\n const parts = splitTags(text, splitChars);\n for (const part of parts) addTag(part);\n };\n\n return useRenderElement({\n as,\n defaultTag: \"input\",\n props: {\n ...consumerProps,\n id: inputId,\n type: \"text\",\n role: \"combobox\",\n \"aria-controls\": listId,\n \"aria-expanded\": false,\n disabled: disabled || undefined,\n \"data-part\": \"input\",\n value: inputValue,\n placeholder,\n ...(className ? { className } : {}),\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n onPaste: composeEventHandlers(consumerOnPaste, handlePaste),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function TagsInputList(props: TagsInputListOwnProps): ReactElement | null {\n const { children, className } = props;\n const { listId, store } = useTagsInputContext(\"List\");\n const tags = useSyncExternalStore(store.subscribe, store.getTags, store.getTags);\n\n return (\n <RovingFocusRoot\n as=\"ul\"\n id={listId}\n orientation=\"horizontal\"\n {...(className ? { className } : {})}\n data-part=\"list\"\n >\n {tags.map((tag, index) => (\n <li data-index={index} data-value={tag} key={`${tag}-${index}`}>\n {tag}\n </li>\n ))}\n {/* A <ul> may only contain <li>, so a non-<li> child (typically TagsInput.Input)\n needs one too — leaving it bare made the list malformed, a serious axe\n violation. TagsInputTag already renders its own <li>; wrapping it again\n would nest <li> inside <li>, an invalid, hydration-breaking tree. */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === TagsInputTag ? (\n child\n ) : (\n <li data-part=\"input-slot\">{child}</li>\n ),\n )}\n </RovingFocusRoot>\n );\n}\nTagsInputList.displayName = \"TagsInputList\";\n\nexport function TagsInputTag<TAs extends ElementType = \"li\">(\n props: TagsInputTagProps<TAs>,\n): ReactElement | null {\n const { as, render, children, className, index, value, ...consumerProps } =\n props as TagsInputTagProps<\"li\">;\n const { disabled, removeAt } = useTagsInputContext(\"Tag\");\n const { onKeyDown: consumerOnKeyDown } = consumerProps as {\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Backspace\" || event.key === \"Delete\") {\n event.preventDefault();\n removeAt(index);\n }\n };\n\n const tagProps = {\n ...consumerProps,\n role: \"listitem\",\n \"data-part\": \"tag\",\n \"data-value\": value,\n ...(className ? { className } : {}),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n children,\n };\n\n if (render) {\n return (\n <RovingFocusItem\n disabled={disabled}\n render={(renderProps, state) => render(renderProps, { current: state.current })}\n textValue={value}\n {...(tagProps as object)}\n />\n );\n }\n\n return (\n <RovingFocusItem\n as={as ?? \"li\"}\n disabled={disabled}\n textValue={value}\n {...(tagProps as object)}\n />\n );\n}\nTagsInputTag.displayName = \"TagsInputTag\";\n\nexport function TagsInputTagRemove(props: TagsInputTagRemoveOwnProps): ReactElement | null {\n const { className, index } = props;\n const { disabled, removeAt } = useTagsInputContext(\"TagRemove\");\n\n return useRenderElement({\n defaultTag: \"button\",\n props: {\n type: \"button\",\n \"aria-label\": \"Remove tag\",\n \"data-part\": \"tag-remove\",\n disabled: disabled || undefined,\n ...(className ? { className } : {}),\n onClick: () => removeAt(index),\n },\n state: { disabled },\n });\n}\n\nexport const TagsInput = {\n Input: TagsInputInput,\n List: TagsInputList,\n Root: TagsInputRoot,\n Tag: TagsInputTag,\n TagRemove: TagsInputTagRemove,\n};\n"],"mappings":";AA0HM,cA+FF,YA/FE;AAxHN;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,sBAAsB,OAAO,iCAAiC;AACvE,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,iBAAiB,uBAAuB;AACjD,SAAS,wBAAwB;AACjC,SAAS,sBAAsB,iBAAiB;AAWhD,MAAM,CAAC,mBAAmB,mBAAmB,IAC3C,kBAAyC,WAAW;AAE/C,SAAS,cAAc,OAAgD;AAC5E,QAAM;AAAA,IACJ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,eAAe,CAAC;AAAA,IAChB,aAAa,CAAC,GAAG;AAAA,IACjB,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,IAAI;AAEJ,QAAM,SAAS,MAAM;AACrB,QAAM,UAAU,MAAM;AACtB,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAC/C,QAAM,CAAC,MAAM,OAAO,IAAI,qBAA+B;AAAA,IACrD,cAAc,CAAC,GAAG,YAAY;AAAA,IAC9B,GAAI,oBAAoB,SAAY,EAAE,OAAO,CAAC,GAAG,eAAe,EAAE,IAAI,CAAC;AAAA,IACvE,GAAI,gBAAgB,EAAE,UAAU,cAAc,IAAI,CAAC;AAAA,EACrD,CAAC;AAED,QAAM,WAAW,OAA8B,IAAI;AACnD,WAAS,YAAY,qBAAqB,MAAM;AAAA,IAC9C;AAAA,IACA,GAAI,YAAY,SAAY,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC3C,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACjC,CAAC;AACD,QAAM,QAAQ,SAAS;AAEvB,4BAA0B,MAAM;AAC9B,UAAM,QAAQ,IAAI;AAClB,UAAM,cAAc;AAAA,MAClB;AAAA,MACA,GAAI,YAAY,SAAY,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC3C,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,IACjC,CAAC;AAAA,EACH,GAAG,CAAC,iBAAiB,SAAS,OAAO,MAAM,QAAQ,CAAC;AAEpD,QAAM,SAAS;AAAA,IACb,CAAC,QAAgB;AACf,UAAI,SAAU;AACd,UAAI,MAAM,OAAO,GAAG,GAAG;AACrB,gBAAQ,MAAM,QAAQ,CAAC;AACvB,sBAAc,EAAE;AAAA,MAClB;AAAA,IACF;AAAA,IACA,CAAC,UAAU,SAAS,KAAK;AAAA,EAC3B;AAEA,QAAM,WAAW;AAAA,IACf,CAAC,UAAkB;AACjB,UAAI,SAAU;AACd,YAAM,SAAS,KAAK;AACpB,cAAQ,MAAM,QAAQ,CAAC;AAAA,IACzB;AAAA,IACA,CAAC,UAAU,SAAS,KAAK;AAAA,EAC3B;AAEA,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SACE,oBAAC,qBAAkB,OAAO,cACxB,8BAAC,SAAI,WAAsB,iBAAe,WAAW,KAAK,QAAW,yBAAsB,IACxF,UACH,GACF;AAEJ;AACA,cAAc,cAAc;AAErB,SAAS,eACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,WAAW,aAAa,GAAG,cAAc,IAC3D;AACF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,oBAAoB,OAAO;AAC/B,QAAM,OAAO,qBAAqB,MAAM,WAAW,MAAM,SAAS,MAAM,OAAO;AAC/E,QAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX,IAAI;AAMJ,QAAM,cAAc,MAAM;AACxB,QAAI,WAAW,KAAK,EAAG,QAAO,UAAU;AAAA,EAC1C;AAEA,QAAM,eAAe,CAAC,UAA4C;AAChE,kBAAc,MAAM,cAAc,KAAK;AAAA,EACzC;AAEA,QAAM,gBAAgB,CAAC,UAA2C;AAChE,QAAI,oBAAoB,KAAK,EAAG;AAChC,QAAI,MAAM,QAAQ,WAAW,WAAW,SAAS,MAAM,GAAG,GAAG;AAC3D,YAAM,eAAe;AACrB,kBAAY;AAAA,IACd,WAAW,MAAM,QAAQ,eAAe,CAAC,cAAc,KAAK,SAAS,GAAG;AACtE,YAAM,eAAe;AACrB,eAAS,KAAK,SAAS,CAAC;AAAA,IAC1B;AAAA,EACF;AAEA,QAAM,cAAc,CAAC,UAAkD;AACrE,QAAI,CAAC,WAAY;AACjB,UAAM,OAAO,MAAM,cAAc,QAAQ,MAAM;AAC/C,UAAM,aAAa,CAAC,GAAG,YAAY,MAAM,GAAI;AAC7C,QAAI,CAAC,WAAW,KAAK,CAAC,cAAc,KAAK,SAAS,SAAS,CAAC,EAAG;AAC/D,UAAM,eAAe;AACrB,UAAM,QAAQ,UAAU,MAAM,UAAU;AACxC,eAAW,QAAQ,MAAO,QAAO,IAAI;AAAA,EACvC;AAEA,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,UAAU,YAAY;AAAA,MACtB,aAAa;AAAA,MACb,OAAO;AAAA,MACP;AAAA,MACA,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MACjC,UAAU,qBAAqB,kBAAkB,YAAY;AAAA,MAC7D,WAAW,qBAAqB,mBAAmB,aAAa;AAAA,MAChE,SAAS,qBAAqB,iBAAiB,WAAW;AAAA,IAC5D;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,cAAc,OAAmD;AAC/E,QAAM,EAAE,UAAU,UAAU,IAAI;AAChC,QAAM,EAAE,QAAQ,MAAM,IAAI,oBAAoB,MAAM;AACpD,QAAM,OAAO,qBAAqB,MAAM,WAAW,MAAM,SAAS,MAAM,OAAO;AAE/E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,IAAI;AAAA,MACJ,aAAY;AAAA,MACX,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAClC,aAAU;AAAA,MAET;AAAA,aAAK,IAAI,CAAC,KAAK,UACd,oBAAC,QAAG,cAAY,OAAO,cAAY,KAChC,iBAD0C,GAAG,GAAG,IAAI,KAAK,EAE5D,CACD;AAAA,QAKA,SAAS;AAAA,UAAI;AAAA,UAAU,CAAC,UACvB,eAAe,KAAK,KAAK,MAAM,SAAS,eACtC,QAEA,oBAAC,QAAG,aAAU,cAAc,iBAAM;AAAA,QAEtC;AAAA;AAAA;AAAA,EACF;AAEJ;AACA,cAAc,cAAc;AAErB,SAAS,aACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,UAAU,WAAW,OAAO,OAAO,GAAG,cAAc,IACtE;AACF,QAAM,EAAE,UAAU,SAAS,IAAI,oBAAoB,KAAK;AACxD,QAAM,EAAE,WAAW,kBAAkB,IAAI;AAIzC,QAAM,gBAAgB,CAAC,UAAsC;AAC3D,QAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,UAAU;AACvD,YAAM,eAAe;AACrB,eAAS,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,WAAW;AAAA,IACf,GAAG;AAAA,IACH,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,IACd,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,IACjC,WAAW,qBAAqB,mBAAmB,aAAa;AAAA,IAChE;AAAA,EACF;AAEA,MAAI,QAAQ;AACV,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,QAAQ,CAAC,aAAa,UAAU,OAAO,aAAa,EAAE,SAAS,MAAM,QAAQ,CAAC;AAAA,QAC9E,WAAW;AAAA,QACV,GAAI;AAAA;AAAA,IACP;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV;AAAA,MACA,WAAW;AAAA,MACV,GAAI;AAAA;AAAA,EACP;AAEJ;AACA,aAAa,cAAc;AAEpB,SAAS,mBAAmB,OAAwD;AACzF,QAAM,EAAE,WAAW,MAAM,IAAI;AAC7B,QAAM,EAAE,UAAU,SAAS,IAAI,oBAAoB,WAAW;AAE9D,SAAO,iBAAiB;AAAA,IACtB,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,cAAc;AAAA,MACd,aAAa;AAAA,MACb,UAAU,YAAY;AAAA,MACtB,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MACjC,SAAS,MAAM,SAAS,KAAK;AAAA,IAC/B;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,MAAM,YAAY;AAAA,EACvB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,WAAW;AACb;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import type { ReactElement } from "react";
2
2
  import { ToastDescription, ToastTitle } from "./ToastElements.js";
3
3
  import type { ToastInput, ToastProviderOwnProps, ToastViewportOwnProps, ToastRootOwnProps, ToastActionProps, ToastCloseProps } from "./types.js";
4
- export type { ToastActionProps, ToastCloseProps, ToastDescriptionOwnProps, ToastInput, ToastPriority, ToastProviderOwnProps, ToastRecord, ToastRootOwnProps, ToastStore, ToastTitleOwnProps, ToastViewportOwnProps, } from "./types.js";
4
+ export type { ToastActionProps, ToastCloseProps, ToastDescriptionOwnProps, ToastInput, ToastLabels, ToastPriority, ToastProviderOwnProps, ToastRecord, ToastRootOwnProps, ToastStore, ToastTitleOwnProps, ToastViewportOwnProps, } from "./types.js";
5
5
  export { ToastDescription, ToastTitle };
6
6
  export declare function ToastProvider(props: ToastProviderOwnProps): ReactElement | null;
7
7
  export declare namespace ToastProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAA2C,YAAY,EAAE,MAAM,OAAO,CAAC;AAKnF,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAGV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAExC,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAoC/E;yBApCe,aAAa;;;AAuC7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA4C/E;yBA5Ce,aAAa;;;AA+C7B,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CAiEvE;yBAjEe,SAAS;;;AAoEzB,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAEtE;yBAFe,UAAU;;;AAK1B,wBAAgB,QAAQ;;iBAIP,UAAU;EAI1B;AAED,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAA2C,YAAY,EAAE,MAAM,OAAO,CAAC;AAKnF,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAGV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAgBpB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAExC,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAqC/E;yBArCe,aAAa;;;AAwC7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA8C/E;yBA9Ce,aAAa;;;AAiD7B,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CA8DvE;yBA9De,SAAS;;;AAiEzB,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAEtE;yBAFe,UAAU;;;AAK1B,wBAAgB,QAAQ;;iBAIP,UAAU;EAI1B;AAED,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}