@ifhover/leaf-ui 0.5.0 → 0.6.0

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 (2021) hide show
  1. package/README.md +10 -7
  2. package/THIRD_PARTY.md +2 -3
  3. package/dist/cjs/alert/alert.cjs +4 -2
  4. package/dist/cjs/alert/alert.cjs.map +1 -1
  5. package/dist/cjs/alert/alert.d.cts +1 -1
  6. package/dist/cjs/alert/alert.d.cts.map +1 -1
  7. package/dist/cjs/anchor/anchor.cjs +5 -2
  8. package/dist/cjs/anchor/anchor.cjs.map +1 -1
  9. package/dist/cjs/anchor/anchor.d.cts +2 -2
  10. package/dist/cjs/anchor/anchor.d.cts.map +1 -1
  11. package/dist/cjs/anchor/index.cjs +13 -32
  12. package/dist/cjs/anchor/index.cjs.map +1 -1
  13. package/dist/cjs/anchor/index.d.cts +2 -1
  14. package/dist/cjs/anchor/index.d.cts.map +1 -1
  15. package/dist/cjs/appbar/appbar.cjs +7 -3
  16. package/dist/cjs/appbar/appbar.cjs.map +1 -1
  17. package/dist/cjs/appbar/appbar.d.cts +1 -1
  18. package/dist/cjs/appbar/appbar.d.cts.map +1 -1
  19. package/dist/cjs/appbar/index.cjs +16 -32
  20. package/dist/cjs/appbar/index.cjs.map +1 -1
  21. package/dist/cjs/appbar/index.d.cts +2 -1
  22. package/dist/cjs/appbar/index.d.cts.map +1 -1
  23. package/dist/cjs/autocomplete/autocomplete.cjs +35 -16
  24. package/dist/cjs/autocomplete/autocomplete.cjs.map +1 -1
  25. package/dist/cjs/autocomplete/autocomplete.d.cts.map +1 -1
  26. package/dist/cjs/autocomplete/index.cjs +10 -32
  27. package/dist/cjs/autocomplete/index.cjs.map +1 -1
  28. package/dist/cjs/autocomplete/index.d.cts +2 -1
  29. package/dist/cjs/autocomplete/index.d.cts.map +1 -1
  30. package/dist/cjs/avatar/avatar.cjs +14 -4
  31. package/dist/cjs/avatar/avatar.cjs.map +1 -1
  32. package/dist/cjs/avatar/avatar.d.cts +2 -1
  33. package/dist/cjs/avatar/avatar.d.cts.map +1 -1
  34. package/dist/cjs/avatar/group.cjs +12 -6
  35. package/dist/cjs/avatar/group.cjs.map +1 -1
  36. package/dist/cjs/avatar/group.d.cts +1 -1
  37. package/dist/cjs/avatar/group.d.cts.map +1 -1
  38. package/dist/cjs/backtop/backtop.cjs +6 -4
  39. package/dist/cjs/backtop/backtop.cjs.map +1 -1
  40. package/dist/cjs/backtop/backtop.d.cts +1 -1
  41. package/dist/cjs/backtop/backtop.d.cts.map +1 -1
  42. package/dist/cjs/badge/badge.cjs +3 -1
  43. package/dist/cjs/badge/badge.cjs.map +1 -1
  44. package/dist/cjs/badge/badge.d.cts +1 -1
  45. package/dist/cjs/badge/badge.d.cts.map +1 -1
  46. package/dist/cjs/breadcrumb/breadcrumb.cjs +13 -11
  47. package/dist/cjs/breadcrumb/breadcrumb.cjs.map +1 -1
  48. package/dist/cjs/breadcrumb/breadcrumb.d.cts +2 -2
  49. package/dist/cjs/breadcrumb/breadcrumb.d.cts.map +1 -1
  50. package/dist/cjs/browser/flex.cjs +2 -0
  51. package/dist/cjs/browser/modules/alert/alert.cjs +5 -2
  52. package/dist/cjs/browser/modules/alert/alert.cjs.map +1 -1
  53. package/dist/cjs/browser/modules/anchor/anchor.cjs +6 -2
  54. package/dist/cjs/browser/modules/anchor/anchor.cjs.map +1 -1
  55. package/dist/cjs/browser/modules/anchor/index.cjs +13 -32
  56. package/dist/cjs/browser/modules/anchor/index.cjs.map +1 -1
  57. package/dist/cjs/browser/modules/appbar/appbar.cjs +8 -3
  58. package/dist/cjs/browser/modules/appbar/appbar.cjs.map +1 -1
  59. package/dist/cjs/browser/modules/appbar/index.cjs +16 -32
  60. package/dist/cjs/browser/modules/appbar/index.cjs.map +1 -1
  61. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs +36 -16
  62. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs.map +1 -1
  63. package/dist/cjs/browser/modules/autocomplete/index.cjs +10 -32
  64. package/dist/cjs/browser/modules/autocomplete/index.cjs.map +1 -1
  65. package/dist/cjs/browser/modules/avatar/avatar.cjs +15 -4
  66. package/dist/cjs/browser/modules/avatar/avatar.cjs.map +1 -1
  67. package/dist/cjs/browser/modules/avatar/group.cjs +13 -6
  68. package/dist/cjs/browser/modules/avatar/group.cjs.map +1 -1
  69. package/dist/cjs/browser/modules/backtop/backtop.cjs +7 -4
  70. package/dist/cjs/browser/modules/backtop/backtop.cjs.map +1 -1
  71. package/dist/cjs/browser/modules/badge/badge.cjs +4 -1
  72. package/dist/cjs/browser/modules/badge/badge.cjs.map +1 -1
  73. package/dist/cjs/browser/modules/breadcrumb/breadcrumb.cjs +14 -11
  74. package/dist/cjs/browser/modules/breadcrumb/breadcrumb.cjs.map +1 -1
  75. package/dist/cjs/browser/modules/button/button.cjs +17 -3
  76. package/dist/cjs/browser/modules/button/button.cjs.map +1 -1
  77. package/dist/cjs/browser/modules/button/group.cjs +26 -10
  78. package/dist/cjs/browser/modules/button/group.cjs.map +1 -1
  79. package/dist/cjs/browser/modules/calendar/calendar.cjs +5 -2
  80. package/dist/cjs/browser/modules/calendar/calendar.cjs.map +1 -1
  81. package/dist/cjs/browser/modules/card/card.cjs +42 -6
  82. package/dist/cjs/browser/modules/card/card.cjs.map +1 -1
  83. package/dist/cjs/browser/modules/carousel/carousel.cjs +13 -6
  84. package/dist/cjs/browser/modules/carousel/carousel.cjs.map +1 -1
  85. package/dist/cjs/browser/modules/carousel/index.cjs +10 -32
  86. package/dist/cjs/browser/modules/carousel/index.cjs.map +1 -1
  87. package/dist/cjs/browser/modules/cascader/cascader.cjs +41 -20
  88. package/dist/cjs/browser/modules/cascader/cascader.cjs.map +1 -1
  89. package/dist/cjs/browser/modules/cascader/index.cjs +10 -41
  90. package/dist/cjs/browser/modules/cascader/index.cjs.map +1 -1
  91. package/dist/cjs/browser/modules/checkbox/checkbox.cjs +16 -3
  92. package/dist/cjs/browser/modules/checkbox/checkbox.cjs.map +1 -1
  93. package/dist/cjs/browser/modules/checkbox/group.cjs +5 -2
  94. package/dist/cjs/browser/modules/checkbox/group.cjs.map +1 -1
  95. package/dist/cjs/browser/modules/checkbox/index.cjs +10 -41
  96. package/dist/cjs/browser/modules/checkbox/index.cjs.map +1 -1
  97. package/dist/cjs/browser/modules/collapse/collapse.cjs +5 -2
  98. package/dist/cjs/browser/modules/collapse/collapse.cjs.map +1 -1
  99. package/dist/cjs/browser/modules/color-recipes.cjs +5 -0
  100. package/dist/cjs/browser/modules/color-recipes.cjs.map +1 -1
  101. package/dist/cjs/browser/modules/colorpicker/colorpicker.cjs +27 -13
  102. package/dist/cjs/browser/modules/colorpicker/colorpicker.cjs.map +1 -1
  103. package/dist/cjs/browser/modules/colorpicker/gradient.cjs +36 -19
  104. package/dist/cjs/browser/modules/colorpicker/gradient.cjs.map +1 -1
  105. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs +17 -14
  106. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs.map +1 -1
  107. package/dist/cjs/browser/modules/commandpalette/index.cjs +10 -32
  108. package/dist/cjs/browser/modules/commandpalette/index.cjs.map +1 -1
  109. package/dist/cjs/browser/modules/config-provider/component-defaults.cjs +117 -0
  110. package/dist/cjs/browser/modules/config-provider/component-defaults.cjs.map +1 -0
  111. package/dist/cjs/browser/modules/{signaturepad/index.cjs → config-provider/config-context.cjs} +6 -5
  112. package/dist/cjs/browser/modules/config-provider/config-context.cjs.map +1 -0
  113. package/dist/cjs/browser/modules/config-provider/config-provider.cjs +44 -23
  114. package/dist/cjs/browser/modules/config-provider/config-provider.cjs.map +1 -1
  115. package/dist/cjs/browser/modules/config-provider/context.cjs +20 -207
  116. package/dist/cjs/browser/modules/config-provider/context.cjs.map +1 -1
  117. package/dist/cjs/browser/modules/config-provider/index.cjs +17 -42
  118. package/dist/cjs/browser/modules/config-provider/index.cjs.map +1 -1
  119. package/dist/cjs/browser/modules/confirm/confirm.cjs +10 -8
  120. package/dist/cjs/browser/modules/confirm/confirm.cjs.map +1 -1
  121. package/dist/cjs/browser/modules/confirm/provider.cjs +26 -18
  122. package/dist/cjs/browser/modules/confirm/provider.cjs.map +1 -1
  123. package/dist/cjs/browser/modules/confirm/store.cjs +6 -4
  124. package/dist/cjs/browser/modules/confirm/store.cjs.map +1 -1
  125. package/dist/cjs/browser/modules/datepicker/datepicker.cjs +8 -5
  126. package/dist/cjs/browser/modules/datepicker/datepicker.cjs.map +1 -1
  127. package/dist/cjs/browser/modules/datepicker/index.cjs +10 -32
  128. package/dist/cjs/browser/modules/datepicker/index.cjs.map +1 -1
  129. package/dist/cjs/browser/modules/datepicker/multiple.cjs +1 -0
  130. package/dist/cjs/browser/modules/datepicker/multiple.cjs.map +1 -1
  131. package/dist/cjs/browser/modules/daterangepicker/daterangepicker.cjs +29 -21
  132. package/dist/cjs/browser/modules/daterangepicker/daterangepicker.cjs.map +1 -1
  133. package/dist/cjs/browser/modules/datetimepicker/datetimepicker.cjs +24 -16
  134. package/dist/cjs/browser/modules/datetimepicker/datetimepicker.cjs.map +1 -1
  135. package/dist/cjs/browser/modules/density.cjs +13 -4
  136. package/dist/cjs/browser/modules/density.cjs.map +1 -1
  137. package/dist/cjs/browser/modules/descriptions/descriptions.cjs +8 -5
  138. package/dist/cjs/browser/modules/descriptions/descriptions.cjs.map +1 -1
  139. package/dist/cjs/browser/modules/divider/divider.cjs +4 -1
  140. package/dist/cjs/browser/modules/divider/divider.cjs.map +1 -1
  141. package/dist/cjs/browser/modules/drawer/drawer.cjs +7 -4
  142. package/dist/cjs/browser/modules/drawer/drawer.cjs.map +1 -1
  143. package/dist/cjs/browser/modules/dropdown/dropdown.cjs +17 -4
  144. package/dist/cjs/browser/modules/dropdown/dropdown.cjs.map +1 -1
  145. package/dist/cjs/browser/modules/empty/empty.cjs +5 -3
  146. package/dist/cjs/browser/modules/empty/empty.cjs.map +1 -1
  147. package/dist/cjs/browser/modules/errorboundary/errorboundary.cjs +26 -14
  148. package/dist/cjs/browser/modules/errorboundary/errorboundary.cjs.map +1 -1
  149. package/dist/cjs/browser/modules/filelist/filelist.cjs +288 -192
  150. package/dist/cjs/browser/modules/filelist/filelist.cjs.map +1 -1
  151. package/dist/cjs/browser/modules/flex/flex.cjs +76 -0
  152. package/dist/cjs/browser/modules/flex/flex.cjs.map +1 -0
  153. package/dist/cjs/browser/modules/{imagecropper → flex}/index.cjs +4 -4
  154. package/dist/cjs/browser/modules/flex/index.cjs.map +1 -0
  155. package/dist/cjs/browser/modules/floatbutton/floatbutton.cjs +23 -11
  156. package/dist/cjs/browser/modules/floatbutton/floatbutton.cjs.map +1 -1
  157. package/dist/cjs/browser/modules/floatbutton/index.cjs +16 -32
  158. package/dist/cjs/browser/modules/floatbutton/index.cjs.map +1 -1
  159. package/dist/cjs/browser/modules/form/form.cjs +15 -9
  160. package/dist/cjs/browser/modules/form/form.cjs.map +1 -1
  161. package/dist/cjs/browser/modules/form/index.cjs +16 -54
  162. package/dist/cjs/browser/modules/form/index.cjs.map +1 -1
  163. package/dist/cjs/browser/modules/form/list.cjs +4 -1
  164. package/dist/cjs/browser/modules/form/list.cjs.map +1 -1
  165. package/dist/cjs/browser/modules/grid/grid.cjs +19 -4
  166. package/dist/cjs/browser/modules/grid/grid.cjs.map +1 -1
  167. package/dist/cjs/browser/modules/image/image.cjs +26 -9
  168. package/dist/cjs/browser/modules/image/image.cjs.map +1 -1
  169. package/dist/cjs/browser/modules/image/viewer.cjs +35 -25
  170. package/dist/cjs/browser/modules/image/viewer.cjs.map +1 -1
  171. package/dist/cjs/browser/modules/index.cjs +4 -8
  172. package/dist/cjs/browser/modules/infinitescroll/infinitescroll.cjs +13 -10
  173. package/dist/cjs/browser/modules/infinitescroll/infinitescroll.cjs.map +1 -1
  174. package/dist/cjs/browser/modules/input/group.cjs +19 -8
  175. package/dist/cjs/browser/modules/input/group.cjs.map +1 -1
  176. package/dist/cjs/browser/modules/input/index.cjs +11 -43
  177. package/dist/cjs/browser/modules/input/index.cjs.map +1 -1
  178. package/dist/cjs/browser/modules/input/input.cjs +17 -5
  179. package/dist/cjs/browser/modules/input/input.cjs.map +1 -1
  180. package/dist/cjs/browser/modules/inputmask/inputmask.cjs +6 -3
  181. package/dist/cjs/browser/modules/inputmask/inputmask.cjs.map +1 -1
  182. package/dist/cjs/browser/modules/inputnumber/inputnumber.cjs +20 -7
  183. package/dist/cjs/browser/modules/inputnumber/inputnumber.cjs.map +1 -1
  184. package/dist/cjs/browser/modules/inputnumber/string.cjs +4 -3
  185. package/dist/cjs/browser/modules/inputnumber/string.cjs.map +1 -1
  186. package/dist/cjs/browser/modules/inputotp/inputotp.cjs +5 -2
  187. package/dist/cjs/browser/modules/inputotp/inputotp.cjs.map +1 -1
  188. package/dist/cjs/browser/modules/layout/layout.cjs +16 -9
  189. package/dist/cjs/browser/modules/layout/layout.cjs.map +1 -1
  190. package/dist/cjs/browser/modules/loading/loading.cjs +15 -4
  191. package/dist/cjs/browser/modules/loading/loading.cjs.map +1 -1
  192. package/dist/cjs/browser/modules/loadingbar/loadingbar.cjs +55 -9
  193. package/dist/cjs/browser/modules/loadingbar/loadingbar.cjs.map +1 -1
  194. package/dist/cjs/browser/modules/locales/en-US.cjs +1 -0
  195. package/dist/cjs/browser/modules/locales/ja-JP.cjs +1 -0
  196. package/dist/cjs/browser/modules/locales/ko-KR.cjs +1 -0
  197. package/dist/cjs/browser/modules/locales/messages.cjs +21 -0
  198. package/dist/cjs/browser/modules/locales/messages.cjs.map +1 -0
  199. package/dist/cjs/browser/modules/locales/resolve.cjs +153 -0
  200. package/dist/cjs/browser/modules/locales/resolve.cjs.map +1 -0
  201. package/dist/cjs/browser/modules/locales/types.cjs +21 -0
  202. package/dist/cjs/browser/modules/locales/types.cjs.map +1 -0
  203. package/dist/cjs/browser/modules/locales/zh-CN.cjs +1 -0
  204. package/dist/cjs/browser/modules/locales/zh-TW.cjs +1 -0
  205. package/dist/cjs/browser/modules/masonry/masonry.cjs +8 -5
  206. package/dist/cjs/browser/modules/masonry/masonry.cjs.map +1 -1
  207. package/dist/cjs/browser/modules/mentions/index.cjs +10 -32
  208. package/dist/cjs/browser/modules/mentions/index.cjs.map +1 -1
  209. package/dist/cjs/browser/modules/mentions/mentions.cjs +10 -6
  210. package/dist/cjs/browser/modules/mentions/mentions.cjs.map +1 -1
  211. package/dist/cjs/browser/modules/menu/menu.cjs +7 -4
  212. package/dist/cjs/browser/modules/menu/menu.cjs.map +1 -1
  213. package/dist/cjs/browser/modules/message/item.cjs +2 -1
  214. package/dist/cjs/browser/modules/message/item.cjs.map +1 -1
  215. package/dist/cjs/browser/modules/message/message.cjs +11 -4
  216. package/dist/cjs/browser/modules/message/message.cjs.map +1 -1
  217. package/dist/cjs/browser/modules/message/provider.cjs +9 -4
  218. package/dist/cjs/browser/modules/message/provider.cjs.map +1 -1
  219. package/dist/cjs/browser/modules/message/store.cjs +12 -6
  220. package/dist/cjs/browser/modules/message/store.cjs.map +1 -1
  221. package/dist/cjs/browser/modules/modal/modal.cjs +26 -13
  222. package/dist/cjs/browser/modules/modal/modal.cjs.map +1 -1
  223. package/dist/cjs/browser/modules/notification/notification.cjs +28 -14
  224. package/dist/cjs/browser/modules/notification/notification.cjs.map +1 -1
  225. package/dist/cjs/browser/modules/pagination/pagination.cjs +75 -26
  226. package/dist/cjs/browser/modules/pagination/pagination.cjs.map +1 -1
  227. package/dist/cjs/browser/modules/popconfirm/popconfirm.cjs +13 -10
  228. package/dist/cjs/browser/modules/popconfirm/popconfirm.cjs.map +1 -1
  229. package/dist/cjs/browser/modules/popover/popover.cjs +14 -3
  230. package/dist/cjs/browser/modules/popover/popover.cjs.map +1 -1
  231. package/dist/cjs/browser/modules/progress/progress.cjs +6 -3
  232. package/dist/cjs/browser/modules/progress/progress.cjs.map +1 -1
  233. package/dist/cjs/browser/modules/qrcode/qrcode.cjs +11 -8
  234. package/dist/cjs/browser/modules/qrcode/qrcode.cjs.map +1 -1
  235. package/dist/cjs/browser/modules/radio/index.cjs +13 -32
  236. package/dist/cjs/browser/modules/radio/index.cjs.map +1 -1
  237. package/dist/cjs/browser/modules/radio/radio.cjs +18 -4
  238. package/dist/cjs/browser/modules/radio/radio.cjs.map +1 -1
  239. package/dist/cjs/browser/modules/rate/rate.cjs +9 -6
  240. package/dist/cjs/browser/modules/rate/rate.cjs.map +1 -1
  241. package/dist/cjs/browser/modules/result/result.cjs +15 -4
  242. package/dist/cjs/browser/modules/result/result.cjs.map +1 -1
  243. package/dist/cjs/browser/modules/scrollarea/scrollarea.cjs +6 -3
  244. package/dist/cjs/browser/modules/scrollarea/scrollarea.cjs.map +1 -1
  245. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs +17 -4
  246. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs.map +1 -1
  247. package/dist/cjs/browser/modules/segmented/segmented.cjs +4 -1
  248. package/dist/cjs/browser/modules/segmented/segmented.cjs.map +1 -1
  249. package/dist/cjs/browser/modules/select/index.cjs +10 -32
  250. package/dist/cjs/browser/modules/select/index.cjs.map +1 -1
  251. package/dist/cjs/browser/modules/select/select.cjs +180 -209
  252. package/dist/cjs/browser/modules/select/select.cjs.map +1 -1
  253. package/dist/cjs/browser/modules/shared/calendar.cjs +7 -6
  254. package/dist/cjs/browser/modules/shared/calendar.cjs.map +1 -1
  255. package/dist/cjs/browser/modules/shared/date-input.cjs +6 -6
  256. package/dist/cjs/browser/modules/shared/date-input.cjs.map +1 -1
  257. package/dist/cjs/browser/modules/shared/floating-feedback.cjs +62 -0
  258. package/dist/cjs/browser/modules/shared/floating-feedback.cjs.map +1 -0
  259. package/dist/cjs/browser/modules/shared/floating.cjs +1 -0
  260. package/dist/cjs/browser/modules/shared/floating.cjs.map +1 -1
  261. package/dist/cjs/browser/modules/shared/motion.cjs +3 -3
  262. package/dist/cjs/browser/modules/shared/motion.cjs.map +1 -1
  263. package/dist/cjs/browser/modules/shared/parse-date.cjs +2 -2
  264. package/dist/cjs/browser/modules/shared/parse-date.cjs.map +1 -1
  265. package/dist/cjs/browser/modules/shared/scoped-portal.cjs +17 -2
  266. package/dist/cjs/browser/modules/shared/scoped-portal.cjs.map +1 -1
  267. package/dist/cjs/browser/modules/shared/selection-content.cjs +202 -0
  268. package/dist/cjs/browser/modules/shared/selection-content.cjs.map +1 -0
  269. package/dist/cjs/browser/modules/shared/time.cjs +16 -2
  270. package/dist/cjs/browser/modules/shared/time.cjs.map +1 -1
  271. package/dist/cjs/browser/modules/shared/use-drag-announcements.cjs +66 -0
  272. package/dist/cjs/browser/modules/shared/use-drag-announcements.cjs.map +1 -0
  273. package/dist/cjs/browser/modules/shared/use-formatted-text.cjs +118 -0
  274. package/dist/cjs/browser/modules/shared/use-formatted-text.cjs.map +1 -0
  275. package/dist/cjs/browser/modules/shared/use-text.cjs +3 -3
  276. package/dist/cjs/browser/modules/shared/use-text.cjs.map +1 -1
  277. package/dist/cjs/browser/modules/skeleton/skeleton.cjs +15 -4
  278. package/dist/cjs/browser/modules/skeleton/skeleton.cjs.map +1 -1
  279. package/dist/cjs/browser/modules/slider/slider.cjs +19 -6
  280. package/dist/cjs/browser/modules/slider/slider.cjs.map +1 -1
  281. package/dist/cjs/browser/modules/space/space.cjs +4 -1
  282. package/dist/cjs/browser/modules/space/space.cjs.map +1 -1
  283. package/dist/cjs/browser/modules/splitter/index.cjs +13 -32
  284. package/dist/cjs/browser/modules/splitter/index.cjs.map +1 -1
  285. package/dist/cjs/browser/modules/splitter/splitter.cjs +10 -3
  286. package/dist/cjs/browser/modules/splitter/splitter.cjs.map +1 -1
  287. package/dist/cjs/browser/modules/statistic/index.cjs +13 -32
  288. package/dist/cjs/browser/modules/statistic/index.cjs.map +1 -1
  289. package/dist/cjs/browser/modules/statistic/statistic.cjs +18 -6
  290. package/dist/cjs/browser/modules/statistic/statistic.cjs.map +1 -1
  291. package/dist/cjs/browser/modules/steps/steps.cjs +4 -1
  292. package/dist/cjs/browser/modules/steps/steps.cjs.map +1 -1
  293. package/dist/cjs/browser/modules/switch/index.cjs +10 -32
  294. package/dist/cjs/browser/modules/switch/index.cjs.map +1 -1
  295. package/dist/cjs/browser/modules/switch/switch.cjs +4 -1
  296. package/dist/cjs/browser/modules/switch/switch.cjs.map +1 -1
  297. package/dist/cjs/browser/modules/table/table.cjs +148 -32
  298. package/dist/cjs/browser/modules/table/table.cjs.map +1 -1
  299. package/dist/cjs/browser/modules/tabletanstack/defaults.cjs +21 -0
  300. package/dist/cjs/browser/modules/tabletanstack/defaults.cjs.map +1 -0
  301. package/dist/cjs/browser/modules/tabletanstack/reordering.cjs +19 -10
  302. package/dist/cjs/browser/modules/tabletanstack/reordering.cjs.map +1 -1
  303. package/dist/cjs/browser/modules/tabletanstack/tabletanstack.cjs +116 -69
  304. package/dist/cjs/browser/modules/tabletanstack/tabletanstack.cjs.map +1 -1
  305. package/dist/cjs/browser/modules/tabs/tabs.cjs +122 -173
  306. package/dist/cjs/browser/modules/tabs/tabs.cjs.map +1 -1
  307. package/dist/cjs/browser/modules/tag/group.cjs +6 -2
  308. package/dist/cjs/browser/modules/tag/group.cjs.map +1 -1
  309. package/dist/cjs/browser/modules/tag/tag.cjs +5 -8
  310. package/dist/cjs/browser/modules/tag/tag.cjs.map +1 -1
  311. package/dist/cjs/browser/modules/tailwind-tokens.cjs +131 -0
  312. package/dist/cjs/browser/modules/tailwind-tokens.cjs.map +1 -0
  313. package/dist/cjs/browser/modules/tailwind.cjs +62 -0
  314. package/dist/cjs/browser/modules/tailwind.cjs.map +1 -0
  315. package/dist/cjs/browser/modules/textarea/index.cjs +10 -32
  316. package/dist/cjs/browser/modules/textarea/index.cjs.map +1 -1
  317. package/dist/cjs/browser/modules/textarea/textarea.cjs +16 -3
  318. package/dist/cjs/browser/modules/textarea/textarea.cjs.map +1 -1
  319. package/dist/cjs/browser/modules/timeline/timeline.cjs +4 -1
  320. package/dist/cjs/browser/modules/timeline/timeline.cjs.map +1 -1
  321. package/dist/cjs/browser/modules/timepicker/index.cjs +10 -32
  322. package/dist/cjs/browser/modules/timepicker/index.cjs.map +1 -1
  323. package/dist/cjs/browser/modules/timepicker/time-panel.cjs +7 -6
  324. package/dist/cjs/browser/modules/timepicker/time-panel.cjs.map +1 -1
  325. package/dist/cjs/browser/modules/timepicker/timepicker.cjs +22 -13
  326. package/dist/cjs/browser/modules/timepicker/timepicker.cjs.map +1 -1
  327. package/dist/cjs/browser/modules/timerangepicker/timerangepicker.cjs +21 -14
  328. package/dist/cjs/browser/modules/timerangepicker/timerangepicker.cjs.map +1 -1
  329. package/dist/cjs/browser/modules/tooltip/tooltip.cjs +14 -3
  330. package/dist/cjs/browser/modules/tooltip/tooltip.cjs.map +1 -1
  331. package/dist/cjs/browser/modules/tour/index.cjs +10 -32
  332. package/dist/cjs/browser/modules/tour/index.cjs.map +1 -1
  333. package/dist/cjs/browser/modules/tour/tour.cjs +11 -8
  334. package/dist/cjs/browser/modules/tour/tour.cjs.map +1 -1
  335. package/dist/cjs/browser/modules/transfer/transfer.cjs +27 -21
  336. package/dist/cjs/browser/modules/transfer/transfer.cjs.map +1 -1
  337. package/dist/cjs/browser/modules/tree/drag.cjs +14 -11
  338. package/dist/cjs/browser/modules/tree/drag.cjs.map +1 -1
  339. package/dist/cjs/browser/modules/tree/tree.cjs +33 -13
  340. package/dist/cjs/browser/modules/tree/tree.cjs.map +1 -1
  341. package/dist/cjs/browser/modules/treeselect/treeselect.cjs +154 -112
  342. package/dist/cjs/browser/modules/treeselect/treeselect.cjs.map +1 -1
  343. package/dist/cjs/browser/modules/typography/index.cjs +22 -32
  344. package/dist/cjs/browser/modules/typography/index.cjs.map +1 -1
  345. package/dist/cjs/browser/modules/typography/typography.cjs +19 -12
  346. package/dist/cjs/browser/modules/typography/typography.cjs.map +1 -1
  347. package/dist/cjs/browser/modules/upload/upload.cjs +30 -21
  348. package/dist/cjs/browser/modules/upload/upload.cjs.map +1 -1
  349. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs +20 -6
  350. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs.map +1 -1
  351. package/dist/cjs/button/button.cjs +16 -3
  352. package/dist/cjs/button/button.cjs.map +1 -1
  353. package/dist/cjs/button/button.d.cts +3 -1
  354. package/dist/cjs/button/button.d.cts.map +1 -1
  355. package/dist/cjs/button/group.cjs +25 -10
  356. package/dist/cjs/button/group.cjs.map +1 -1
  357. package/dist/cjs/button/group.d.cts +4 -3
  358. package/dist/cjs/button/group.d.cts.map +1 -1
  359. package/dist/cjs/calendar/calendar.cjs +4 -2
  360. package/dist/cjs/calendar/calendar.cjs.map +1 -1
  361. package/dist/cjs/calendar/calendar.d.cts +1 -1
  362. package/dist/cjs/calendar/calendar.d.cts.map +1 -1
  363. package/dist/cjs/card/card.cjs +41 -6
  364. package/dist/cjs/card/card.cjs.map +1 -1
  365. package/dist/cjs/card/card.d.cts +9 -3
  366. package/dist/cjs/card/card.d.cts.map +1 -1
  367. package/dist/cjs/card/index.d.cts +1 -1
  368. package/dist/cjs/card/index.d.cts.map +1 -1
  369. package/dist/cjs/carousel/carousel.cjs +12 -6
  370. package/dist/cjs/carousel/carousel.cjs.map +1 -1
  371. package/dist/cjs/carousel/carousel.d.cts.map +1 -1
  372. package/dist/cjs/carousel/index.cjs +10 -32
  373. package/dist/cjs/carousel/index.cjs.map +1 -1
  374. package/dist/cjs/carousel/index.d.cts +2 -1
  375. package/dist/cjs/carousel/index.d.cts.map +1 -1
  376. package/dist/cjs/cascader/cascader.cjs +40 -20
  377. package/dist/cjs/cascader/cascader.cjs.map +1 -1
  378. package/dist/cjs/cascader/cascader.d.cts +2 -0
  379. package/dist/cjs/cascader/cascader.d.cts.map +1 -1
  380. package/dist/cjs/cascader/index.cjs +10 -41
  381. package/dist/cjs/cascader/index.cjs.map +1 -1
  382. package/dist/cjs/cascader/index.d.cts +2 -1
  383. package/dist/cjs/cascader/index.d.cts.map +1 -1
  384. package/dist/cjs/checkbox/checkbox.cjs +15 -3
  385. package/dist/cjs/checkbox/checkbox.cjs.map +1 -1
  386. package/dist/cjs/checkbox/checkbox.d.cts +1 -0
  387. package/dist/cjs/checkbox/checkbox.d.cts.map +1 -1
  388. package/dist/cjs/checkbox/group.cjs +4 -2
  389. package/dist/cjs/checkbox/group.cjs.map +1 -1
  390. package/dist/cjs/checkbox/group.d.cts +1 -1
  391. package/dist/cjs/checkbox/group.d.cts.map +1 -1
  392. package/dist/cjs/checkbox/index.cjs +10 -41
  393. package/dist/cjs/checkbox/index.cjs.map +1 -1
  394. package/dist/cjs/checkbox/index.d.cts +2 -1
  395. package/dist/cjs/checkbox/index.d.cts.map +1 -1
  396. package/dist/cjs/collapse/collapse.cjs +4 -2
  397. package/dist/cjs/collapse/collapse.cjs.map +1 -1
  398. package/dist/cjs/collapse/collapse.d.cts +1 -1
  399. package/dist/cjs/collapse/collapse.d.cts.map +1 -1
  400. package/dist/cjs/color-recipes.cjs +5 -0
  401. package/dist/cjs/color-recipes.cjs.map +1 -1
  402. package/dist/cjs/color-recipes.d.cts.map +1 -1
  403. package/dist/cjs/colorpicker/colorpicker.cjs +26 -13
  404. package/dist/cjs/colorpicker/colorpicker.cjs.map +1 -1
  405. package/dist/cjs/colorpicker/colorpicker.d.cts +1 -1
  406. package/dist/cjs/colorpicker/colorpicker.d.cts.map +1 -1
  407. package/dist/cjs/colorpicker/gradient.cjs +35 -19
  408. package/dist/cjs/colorpicker/gradient.cjs.map +1 -1
  409. package/dist/cjs/colorpicker/gradient.d.cts.map +1 -1
  410. package/dist/cjs/commandpalette/commandpalette.cjs +16 -14
  411. package/dist/cjs/commandpalette/commandpalette.cjs.map +1 -1
  412. package/dist/cjs/commandpalette/commandpalette.d.cts +1 -1
  413. package/dist/cjs/commandpalette/commandpalette.d.cts.map +1 -1
  414. package/dist/cjs/commandpalette/index.cjs +10 -32
  415. package/dist/cjs/commandpalette/index.cjs.map +1 -1
  416. package/dist/cjs/commandpalette/index.d.cts +2 -1
  417. package/dist/cjs/commandpalette/index.d.cts.map +1 -1
  418. package/dist/cjs/config-provider/component-defaults.cjs +117 -0
  419. package/dist/cjs/config-provider/component-defaults.cjs.map +1 -0
  420. package/dist/cjs/config-provider/component-defaults.d.cts +365 -0
  421. package/dist/cjs/config-provider/component-defaults.d.cts.map +1 -0
  422. package/dist/cjs/{signaturepad/index.cjs → config-provider/config-context.cjs} +6 -5
  423. package/dist/cjs/config-provider/config-context.cjs.map +1 -0
  424. package/dist/cjs/config-provider/config-context.d.cts +15 -0
  425. package/dist/cjs/config-provider/config-context.d.cts.map +1 -0
  426. package/dist/cjs/config-provider/config-provider.cjs +44 -23
  427. package/dist/cjs/config-provider/config-provider.cjs.map +1 -1
  428. package/dist/cjs/config-provider/config-provider.d.cts +13 -6
  429. package/dist/cjs/config-provider/config-provider.d.cts.map +1 -1
  430. package/dist/cjs/config-provider/context.cjs +20 -207
  431. package/dist/cjs/config-provider/context.cjs.map +1 -1
  432. package/dist/cjs/config-provider/context.d.cts +11 -368
  433. package/dist/cjs/config-provider/context.d.cts.map +1 -1
  434. package/dist/cjs/config-provider/index.cjs +17 -42
  435. package/dist/cjs/config-provider/index.cjs.map +1 -1
  436. package/dist/cjs/config-provider/index.d.cts +2 -2
  437. package/dist/cjs/config-provider/index.d.cts.map +1 -1
  438. package/dist/cjs/confirm/confirm.cjs +10 -8
  439. package/dist/cjs/confirm/confirm.cjs.map +1 -1
  440. package/dist/cjs/confirm/confirm.d.cts +1 -1
  441. package/dist/cjs/confirm/confirm.d.cts.map +1 -1
  442. package/dist/cjs/confirm/provider.cjs +26 -18
  443. package/dist/cjs/confirm/provider.cjs.map +1 -1
  444. package/dist/cjs/confirm/provider.d.cts.map +1 -1
  445. package/dist/cjs/confirm/store.cjs +6 -4
  446. package/dist/cjs/confirm/store.cjs.map +1 -1
  447. package/dist/cjs/confirm/store.d.cts +6 -4
  448. package/dist/cjs/confirm/store.d.cts.map +1 -1
  449. package/dist/cjs/datepicker/datepicker.cjs +7 -5
  450. package/dist/cjs/datepicker/datepicker.cjs.map +1 -1
  451. package/dist/cjs/datepicker/datepicker.d.cts.map +1 -1
  452. package/dist/cjs/datepicker/index.cjs +10 -32
  453. package/dist/cjs/datepicker/index.cjs.map +1 -1
  454. package/dist/cjs/datepicker/index.d.cts +2 -1
  455. package/dist/cjs/datepicker/index.d.cts.map +1 -1
  456. package/dist/cjs/daterangepicker/daterangepicker.cjs +29 -21
  457. package/dist/cjs/daterangepicker/daterangepicker.cjs.map +1 -1
  458. package/dist/cjs/daterangepicker/daterangepicker.d.cts.map +1 -1
  459. package/dist/cjs/datetimepicker/datetimepicker.cjs +24 -16
  460. package/dist/cjs/datetimepicker/datetimepicker.cjs.map +1 -1
  461. package/dist/cjs/datetimepicker/datetimepicker.d.cts.map +1 -1
  462. package/dist/cjs/density.cjs +13 -4
  463. package/dist/cjs/density.cjs.map +1 -1
  464. package/dist/cjs/density.d.cts +3 -1
  465. package/dist/cjs/density.d.cts.map +1 -1
  466. package/dist/cjs/descriptions/descriptions.cjs +7 -5
  467. package/dist/cjs/descriptions/descriptions.cjs.map +1 -1
  468. package/dist/cjs/descriptions/descriptions.d.cts +1 -1
  469. package/dist/cjs/descriptions/descriptions.d.cts.map +1 -1
  470. package/dist/cjs/divider/divider.cjs +3 -1
  471. package/dist/cjs/divider/divider.cjs.map +1 -1
  472. package/dist/cjs/divider/divider.d.cts +1 -1
  473. package/dist/cjs/divider/divider.d.cts.map +1 -1
  474. package/dist/cjs/drawer/drawer.cjs +6 -4
  475. package/dist/cjs/drawer/drawer.cjs.map +1 -1
  476. package/dist/cjs/drawer/drawer.d.cts +1 -1
  477. package/dist/cjs/drawer/drawer.d.cts.map +1 -1
  478. package/dist/cjs/dropdown/dropdown.cjs +16 -4
  479. package/dist/cjs/dropdown/dropdown.cjs.map +1 -1
  480. package/dist/cjs/dropdown/dropdown.d.cts +2 -1
  481. package/dist/cjs/dropdown/dropdown.d.cts.map +1 -1
  482. package/dist/cjs/empty/empty.cjs +5 -3
  483. package/dist/cjs/empty/empty.cjs.map +1 -1
  484. package/dist/cjs/empty/empty.d.cts +1 -1
  485. package/dist/cjs/empty/empty.d.cts.map +1 -1
  486. package/dist/cjs/errorboundary/errorboundary.cjs +25 -14
  487. package/dist/cjs/errorboundary/errorboundary.cjs.map +1 -1
  488. package/dist/cjs/errorboundary/errorboundary.d.cts +8 -2
  489. package/dist/cjs/errorboundary/errorboundary.d.cts.map +1 -1
  490. package/dist/cjs/filelist/filelist.cjs +287 -192
  491. package/dist/cjs/filelist/filelist.cjs.map +1 -1
  492. package/dist/cjs/filelist/filelist.d.cts +2 -1
  493. package/dist/cjs/filelist/filelist.d.cts.map +1 -1
  494. package/dist/cjs/flex/flex.cjs +74 -0
  495. package/dist/cjs/flex/flex.cjs.map +1 -0
  496. package/dist/cjs/flex/flex.d.cts +13 -0
  497. package/dist/cjs/flex/flex.d.cts.map +1 -0
  498. package/dist/cjs/{imagecropper → flex}/index.cjs +4 -4
  499. package/dist/cjs/flex/index.cjs.map +1 -0
  500. package/dist/cjs/flex/index.d.cts +2 -0
  501. package/dist/cjs/flex/index.d.cts.map +1 -0
  502. package/dist/cjs/floatbutton/floatbutton.cjs +22 -11
  503. package/dist/cjs/floatbutton/floatbutton.cjs.map +1 -1
  504. package/dist/cjs/floatbutton/floatbutton.d.cts +5 -3
  505. package/dist/cjs/floatbutton/floatbutton.d.cts.map +1 -1
  506. package/dist/cjs/floatbutton/index.cjs +16 -32
  507. package/dist/cjs/floatbutton/index.cjs.map +1 -1
  508. package/dist/cjs/floatbutton/index.d.cts +2 -1
  509. package/dist/cjs/floatbutton/index.d.cts.map +1 -1
  510. package/dist/cjs/form/form.cjs +14 -9
  511. package/dist/cjs/form/form.cjs.map +1 -1
  512. package/dist/cjs/form/form.d.cts +3 -3
  513. package/dist/cjs/form/form.d.cts.map +1 -1
  514. package/dist/cjs/form/index.cjs +16 -54
  515. package/dist/cjs/form/index.cjs.map +1 -1
  516. package/dist/cjs/form/index.d.cts +2 -1
  517. package/dist/cjs/form/index.d.cts.map +1 -1
  518. package/dist/cjs/form/list.cjs +3 -1
  519. package/dist/cjs/form/list.cjs.map +1 -1
  520. package/dist/cjs/form/list.d.cts +1 -1
  521. package/dist/cjs/form/list.d.cts.map +1 -1
  522. package/dist/cjs/grid/grid.cjs +18 -4
  523. package/dist/cjs/grid/grid.cjs.map +1 -1
  524. package/dist/cjs/grid/grid.d.cts +2 -1
  525. package/dist/cjs/grid/grid.d.cts.map +1 -1
  526. package/dist/cjs/image/image.cjs +25 -9
  527. package/dist/cjs/image/image.cjs.map +1 -1
  528. package/dist/cjs/image/image.d.cts +3 -2
  529. package/dist/cjs/image/image.d.cts.map +1 -1
  530. package/dist/cjs/image/viewer.cjs +34 -25
  531. package/dist/cjs/image/viewer.cjs.map +1 -1
  532. package/dist/cjs/image/viewer.d.cts.map +1 -1
  533. package/dist/cjs/index.cjs +4 -8
  534. package/dist/cjs/index.d.cts +6 -7
  535. package/dist/cjs/index.d.cts.map +1 -1
  536. package/dist/cjs/infinitescroll/infinitescroll.cjs +12 -10
  537. package/dist/cjs/infinitescroll/infinitescroll.cjs.map +1 -1
  538. package/dist/cjs/infinitescroll/infinitescroll.d.cts +1 -1
  539. package/dist/cjs/infinitescroll/infinitescroll.d.cts.map +1 -1
  540. package/dist/cjs/input/group.cjs +18 -8
  541. package/dist/cjs/input/group.cjs.map +1 -1
  542. package/dist/cjs/input/group.d.cts +1 -1
  543. package/dist/cjs/input/group.d.cts.map +1 -1
  544. package/dist/cjs/input/index.cjs +11 -43
  545. package/dist/cjs/input/index.cjs.map +1 -1
  546. package/dist/cjs/input/index.d.cts +2 -1
  547. package/dist/cjs/input/index.d.cts.map +1 -1
  548. package/dist/cjs/input/input.cjs +16 -5
  549. package/dist/cjs/input/input.cjs.map +1 -1
  550. package/dist/cjs/input/input.d.cts +1 -0
  551. package/dist/cjs/input/input.d.cts.map +1 -1
  552. package/dist/cjs/inputmask/inputmask.cjs +5 -3
  553. package/dist/cjs/inputmask/inputmask.cjs.map +1 -1
  554. package/dist/cjs/inputmask/inputmask.d.cts +1 -1
  555. package/dist/cjs/inputmask/inputmask.d.cts.map +1 -1
  556. package/dist/cjs/inputnumber/inputnumber.cjs +19 -7
  557. package/dist/cjs/inputnumber/inputnumber.cjs.map +1 -1
  558. package/dist/cjs/inputnumber/inputnumber.d.cts +1 -0
  559. package/dist/cjs/inputnumber/inputnumber.d.cts.map +1 -1
  560. package/dist/cjs/inputnumber/string.cjs +3 -3
  561. package/dist/cjs/inputnumber/string.cjs.map +1 -1
  562. package/dist/cjs/inputnumber/string.d.cts.map +1 -1
  563. package/dist/cjs/inputotp/inputotp.cjs +4 -2
  564. package/dist/cjs/inputotp/inputotp.cjs.map +1 -1
  565. package/dist/cjs/inputotp/inputotp.d.cts.map +1 -1
  566. package/dist/cjs/layout/layout.cjs +15 -9
  567. package/dist/cjs/layout/layout.cjs.map +1 -1
  568. package/dist/cjs/layout/layout.d.cts.map +1 -1
  569. package/dist/cjs/loading/loading.cjs +14 -4
  570. package/dist/cjs/loading/loading.cjs.map +1 -1
  571. package/dist/cjs/loading/loading.d.cts +2 -1
  572. package/dist/cjs/loading/loading.d.cts.map +1 -1
  573. package/dist/cjs/loadingbar/loadingbar.cjs +54 -9
  574. package/dist/cjs/loadingbar/loadingbar.cjs.map +1 -1
  575. package/dist/cjs/loadingbar/loadingbar.d.cts +2 -1
  576. package/dist/cjs/loadingbar/loadingbar.d.cts.map +1 -1
  577. package/dist/cjs/locales/en-US.cjs +1 -0
  578. package/dist/cjs/locales/ja-JP.cjs +1 -0
  579. package/dist/cjs/locales/ko-KR.cjs +1 -0
  580. package/dist/cjs/locales/messages.cjs +21 -0
  581. package/dist/cjs/locales/messages.cjs.map +1 -0
  582. package/dist/cjs/locales/messages.d.cts +336 -0
  583. package/dist/cjs/locales/messages.d.cts.map +1 -0
  584. package/dist/cjs/locales/resolve.cjs +153 -0
  585. package/dist/cjs/locales/resolve.cjs.map +1 -0
  586. package/dist/cjs/locales/resolve.d.cts +13 -0
  587. package/dist/cjs/locales/resolve.d.cts.map +1 -0
  588. package/dist/cjs/locales/types.cjs +21 -0
  589. package/dist/cjs/locales/types.cjs.map +1 -0
  590. package/dist/cjs/locales/types.d.cts +18 -0
  591. package/dist/cjs/locales/types.d.cts.map +1 -0
  592. package/dist/cjs/locales/zh-CN.cjs +1 -0
  593. package/dist/cjs/locales/zh-TW.cjs +1 -0
  594. package/dist/cjs/masonry/masonry.cjs +7 -5
  595. package/dist/cjs/masonry/masonry.cjs.map +1 -1
  596. package/dist/cjs/masonry/masonry.d.cts.map +1 -1
  597. package/dist/cjs/mentions/index.cjs +10 -32
  598. package/dist/cjs/mentions/index.cjs.map +1 -1
  599. package/dist/cjs/mentions/index.d.cts +2 -1
  600. package/dist/cjs/mentions/index.d.cts.map +1 -1
  601. package/dist/cjs/mentions/mentions.cjs +9 -6
  602. package/dist/cjs/mentions/mentions.cjs.map +1 -1
  603. package/dist/cjs/mentions/mentions.d.cts +1 -1
  604. package/dist/cjs/mentions/mentions.d.cts.map +1 -1
  605. package/dist/cjs/menu/menu.cjs +6 -4
  606. package/dist/cjs/menu/menu.cjs.map +1 -1
  607. package/dist/cjs/menu/menu.d.cts +1 -1
  608. package/dist/cjs/menu/menu.d.cts.map +1 -1
  609. package/dist/cjs/message/item.cjs +1 -1
  610. package/dist/cjs/message/item.cjs.map +1 -1
  611. package/dist/cjs/message/message.cjs +10 -4
  612. package/dist/cjs/message/message.cjs.map +1 -1
  613. package/dist/cjs/message/message.d.cts +1 -1
  614. package/dist/cjs/message/message.d.cts.map +1 -1
  615. package/dist/cjs/message/provider.cjs +8 -4
  616. package/dist/cjs/message/provider.cjs.map +1 -1
  617. package/dist/cjs/message/provider.d.cts.map +1 -1
  618. package/dist/cjs/message/store.cjs +12 -6
  619. package/dist/cjs/message/store.cjs.map +1 -1
  620. package/dist/cjs/message/store.d.cts +6 -4
  621. package/dist/cjs/message/store.d.cts.map +1 -1
  622. package/dist/cjs/modal/modal.cjs +25 -13
  623. package/dist/cjs/modal/modal.cjs.map +1 -1
  624. package/dist/cjs/modal/modal.d.cts +3 -2
  625. package/dist/cjs/modal/modal.d.cts.map +1 -1
  626. package/dist/cjs/notification/notification.cjs +27 -14
  627. package/dist/cjs/notification/notification.cjs.map +1 -1
  628. package/dist/cjs/notification/notification.d.cts +1 -1
  629. package/dist/cjs/notification/notification.d.cts.map +1 -1
  630. package/dist/cjs/pagination/pagination.cjs +74 -26
  631. package/dist/cjs/pagination/pagination.cjs.map +1 -1
  632. package/dist/cjs/pagination/pagination.d.cts +4 -2
  633. package/dist/cjs/pagination/pagination.d.cts.map +1 -1
  634. package/dist/cjs/popconfirm/popconfirm.cjs +12 -10
  635. package/dist/cjs/popconfirm/popconfirm.cjs.map +1 -1
  636. package/dist/cjs/popconfirm/popconfirm.d.cts +3 -3
  637. package/dist/cjs/popconfirm/popconfirm.d.cts.map +1 -1
  638. package/dist/cjs/popover/popover.cjs +13 -3
  639. package/dist/cjs/popover/popover.cjs.map +1 -1
  640. package/dist/cjs/popover/popover.d.cts +2 -1
  641. package/dist/cjs/popover/popover.d.cts.map +1 -1
  642. package/dist/cjs/progress/progress.cjs +5 -3
  643. package/dist/cjs/progress/progress.cjs.map +1 -1
  644. package/dist/cjs/progress/progress.d.cts +1 -1
  645. package/dist/cjs/progress/progress.d.cts.map +1 -1
  646. package/dist/cjs/qrcode/qrcode.cjs +10 -8
  647. package/dist/cjs/qrcode/qrcode.cjs.map +1 -1
  648. package/dist/cjs/qrcode/qrcode.d.cts +1 -1
  649. package/dist/cjs/qrcode/qrcode.d.cts.map +1 -1
  650. package/dist/cjs/radio/index.cjs +13 -32
  651. package/dist/cjs/radio/index.cjs.map +1 -1
  652. package/dist/cjs/radio/index.d.cts +2 -1
  653. package/dist/cjs/radio/index.d.cts.map +1 -1
  654. package/dist/cjs/radio/radio.cjs +17 -4
  655. package/dist/cjs/radio/radio.cjs.map +1 -1
  656. package/dist/cjs/radio/radio.d.cts +2 -1
  657. package/dist/cjs/radio/radio.d.cts.map +1 -1
  658. package/dist/cjs/rate/rate.cjs +8 -6
  659. package/dist/cjs/rate/rate.cjs.map +1 -1
  660. package/dist/cjs/rate/rate.d.cts +1 -1
  661. package/dist/cjs/rate/rate.d.cts.map +1 -1
  662. package/dist/cjs/result/result.cjs +14 -4
  663. package/dist/cjs/result/result.cjs.map +1 -1
  664. package/dist/cjs/result/result.d.cts +2 -1
  665. package/dist/cjs/result/result.d.cts.map +1 -1
  666. package/dist/cjs/scrollarea/scrollarea.cjs +5 -3
  667. package/dist/cjs/scrollarea/scrollarea.cjs.map +1 -1
  668. package/dist/cjs/scrollarea/scrollarea.d.cts +1 -1
  669. package/dist/cjs/scrollarea/scrollarea.d.cts.map +1 -1
  670. package/dist/cjs/scrollbar/scrollbar.cjs +16 -4
  671. package/dist/cjs/scrollbar/scrollbar.cjs.map +1 -1
  672. package/dist/cjs/scrollbar/scrollbar.d.cts +1 -0
  673. package/dist/cjs/scrollbar/scrollbar.d.cts.map +1 -1
  674. package/dist/cjs/segmented/segmented.cjs +3 -1
  675. package/dist/cjs/segmented/segmented.cjs.map +1 -1
  676. package/dist/cjs/segmented/segmented.d.cts.map +1 -1
  677. package/dist/cjs/select/index.cjs +10 -32
  678. package/dist/cjs/select/index.cjs.map +1 -1
  679. package/dist/cjs/select/index.d.cts +2 -2
  680. package/dist/cjs/select/index.d.cts.map +1 -1
  681. package/dist/cjs/select/select.cjs +179 -209
  682. package/dist/cjs/select/select.cjs.map +1 -1
  683. package/dist/cjs/select/select.d.cts +3 -0
  684. package/dist/cjs/select/select.d.cts.map +1 -1
  685. package/dist/cjs/shared/calendar.cjs +6 -6
  686. package/dist/cjs/shared/calendar.cjs.map +1 -1
  687. package/dist/cjs/shared/calendar.d.cts.map +1 -1
  688. package/dist/cjs/shared/date-input.cjs +6 -6
  689. package/dist/cjs/shared/date-input.cjs.map +1 -1
  690. package/dist/cjs/shared/floating-feedback.cjs +62 -0
  691. package/dist/cjs/shared/floating-feedback.cjs.map +1 -0
  692. package/dist/cjs/shared/floating-feedback.d.cts +7 -0
  693. package/dist/cjs/shared/floating-feedback.d.cts.map +1 -0
  694. package/dist/cjs/shared/floating.cjs +1 -0
  695. package/dist/cjs/shared/floating.cjs.map +1 -1
  696. package/dist/cjs/shared/floating.d.cts.map +1 -1
  697. package/dist/cjs/shared/motion.cjs +3 -3
  698. package/dist/cjs/shared/motion.cjs.map +1 -1
  699. package/dist/cjs/shared/motion.d.cts.map +1 -1
  700. package/dist/cjs/shared/parse-date.cjs +2 -2
  701. package/dist/cjs/shared/parse-date.cjs.map +1 -1
  702. package/dist/cjs/shared/parse-date.d.cts +1 -1
  703. package/dist/cjs/shared/parse-date.d.cts.map +1 -1
  704. package/dist/cjs/shared/scoped-portal.cjs +17 -2
  705. package/dist/cjs/shared/scoped-portal.cjs.map +1 -1
  706. package/dist/cjs/shared/scoped-portal.d.cts.map +1 -1
  707. package/dist/cjs/shared/selection-content.cjs +202 -0
  708. package/dist/cjs/shared/selection-content.cjs.map +1 -0
  709. package/dist/cjs/shared/selection-content.d.cts +22 -0
  710. package/dist/cjs/shared/selection-content.d.cts.map +1 -0
  711. package/dist/cjs/shared/time.cjs +16 -2
  712. package/dist/cjs/shared/time.cjs.map +1 -1
  713. package/dist/cjs/shared/time.d.cts +1 -1
  714. package/dist/cjs/shared/time.d.cts.map +1 -1
  715. package/dist/cjs/shared/types.d.cts +1 -1
  716. package/dist/cjs/shared/use-drag-announcements.cjs +66 -0
  717. package/dist/cjs/shared/use-drag-announcements.cjs.map +1 -0
  718. package/dist/cjs/shared/use-drag-announcements.d.cts +8 -0
  719. package/dist/cjs/shared/use-drag-announcements.d.cts.map +1 -0
  720. package/dist/cjs/shared/use-formatted-text.cjs +118 -0
  721. package/dist/cjs/shared/use-formatted-text.cjs.map +1 -0
  722. package/dist/cjs/shared/use-formatted-text.d.cts +4 -0
  723. package/dist/cjs/shared/use-formatted-text.d.cts.map +1 -0
  724. package/dist/cjs/shared/use-text.cjs +3 -3
  725. package/dist/cjs/shared/use-text.cjs.map +1 -1
  726. package/dist/cjs/shared/use-text.d.cts +3 -2
  727. package/dist/cjs/shared/use-text.d.cts.map +1 -1
  728. package/dist/cjs/skeleton/skeleton.cjs +14 -4
  729. package/dist/cjs/skeleton/skeleton.cjs.map +1 -1
  730. package/dist/cjs/skeleton/skeleton.d.cts +2 -1
  731. package/dist/cjs/skeleton/skeleton.d.cts.map +1 -1
  732. package/dist/cjs/slider/slider.cjs +18 -6
  733. package/dist/cjs/slider/slider.cjs.map +1 -1
  734. package/dist/cjs/slider/slider.d.cts +1 -0
  735. package/dist/cjs/slider/slider.d.cts.map +1 -1
  736. package/dist/cjs/space/space.cjs +3 -1
  737. package/dist/cjs/space/space.cjs.map +1 -1
  738. package/dist/cjs/space/space.d.cts.map +1 -1
  739. package/dist/cjs/splitter/index.cjs +13 -32
  740. package/dist/cjs/splitter/index.cjs.map +1 -1
  741. package/dist/cjs/splitter/index.d.cts +2 -1
  742. package/dist/cjs/splitter/index.d.cts.map +1 -1
  743. package/dist/cjs/splitter/splitter.cjs +9 -3
  744. package/dist/cjs/splitter/splitter.cjs.map +1 -1
  745. package/dist/cjs/splitter/splitter.d.cts +1 -1
  746. package/dist/cjs/splitter/splitter.d.cts.map +1 -1
  747. package/dist/cjs/statistic/index.cjs +13 -32
  748. package/dist/cjs/statistic/index.cjs.map +1 -1
  749. package/dist/cjs/statistic/index.d.cts +2 -1
  750. package/dist/cjs/statistic/index.d.cts.map +1 -1
  751. package/dist/cjs/statistic/statistic.cjs +17 -6
  752. package/dist/cjs/statistic/statistic.cjs.map +1 -1
  753. package/dist/cjs/statistic/statistic.d.cts +3 -2
  754. package/dist/cjs/statistic/statistic.d.cts.map +1 -1
  755. package/dist/cjs/steps/steps.cjs +3 -1
  756. package/dist/cjs/steps/steps.cjs.map +1 -1
  757. package/dist/cjs/steps/steps.d.cts +1 -1
  758. package/dist/cjs/steps/steps.d.cts.map +1 -1
  759. package/dist/cjs/styles/alert.css +1 -1
  760. package/dist/cjs/styles/anchor.css +1 -1
  761. package/dist/cjs/styles/appbar.css +1 -1
  762. package/dist/cjs/styles/autocomplete.css +1 -1
  763. package/dist/cjs/styles/avatar.css +1 -1
  764. package/dist/cjs/styles/backtop.css +1 -1
  765. package/dist/cjs/styles/badge.css +1 -1
  766. package/dist/cjs/styles/base.css +1 -2
  767. package/dist/cjs/styles/breadcrumb.css +1 -1
  768. package/dist/cjs/styles/button.css +1 -1
  769. package/dist/cjs/styles/calendar.css +1 -1
  770. package/dist/cjs/styles/card.css +1 -1
  771. package/dist/cjs/styles/carousel.css +1 -1
  772. package/dist/cjs/styles/cascader.css +1 -1
  773. package/dist/cjs/styles/checkbox.css +1 -1
  774. package/dist/cjs/styles/collapse.css +1 -1
  775. package/dist/cjs/styles/colorpicker.css +1 -1
  776. package/dist/cjs/styles/commandpalette.css +1 -1
  777. package/dist/cjs/styles/components/autocomplete.css +1 -1
  778. package/dist/cjs/styles/components/button.css +1 -1
  779. package/dist/cjs/styles/components/card.css +1 -1
  780. package/dist/cjs/styles/components/cascader.css +1 -1
  781. package/dist/cjs/styles/components/checkbox.css +1 -1
  782. package/dist/cjs/styles/components/collapse.css +1 -1
  783. package/dist/cjs/styles/components/colorpicker.css +1 -1
  784. package/dist/cjs/styles/components/commandpalette.css +1 -1
  785. package/dist/cjs/styles/components/datepicker.css +1 -1
  786. package/dist/cjs/styles/components/drawer.css +1 -1
  787. package/dist/cjs/styles/components/dropdown.css +1 -1
  788. package/dist/cjs/styles/components/filelist.css +1 -1
  789. package/dist/cjs/styles/components/flex.css +1 -0
  790. package/dist/cjs/styles/components/floatbutton.css +1 -1
  791. package/dist/cjs/styles/components/form.css +1 -1
  792. package/dist/cjs/styles/components/input.css +1 -1
  793. package/dist/cjs/styles/components/inputnumber.css +1 -1
  794. package/dist/cjs/styles/components/inputotp.css +1 -1
  795. package/dist/cjs/styles/components/mentions.css +1 -1
  796. package/dist/cjs/styles/components/menu.css +1 -1
  797. package/dist/cjs/styles/components/modal.css +1 -1
  798. package/dist/cjs/styles/components/pagination.css +1 -1
  799. package/dist/cjs/styles/components/radio.css +1 -1
  800. package/dist/cjs/styles/components/segmented.css +1 -1
  801. package/dist/cjs/styles/components/select.css +1 -1
  802. package/dist/cjs/styles/components/steps.css +1 -1
  803. package/dist/cjs/styles/components/switch.css +1 -1
  804. package/dist/cjs/styles/components/tabs.css +1 -1
  805. package/dist/cjs/styles/components/tag.css +1 -1
  806. package/dist/cjs/styles/components/textarea.css +1 -1
  807. package/dist/cjs/styles/components/timepicker.css +1 -1
  808. package/dist/cjs/styles/components/tree.css +1 -1
  809. package/dist/cjs/styles/components/treeselect.css +1 -1
  810. package/dist/cjs/styles/config-provider.css +1 -1
  811. package/dist/cjs/styles/confirm.css +1 -1
  812. package/dist/cjs/styles/datepicker.css +1 -1
  813. package/dist/cjs/styles/daterangepicker.css +1 -1
  814. package/dist/cjs/styles/datetimepicker.css +1 -1
  815. package/dist/cjs/styles/descriptions.css +1 -1
  816. package/dist/cjs/styles/divider.css +1 -1
  817. package/dist/cjs/styles/drawer.css +1 -1
  818. package/dist/cjs/styles/dropdown.css +1 -1
  819. package/dist/cjs/styles/empty.css +1 -1
  820. package/dist/cjs/styles/errorboundary.css +1 -1
  821. package/dist/cjs/styles/filelist.css +1 -1
  822. package/dist/cjs/styles/flex.css +1 -0
  823. package/dist/cjs/styles/floatbutton.css +1 -1
  824. package/dist/cjs/styles/form.css +1 -1
  825. package/dist/cjs/styles/foundation.css +1 -0
  826. package/dist/cjs/styles/grid.css +1 -1
  827. package/dist/cjs/styles/image.css +1 -1
  828. package/dist/cjs/styles/index.css +886 -941
  829. package/dist/cjs/styles/index.css.map +1 -1
  830. package/dist/cjs/styles/infinitescroll.css +1 -1
  831. package/dist/cjs/styles/input.css +1 -1
  832. package/dist/cjs/styles/inputmask.css +1 -1
  833. package/dist/cjs/styles/inputnumber.css +1 -1
  834. package/dist/cjs/styles/inputotp.css +1 -1
  835. package/dist/cjs/styles/layout.css +1 -1
  836. package/dist/cjs/styles/loading.css +1 -1
  837. package/dist/cjs/styles/loadingbar.css +1 -1
  838. package/dist/cjs/styles/masonry.css +1 -1
  839. package/dist/cjs/styles/mentions.css +1 -1
  840. package/dist/cjs/styles/menu.css +1 -1
  841. package/dist/cjs/styles/message.css +1 -1
  842. package/dist/cjs/styles/modal.css +1 -1
  843. package/dist/cjs/styles/notification.css +1 -1
  844. package/dist/cjs/styles/pagination.css +1 -1
  845. package/dist/cjs/styles/popconfirm.css +1 -1
  846. package/dist/cjs/styles/popover.css +1 -1
  847. package/dist/cjs/styles/progress.css +1 -1
  848. package/dist/cjs/styles/qrcode.css +1 -1
  849. package/dist/cjs/styles/radio.css +1 -1
  850. package/dist/cjs/styles/rate.css +1 -1
  851. package/dist/cjs/styles/result.css +1 -1
  852. package/dist/cjs/styles/scrollarea.css +1 -1
  853. package/dist/cjs/styles/scrollbar.css +1 -1
  854. package/dist/cjs/styles/segmented.css +1 -1
  855. package/dist/cjs/styles/select.css +1 -1
  856. package/dist/cjs/styles/skeleton.css +1 -1
  857. package/dist/cjs/styles/slider.css +1 -1
  858. package/dist/cjs/styles/space.css +1 -1
  859. package/dist/cjs/styles/splitter.css +1 -1
  860. package/dist/cjs/styles/statistic.css +1 -1
  861. package/dist/cjs/styles/steps.css +1 -1
  862. package/dist/cjs/styles/switch.css +1 -1
  863. package/dist/cjs/styles/table.css +1 -1
  864. package/dist/cjs/styles/tabletanstack.css +1 -1
  865. package/dist/cjs/styles/tabs.css +1 -1
  866. package/dist/cjs/styles/tag.css +1 -1
  867. package/dist/cjs/styles/textarea.css +1 -1
  868. package/dist/cjs/styles/timeline.css +1 -1
  869. package/dist/cjs/styles/timepicker.css +1 -1
  870. package/dist/cjs/styles/timerangepicker.css +1 -1
  871. package/dist/cjs/styles/tooltip.css +1 -1
  872. package/dist/cjs/styles/tour.css +1 -1
  873. package/dist/cjs/styles/transfer.css +1 -1
  874. package/dist/cjs/styles/tree.css +1 -1
  875. package/dist/cjs/styles/treeselect.css +1 -1
  876. package/dist/cjs/styles/typography.css +1 -1
  877. package/dist/cjs/styles/upload.css +1 -1
  878. package/dist/cjs/styles/virtuallist.css +1 -1
  879. package/dist/cjs/switch/index.cjs +10 -32
  880. package/dist/cjs/switch/index.cjs.map +1 -1
  881. package/dist/cjs/switch/index.d.cts +2 -1
  882. package/dist/cjs/switch/index.d.cts.map +1 -1
  883. package/dist/cjs/switch/switch.cjs +3 -1
  884. package/dist/cjs/switch/switch.cjs.map +1 -1
  885. package/dist/cjs/switch/switch.d.cts.map +1 -1
  886. package/dist/cjs/table/table.cjs +147 -32
  887. package/dist/cjs/table/table.cjs.map +1 -1
  888. package/dist/cjs/table/table.d.cts +28 -5
  889. package/dist/cjs/table/table.d.cts.map +1 -1
  890. package/dist/cjs/tabletanstack/defaults.cjs +21 -0
  891. package/dist/cjs/tabletanstack/defaults.cjs.map +1 -0
  892. package/dist/cjs/tabletanstack/defaults.d.cts +44 -0
  893. package/dist/cjs/tabletanstack/defaults.d.cts.map +1 -0
  894. package/dist/cjs/tabletanstack/index.d.cts +1 -1
  895. package/dist/cjs/tabletanstack/index.d.cts.map +1 -1
  896. package/dist/cjs/tabletanstack/reordering.cjs +18 -10
  897. package/dist/cjs/tabletanstack/reordering.cjs.map +1 -1
  898. package/dist/cjs/tabletanstack/reordering.d.cts +1 -1
  899. package/dist/cjs/tabletanstack/reordering.d.cts.map +1 -1
  900. package/dist/cjs/tabletanstack/tabletanstack.cjs +115 -69
  901. package/dist/cjs/tabletanstack/tabletanstack.cjs.map +1 -1
  902. package/dist/cjs/tabletanstack/tabletanstack.d.cts +15 -49
  903. package/dist/cjs/tabletanstack/tabletanstack.d.cts.map +1 -1
  904. package/dist/cjs/tabs/tabs.cjs +121 -173
  905. package/dist/cjs/tabs/tabs.cjs.map +1 -1
  906. package/dist/cjs/tabs/tabs.d.cts +2 -1
  907. package/dist/cjs/tabs/tabs.d.cts.map +1 -1
  908. package/dist/cjs/tag/group.cjs +5 -2
  909. package/dist/cjs/tag/group.cjs.map +1 -1
  910. package/dist/cjs/tag/group.d.cts +2 -2
  911. package/dist/cjs/tag/group.d.cts.map +1 -1
  912. package/dist/cjs/tag/tag.cjs +4 -8
  913. package/dist/cjs/tag/tag.cjs.map +1 -1
  914. package/dist/cjs/tag/tag.d.cts +2 -2
  915. package/dist/cjs/tag/tag.d.cts.map +1 -1
  916. package/dist/cjs/tailwind-tokens.cjs +131 -0
  917. package/dist/cjs/tailwind-tokens.cjs.map +1 -0
  918. package/dist/cjs/tailwind-tokens.d.cts +91 -0
  919. package/dist/cjs/tailwind-tokens.d.cts.map +1 -0
  920. package/dist/cjs/tailwind.cjs +62 -0
  921. package/dist/cjs/tailwind.cjs.map +1 -0
  922. package/dist/cjs/tailwind.d.cts +136 -0
  923. package/dist/cjs/tailwind.d.cts.map +1 -0
  924. package/dist/cjs/textarea/index.cjs +10 -32
  925. package/dist/cjs/textarea/index.cjs.map +1 -1
  926. package/dist/cjs/textarea/index.d.cts +2 -2
  927. package/dist/cjs/textarea/index.d.cts.map +1 -1
  928. package/dist/cjs/textarea/textarea.cjs +15 -3
  929. package/dist/cjs/textarea/textarea.cjs.map +1 -1
  930. package/dist/cjs/textarea/textarea.d.cts +1 -0
  931. package/dist/cjs/textarea/textarea.d.cts.map +1 -1
  932. package/dist/cjs/timeline/timeline.cjs +3 -1
  933. package/dist/cjs/timeline/timeline.cjs.map +1 -1
  934. package/dist/cjs/timeline/timeline.d.cts +1 -1
  935. package/dist/cjs/timeline/timeline.d.cts.map +1 -1
  936. package/dist/cjs/timepicker/index.cjs +10 -32
  937. package/dist/cjs/timepicker/index.cjs.map +1 -1
  938. package/dist/cjs/timepicker/index.d.cts +2 -1
  939. package/dist/cjs/timepicker/index.d.cts.map +1 -1
  940. package/dist/cjs/timepicker/time-panel.cjs +6 -6
  941. package/dist/cjs/timepicker/time-panel.cjs.map +1 -1
  942. package/dist/cjs/timepicker/timepicker.cjs +21 -13
  943. package/dist/cjs/timepicker/timepicker.cjs.map +1 -1
  944. package/dist/cjs/timepicker/timepicker.d.cts.map +1 -1
  945. package/dist/cjs/timerangepicker/timerangepicker.cjs +20 -14
  946. package/dist/cjs/timerangepicker/timerangepicker.cjs.map +1 -1
  947. package/dist/cjs/timerangepicker/timerangepicker.d.cts.map +1 -1
  948. package/dist/cjs/tooltip/tooltip.cjs +13 -3
  949. package/dist/cjs/tooltip/tooltip.cjs.map +1 -1
  950. package/dist/cjs/tooltip/tooltip.d.cts +2 -1
  951. package/dist/cjs/tooltip/tooltip.d.cts.map +1 -1
  952. package/dist/cjs/tour/index.cjs +10 -32
  953. package/dist/cjs/tour/index.cjs.map +1 -1
  954. package/dist/cjs/tour/index.d.cts +2 -1
  955. package/dist/cjs/tour/index.d.cts.map +1 -1
  956. package/dist/cjs/tour/tour.cjs +10 -8
  957. package/dist/cjs/tour/tour.cjs.map +1 -1
  958. package/dist/cjs/tour/tour.d.cts +1 -1
  959. package/dist/cjs/tour/tour.d.cts.map +1 -1
  960. package/dist/cjs/transfer/transfer.cjs +26 -21
  961. package/dist/cjs/transfer/transfer.cjs.map +1 -1
  962. package/dist/cjs/transfer/transfer.d.cts +1 -1
  963. package/dist/cjs/transfer/transfer.d.cts.map +1 -1
  964. package/dist/cjs/tree/drag.cjs +13 -11
  965. package/dist/cjs/tree/drag.cjs.map +1 -1
  966. package/dist/cjs/tree/drag.d.cts.map +1 -1
  967. package/dist/cjs/tree/tree.cjs +32 -13
  968. package/dist/cjs/tree/tree.cjs.map +1 -1
  969. package/dist/cjs/tree/tree.d.cts +5 -1
  970. package/dist/cjs/tree/tree.d.cts.map +1 -1
  971. package/dist/cjs/treeselect/treeselect.cjs +153 -112
  972. package/dist/cjs/treeselect/treeselect.cjs.map +1 -1
  973. package/dist/cjs/treeselect/treeselect.d.cts +4 -2
  974. package/dist/cjs/treeselect/treeselect.d.cts.map +1 -1
  975. package/dist/cjs/typography/index.cjs +22 -32
  976. package/dist/cjs/typography/index.cjs.map +1 -1
  977. package/dist/cjs/typography/index.d.cts +2 -1
  978. package/dist/cjs/typography/index.d.cts.map +1 -1
  979. package/dist/cjs/typography/typography.cjs +18 -12
  980. package/dist/cjs/typography/typography.cjs.map +1 -1
  981. package/dist/cjs/typography/typography.d.cts.map +1 -1
  982. package/dist/cjs/upload/upload.cjs +29 -21
  983. package/dist/cjs/upload/upload.cjs.map +1 -1
  984. package/dist/cjs/upload/upload.d.cts +1 -1
  985. package/dist/cjs/upload/upload.d.cts.map +1 -1
  986. package/dist/cjs/virtuallist/virtuallist.cjs +19 -6
  987. package/dist/cjs/virtuallist/virtuallist.cjs.map +1 -1
  988. package/dist/cjs/virtuallist/virtuallist.d.cts +1 -0
  989. package/dist/cjs/virtuallist/virtuallist.d.cts.map +1 -1
  990. package/dist/esm/alert/alert.d.ts +1 -1
  991. package/dist/esm/alert/alert.d.ts.map +1 -1
  992. package/dist/esm/alert/alert.js +4 -2
  993. package/dist/esm/alert/alert.js.map +1 -1
  994. package/dist/esm/anchor/anchor.d.ts +2 -2
  995. package/dist/esm/anchor/anchor.d.ts.map +1 -1
  996. package/dist/esm/anchor/anchor.js +5 -2
  997. package/dist/esm/anchor/anchor.js.map +1 -1
  998. package/dist/esm/anchor/index.d.ts +2 -1
  999. package/dist/esm/anchor/index.d.ts.map +1 -1
  1000. package/dist/esm/anchor/index.js +1 -1
  1001. package/dist/esm/appbar/appbar.d.ts +1 -1
  1002. package/dist/esm/appbar/appbar.d.ts.map +1 -1
  1003. package/dist/esm/appbar/appbar.js +7 -3
  1004. package/dist/esm/appbar/appbar.js.map +1 -1
  1005. package/dist/esm/appbar/index.d.ts +2 -1
  1006. package/dist/esm/appbar/index.d.ts.map +1 -1
  1007. package/dist/esm/appbar/index.js +1 -1
  1008. package/dist/esm/autocomplete/autocomplete.d.ts.map +1 -1
  1009. package/dist/esm/autocomplete/autocomplete.js +35 -16
  1010. package/dist/esm/autocomplete/autocomplete.js.map +1 -1
  1011. package/dist/esm/autocomplete/index.d.ts +2 -1
  1012. package/dist/esm/autocomplete/index.d.ts.map +1 -1
  1013. package/dist/esm/autocomplete/index.js +1 -1
  1014. package/dist/esm/avatar/avatar.d.ts +2 -1
  1015. package/dist/esm/avatar/avatar.d.ts.map +1 -1
  1016. package/dist/esm/avatar/avatar.js +10 -3
  1017. package/dist/esm/avatar/avatar.js.map +1 -1
  1018. package/dist/esm/avatar/group.d.ts +1 -1
  1019. package/dist/esm/avatar/group.d.ts.map +1 -1
  1020. package/dist/esm/avatar/group.js +13 -7
  1021. package/dist/esm/avatar/group.js.map +1 -1
  1022. package/dist/esm/backtop/backtop.d.ts +1 -1
  1023. package/dist/esm/backtop/backtop.d.ts.map +1 -1
  1024. package/dist/esm/backtop/backtop.js +6 -4
  1025. package/dist/esm/backtop/backtop.js.map +1 -1
  1026. package/dist/esm/badge/badge.d.ts +1 -1
  1027. package/dist/esm/badge/badge.d.ts.map +1 -1
  1028. package/dist/esm/badge/badge.js +3 -1
  1029. package/dist/esm/badge/badge.js.map +1 -1
  1030. package/dist/esm/breadcrumb/breadcrumb.d.ts +2 -2
  1031. package/dist/esm/breadcrumb/breadcrumb.d.ts.map +1 -1
  1032. package/dist/esm/breadcrumb/breadcrumb.js +13 -11
  1033. package/dist/esm/breadcrumb/breadcrumb.js.map +1 -1
  1034. package/dist/esm/browser/flex.js +2 -0
  1035. package/dist/esm/browser/modules/alert/alert.js +5 -2
  1036. package/dist/esm/browser/modules/alert/alert.js.map +1 -1
  1037. package/dist/esm/browser/modules/anchor/anchor.js +6 -2
  1038. package/dist/esm/browser/modules/anchor/anchor.js.map +1 -1
  1039. package/dist/esm/browser/modules/anchor/index.js +1 -1
  1040. package/dist/esm/browser/modules/appbar/appbar.js +8 -3
  1041. package/dist/esm/browser/modules/appbar/appbar.js.map +1 -1
  1042. package/dist/esm/browser/modules/appbar/index.js +1 -1
  1043. package/dist/esm/browser/modules/autocomplete/autocomplete.js +36 -16
  1044. package/dist/esm/browser/modules/autocomplete/autocomplete.js.map +1 -1
  1045. package/dist/esm/browser/modules/autocomplete/index.js +1 -1
  1046. package/dist/esm/browser/modules/avatar/avatar.js +11 -3
  1047. package/dist/esm/browser/modules/avatar/avatar.js.map +1 -1
  1048. package/dist/esm/browser/modules/avatar/group.js +14 -7
  1049. package/dist/esm/browser/modules/avatar/group.js.map +1 -1
  1050. package/dist/esm/browser/modules/backtop/backtop.js +7 -4
  1051. package/dist/esm/browser/modules/backtop/backtop.js.map +1 -1
  1052. package/dist/esm/browser/modules/badge/badge.js +4 -1
  1053. package/dist/esm/browser/modules/badge/badge.js.map +1 -1
  1054. package/dist/esm/browser/modules/breadcrumb/breadcrumb.js +14 -11
  1055. package/dist/esm/browser/modules/breadcrumb/breadcrumb.js.map +1 -1
  1056. package/dist/esm/browser/modules/button/button.js +13 -2
  1057. package/dist/esm/browser/modules/button/button.js.map +1 -1
  1058. package/dist/esm/browser/modules/button/group.js +25 -12
  1059. package/dist/esm/browser/modules/button/group.js.map +1 -1
  1060. package/dist/esm/browser/modules/calendar/calendar.js +5 -2
  1061. package/dist/esm/browser/modules/calendar/calendar.js.map +1 -1
  1062. package/dist/esm/browser/modules/card/card.js +42 -6
  1063. package/dist/esm/browser/modules/card/card.js.map +1 -1
  1064. package/dist/esm/browser/modules/carousel/carousel.js +13 -6
  1065. package/dist/esm/browser/modules/carousel/carousel.js.map +1 -1
  1066. package/dist/esm/browser/modules/carousel/index.js +1 -1
  1067. package/dist/esm/browser/modules/cascader/cascader.js +41 -20
  1068. package/dist/esm/browser/modules/cascader/cascader.js.map +1 -1
  1069. package/dist/esm/browser/modules/cascader/index.js +1 -1
  1070. package/dist/esm/browser/modules/checkbox/checkbox.js +12 -2
  1071. package/dist/esm/browser/modules/checkbox/checkbox.js.map +1 -1
  1072. package/dist/esm/browser/modules/checkbox/group.js +6 -3
  1073. package/dist/esm/browser/modules/checkbox/group.js.map +1 -1
  1074. package/dist/esm/browser/modules/checkbox/index.js +1 -1
  1075. package/dist/esm/browser/modules/collapse/collapse.js +5 -2
  1076. package/dist/esm/browser/modules/collapse/collapse.js.map +1 -1
  1077. package/dist/esm/browser/modules/color-recipes.js +5 -0
  1078. package/dist/esm/browser/modules/color-recipes.js.map +1 -1
  1079. package/dist/esm/browser/modules/colorpicker/colorpicker.js +27 -13
  1080. package/dist/esm/browser/modules/colorpicker/colorpicker.js.map +1 -1
  1081. package/dist/esm/browser/modules/colorpicker/gradient.js +36 -19
  1082. package/dist/esm/browser/modules/colorpicker/gradient.js.map +1 -1
  1083. package/dist/esm/browser/modules/commandpalette/commandpalette.js +17 -14
  1084. package/dist/esm/browser/modules/commandpalette/commandpalette.js.map +1 -1
  1085. package/dist/esm/browser/modules/commandpalette/index.js +1 -1
  1086. package/dist/esm/browser/modules/config-provider/component-defaults.js +64 -0
  1087. package/dist/esm/browser/modules/config-provider/component-defaults.js.map +1 -0
  1088. package/dist/esm/browser/modules/config-provider/config-context.js +6 -0
  1089. package/dist/esm/browser/modules/config-provider/config-context.js.map +1 -0
  1090. package/dist/esm/browser/modules/config-provider/config-provider.js +46 -25
  1091. package/dist/esm/browser/modules/config-provider/config-provider.js.map +1 -1
  1092. package/dist/esm/browser/modules/config-provider/context.js +11 -205
  1093. package/dist/esm/browser/modules/config-provider/context.js.map +1 -1
  1094. package/dist/esm/browser/modules/config-provider/index.js +1 -1
  1095. package/dist/esm/browser/modules/confirm/confirm.js +10 -8
  1096. package/dist/esm/browser/modules/confirm/confirm.js.map +1 -1
  1097. package/dist/esm/browser/modules/confirm/provider.js +26 -18
  1098. package/dist/esm/browser/modules/confirm/provider.js.map +1 -1
  1099. package/dist/esm/browser/modules/confirm/store.js +6 -4
  1100. package/dist/esm/browser/modules/confirm/store.js.map +1 -1
  1101. package/dist/esm/browser/modules/datepicker/datepicker.js +8 -5
  1102. package/dist/esm/browser/modules/datepicker/datepicker.js.map +1 -1
  1103. package/dist/esm/browser/modules/datepicker/index.js +1 -1
  1104. package/dist/esm/browser/modules/datepicker/multiple.js +1 -0
  1105. package/dist/esm/browser/modules/datepicker/multiple.js.map +1 -1
  1106. package/dist/esm/browser/modules/daterangepicker/daterangepicker.js +29 -21
  1107. package/dist/esm/browser/modules/daterangepicker/daterangepicker.js.map +1 -1
  1108. package/dist/esm/browser/modules/datetimepicker/datetimepicker.js +24 -16
  1109. package/dist/esm/browser/modules/datetimepicker/datetimepicker.js.map +1 -1
  1110. package/dist/esm/browser/modules/density.js +11 -5
  1111. package/dist/esm/browser/modules/density.js.map +1 -1
  1112. package/dist/esm/browser/modules/descriptions/descriptions.js +8 -5
  1113. package/dist/esm/browser/modules/descriptions/descriptions.js.map +1 -1
  1114. package/dist/esm/browser/modules/divider/divider.js +4 -1
  1115. package/dist/esm/browser/modules/divider/divider.js.map +1 -1
  1116. package/dist/esm/browser/modules/drawer/drawer.js +7 -4
  1117. package/dist/esm/browser/modules/drawer/drawer.js.map +1 -1
  1118. package/dist/esm/browser/modules/dropdown/dropdown.js +13 -3
  1119. package/dist/esm/browser/modules/dropdown/dropdown.js.map +1 -1
  1120. package/dist/esm/browser/modules/empty/empty.js +5 -3
  1121. package/dist/esm/browser/modules/empty/empty.js.map +1 -1
  1122. package/dist/esm/browser/modules/errorboundary/errorboundary.js +26 -14
  1123. package/dist/esm/browser/modules/errorboundary/errorboundary.js.map +1 -1
  1124. package/dist/esm/browser/modules/filelist/filelist.js +286 -193
  1125. package/dist/esm/browser/modules/filelist/filelist.js.map +1 -1
  1126. package/dist/esm/browser/modules/flex/flex.js +38 -0
  1127. package/dist/esm/browser/modules/flex/flex.js.map +1 -0
  1128. package/dist/esm/browser/modules/flex/index.js +2 -0
  1129. package/dist/esm/browser/modules/floatbutton/floatbutton.js +21 -12
  1130. package/dist/esm/browser/modules/floatbutton/floatbutton.js.map +1 -1
  1131. package/dist/esm/browser/modules/floatbutton/index.js +1 -1
  1132. package/dist/esm/browser/modules/form/form.js +15 -9
  1133. package/dist/esm/browser/modules/form/form.js.map +1 -1
  1134. package/dist/esm/browser/modules/form/index.js +1 -1
  1135. package/dist/esm/browser/modules/form/list.js +4 -1
  1136. package/dist/esm/browser/modules/form/list.js.map +1 -1
  1137. package/dist/esm/browser/modules/grid/grid.js +17 -5
  1138. package/dist/esm/browser/modules/grid/grid.js.map +1 -1
  1139. package/dist/esm/browser/modules/image/image.js +24 -10
  1140. package/dist/esm/browser/modules/image/image.js.map +1 -1
  1141. package/dist/esm/browser/modules/image/viewer.js +35 -25
  1142. package/dist/esm/browser/modules/image/viewer.js.map +1 -1
  1143. package/dist/esm/browser/modules/index.js +1 -2
  1144. package/dist/esm/browser/modules/infinitescroll/infinitescroll.js +13 -10
  1145. package/dist/esm/browser/modules/infinitescroll/infinitescroll.js.map +1 -1
  1146. package/dist/esm/browser/modules/input/group.js +20 -9
  1147. package/dist/esm/browser/modules/input/group.js.map +1 -1
  1148. package/dist/esm/browser/modules/input/index.js +1 -1
  1149. package/dist/esm/browser/modules/input/input.js +13 -4
  1150. package/dist/esm/browser/modules/input/input.js.map +1 -1
  1151. package/dist/esm/browser/modules/inputmask/inputmask.js +6 -3
  1152. package/dist/esm/browser/modules/inputmask/inputmask.js.map +1 -1
  1153. package/dist/esm/browser/modules/inputnumber/inputnumber.js +16 -6
  1154. package/dist/esm/browser/modules/inputnumber/inputnumber.js.map +1 -1
  1155. package/dist/esm/browser/modules/inputnumber/string.js +4 -3
  1156. package/dist/esm/browser/modules/inputnumber/string.js.map +1 -1
  1157. package/dist/esm/browser/modules/inputotp/inputotp.js +5 -2
  1158. package/dist/esm/browser/modules/inputotp/inputotp.js.map +1 -1
  1159. package/dist/esm/browser/modules/layout/layout.js +16 -9
  1160. package/dist/esm/browser/modules/layout/layout.js.map +1 -1
  1161. package/dist/esm/browser/modules/loading/loading.js +11 -3
  1162. package/dist/esm/browser/modules/loading/loading.js.map +1 -1
  1163. package/dist/esm/browser/modules/loadingbar/loadingbar.js +53 -10
  1164. package/dist/esm/browser/modules/loadingbar/loadingbar.js.map +1 -1
  1165. package/dist/esm/browser/modules/locales/en-US.js +1 -0
  1166. package/dist/esm/browser/modules/locales/ja-JP.js +1 -0
  1167. package/dist/esm/browser/modules/locales/ko-KR.js +1 -0
  1168. package/dist/esm/browser/modules/locales/messages.js +1 -0
  1169. package/dist/esm/browser/modules/locales/resolve.js +89 -0
  1170. package/dist/esm/browser/modules/locales/resolve.js.map +1 -0
  1171. package/dist/esm/browser/modules/locales/types.js +1 -0
  1172. package/dist/esm/browser/modules/locales/zh-CN.js +1 -0
  1173. package/dist/esm/browser/modules/locales/zh-TW.js +1 -0
  1174. package/dist/esm/browser/modules/masonry/masonry.js +8 -5
  1175. package/dist/esm/browser/modules/masonry/masonry.js.map +1 -1
  1176. package/dist/esm/browser/modules/mentions/index.js +1 -1
  1177. package/dist/esm/browser/modules/mentions/mentions.js +10 -6
  1178. package/dist/esm/browser/modules/mentions/mentions.js.map +1 -1
  1179. package/dist/esm/browser/modules/menu/menu.js +7 -4
  1180. package/dist/esm/browser/modules/menu/menu.js.map +1 -1
  1181. package/dist/esm/browser/modules/message/item.js +2 -1
  1182. package/dist/esm/browser/modules/message/item.js.map +1 -1
  1183. package/dist/esm/browser/modules/message/message.js +11 -4
  1184. package/dist/esm/browser/modules/message/message.js.map +1 -1
  1185. package/dist/esm/browser/modules/message/provider.js +9 -4
  1186. package/dist/esm/browser/modules/message/provider.js.map +1 -1
  1187. package/dist/esm/browser/modules/message/store.js +12 -6
  1188. package/dist/esm/browser/modules/message/store.js.map +1 -1
  1189. package/dist/esm/browser/modules/modal/modal.js +22 -12
  1190. package/dist/esm/browser/modules/modal/modal.js.map +1 -1
  1191. package/dist/esm/browser/modules/notification/notification.js +28 -14
  1192. package/dist/esm/browser/modules/notification/notification.js.map +1 -1
  1193. package/dist/esm/browser/modules/pagination/pagination.js +71 -25
  1194. package/dist/esm/browser/modules/pagination/pagination.js.map +1 -1
  1195. package/dist/esm/browser/modules/popconfirm/popconfirm.js +13 -10
  1196. package/dist/esm/browser/modules/popconfirm/popconfirm.js.map +1 -1
  1197. package/dist/esm/browser/modules/popover/popover.js +10 -2
  1198. package/dist/esm/browser/modules/popover/popover.js.map +1 -1
  1199. package/dist/esm/browser/modules/progress/progress.js +6 -3
  1200. package/dist/esm/browser/modules/progress/progress.js.map +1 -1
  1201. package/dist/esm/browser/modules/qrcode/qrcode.js +11 -8
  1202. package/dist/esm/browser/modules/qrcode/qrcode.js.map +1 -1
  1203. package/dist/esm/browser/modules/radio/index.js +1 -1
  1204. package/dist/esm/browser/modules/radio/radio.js +16 -5
  1205. package/dist/esm/browser/modules/radio/radio.js.map +1 -1
  1206. package/dist/esm/browser/modules/rate/rate.js +9 -6
  1207. package/dist/esm/browser/modules/rate/rate.js.map +1 -1
  1208. package/dist/esm/browser/modules/result/result.js +11 -3
  1209. package/dist/esm/browser/modules/result/result.js.map +1 -1
  1210. package/dist/esm/browser/modules/scrollarea/scrollarea.js +6 -3
  1211. package/dist/esm/browser/modules/scrollarea/scrollarea.js.map +1 -1
  1212. package/dist/esm/browser/modules/scrollbar/scrollbar.js +13 -3
  1213. package/dist/esm/browser/modules/scrollbar/scrollbar.js.map +1 -1
  1214. package/dist/esm/browser/modules/segmented/segmented.js +4 -1
  1215. package/dist/esm/browser/modules/segmented/segmented.js.map +1 -1
  1216. package/dist/esm/browser/modules/select/index.js +1 -1
  1217. package/dist/esm/browser/modules/select/select.js +177 -209
  1218. package/dist/esm/browser/modules/select/select.js.map +1 -1
  1219. package/dist/esm/browser/modules/shared/calendar.js +7 -6
  1220. package/dist/esm/browser/modules/shared/calendar.js.map +1 -1
  1221. package/dist/esm/browser/modules/shared/date-input.js +6 -6
  1222. package/dist/esm/browser/modules/shared/date-input.js.map +1 -1
  1223. package/dist/esm/browser/modules/shared/floating-feedback.js +24 -0
  1224. package/dist/esm/browser/modules/shared/floating-feedback.js.map +1 -0
  1225. package/dist/esm/browser/modules/shared/floating.js +1 -0
  1226. package/dist/esm/browser/modules/shared/floating.js.map +1 -1
  1227. package/dist/esm/browser/modules/shared/motion.js +4 -4
  1228. package/dist/esm/browser/modules/shared/motion.js.map +1 -1
  1229. package/dist/esm/browser/modules/shared/parse-date.js +2 -2
  1230. package/dist/esm/browser/modules/shared/parse-date.js.map +1 -1
  1231. package/dist/esm/browser/modules/shared/scoped-portal.js +17 -2
  1232. package/dist/esm/browser/modules/shared/scoped-portal.js.map +1 -1
  1233. package/dist/esm/browser/modules/shared/selection-content.js +164 -0
  1234. package/dist/esm/browser/modules/shared/selection-content.js.map +1 -0
  1235. package/dist/esm/browser/modules/shared/time.js +16 -2
  1236. package/dist/esm/browser/modules/shared/time.js.map +1 -1
  1237. package/dist/esm/browser/modules/shared/use-drag-announcements.js +28 -0
  1238. package/dist/esm/browser/modules/shared/use-drag-announcements.js.map +1 -0
  1239. package/dist/esm/browser/modules/shared/use-formatted-text.js +80 -0
  1240. package/dist/esm/browser/modules/shared/use-formatted-text.js.map +1 -0
  1241. package/dist/esm/browser/modules/shared/use-text.js +3 -3
  1242. package/dist/esm/browser/modules/shared/use-text.js.map +1 -1
  1243. package/dist/esm/browser/modules/skeleton/skeleton.js +11 -3
  1244. package/dist/esm/browser/modules/skeleton/skeleton.js.map +1 -1
  1245. package/dist/esm/browser/modules/slider/slider.js +15 -5
  1246. package/dist/esm/browser/modules/slider/slider.js.map +1 -1
  1247. package/dist/esm/browser/modules/space/space.js +4 -1
  1248. package/dist/esm/browser/modules/space/space.js.map +1 -1
  1249. package/dist/esm/browser/modules/splitter/index.js +1 -1
  1250. package/dist/esm/browser/modules/splitter/splitter.js +10 -3
  1251. package/dist/esm/browser/modules/splitter/splitter.js.map +1 -1
  1252. package/dist/esm/browser/modules/statistic/index.js +1 -1
  1253. package/dist/esm/browser/modules/statistic/statistic.js +14 -5
  1254. package/dist/esm/browser/modules/statistic/statistic.js.map +1 -1
  1255. package/dist/esm/browser/modules/steps/steps.js +4 -1
  1256. package/dist/esm/browser/modules/steps/steps.js.map +1 -1
  1257. package/dist/esm/browser/modules/switch/index.js +1 -1
  1258. package/dist/esm/browser/modules/switch/switch.js +4 -1
  1259. package/dist/esm/browser/modules/switch/switch.js.map +1 -1
  1260. package/dist/esm/browser/modules/table/table.js +114 -31
  1261. package/dist/esm/browser/modules/table/table.js.map +1 -1
  1262. package/dist/esm/browser/modules/tabletanstack/defaults.js +1 -0
  1263. package/dist/esm/browser/modules/tabletanstack/reordering.js +19 -10
  1264. package/dist/esm/browser/modules/tabletanstack/reordering.js.map +1 -1
  1265. package/dist/esm/browser/modules/tabletanstack/tabletanstack.js +108 -70
  1266. package/dist/esm/browser/modules/tabletanstack/tabletanstack.js.map +1 -1
  1267. package/dist/esm/browser/modules/tabs/tabs.js +120 -174
  1268. package/dist/esm/browser/modules/tabs/tabs.js.map +1 -1
  1269. package/dist/esm/browser/modules/tag/group.js +6 -2
  1270. package/dist/esm/browser/modules/tag/group.js.map +1 -1
  1271. package/dist/esm/browser/modules/tag/tag.js +5 -8
  1272. package/dist/esm/browser/modules/tag/tag.js.map +1 -1
  1273. package/dist/esm/browser/modules/tailwind-tokens.js +93 -0
  1274. package/dist/esm/browser/modules/tailwind-tokens.js.map +1 -0
  1275. package/dist/esm/browser/modules/tailwind.js +24 -0
  1276. package/dist/esm/browser/modules/tailwind.js.map +1 -0
  1277. package/dist/esm/browser/modules/textarea/index.js +1 -1
  1278. package/dist/esm/browser/modules/textarea/textarea.js +12 -2
  1279. package/dist/esm/browser/modules/textarea/textarea.js.map +1 -1
  1280. package/dist/esm/browser/modules/timeline/timeline.js +4 -1
  1281. package/dist/esm/browser/modules/timeline/timeline.js.map +1 -1
  1282. package/dist/esm/browser/modules/timepicker/index.js +1 -1
  1283. package/dist/esm/browser/modules/timepicker/time-panel.js +7 -6
  1284. package/dist/esm/browser/modules/timepicker/time-panel.js.map +1 -1
  1285. package/dist/esm/browser/modules/timepicker/timepicker.js +22 -13
  1286. package/dist/esm/browser/modules/timepicker/timepicker.js.map +1 -1
  1287. package/dist/esm/browser/modules/timerangepicker/timerangepicker.js +21 -14
  1288. package/dist/esm/browser/modules/timerangepicker/timerangepicker.js.map +1 -1
  1289. package/dist/esm/browser/modules/tooltip/tooltip.js +10 -2
  1290. package/dist/esm/browser/modules/tooltip/tooltip.js.map +1 -1
  1291. package/dist/esm/browser/modules/tour/index.js +1 -1
  1292. package/dist/esm/browser/modules/tour/tour.js +11 -8
  1293. package/dist/esm/browser/modules/tour/tour.js.map +1 -1
  1294. package/dist/esm/browser/modules/transfer/transfer.js +28 -22
  1295. package/dist/esm/browser/modules/transfer/transfer.js.map +1 -1
  1296. package/dist/esm/browser/modules/tree/drag.js +14 -11
  1297. package/dist/esm/browser/modules/tree/drag.js.map +1 -1
  1298. package/dist/esm/browser/modules/tree/tree.js +29 -12
  1299. package/dist/esm/browser/modules/tree/tree.js.map +1 -1
  1300. package/dist/esm/browser/modules/treeselect/treeselect.js +150 -111
  1301. package/dist/esm/browser/modules/treeselect/treeselect.js.map +1 -1
  1302. package/dist/esm/browser/modules/typography/index.js +1 -1
  1303. package/dist/esm/browser/modules/typography/typography.js +19 -12
  1304. package/dist/esm/browser/modules/typography/typography.js.map +1 -1
  1305. package/dist/esm/browser/modules/upload/upload.js +30 -21
  1306. package/dist/esm/browser/modules/upload/upload.js.map +1 -1
  1307. package/dist/esm/browser/modules/virtuallist/virtuallist.js +16 -5
  1308. package/dist/esm/browser/modules/virtuallist/virtuallist.js.map +1 -1
  1309. package/dist/esm/button/button.d.ts +3 -1
  1310. package/dist/esm/button/button.d.ts.map +1 -1
  1311. package/dist/esm/button/button.js +12 -2
  1312. package/dist/esm/button/button.js.map +1 -1
  1313. package/dist/esm/button/group.d.ts +4 -3
  1314. package/dist/esm/button/group.d.ts.map +1 -1
  1315. package/dist/esm/button/group.js +24 -12
  1316. package/dist/esm/button/group.js.map +1 -1
  1317. package/dist/esm/calendar/calendar.d.ts +1 -1
  1318. package/dist/esm/calendar/calendar.d.ts.map +1 -1
  1319. package/dist/esm/calendar/calendar.js +4 -2
  1320. package/dist/esm/calendar/calendar.js.map +1 -1
  1321. package/dist/esm/card/card.d.ts +9 -3
  1322. package/dist/esm/card/card.d.ts.map +1 -1
  1323. package/dist/esm/card/card.js +41 -6
  1324. package/dist/esm/card/card.js.map +1 -1
  1325. package/dist/esm/card/index.d.ts +1 -1
  1326. package/dist/esm/card/index.d.ts.map +1 -1
  1327. package/dist/esm/carousel/carousel.d.ts.map +1 -1
  1328. package/dist/esm/carousel/carousel.js +12 -6
  1329. package/dist/esm/carousel/carousel.js.map +1 -1
  1330. package/dist/esm/carousel/index.d.ts +2 -1
  1331. package/dist/esm/carousel/index.d.ts.map +1 -1
  1332. package/dist/esm/carousel/index.js +1 -1
  1333. package/dist/esm/cascader/cascader.d.ts +2 -0
  1334. package/dist/esm/cascader/cascader.d.ts.map +1 -1
  1335. package/dist/esm/cascader/cascader.js +40 -20
  1336. package/dist/esm/cascader/cascader.js.map +1 -1
  1337. package/dist/esm/cascader/index.d.ts +2 -1
  1338. package/dist/esm/cascader/index.d.ts.map +1 -1
  1339. package/dist/esm/cascader/index.js +1 -1
  1340. package/dist/esm/checkbox/checkbox.d.ts +1 -0
  1341. package/dist/esm/checkbox/checkbox.d.ts.map +1 -1
  1342. package/dist/esm/checkbox/checkbox.js +11 -2
  1343. package/dist/esm/checkbox/checkbox.js.map +1 -1
  1344. package/dist/esm/checkbox/group.d.ts +1 -1
  1345. package/dist/esm/checkbox/group.d.ts.map +1 -1
  1346. package/dist/esm/checkbox/group.js +5 -3
  1347. package/dist/esm/checkbox/group.js.map +1 -1
  1348. package/dist/esm/checkbox/index.d.ts +2 -1
  1349. package/dist/esm/checkbox/index.d.ts.map +1 -1
  1350. package/dist/esm/checkbox/index.js +1 -1
  1351. package/dist/esm/collapse/collapse.d.ts +1 -1
  1352. package/dist/esm/collapse/collapse.d.ts.map +1 -1
  1353. package/dist/esm/collapse/collapse.js +4 -2
  1354. package/dist/esm/collapse/collapse.js.map +1 -1
  1355. package/dist/esm/color-recipes.d.ts.map +1 -1
  1356. package/dist/esm/color-recipes.js +5 -0
  1357. package/dist/esm/color-recipes.js.map +1 -1
  1358. package/dist/esm/colorpicker/colorpicker.d.ts +1 -1
  1359. package/dist/esm/colorpicker/colorpicker.d.ts.map +1 -1
  1360. package/dist/esm/colorpicker/colorpicker.js +26 -13
  1361. package/dist/esm/colorpicker/colorpicker.js.map +1 -1
  1362. package/dist/esm/colorpicker/gradient.d.ts.map +1 -1
  1363. package/dist/esm/colorpicker/gradient.js +35 -19
  1364. package/dist/esm/colorpicker/gradient.js.map +1 -1
  1365. package/dist/esm/commandpalette/commandpalette.d.ts +1 -1
  1366. package/dist/esm/commandpalette/commandpalette.d.ts.map +1 -1
  1367. package/dist/esm/commandpalette/commandpalette.js +16 -14
  1368. package/dist/esm/commandpalette/commandpalette.js.map +1 -1
  1369. package/dist/esm/commandpalette/index.d.ts +2 -1
  1370. package/dist/esm/commandpalette/index.d.ts.map +1 -1
  1371. package/dist/esm/commandpalette/index.js +1 -1
  1372. package/dist/esm/config-provider/component-defaults.d.ts +365 -0
  1373. package/dist/esm/config-provider/component-defaults.d.ts.map +1 -0
  1374. package/dist/esm/config-provider/component-defaults.js +64 -0
  1375. package/dist/esm/config-provider/component-defaults.js.map +1 -0
  1376. package/dist/esm/config-provider/config-context.d.ts +15 -0
  1377. package/dist/esm/config-provider/config-context.d.ts.map +1 -0
  1378. package/dist/esm/config-provider/config-context.js +6 -0
  1379. package/dist/esm/config-provider/config-context.js.map +1 -0
  1380. package/dist/esm/config-provider/config-provider.d.ts +13 -6
  1381. package/dist/esm/config-provider/config-provider.d.ts.map +1 -1
  1382. package/dist/esm/config-provider/config-provider.js +46 -25
  1383. package/dist/esm/config-provider/config-provider.js.map +1 -1
  1384. package/dist/esm/config-provider/context.d.ts +11 -368
  1385. package/dist/esm/config-provider/context.d.ts.map +1 -1
  1386. package/dist/esm/config-provider/context.js +11 -205
  1387. package/dist/esm/config-provider/context.js.map +1 -1
  1388. package/dist/esm/config-provider/index.d.ts +2 -2
  1389. package/dist/esm/config-provider/index.d.ts.map +1 -1
  1390. package/dist/esm/config-provider/index.js +1 -1
  1391. package/dist/esm/confirm/confirm.d.ts +1 -1
  1392. package/dist/esm/confirm/confirm.d.ts.map +1 -1
  1393. package/dist/esm/confirm/confirm.js +10 -8
  1394. package/dist/esm/confirm/confirm.js.map +1 -1
  1395. package/dist/esm/confirm/provider.d.ts.map +1 -1
  1396. package/dist/esm/confirm/provider.js +26 -18
  1397. package/dist/esm/confirm/provider.js.map +1 -1
  1398. package/dist/esm/confirm/store.d.ts +6 -4
  1399. package/dist/esm/confirm/store.d.ts.map +1 -1
  1400. package/dist/esm/confirm/store.js +6 -4
  1401. package/dist/esm/confirm/store.js.map +1 -1
  1402. package/dist/esm/datepicker/datepicker.d.ts.map +1 -1
  1403. package/dist/esm/datepicker/datepicker.js +7 -5
  1404. package/dist/esm/datepicker/datepicker.js.map +1 -1
  1405. package/dist/esm/datepicker/index.d.ts +2 -1
  1406. package/dist/esm/datepicker/index.d.ts.map +1 -1
  1407. package/dist/esm/datepicker/index.js +1 -1
  1408. package/dist/esm/daterangepicker/daterangepicker.d.ts.map +1 -1
  1409. package/dist/esm/daterangepicker/daterangepicker.js +29 -21
  1410. package/dist/esm/daterangepicker/daterangepicker.js.map +1 -1
  1411. package/dist/esm/datetimepicker/datetimepicker.d.ts.map +1 -1
  1412. package/dist/esm/datetimepicker/datetimepicker.js +24 -16
  1413. package/dist/esm/datetimepicker/datetimepicker.js.map +1 -1
  1414. package/dist/esm/density.d.ts +3 -1
  1415. package/dist/esm/density.d.ts.map +1 -1
  1416. package/dist/esm/density.js +11 -5
  1417. package/dist/esm/density.js.map +1 -1
  1418. package/dist/esm/descriptions/descriptions.d.ts +1 -1
  1419. package/dist/esm/descriptions/descriptions.d.ts.map +1 -1
  1420. package/dist/esm/descriptions/descriptions.js +7 -5
  1421. package/dist/esm/descriptions/descriptions.js.map +1 -1
  1422. package/dist/esm/divider/divider.d.ts +1 -1
  1423. package/dist/esm/divider/divider.d.ts.map +1 -1
  1424. package/dist/esm/divider/divider.js +3 -1
  1425. package/dist/esm/divider/divider.js.map +1 -1
  1426. package/dist/esm/drawer/drawer.d.ts +1 -1
  1427. package/dist/esm/drawer/drawer.d.ts.map +1 -1
  1428. package/dist/esm/drawer/drawer.js +6 -4
  1429. package/dist/esm/drawer/drawer.js.map +1 -1
  1430. package/dist/esm/dropdown/dropdown.d.ts +2 -1
  1431. package/dist/esm/dropdown/dropdown.d.ts.map +1 -1
  1432. package/dist/esm/dropdown/dropdown.js +12 -3
  1433. package/dist/esm/dropdown/dropdown.js.map +1 -1
  1434. package/dist/esm/empty/empty.d.ts +1 -1
  1435. package/dist/esm/empty/empty.d.ts.map +1 -1
  1436. package/dist/esm/empty/empty.js +5 -3
  1437. package/dist/esm/empty/empty.js.map +1 -1
  1438. package/dist/esm/errorboundary/errorboundary.d.ts +8 -2
  1439. package/dist/esm/errorboundary/errorboundary.d.ts.map +1 -1
  1440. package/dist/esm/errorboundary/errorboundary.js +25 -14
  1441. package/dist/esm/errorboundary/errorboundary.js.map +1 -1
  1442. package/dist/esm/filelist/filelist.d.ts +2 -1
  1443. package/dist/esm/filelist/filelist.d.ts.map +1 -1
  1444. package/dist/esm/filelist/filelist.js +285 -193
  1445. package/dist/esm/filelist/filelist.js.map +1 -1
  1446. package/dist/esm/flex/flex.d.ts +13 -0
  1447. package/dist/esm/flex/flex.d.ts.map +1 -0
  1448. package/dist/esm/flex/flex.js +36 -0
  1449. package/dist/esm/flex/flex.js.map +1 -0
  1450. package/dist/esm/flex/index.d.ts +2 -0
  1451. package/dist/esm/flex/index.d.ts.map +1 -0
  1452. package/dist/esm/flex/index.js +2 -0
  1453. package/dist/esm/floatbutton/floatbutton.d.ts +5 -3
  1454. package/dist/esm/floatbutton/floatbutton.d.ts.map +1 -1
  1455. package/dist/esm/floatbutton/floatbutton.js +20 -12
  1456. package/dist/esm/floatbutton/floatbutton.js.map +1 -1
  1457. package/dist/esm/floatbutton/index.d.ts +2 -1
  1458. package/dist/esm/floatbutton/index.d.ts.map +1 -1
  1459. package/dist/esm/floatbutton/index.js +1 -1
  1460. package/dist/esm/form/form.d.ts +3 -3
  1461. package/dist/esm/form/form.d.ts.map +1 -1
  1462. package/dist/esm/form/form.js +14 -9
  1463. package/dist/esm/form/form.js.map +1 -1
  1464. package/dist/esm/form/index.d.ts +2 -1
  1465. package/dist/esm/form/index.d.ts.map +1 -1
  1466. package/dist/esm/form/index.js +1 -1
  1467. package/dist/esm/form/list.d.ts +1 -1
  1468. package/dist/esm/form/list.d.ts.map +1 -1
  1469. package/dist/esm/form/list.js +3 -1
  1470. package/dist/esm/form/list.js.map +1 -1
  1471. package/dist/esm/grid/grid.d.ts +2 -1
  1472. package/dist/esm/grid/grid.d.ts.map +1 -1
  1473. package/dist/esm/grid/grid.js +16 -5
  1474. package/dist/esm/grid/grid.js.map +1 -1
  1475. package/dist/esm/image/image.d.ts +3 -2
  1476. package/dist/esm/image/image.d.ts.map +1 -1
  1477. package/dist/esm/image/image.js +23 -10
  1478. package/dist/esm/image/image.js.map +1 -1
  1479. package/dist/esm/image/viewer.d.ts.map +1 -1
  1480. package/dist/esm/image/viewer.js +34 -25
  1481. package/dist/esm/image/viewer.js.map +1 -1
  1482. package/dist/esm/index.d.ts +6 -7
  1483. package/dist/esm/index.d.ts.map +1 -1
  1484. package/dist/esm/index.js +1 -2
  1485. package/dist/esm/infinitescroll/infinitescroll.d.ts +1 -1
  1486. package/dist/esm/infinitescroll/infinitescroll.d.ts.map +1 -1
  1487. package/dist/esm/infinitescroll/infinitescroll.js +12 -10
  1488. package/dist/esm/infinitescroll/infinitescroll.js.map +1 -1
  1489. package/dist/esm/input/group.d.ts +1 -1
  1490. package/dist/esm/input/group.d.ts.map +1 -1
  1491. package/dist/esm/input/group.js +19 -9
  1492. package/dist/esm/input/group.js.map +1 -1
  1493. package/dist/esm/input/index.d.ts +2 -1
  1494. package/dist/esm/input/index.d.ts.map +1 -1
  1495. package/dist/esm/input/index.js +1 -1
  1496. package/dist/esm/input/input.d.ts +1 -0
  1497. package/dist/esm/input/input.d.ts.map +1 -1
  1498. package/dist/esm/input/input.js +12 -4
  1499. package/dist/esm/input/input.js.map +1 -1
  1500. package/dist/esm/inputmask/inputmask.d.ts +1 -1
  1501. package/dist/esm/inputmask/inputmask.d.ts.map +1 -1
  1502. package/dist/esm/inputmask/inputmask.js +5 -3
  1503. package/dist/esm/inputmask/inputmask.js.map +1 -1
  1504. package/dist/esm/inputnumber/inputnumber.d.ts +1 -0
  1505. package/dist/esm/inputnumber/inputnumber.d.ts.map +1 -1
  1506. package/dist/esm/inputnumber/inputnumber.js +15 -6
  1507. package/dist/esm/inputnumber/inputnumber.js.map +1 -1
  1508. package/dist/esm/inputnumber/string.d.ts.map +1 -1
  1509. package/dist/esm/inputnumber/string.js +3 -3
  1510. package/dist/esm/inputnumber/string.js.map +1 -1
  1511. package/dist/esm/inputotp/inputotp.d.ts.map +1 -1
  1512. package/dist/esm/inputotp/inputotp.js +4 -2
  1513. package/dist/esm/inputotp/inputotp.js.map +1 -1
  1514. package/dist/esm/layout/layout.d.ts.map +1 -1
  1515. package/dist/esm/layout/layout.js +15 -9
  1516. package/dist/esm/layout/layout.js.map +1 -1
  1517. package/dist/esm/loading/loading.d.ts +2 -1
  1518. package/dist/esm/loading/loading.d.ts.map +1 -1
  1519. package/dist/esm/loading/loading.js +10 -3
  1520. package/dist/esm/loading/loading.js.map +1 -1
  1521. package/dist/esm/loadingbar/loadingbar.d.ts +2 -1
  1522. package/dist/esm/loadingbar/loadingbar.d.ts.map +1 -1
  1523. package/dist/esm/loadingbar/loadingbar.js +52 -10
  1524. package/dist/esm/loadingbar/loadingbar.js.map +1 -1
  1525. package/dist/esm/locales/en-US.js +1 -0
  1526. package/dist/esm/locales/ja-JP.js +1 -0
  1527. package/dist/esm/locales/ko-KR.js +1 -0
  1528. package/dist/esm/locales/messages.d.ts +336 -0
  1529. package/dist/esm/locales/messages.d.ts.map +1 -0
  1530. package/dist/esm/locales/messages.js +1 -0
  1531. package/dist/esm/locales/resolve.d.ts +13 -0
  1532. package/dist/esm/locales/resolve.d.ts.map +1 -0
  1533. package/dist/esm/locales/resolve.js +89 -0
  1534. package/dist/esm/locales/resolve.js.map +1 -0
  1535. package/dist/esm/locales/types.d.ts +18 -0
  1536. package/dist/esm/locales/types.d.ts.map +1 -0
  1537. package/dist/esm/locales/types.js +1 -0
  1538. package/dist/esm/locales/zh-CN.js +1 -0
  1539. package/dist/esm/locales/zh-TW.js +1 -0
  1540. package/dist/esm/masonry/masonry.d.ts.map +1 -1
  1541. package/dist/esm/masonry/masonry.js +7 -5
  1542. package/dist/esm/masonry/masonry.js.map +1 -1
  1543. package/dist/esm/mentions/index.d.ts +2 -1
  1544. package/dist/esm/mentions/index.d.ts.map +1 -1
  1545. package/dist/esm/mentions/index.js +1 -1
  1546. package/dist/esm/mentions/mentions.d.ts +1 -1
  1547. package/dist/esm/mentions/mentions.d.ts.map +1 -1
  1548. package/dist/esm/mentions/mentions.js +9 -6
  1549. package/dist/esm/mentions/mentions.js.map +1 -1
  1550. package/dist/esm/menu/menu.d.ts +1 -1
  1551. package/dist/esm/menu/menu.d.ts.map +1 -1
  1552. package/dist/esm/menu/menu.js +6 -4
  1553. package/dist/esm/menu/menu.js.map +1 -1
  1554. package/dist/esm/message/item.js +1 -1
  1555. package/dist/esm/message/item.js.map +1 -1
  1556. package/dist/esm/message/message.d.ts +1 -1
  1557. package/dist/esm/message/message.d.ts.map +1 -1
  1558. package/dist/esm/message/message.js +10 -4
  1559. package/dist/esm/message/message.js.map +1 -1
  1560. package/dist/esm/message/provider.d.ts.map +1 -1
  1561. package/dist/esm/message/provider.js +8 -4
  1562. package/dist/esm/message/provider.js.map +1 -1
  1563. package/dist/esm/message/store.d.ts +6 -4
  1564. package/dist/esm/message/store.d.ts.map +1 -1
  1565. package/dist/esm/message/store.js +12 -6
  1566. package/dist/esm/message/store.js.map +1 -1
  1567. package/dist/esm/modal/modal.d.ts +3 -2
  1568. package/dist/esm/modal/modal.d.ts.map +1 -1
  1569. package/dist/esm/modal/modal.js +21 -12
  1570. package/dist/esm/modal/modal.js.map +1 -1
  1571. package/dist/esm/notification/notification.d.ts +1 -1
  1572. package/dist/esm/notification/notification.d.ts.map +1 -1
  1573. package/dist/esm/notification/notification.js +27 -14
  1574. package/dist/esm/notification/notification.js.map +1 -1
  1575. package/dist/esm/pagination/pagination.d.ts +4 -2
  1576. package/dist/esm/pagination/pagination.d.ts.map +1 -1
  1577. package/dist/esm/pagination/pagination.js +70 -25
  1578. package/dist/esm/pagination/pagination.js.map +1 -1
  1579. package/dist/esm/popconfirm/popconfirm.d.ts +3 -3
  1580. package/dist/esm/popconfirm/popconfirm.d.ts.map +1 -1
  1581. package/dist/esm/popconfirm/popconfirm.js +12 -10
  1582. package/dist/esm/popconfirm/popconfirm.js.map +1 -1
  1583. package/dist/esm/popover/popover.d.ts +2 -1
  1584. package/dist/esm/popover/popover.d.ts.map +1 -1
  1585. package/dist/esm/popover/popover.js +9 -2
  1586. package/dist/esm/popover/popover.js.map +1 -1
  1587. package/dist/esm/progress/progress.d.ts +1 -1
  1588. package/dist/esm/progress/progress.d.ts.map +1 -1
  1589. package/dist/esm/progress/progress.js +5 -3
  1590. package/dist/esm/progress/progress.js.map +1 -1
  1591. package/dist/esm/qrcode/qrcode.d.ts +1 -1
  1592. package/dist/esm/qrcode/qrcode.d.ts.map +1 -1
  1593. package/dist/esm/qrcode/qrcode.js +10 -8
  1594. package/dist/esm/qrcode/qrcode.js.map +1 -1
  1595. package/dist/esm/radio/index.d.ts +2 -1
  1596. package/dist/esm/radio/index.d.ts.map +1 -1
  1597. package/dist/esm/radio/index.js +1 -1
  1598. package/dist/esm/radio/radio.d.ts +2 -1
  1599. package/dist/esm/radio/radio.d.ts.map +1 -1
  1600. package/dist/esm/radio/radio.js +15 -5
  1601. package/dist/esm/radio/radio.js.map +1 -1
  1602. package/dist/esm/rate/rate.d.ts +1 -1
  1603. package/dist/esm/rate/rate.d.ts.map +1 -1
  1604. package/dist/esm/rate/rate.js +8 -6
  1605. package/dist/esm/rate/rate.js.map +1 -1
  1606. package/dist/esm/result/result.d.ts +2 -1
  1607. package/dist/esm/result/result.d.ts.map +1 -1
  1608. package/dist/esm/result/result.js +10 -3
  1609. package/dist/esm/result/result.js.map +1 -1
  1610. package/dist/esm/scrollarea/scrollarea.d.ts +1 -1
  1611. package/dist/esm/scrollarea/scrollarea.d.ts.map +1 -1
  1612. package/dist/esm/scrollarea/scrollarea.js +5 -3
  1613. package/dist/esm/scrollarea/scrollarea.js.map +1 -1
  1614. package/dist/esm/scrollbar/scrollbar.d.ts +1 -0
  1615. package/dist/esm/scrollbar/scrollbar.d.ts.map +1 -1
  1616. package/dist/esm/scrollbar/scrollbar.js +12 -3
  1617. package/dist/esm/scrollbar/scrollbar.js.map +1 -1
  1618. package/dist/esm/segmented/segmented.d.ts.map +1 -1
  1619. package/dist/esm/segmented/segmented.js +3 -1
  1620. package/dist/esm/segmented/segmented.js.map +1 -1
  1621. package/dist/esm/select/index.d.ts +2 -2
  1622. package/dist/esm/select/index.d.ts.map +1 -1
  1623. package/dist/esm/select/index.js +1 -1
  1624. package/dist/esm/select/select.d.ts +3 -0
  1625. package/dist/esm/select/select.d.ts.map +1 -1
  1626. package/dist/esm/select/select.js +176 -209
  1627. package/dist/esm/select/select.js.map +1 -1
  1628. package/dist/esm/shared/calendar.d.ts.map +1 -1
  1629. package/dist/esm/shared/calendar.js +6 -6
  1630. package/dist/esm/shared/calendar.js.map +1 -1
  1631. package/dist/esm/shared/date-input.js +6 -6
  1632. package/dist/esm/shared/date-input.js.map +1 -1
  1633. package/dist/esm/shared/floating-feedback.d.ts +7 -0
  1634. package/dist/esm/shared/floating-feedback.d.ts.map +1 -0
  1635. package/dist/esm/shared/floating-feedback.js +24 -0
  1636. package/dist/esm/shared/floating-feedback.js.map +1 -0
  1637. package/dist/esm/shared/floating.d.ts.map +1 -1
  1638. package/dist/esm/shared/floating.js +1 -0
  1639. package/dist/esm/shared/floating.js.map +1 -1
  1640. package/dist/esm/shared/motion.d.ts.map +1 -1
  1641. package/dist/esm/shared/motion.js +4 -4
  1642. package/dist/esm/shared/motion.js.map +1 -1
  1643. package/dist/esm/shared/parse-date.d.ts +1 -1
  1644. package/dist/esm/shared/parse-date.d.ts.map +1 -1
  1645. package/dist/esm/shared/parse-date.js +2 -2
  1646. package/dist/esm/shared/parse-date.js.map +1 -1
  1647. package/dist/esm/shared/scoped-portal.d.ts.map +1 -1
  1648. package/dist/esm/shared/scoped-portal.js +17 -2
  1649. package/dist/esm/shared/scoped-portal.js.map +1 -1
  1650. package/dist/esm/shared/selection-content.d.ts +22 -0
  1651. package/dist/esm/shared/selection-content.d.ts.map +1 -0
  1652. package/dist/esm/shared/selection-content.js +164 -0
  1653. package/dist/esm/shared/selection-content.js.map +1 -0
  1654. package/dist/esm/shared/time.d.ts +1 -1
  1655. package/dist/esm/shared/time.d.ts.map +1 -1
  1656. package/dist/esm/shared/time.js +16 -2
  1657. package/dist/esm/shared/time.js.map +1 -1
  1658. package/dist/esm/shared/types.d.ts +1 -1
  1659. package/dist/esm/shared/use-drag-announcements.d.ts +8 -0
  1660. package/dist/esm/shared/use-drag-announcements.d.ts.map +1 -0
  1661. package/dist/esm/shared/use-drag-announcements.js +28 -0
  1662. package/dist/esm/shared/use-drag-announcements.js.map +1 -0
  1663. package/dist/esm/shared/use-formatted-text.d.ts +4 -0
  1664. package/dist/esm/shared/use-formatted-text.d.ts.map +1 -0
  1665. package/dist/esm/shared/use-formatted-text.js +80 -0
  1666. package/dist/esm/shared/use-formatted-text.js.map +1 -0
  1667. package/dist/esm/shared/use-text.d.ts +3 -2
  1668. package/dist/esm/shared/use-text.d.ts.map +1 -1
  1669. package/dist/esm/shared/use-text.js +3 -3
  1670. package/dist/esm/shared/use-text.js.map +1 -1
  1671. package/dist/esm/skeleton/skeleton.d.ts +2 -1
  1672. package/dist/esm/skeleton/skeleton.d.ts.map +1 -1
  1673. package/dist/esm/skeleton/skeleton.js +10 -3
  1674. package/dist/esm/skeleton/skeleton.js.map +1 -1
  1675. package/dist/esm/slider/slider.d.ts +1 -0
  1676. package/dist/esm/slider/slider.d.ts.map +1 -1
  1677. package/dist/esm/slider/slider.js +14 -5
  1678. package/dist/esm/slider/slider.js.map +1 -1
  1679. package/dist/esm/space/space.d.ts.map +1 -1
  1680. package/dist/esm/space/space.js +3 -1
  1681. package/dist/esm/space/space.js.map +1 -1
  1682. package/dist/esm/splitter/index.d.ts +2 -1
  1683. package/dist/esm/splitter/index.d.ts.map +1 -1
  1684. package/dist/esm/splitter/index.js +1 -1
  1685. package/dist/esm/splitter/splitter.d.ts +1 -1
  1686. package/dist/esm/splitter/splitter.d.ts.map +1 -1
  1687. package/dist/esm/splitter/splitter.js +9 -3
  1688. package/dist/esm/splitter/splitter.js.map +1 -1
  1689. package/dist/esm/statistic/index.d.ts +2 -1
  1690. package/dist/esm/statistic/index.d.ts.map +1 -1
  1691. package/dist/esm/statistic/index.js +1 -1
  1692. package/dist/esm/statistic/statistic.d.ts +3 -2
  1693. package/dist/esm/statistic/statistic.d.ts.map +1 -1
  1694. package/dist/esm/statistic/statistic.js +13 -5
  1695. package/dist/esm/statistic/statistic.js.map +1 -1
  1696. package/dist/esm/steps/steps.d.ts +1 -1
  1697. package/dist/esm/steps/steps.d.ts.map +1 -1
  1698. package/dist/esm/steps/steps.js +3 -1
  1699. package/dist/esm/steps/steps.js.map +1 -1
  1700. package/dist/esm/styles/alert.css +1 -1
  1701. package/dist/esm/styles/anchor.css +1 -1
  1702. package/dist/esm/styles/appbar.css +1 -1
  1703. package/dist/esm/styles/autocomplete.css +1 -1
  1704. package/dist/esm/styles/avatar.css +1 -1
  1705. package/dist/esm/styles/backtop.css +1 -1
  1706. package/dist/esm/styles/badge.css +1 -1
  1707. package/dist/esm/styles/base.css +1 -2
  1708. package/dist/esm/styles/breadcrumb.css +1 -1
  1709. package/dist/esm/styles/button.css +1 -1
  1710. package/dist/esm/styles/calendar.css +1 -1
  1711. package/dist/esm/styles/card.css +1 -1
  1712. package/dist/esm/styles/carousel.css +1 -1
  1713. package/dist/esm/styles/cascader.css +1 -1
  1714. package/dist/esm/styles/checkbox.css +1 -1
  1715. package/dist/esm/styles/collapse.css +1 -1
  1716. package/dist/esm/styles/colorpicker.css +1 -1
  1717. package/dist/esm/styles/commandpalette.css +1 -1
  1718. package/dist/esm/styles/components/autocomplete.css +1 -1
  1719. package/dist/esm/styles/components/button.css +1 -1
  1720. package/dist/esm/styles/components/card.css +1 -1
  1721. package/dist/esm/styles/components/cascader.css +1 -1
  1722. package/dist/esm/styles/components/checkbox.css +1 -1
  1723. package/dist/esm/styles/components/collapse.css +1 -1
  1724. package/dist/esm/styles/components/colorpicker.css +1 -1
  1725. package/dist/esm/styles/components/commandpalette.css +1 -1
  1726. package/dist/esm/styles/components/datepicker.css +1 -1
  1727. package/dist/esm/styles/components/drawer.css +1 -1
  1728. package/dist/esm/styles/components/dropdown.css +1 -1
  1729. package/dist/esm/styles/components/filelist.css +1 -1
  1730. package/dist/esm/styles/components/flex.css +1 -0
  1731. package/dist/esm/styles/components/floatbutton.css +1 -1
  1732. package/dist/esm/styles/components/form.css +1 -1
  1733. package/dist/esm/styles/components/input.css +1 -1
  1734. package/dist/esm/styles/components/inputnumber.css +1 -1
  1735. package/dist/esm/styles/components/inputotp.css +1 -1
  1736. package/dist/esm/styles/components/mentions.css +1 -1
  1737. package/dist/esm/styles/components/menu.css +1 -1
  1738. package/dist/esm/styles/components/modal.css +1 -1
  1739. package/dist/esm/styles/components/pagination.css +1 -1
  1740. package/dist/esm/styles/components/radio.css +1 -1
  1741. package/dist/esm/styles/components/segmented.css +1 -1
  1742. package/dist/esm/styles/components/select.css +1 -1
  1743. package/dist/esm/styles/components/steps.css +1 -1
  1744. package/dist/esm/styles/components/switch.css +1 -1
  1745. package/dist/esm/styles/components/tabs.css +1 -1
  1746. package/dist/esm/styles/components/tag.css +1 -1
  1747. package/dist/esm/styles/components/textarea.css +1 -1
  1748. package/dist/esm/styles/components/timepicker.css +1 -1
  1749. package/dist/esm/styles/components/tree.css +1 -1
  1750. package/dist/esm/styles/components/treeselect.css +1 -1
  1751. package/dist/esm/styles/config-provider.css +1 -1
  1752. package/dist/esm/styles/confirm.css +1 -1
  1753. package/dist/esm/styles/datepicker.css +1 -1
  1754. package/dist/esm/styles/daterangepicker.css +1 -1
  1755. package/dist/esm/styles/datetimepicker.css +1 -1
  1756. package/dist/esm/styles/descriptions.css +1 -1
  1757. package/dist/esm/styles/divider.css +1 -1
  1758. package/dist/esm/styles/drawer.css +1 -1
  1759. package/dist/esm/styles/dropdown.css +1 -1
  1760. package/dist/esm/styles/empty.css +1 -1
  1761. package/dist/esm/styles/errorboundary.css +1 -1
  1762. package/dist/esm/styles/filelist.css +1 -1
  1763. package/dist/esm/styles/flex.css +1 -0
  1764. package/dist/esm/styles/floatbutton.css +1 -1
  1765. package/dist/esm/styles/form.css +1 -1
  1766. package/dist/esm/styles/foundation.css +1 -0
  1767. package/dist/esm/styles/grid.css +1 -1
  1768. package/dist/esm/styles/image.css +1 -1
  1769. package/dist/esm/styles/index.css +886 -941
  1770. package/dist/esm/styles/index.css.map +1 -1
  1771. package/dist/esm/styles/infinitescroll.css +1 -1
  1772. package/dist/esm/styles/input.css +1 -1
  1773. package/dist/esm/styles/inputmask.css +1 -1
  1774. package/dist/esm/styles/inputnumber.css +1 -1
  1775. package/dist/esm/styles/inputotp.css +1 -1
  1776. package/dist/esm/styles/layout.css +1 -1
  1777. package/dist/esm/styles/loading.css +1 -1
  1778. package/dist/esm/styles/loadingbar.css +1 -1
  1779. package/dist/esm/styles/masonry.css +1 -1
  1780. package/dist/esm/styles/mentions.css +1 -1
  1781. package/dist/esm/styles/menu.css +1 -1
  1782. package/dist/esm/styles/message.css +1 -1
  1783. package/dist/esm/styles/modal.css +1 -1
  1784. package/dist/esm/styles/notification.css +1 -1
  1785. package/dist/esm/styles/pagination.css +1 -1
  1786. package/dist/esm/styles/popconfirm.css +1 -1
  1787. package/dist/esm/styles/popover.css +1 -1
  1788. package/dist/esm/styles/progress.css +1 -1
  1789. package/dist/esm/styles/qrcode.css +1 -1
  1790. package/dist/esm/styles/radio.css +1 -1
  1791. package/dist/esm/styles/rate.css +1 -1
  1792. package/dist/esm/styles/result.css +1 -1
  1793. package/dist/esm/styles/scrollarea.css +1 -1
  1794. package/dist/esm/styles/scrollbar.css +1 -1
  1795. package/dist/esm/styles/segmented.css +1 -1
  1796. package/dist/esm/styles/select.css +1 -1
  1797. package/dist/esm/styles/skeleton.css +1 -1
  1798. package/dist/esm/styles/slider.css +1 -1
  1799. package/dist/esm/styles/space.css +1 -1
  1800. package/dist/esm/styles/splitter.css +1 -1
  1801. package/dist/esm/styles/statistic.css +1 -1
  1802. package/dist/esm/styles/steps.css +1 -1
  1803. package/dist/esm/styles/switch.css +1 -1
  1804. package/dist/esm/styles/table.css +1 -1
  1805. package/dist/esm/styles/tabletanstack.css +1 -1
  1806. package/dist/esm/styles/tabs.css +1 -1
  1807. package/dist/esm/styles/tag.css +1 -1
  1808. package/dist/esm/styles/textarea.css +1 -1
  1809. package/dist/esm/styles/timeline.css +1 -1
  1810. package/dist/esm/styles/timepicker.css +1 -1
  1811. package/dist/esm/styles/timerangepicker.css +1 -1
  1812. package/dist/esm/styles/tooltip.css +1 -1
  1813. package/dist/esm/styles/tour.css +1 -1
  1814. package/dist/esm/styles/transfer.css +1 -1
  1815. package/dist/esm/styles/tree.css +1 -1
  1816. package/dist/esm/styles/treeselect.css +1 -1
  1817. package/dist/esm/styles/typography.css +1 -1
  1818. package/dist/esm/styles/upload.css +1 -1
  1819. package/dist/esm/styles/virtuallist.css +1 -1
  1820. package/dist/esm/switch/index.d.ts +2 -1
  1821. package/dist/esm/switch/index.d.ts.map +1 -1
  1822. package/dist/esm/switch/index.js +1 -1
  1823. package/dist/esm/switch/switch.d.ts.map +1 -1
  1824. package/dist/esm/switch/switch.js +3 -1
  1825. package/dist/esm/switch/switch.js.map +1 -1
  1826. package/dist/esm/table/table.d.ts +28 -5
  1827. package/dist/esm/table/table.d.ts.map +1 -1
  1828. package/dist/esm/table/table.js +113 -31
  1829. package/dist/esm/table/table.js.map +1 -1
  1830. package/dist/esm/tabletanstack/defaults.d.ts +44 -0
  1831. package/dist/esm/tabletanstack/defaults.d.ts.map +1 -0
  1832. package/dist/esm/tabletanstack/defaults.js +1 -0
  1833. package/dist/esm/tabletanstack/index.d.ts +1 -1
  1834. package/dist/esm/tabletanstack/index.d.ts.map +1 -1
  1835. package/dist/esm/tabletanstack/reordering.d.ts +1 -1
  1836. package/dist/esm/tabletanstack/reordering.d.ts.map +1 -1
  1837. package/dist/esm/tabletanstack/reordering.js +18 -10
  1838. package/dist/esm/tabletanstack/reordering.js.map +1 -1
  1839. package/dist/esm/tabletanstack/tabletanstack.d.ts +15 -49
  1840. package/dist/esm/tabletanstack/tabletanstack.d.ts.map +1 -1
  1841. package/dist/esm/tabletanstack/tabletanstack.js +107 -70
  1842. package/dist/esm/tabletanstack/tabletanstack.js.map +1 -1
  1843. package/dist/esm/tabs/tabs.d.ts +2 -1
  1844. package/dist/esm/tabs/tabs.d.ts.map +1 -1
  1845. package/dist/esm/tabs/tabs.js +119 -174
  1846. package/dist/esm/tabs/tabs.js.map +1 -1
  1847. package/dist/esm/tag/group.d.ts +2 -2
  1848. package/dist/esm/tag/group.d.ts.map +1 -1
  1849. package/dist/esm/tag/group.js +5 -2
  1850. package/dist/esm/tag/group.js.map +1 -1
  1851. package/dist/esm/tag/tag.d.ts +2 -2
  1852. package/dist/esm/tag/tag.d.ts.map +1 -1
  1853. package/dist/esm/tag/tag.js +4 -8
  1854. package/dist/esm/tag/tag.js.map +1 -1
  1855. package/dist/esm/tailwind-tokens.d.ts +91 -0
  1856. package/dist/esm/tailwind-tokens.d.ts.map +1 -0
  1857. package/dist/esm/tailwind-tokens.js +93 -0
  1858. package/dist/esm/tailwind-tokens.js.map +1 -0
  1859. package/dist/esm/tailwind.d.ts +136 -0
  1860. package/dist/esm/tailwind.d.ts.map +1 -0
  1861. package/dist/esm/tailwind.js +24 -0
  1862. package/dist/esm/tailwind.js.map +1 -0
  1863. package/dist/esm/textarea/index.d.ts +2 -2
  1864. package/dist/esm/textarea/index.d.ts.map +1 -1
  1865. package/dist/esm/textarea/index.js +1 -1
  1866. package/dist/esm/textarea/textarea.d.ts +1 -0
  1867. package/dist/esm/textarea/textarea.d.ts.map +1 -1
  1868. package/dist/esm/textarea/textarea.js +11 -2
  1869. package/dist/esm/textarea/textarea.js.map +1 -1
  1870. package/dist/esm/timeline/timeline.d.ts +1 -1
  1871. package/dist/esm/timeline/timeline.d.ts.map +1 -1
  1872. package/dist/esm/timeline/timeline.js +3 -1
  1873. package/dist/esm/timeline/timeline.js.map +1 -1
  1874. package/dist/esm/timepicker/index.d.ts +2 -1
  1875. package/dist/esm/timepicker/index.d.ts.map +1 -1
  1876. package/dist/esm/timepicker/index.js +1 -1
  1877. package/dist/esm/timepicker/time-panel.js +6 -6
  1878. package/dist/esm/timepicker/time-panel.js.map +1 -1
  1879. package/dist/esm/timepicker/timepicker.d.ts.map +1 -1
  1880. package/dist/esm/timepicker/timepicker.js +21 -13
  1881. package/dist/esm/timepicker/timepicker.js.map +1 -1
  1882. package/dist/esm/timerangepicker/timerangepicker.d.ts.map +1 -1
  1883. package/dist/esm/timerangepicker/timerangepicker.js +20 -14
  1884. package/dist/esm/timerangepicker/timerangepicker.js.map +1 -1
  1885. package/dist/esm/tooltip/tooltip.d.ts +2 -1
  1886. package/dist/esm/tooltip/tooltip.d.ts.map +1 -1
  1887. package/dist/esm/tooltip/tooltip.js +9 -2
  1888. package/dist/esm/tooltip/tooltip.js.map +1 -1
  1889. package/dist/esm/tour/index.d.ts +2 -1
  1890. package/dist/esm/tour/index.d.ts.map +1 -1
  1891. package/dist/esm/tour/index.js +1 -1
  1892. package/dist/esm/tour/tour.d.ts +1 -1
  1893. package/dist/esm/tour/tour.d.ts.map +1 -1
  1894. package/dist/esm/tour/tour.js +10 -8
  1895. package/dist/esm/tour/tour.js.map +1 -1
  1896. package/dist/esm/transfer/transfer.d.ts +1 -1
  1897. package/dist/esm/transfer/transfer.d.ts.map +1 -1
  1898. package/dist/esm/transfer/transfer.js +27 -22
  1899. package/dist/esm/transfer/transfer.js.map +1 -1
  1900. package/dist/esm/tree/drag.d.ts.map +1 -1
  1901. package/dist/esm/tree/drag.js +13 -11
  1902. package/dist/esm/tree/drag.js.map +1 -1
  1903. package/dist/esm/tree/tree.d.ts +5 -1
  1904. package/dist/esm/tree/tree.d.ts.map +1 -1
  1905. package/dist/esm/tree/tree.js +28 -12
  1906. package/dist/esm/tree/tree.js.map +1 -1
  1907. package/dist/esm/treeselect/treeselect.d.ts +4 -2
  1908. package/dist/esm/treeselect/treeselect.d.ts.map +1 -1
  1909. package/dist/esm/treeselect/treeselect.js +149 -111
  1910. package/dist/esm/treeselect/treeselect.js.map +1 -1
  1911. package/dist/esm/typography/index.d.ts +2 -1
  1912. package/dist/esm/typography/index.d.ts.map +1 -1
  1913. package/dist/esm/typography/index.js +1 -1
  1914. package/dist/esm/typography/typography.d.ts.map +1 -1
  1915. package/dist/esm/typography/typography.js +18 -12
  1916. package/dist/esm/typography/typography.js.map +1 -1
  1917. package/dist/esm/upload/upload.d.ts +1 -1
  1918. package/dist/esm/upload/upload.d.ts.map +1 -1
  1919. package/dist/esm/upload/upload.js +29 -21
  1920. package/dist/esm/upload/upload.js.map +1 -1
  1921. package/dist/esm/virtuallist/virtuallist.d.ts +1 -0
  1922. package/dist/esm/virtuallist/virtuallist.d.ts.map +1 -1
  1923. package/dist/esm/virtuallist/virtuallist.js +15 -5
  1924. package/dist/esm/virtuallist/virtuallist.js.map +1 -1
  1925. package/dist/locales/check-translations.mjs +84 -0
  1926. package/dist/locales/en-US.json +335 -0
  1927. package/dist/locales/ja-JP.json +335 -0
  1928. package/dist/locales/ko-KR.json +335 -0
  1929. package/dist/locales/schema.json +1250 -0
  1930. package/dist/locales/zh-CN.json +335 -0
  1931. package/dist/locales/zh-TW.json +335 -0
  1932. package/dist/tailwind.css +71 -0
  1933. package/package.json +46 -47
  1934. package/dist/cjs/browser/imagecropper.cjs +0 -2
  1935. package/dist/cjs/browser/modules/imagecropper/crop.cjs +0 -75
  1936. package/dist/cjs/browser/modules/imagecropper/crop.cjs.map +0 -1
  1937. package/dist/cjs/browser/modules/imagecropper/editor.cjs +0 -245
  1938. package/dist/cjs/browser/modules/imagecropper/editor.cjs.map +0 -1
  1939. package/dist/cjs/browser/modules/imagecropper/imagecropper.cjs +0 -76
  1940. package/dist/cjs/browser/modules/imagecropper/imagecropper.cjs.map +0 -1
  1941. package/dist/cjs/browser/modules/imagecropper/index.cjs.map +0 -1
  1942. package/dist/cjs/browser/modules/locales/zh-tw.cjs +0 -304
  1943. package/dist/cjs/browser/modules/locales/zh-tw.cjs.map +0 -1
  1944. package/dist/cjs/browser/modules/signaturepad/index.cjs.map +0 -1
  1945. package/dist/cjs/browser/modules/signaturepad/signaturepad.cjs +0 -301
  1946. package/dist/cjs/browser/modules/signaturepad/signaturepad.cjs.map +0 -1
  1947. package/dist/cjs/browser/signaturepad.cjs +0 -2
  1948. package/dist/cjs/imagecropper/crop.cjs +0 -75
  1949. package/dist/cjs/imagecropper/crop.cjs.map +0 -1
  1950. package/dist/cjs/imagecropper/crop.d.cts +0 -3
  1951. package/dist/cjs/imagecropper/crop.d.cts.map +0 -1
  1952. package/dist/cjs/imagecropper/editor.cjs +0 -244
  1953. package/dist/cjs/imagecropper/editor.cjs.map +0 -1
  1954. package/dist/cjs/imagecropper/editor.d.cts +0 -3
  1955. package/dist/cjs/imagecropper/editor.d.cts.map +0 -1
  1956. package/dist/cjs/imagecropper/imagecropper.cjs +0 -75
  1957. package/dist/cjs/imagecropper/imagecropper.cjs.map +0 -1
  1958. package/dist/cjs/imagecropper/imagecropper.d.cts +0 -35
  1959. package/dist/cjs/imagecropper/imagecropper.d.cts.map +0 -1
  1960. package/dist/cjs/imagecropper/index.cjs.map +0 -1
  1961. package/dist/cjs/imagecropper/index.d.cts +0 -3
  1962. package/dist/cjs/imagecropper/index.d.cts.map +0 -1
  1963. package/dist/cjs/locales/zh-tw.cjs +0 -304
  1964. package/dist/cjs/locales/zh-tw.cjs.map +0 -1
  1965. package/dist/cjs/locales/zh-tw.d.cts +0 -90
  1966. package/dist/cjs/locales/zh-tw.d.cts.map +0 -1
  1967. package/dist/cjs/signaturepad/index.cjs.map +0 -1
  1968. package/dist/cjs/signaturepad/index.d.cts +0 -3
  1969. package/dist/cjs/signaturepad/index.d.cts.map +0 -1
  1970. package/dist/cjs/signaturepad/signaturepad.cjs +0 -300
  1971. package/dist/cjs/signaturepad/signaturepad.cjs.map +0 -1
  1972. package/dist/cjs/signaturepad/signaturepad.d.cts +0 -38
  1973. package/dist/cjs/signaturepad/signaturepad.d.cts.map +0 -1
  1974. package/dist/cjs/styles/components/imagecropper.css +0 -1
  1975. package/dist/cjs/styles/components/signaturepad.css +0 -1
  1976. package/dist/cjs/styles/imagecropper.css +0 -1
  1977. package/dist/cjs/styles/signaturepad.css +0 -1
  1978. package/dist/esm/browser/imagecropper.js +0 -2
  1979. package/dist/esm/browser/modules/imagecropper/crop.js +0 -37
  1980. package/dist/esm/browser/modules/imagecropper/crop.js.map +0 -1
  1981. package/dist/esm/browser/modules/imagecropper/editor.js +0 -197
  1982. package/dist/esm/browser/modules/imagecropper/editor.js.map +0 -1
  1983. package/dist/esm/browser/modules/imagecropper/imagecropper.js +0 -38
  1984. package/dist/esm/browser/modules/imagecropper/imagecropper.js.map +0 -1
  1985. package/dist/esm/browser/modules/imagecropper/index.js +0 -2
  1986. package/dist/esm/browser/modules/locales/zh-tw.js +0 -263
  1987. package/dist/esm/browser/modules/locales/zh-tw.js.map +0 -1
  1988. package/dist/esm/browser/modules/signaturepad/index.js +0 -2
  1989. package/dist/esm/browser/modules/signaturepad/signaturepad.js +0 -263
  1990. package/dist/esm/browser/modules/signaturepad/signaturepad.js.map +0 -1
  1991. package/dist/esm/browser/signaturepad.js +0 -2
  1992. package/dist/esm/imagecropper/crop.d.ts +0 -3
  1993. package/dist/esm/imagecropper/crop.d.ts.map +0 -1
  1994. package/dist/esm/imagecropper/crop.js +0 -37
  1995. package/dist/esm/imagecropper/crop.js.map +0 -1
  1996. package/dist/esm/imagecropper/editor.d.ts +0 -3
  1997. package/dist/esm/imagecropper/editor.d.ts.map +0 -1
  1998. package/dist/esm/imagecropper/editor.js +0 -196
  1999. package/dist/esm/imagecropper/editor.js.map +0 -1
  2000. package/dist/esm/imagecropper/imagecropper.d.ts +0 -35
  2001. package/dist/esm/imagecropper/imagecropper.d.ts.map +0 -1
  2002. package/dist/esm/imagecropper/imagecropper.js +0 -37
  2003. package/dist/esm/imagecropper/imagecropper.js.map +0 -1
  2004. package/dist/esm/imagecropper/index.d.ts +0 -3
  2005. package/dist/esm/imagecropper/index.d.ts.map +0 -1
  2006. package/dist/esm/imagecropper/index.js +0 -2
  2007. package/dist/esm/locales/zh-tw.d.ts +0 -90
  2008. package/dist/esm/locales/zh-tw.d.ts.map +0 -1
  2009. package/dist/esm/locales/zh-tw.js +0 -263
  2010. package/dist/esm/locales/zh-tw.js.map +0 -1
  2011. package/dist/esm/signaturepad/index.d.ts +0 -3
  2012. package/dist/esm/signaturepad/index.d.ts.map +0 -1
  2013. package/dist/esm/signaturepad/index.js +0 -2
  2014. package/dist/esm/signaturepad/signaturepad.d.ts +0 -38
  2015. package/dist/esm/signaturepad/signaturepad.d.ts.map +0 -1
  2016. package/dist/esm/signaturepad/signaturepad.js +0 -262
  2017. package/dist/esm/signaturepad/signaturepad.js.map +0 -1
  2018. package/dist/esm/styles/components/imagecropper.css +0 -1
  2019. package/dist/esm/styles/components/signaturepad.css +0 -1
  2020. package/dist/esm/styles/imagecropper.css +0 -1
  2021. package/dist/esm/styles/signaturepad.css +0 -1
@@ -191,6 +191,7 @@ function FloatingPanel({ open, triggerRef, panelRef, matchWidth, width, minWidth
191
191
  "data-side": resolvedPlacement.split('-')[0],
192
192
  "data-align": resolvedPlacement.split('-')[1] ?? 'center',
193
193
  dir: props.dir ?? theme.direction ?? config.direction,
194
+ lang: props.lang ?? config.locale,
194
195
  "data-state": open ? 'open' : 'closing',
195
196
  "data-positioned": isPositioned || !open,
196
197
  "aria-hidden": !open || void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"shared/floating.js","sources":["../../../../../src/shared/floating.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n offset,\n type Placement,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\nimport {\n type CSSProperties,\n createContext,\n type HTMLAttributes,\n type RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { tabbable } from 'tabbable';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedEventTarget, composedParent, deepActiveElement } from './dom';\nimport { assignRef } from './field';\nimport { inertProps } from './inert';\nimport { OverlayOwner } from './overlay-owner';\nimport { usePresence } from './presence';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\nconst PopupParent = createContext<string | undefined>(undefined);\nconst popupNodes = new Map<string, HTMLElement>();\nconst dismissStack: RefObject<HTMLElement | null>[] = [];\nfunction insidePopup(target: Node, panel: HTMLElement | null) {\n if (!panel) return false;\n if (panel.contains(target)) return true;\n let popup = target instanceof Element ? target.closest<HTMLElement>('[data-leaf-popup]') : null;\n const visited = new Set<string>();\n while (popup?.dataset.leafPopupParent) {\n const parent = popup.dataset.leafPopupParent;\n if (visited.has(parent)) break;\n visited.add(parent);\n popup = popupNodes.get(parent) ?? null;\n if (popup === panel) return true;\n }\n return false;\n}\n\n/** Close disabled fields immediately and report each open-state change once. */\nexport function usePopupState(\n disabled?: boolean,\n onOpenChange?: (open: boolean) => void,\n controlledOpen?: boolean,\n defaultOpen = false,\n) {\n const [internalOpen, setRequestedOpen] = useState(defaultOpen);\n const requestedOpen = controlledOpen ?? internalOpen;\n const requestedRef = useRef(requestedOpen);\n requestedRef.current = requestedOpen;\n const open = requestedOpen && !disabled;\n const setOpen = useCallback(\n (next: boolean) => {\n if (next === requestedRef.current || (next && disabled)) return;\n requestedRef.current = next;\n if (controlledOpen === undefined) setRequestedOpen(next);\n onOpenChange?.(next);\n },\n [disabled, onOpenChange, controlledOpen],\n );\n useEffect(() => {\n if (disabled && requestedOpen) setOpen(false);\n }, [disabled, requestedOpen, setOpen]);\n return [open, setOpen] as const;\n}\n\nexport interface PopupOptions {\n popupPlacement?: Placement;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n popupRender?: (content: React.ReactNode) => React.ReactNode;\n getPopupContainer?: () => Element | DocumentFragment;\n}\ninterface FloatingPanelProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n triggerRef: RefObject<HTMLElement | null>;\n panelRef: RefObject<HTMLDivElement | null>;\n matchWidth?: boolean;\n width?: CSSProperties['width'];\n minWidth?: CSSProperties['minWidth'] | 'trigger';\n maxWidth?: CSSProperties['maxWidth'];\n maxHeight?: CSSProperties['maxHeight'];\n placement?: Placement;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n render?: (content: React.ReactNode) => React.ReactNode;\n position?: { x: number; y: number };\n}\n\n/** Position a lazily mounted portal, preserving the trigger's scoped theme. */\nexport function FloatingPanel({\n open,\n triggerRef,\n panelRef,\n matchWidth,\n width,\n minWidth,\n maxWidth,\n maxHeight,\n placement = 'bottom-start',\n container,\n render,\n position,\n style,\n children,\n ...props\n}: FloatingPanelProps) {\n const popupId = useId();\n const parentPopup = useContext(PopupParent);\n const config = useLeafConfig();\n const owner = useContext(OverlayOwner);\n const present = usePresence(open, panelRef);\n const [theme, setTheme] = useState<LeafThemeStyle>({});\n const [inheritedMotion, setInheritedMotion] = useState<string>();\n const openRef = useRef(open);\n openRef.current = open;\n const previousPosition = useRef<CSSProperties>({});\n const closingContent = useRef(children);\n const referenceElement = triggerRef.current;\n if (open) closingContent.current = children;\n const {\n refs,\n floatingStyles,\n isPositioned,\n update,\n placement: resolvedPlacement,\n } = useFloating({\n open,\n placement,\n strategy: 'fixed',\n // Keep viewport positioning outside the popup's local scale/translate motion.\n transform: false,\n whileElementsMounted: (reference, floating, update) =>\n autoUpdate(reference, floating, () => {\n if (openRef.current) update();\n }),\n middleware: [\n offset(6),\n flip({ padding: 12 }),\n shift({ padding: 12 }),\n size({\n padding: 12,\n apply({ availableHeight, availableWidth, rects, elements }) {\n if (!openRef.current) return;\n const length = (value: string | number) =>\n typeof value === 'number' ? `${value}px` : value;\n const widthMaximum = maxWidth ?? style?.maxWidth;\n const heightMaximum = maxHeight ?? style?.maxHeight;\n const viewportWidth = `${Math.max(0, availableWidth)}px`;\n const viewportHeight = `${Math.max(0, availableHeight)}px`;\n const widthLimit =\n widthMaximum === undefined\n ? viewportWidth\n : `min(${length(widthMaximum)}, ${viewportWidth})`;\n Object.assign(elements.floating.style, {\n maxHeight:\n heightMaximum === undefined\n ? viewportHeight\n : `min(${length(heightMaximum)}, ${viewportHeight})`,\n maxWidth: widthLimit,\n width: matchWidth\n ? `${Math.min(rects.reference.width, availableWidth)}px`\n : length(width ?? style?.width ?? ''),\n minWidth:\n minWidth === 'trigger'\n ? `min(${rects.reference.width}px, ${widthLimit})`\n : length(minWidth ?? style?.minWidth ?? ''),\n });\n },\n }),\n ],\n });\n if (open) previousPosition.current = floatingStyles;\n const setPanelRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) popupNodes.set(popupId, node);\n else popupNodes.delete(popupId);\n assignRef(panelRef, node);\n refs.setFloating(node);\n },\n [panelRef, refs.setFloating, popupId],\n );\n\n useBrowserLayoutEffect(() => {\n const trigger = referenceElement ?? triggerRef.current;\n if (!trigger || !present) return;\n refs.setReference(\n position\n ? {\n getBoundingClientRect: () => ({\n x: position.x,\n y: position.y,\n top: position.y,\n bottom: position.y,\n left: position.x,\n right: position.x,\n width: 0,\n height: 0,\n }),\n }\n : trigger,\n );\n const syncTheme = () => {\n const computed = getComputedStyle(trigger);\n let motionAncestor: HTMLElement | null = trigger;\n while (motionAncestor && !motionAncestor.hasAttribute('data-leaf-motion'))\n motionAncestor = composedParent(motionAncestor);\n setInheritedMotion(motionAncestor?.getAttribute('data-leaf-motion') ?? undefined);\n const variables: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as CSSProperties['direction'],\n };\n for (let i = 0; i < computed.length; i += 1) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n variables[key as `--leaf-${string}`] = computed.getPropertyValue(key);\n }\n setTheme(variables);\n };\n syncTheme();\n const observer = new MutationObserver(syncTheme);\n let ancestor: HTMLElement | null = trigger;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['class', 'style', 'data-leaf-theme', 'data-leaf-motion', 'dir'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [triggerRef, referenceElement, refs.setReference, present, position]);\n\n useBrowserLayoutEffect(() => {\n // A quick reopen can reuse the exit-presence node without remounting autoUpdate.\n if (open && present) void update();\n }, [open, present, update]);\n\n if (!present || typeof document === 'undefined') return null;\n return createPortal(\n <PopupParent.Provider value={popupId}>\n <div\n {...props}\n ref={setPanelRef}\n data-leaf-owner={owner}\n data-leaf-popup={popupId}\n data-leaf-popup-parent={parentPopup}\n data-leaf-motion={config.theme.motion === false ? 'off' : inheritedMotion}\n data-side={resolvedPlacement.split('-')[0]}\n data-align={resolvedPlacement.split('-')[1] ?? 'center'}\n dir={props.dir ?? theme.direction ?? config.direction}\n data-state={open ? 'open' : 'closing'}\n data-positioned={isPositioned || !open}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n style={{ ...theme, ...style, ...(open ? floatingStyles : previousPosition.current) }}\n >\n {render\n ? render(open ? children : closingContent.current)\n : open\n ? children\n : closingContent.current}\n </div>\n </PopupParent.Provider>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n );\n}\n\n/** Close a custom floating panel when focus leaves it or Escape is pressed. */\nexport function useFloatingDismiss(\n open: boolean,\n onClose: (reason?: 'escape' | 'outside' | 'focus' | 'tab') => void,\n triggerRef: RefObject<HTMLElement | null>,\n panelRef: RefObject<HTMLElement | null>,\n boundaryRef: RefObject<HTMLElement | null> = triggerRef,\n) {\n const closeRef = useRef(onClose);\n closeRef.current = onClose;\n useEffect(() => {\n if (!open) {\n return;\n }\n dismissStack.push(panelRef);\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.composedPath()[0] ?? event.target;\n if (!(target instanceof Node)) {\n return;\n }\n const label = target instanceof Element ? target.closest('label') : null;\n const labelledControl = label?.control;\n if (\n boundaryRef.current?.contains(target) ||\n insidePopup(target, panelRef.current) ||\n (labelledControl && boundaryRef.current?.contains(labelledControl))\n ) {\n return;\n }\n closeRef.current('outside');\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented || dismissStack.at(-1) !== panelRef) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n closeRef.current('escape');\n triggerRef.current?.focus();\n } else if (event.key === 'Tab') {\n const panel = panelRef.current;\n const trigger = triggerRef.current;\n const active = deepActiveElement();\n if (!panel || !trigger || !panel.contains(active)) return;\n const items = tabbable(panel, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n });\n const index = active instanceof HTMLElement ? items.indexOf(active) : -1;\n const leaving = event.shiftKey ? index <= 0 : index === items.length - 1;\n if (!leaving) return;\n event.preventDefault();\n closeRef.current('tab');\n if (event.shiftKey) trigger.focus();\n else {\n const pageItems = tabbable(document.body, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n }).filter((item) => !panel.contains(item));\n const triggerIndex = pageItems.indexOf(trigger);\n (pageItems[triggerIndex + 1] ?? trigger).focus();\n }\n }\n };\n\n const handleFocus = (event: FocusEvent) => {\n const target = composedEventTarget(event);\n if (\n target instanceof Node &&\n !boundaryRef.current?.contains(target) &&\n !insidePopup(target, panelRef.current)\n )\n closeRef.current('focus');\n };\n\n document.addEventListener('pointerdown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown, true);\n document.addEventListener('focusin', handleFocus);\n return () => {\n const index = dismissStack.indexOf(panelRef);\n if (index >= 0) dismissStack.splice(index, 1);\n document.removeEventListener('pointerdown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown, true);\n document.removeEventListener('focusin', handleFocus);\n };\n }, [open, panelRef, triggerRef, boundaryRef]);\n}\n\n/** Keep keyboard-highlighted options visible without animated scrolling. */\nexport function useActiveOption(\n open: boolean,\n optionId: string | undefined,\n panelRef?: RefObject<HTMLElement | null>,\n) {\n useEffect(() => {\n if (!open || !optionId) return;\n const root = panelRef?.current?.getRootNode();\n const scope = root instanceof ShadowRoot ? root : document;\n scope.getElementById(optionId)?.scrollIntoView?.({ block: 'nearest' });\n }, [open, optionId, panelRef]);\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","PopupParent","createContext","undefined","popupNodes","Map","dismissStack","insidePopup","target","panel","popup","Element","visited","Set","parent","usePopupState","disabled","onOpenChange","controlledOpen","defaultOpen","internalOpen","setRequestedOpen","useState","requestedOpen","requestedRef","useRef","open","setOpen","useCallback","next","FloatingPanel","triggerRef","panelRef","matchWidth","width","minWidth","maxWidth","maxHeight","placement","container","render","position","style","children","props","popupId","useId","parentPopup","useContext","config","useLeafConfig","owner","OverlayOwner","present","usePresence","theme","setTheme","inheritedMotion","setInheritedMotion","openRef","previousPosition","closingContent","referenceElement","refs","floatingStyles","isPositioned","update","resolvedPlacement","useFloating","reference","floating","autoUpdate","offset","flip","shift","size","availableHeight","availableWidth","rects","elements","length","value","widthMaximum","heightMaximum","viewportWidth","Math","viewportHeight","widthLimit","Object","setPanelRef","node","assignRef","trigger","syncTheme","computed","getComputedStyle","motionAncestor","composedParent","variables","i","key","observer","MutationObserver","ancestor","document","createPortal","inertProps","useFloatingDismiss","onClose","boundaryRef","closeRef","handlePointerDown","event","Node","label","labelledControl","handleKeyDown","active","deepActiveElement","items","tabbable","element","index","HTMLElement","leaving","pageItems","item","triggerIndex","handleFocus","composedEventTarget","useActiveOption","optionId","root","scope","ShadowRoot"],"mappings":"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"}
1
+ {"version":3,"file":"shared/floating.js","sources":["../../../../../src/shared/floating.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n offset,\n type Placement,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\nimport {\n type CSSProperties,\n createContext,\n type HTMLAttributes,\n type RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { tabbable } from 'tabbable';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedEventTarget, composedParent, deepActiveElement } from './dom';\nimport { assignRef } from './field';\nimport { inertProps } from './inert';\nimport { OverlayOwner } from './overlay-owner';\nimport { usePresence } from './presence';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\nconst PopupParent = createContext<string | undefined>(undefined);\nconst popupNodes = new Map<string, HTMLElement>();\nconst dismissStack: RefObject<HTMLElement | null>[] = [];\nfunction insidePopup(target: Node, panel: HTMLElement | null) {\n if (!panel) return false;\n if (panel.contains(target)) return true;\n let popup = target instanceof Element ? target.closest<HTMLElement>('[data-leaf-popup]') : null;\n const visited = new Set<string>();\n while (popup?.dataset.leafPopupParent) {\n const parent = popup.dataset.leafPopupParent;\n if (visited.has(parent)) break;\n visited.add(parent);\n popup = popupNodes.get(parent) ?? null;\n if (popup === panel) return true;\n }\n return false;\n}\n\n/** Close disabled fields immediately and report each open-state change once. */\nexport function usePopupState(\n disabled?: boolean,\n onOpenChange?: (open: boolean) => void,\n controlledOpen?: boolean,\n defaultOpen = false,\n) {\n const [internalOpen, setRequestedOpen] = useState(defaultOpen);\n const requestedOpen = controlledOpen ?? internalOpen;\n const requestedRef = useRef(requestedOpen);\n requestedRef.current = requestedOpen;\n const open = requestedOpen && !disabled;\n const setOpen = useCallback(\n (next: boolean) => {\n if (next === requestedRef.current || (next && disabled)) return;\n requestedRef.current = next;\n if (controlledOpen === undefined) setRequestedOpen(next);\n onOpenChange?.(next);\n },\n [disabled, onOpenChange, controlledOpen],\n );\n useEffect(() => {\n if (disabled && requestedOpen) setOpen(false);\n }, [disabled, requestedOpen, setOpen]);\n return [open, setOpen] as const;\n}\n\nexport interface PopupOptions {\n popupPlacement?: Placement;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n popupRender?: (content: React.ReactNode) => React.ReactNode;\n getPopupContainer?: () => Element | DocumentFragment;\n}\ninterface FloatingPanelProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n triggerRef: RefObject<HTMLElement | null>;\n panelRef: RefObject<HTMLDivElement | null>;\n matchWidth?: boolean;\n width?: CSSProperties['width'];\n minWidth?: CSSProperties['minWidth'] | 'trigger';\n maxWidth?: CSSProperties['maxWidth'];\n maxHeight?: CSSProperties['maxHeight'];\n placement?: Placement;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n render?: (content: React.ReactNode) => React.ReactNode;\n position?: { x: number; y: number };\n}\n\n/** Position a lazily mounted portal, preserving the trigger's scoped theme. */\nexport function FloatingPanel({\n open,\n triggerRef,\n panelRef,\n matchWidth,\n width,\n minWidth,\n maxWidth,\n maxHeight,\n placement = 'bottom-start',\n container,\n render,\n position,\n style,\n children,\n ...props\n}: FloatingPanelProps) {\n const popupId = useId();\n const parentPopup = useContext(PopupParent);\n const config = useLeafConfig();\n const owner = useContext(OverlayOwner);\n const present = usePresence(open, panelRef);\n const [theme, setTheme] = useState<LeafThemeStyle>({});\n const [inheritedMotion, setInheritedMotion] = useState<string>();\n const openRef = useRef(open);\n openRef.current = open;\n const previousPosition = useRef<CSSProperties>({});\n const closingContent = useRef(children);\n const referenceElement = triggerRef.current;\n if (open) closingContent.current = children;\n const {\n refs,\n floatingStyles,\n isPositioned,\n update,\n placement: resolvedPlacement,\n } = useFloating({\n open,\n placement,\n strategy: 'fixed',\n // Keep viewport positioning outside the popup's local scale/translate motion.\n transform: false,\n whileElementsMounted: (reference, floating, update) =>\n autoUpdate(reference, floating, () => {\n if (openRef.current) update();\n }),\n middleware: [\n offset(6),\n flip({ padding: 12 }),\n shift({ padding: 12 }),\n size({\n padding: 12,\n apply({ availableHeight, availableWidth, rects, elements }) {\n if (!openRef.current) return;\n const length = (value: string | number) =>\n typeof value === 'number' ? `${value}px` : value;\n const widthMaximum = maxWidth ?? style?.maxWidth;\n const heightMaximum = maxHeight ?? style?.maxHeight;\n const viewportWidth = `${Math.max(0, availableWidth)}px`;\n const viewportHeight = `${Math.max(0, availableHeight)}px`;\n const widthLimit =\n widthMaximum === undefined\n ? viewportWidth\n : `min(${length(widthMaximum)}, ${viewportWidth})`;\n Object.assign(elements.floating.style, {\n maxHeight:\n heightMaximum === undefined\n ? viewportHeight\n : `min(${length(heightMaximum)}, ${viewportHeight})`,\n maxWidth: widthLimit,\n width: matchWidth\n ? `${Math.min(rects.reference.width, availableWidth)}px`\n : length(width ?? style?.width ?? ''),\n minWidth:\n minWidth === 'trigger'\n ? `min(${rects.reference.width}px, ${widthLimit})`\n : length(minWidth ?? style?.minWidth ?? ''),\n });\n },\n }),\n ],\n });\n if (open) previousPosition.current = floatingStyles;\n const setPanelRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) popupNodes.set(popupId, node);\n else popupNodes.delete(popupId);\n assignRef(panelRef, node);\n refs.setFloating(node);\n },\n [panelRef, refs.setFloating, popupId],\n );\n\n useBrowserLayoutEffect(() => {\n const trigger = referenceElement ?? triggerRef.current;\n if (!trigger || !present) return;\n refs.setReference(\n position\n ? {\n getBoundingClientRect: () => ({\n x: position.x,\n y: position.y,\n top: position.y,\n bottom: position.y,\n left: position.x,\n right: position.x,\n width: 0,\n height: 0,\n }),\n }\n : trigger,\n );\n const syncTheme = () => {\n const computed = getComputedStyle(trigger);\n let motionAncestor: HTMLElement | null = trigger;\n while (motionAncestor && !motionAncestor.hasAttribute('data-leaf-motion'))\n motionAncestor = composedParent(motionAncestor);\n setInheritedMotion(motionAncestor?.getAttribute('data-leaf-motion') ?? undefined);\n const variables: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as CSSProperties['direction'],\n };\n for (let i = 0; i < computed.length; i += 1) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n variables[key as `--leaf-${string}`] = computed.getPropertyValue(key);\n }\n setTheme(variables);\n };\n syncTheme();\n const observer = new MutationObserver(syncTheme);\n let ancestor: HTMLElement | null = trigger;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['class', 'style', 'data-leaf-theme', 'data-leaf-motion', 'dir'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [triggerRef, referenceElement, refs.setReference, present, position]);\n\n useBrowserLayoutEffect(() => {\n // A quick reopen can reuse the exit-presence node without remounting autoUpdate.\n if (open && present) void update();\n }, [open, present, update]);\n\n if (!present || typeof document === 'undefined') return null;\n return createPortal(\n <PopupParent.Provider value={popupId}>\n <div\n {...props}\n ref={setPanelRef}\n data-leaf-owner={owner}\n data-leaf-popup={popupId}\n data-leaf-popup-parent={parentPopup}\n data-leaf-motion={config.theme.motion === false ? 'off' : inheritedMotion}\n data-side={resolvedPlacement.split('-')[0]}\n data-align={resolvedPlacement.split('-')[1] ?? 'center'}\n dir={props.dir ?? theme.direction ?? config.direction}\n lang={props.lang ?? config.locale}\n data-state={open ? 'open' : 'closing'}\n data-positioned={isPositioned || !open}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n style={{ ...theme, ...style, ...(open ? floatingStyles : previousPosition.current) }}\n >\n {render\n ? render(open ? children : closingContent.current)\n : open\n ? children\n : closingContent.current}\n </div>\n </PopupParent.Provider>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n );\n}\n\n/** Close a custom floating panel when focus leaves it or Escape is pressed. */\nexport function useFloatingDismiss(\n open: boolean,\n onClose: (reason?: 'escape' | 'outside' | 'focus' | 'tab') => void,\n triggerRef: RefObject<HTMLElement | null>,\n panelRef: RefObject<HTMLElement | null>,\n boundaryRef: RefObject<HTMLElement | null> = triggerRef,\n) {\n const closeRef = useRef(onClose);\n closeRef.current = onClose;\n useEffect(() => {\n if (!open) {\n return;\n }\n dismissStack.push(panelRef);\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.composedPath()[0] ?? event.target;\n if (!(target instanceof Node)) {\n return;\n }\n const label = target instanceof Element ? target.closest('label') : null;\n const labelledControl = label?.control;\n if (\n boundaryRef.current?.contains(target) ||\n insidePopup(target, panelRef.current) ||\n (labelledControl && boundaryRef.current?.contains(labelledControl))\n ) {\n return;\n }\n closeRef.current('outside');\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented || dismissStack.at(-1) !== panelRef) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n closeRef.current('escape');\n triggerRef.current?.focus();\n } else if (event.key === 'Tab') {\n const panel = panelRef.current;\n const trigger = triggerRef.current;\n const active = deepActiveElement();\n if (!panel || !trigger || !panel.contains(active)) return;\n const items = tabbable(panel, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n });\n const index = active instanceof HTMLElement ? items.indexOf(active) : -1;\n const leaving = event.shiftKey ? index <= 0 : index === items.length - 1;\n if (!leaving) return;\n event.preventDefault();\n closeRef.current('tab');\n if (event.shiftKey) trigger.focus();\n else {\n const pageItems = tabbable(document.body, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n }).filter((item) => !panel.contains(item));\n const triggerIndex = pageItems.indexOf(trigger);\n (pageItems[triggerIndex + 1] ?? trigger).focus();\n }\n }\n };\n\n const handleFocus = (event: FocusEvent) => {\n const target = composedEventTarget(event);\n if (\n target instanceof Node &&\n !boundaryRef.current?.contains(target) &&\n !insidePopup(target, panelRef.current)\n )\n closeRef.current('focus');\n };\n\n document.addEventListener('pointerdown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown, true);\n document.addEventListener('focusin', handleFocus);\n return () => {\n const index = dismissStack.indexOf(panelRef);\n if (index >= 0) dismissStack.splice(index, 1);\n document.removeEventListener('pointerdown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown, true);\n document.removeEventListener('focusin', handleFocus);\n };\n }, [open, panelRef, triggerRef, boundaryRef]);\n}\n\n/** Keep keyboard-highlighted options visible without animated scrolling. */\nexport function useActiveOption(\n open: boolean,\n optionId: string | undefined,\n panelRef?: RefObject<HTMLElement | null>,\n) {\n useEffect(() => {\n if (!open || !optionId) return;\n const root = panelRef?.current?.getRootNode();\n const scope = root instanceof ShadowRoot ? root : document;\n scope.getElementById(optionId)?.scrollIntoView?.({ block: 'nearest' });\n }, [open, optionId, panelRef]);\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","PopupParent","createContext","undefined","popupNodes","Map","dismissStack","insidePopup","target","panel","popup","Element","visited","Set","parent","usePopupState","disabled","onOpenChange","controlledOpen","defaultOpen","internalOpen","setRequestedOpen","useState","requestedOpen","requestedRef","useRef","open","setOpen","useCallback","next","FloatingPanel","triggerRef","panelRef","matchWidth","width","minWidth","maxWidth","maxHeight","placement","container","render","position","style","children","props","popupId","useId","parentPopup","useContext","config","useLeafConfig","owner","OverlayOwner","present","usePresence","theme","setTheme","inheritedMotion","setInheritedMotion","openRef","previousPosition","closingContent","referenceElement","refs","floatingStyles","isPositioned","update","resolvedPlacement","useFloating","reference","floating","autoUpdate","offset","flip","shift","size","availableHeight","availableWidth","rects","elements","length","value","widthMaximum","heightMaximum","viewportWidth","Math","viewportHeight","widthLimit","Object","setPanelRef","node","assignRef","trigger","syncTheme","computed","getComputedStyle","motionAncestor","composedParent","variables","i","key","observer","MutationObserver","ancestor","document","createPortal","inertProps","useFloatingDismiss","onClose","boundaryRef","closeRef","handlePointerDown","event","Node","label","labelledControl","handleKeyDown","active","deepActiveElement","items","tabbable","element","index","HTMLElement","leaving","pageItems","item","triggerIndex","handleFocus","composedEventTarget","useActiveOption","optionId","root","scope","ShadowRoot"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { useEffect, useLayoutEffect, useRef, useSyncExternalStore } from "react";
3
- import { useLeafConfig } from "../config-provider/context.js";
2
+ import { useContext, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from "react";
3
+ import { ConfigContext } from "../config-provider/config-context.js";
4
4
  const reducedQuery = '(prefers-reduced-motion: reduce)';
5
5
  const useBrowserLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
6
6
  function reducedMotion() {
@@ -12,9 +12,9 @@ function subscribeMotion(listener) {
12
12
  return ()=>query?.removeEventListener?.('change', listener);
13
13
  }
14
14
  function useMotionEnabled() {
15
- const { theme } = useLeafConfig();
15
+ const config = useContext(ConfigContext);
16
16
  const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, ()=>false);
17
- return false !== theme.motion && !reduced;
17
+ return config?.theme.motion !== false && !reduced;
18
18
  }
19
19
  function motionDuration(element, multiplier = 1) {
20
20
  if (reducedMotion()) return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"shared/motion.js","sources":["../../../../../src/shared/motion.ts"],"sourcesContent":["import { type RefObject, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from 'react';\nimport { useLeafConfig } from '../config-provider/context';\n\nconst reducedQuery = '(prefers-reduced-motion: reduce)';\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nfunction reducedMotion() {\n return typeof window !== 'undefined' && Boolean(window.matchMedia?.(reducedQuery).matches);\n}\n\nfunction subscribeMotion(listener: () => void) {\n const query = typeof window !== 'undefined' ? window.matchMedia?.(reducedQuery) : undefined;\n query?.addEventListener?.('change', listener);\n return () => query?.removeEventListener?.('change', listener);\n}\n\n/** Live preference with a deterministic server snapshot; CSS handles the first frame. */\nexport function useMotionEnabled() {\n const { theme } = useLeafConfig();\n const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, () => false);\n return theme.motion !== false && !reduced;\n}\n\n/** Read the actual region, including variables transferred to a portal. */\nexport function motionDuration(element: Element, multiplier = 1) {\n if (reducedMotion()) return 0;\n const style = getComputedStyle(element);\n if (style.getPropertyValue('--leaf-motion-play-state').trim() === 'paused') return 0;\n const value = style.getPropertyValue('--leaf-motion-duration').trim();\n const numeric = Number.parseFloat(value);\n const duration = Number.isFinite(numeric)\n ? numeric * (value.endsWith('ms') ? 1 : value.endsWith('s') ? 1000 : 1)\n : 200;\n return Math.max(0, duration * multiplier);\n}\n\nexport interface MotionOptions {\n durationMultiplier?: number;\n easing?: string;\n}\n\n/** Never retain a final keyframe: the component's natural layout stays authoritative. */\nexport function animateMotion(\n element: HTMLElement | null,\n keyframes: Keyframe[],\n { durationMultiplier = 1, easing }: MotionOptions = {},\n) {\n if (!element?.animate) return;\n const duration = motionDuration(element, durationMultiplier);\n if (!duration) return;\n const style = getComputedStyle(element);\n const curve =\n easing === 'spring'\n ? style.getPropertyValue('--leaf-motion-spring').trim()\n : easing || style.getPropertyValue('--leaf-motion-easing').trim();\n return element.animate(keyframes, {\n duration,\n easing: curve || 'cubic-bezier(0.22, 1, 0.36, 1)',\n });\n}\n\ninterface LayoutPosition {\n left: number;\n top: number;\n}\n\nfunction listGeometry(root: HTMLElement, nodes: HTMLElement[]) {\n const bounds = root.getBoundingClientRect();\n const scaleX = root.offsetWidth ? bounds.width / root.offsetWidth : 1;\n const scaleY = root.offsetHeight ? bounds.height / root.offsetHeight : 1;\n const positions = nodes.map((node) => {\n const rect = node.getBoundingClientRect();\n let left = (rect.left - bounds.left) / (scaleX || 1);\n let top = (rect.top - bounds.top) / (scaleY || 1);\n let parent = node.parentElement;\n while (parent) {\n left += parent.scrollLeft;\n top += parent.scrollTop;\n if (parent === root) break;\n parent = parent.parentElement;\n }\n return { node, rect, key: node.dataset.motionKey ?? node, position: { left, top } };\n });\n return { positions, scaleX: scaleX || 1, scaleY: scaleY || 1 };\n}\n\n/** Animate keyed, ordinary rows; virtual window movement must not use this helper. */\nexport function useListMotion(\n rootRef: RefObject<HTMLElement | null>,\n changeKey: unknown,\n selector = '[data-motion-key]',\n layoutKey?: unknown,\n) {\n const enabled = useMotionEnabled();\n const previous = useRef<Map<string | HTMLElement, LayoutPosition> | null>(null);\n const animations = useRef<Animation[]>([]);\n const layout = useRef(layoutKey);\n useBrowserLayoutEffect(() => {\n // The key explicitly opts into a layout update; ordinary renders do not restart it.\n void changeKey;\n const root = rootRef.current;\n if (!root || !selector) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n if (!Object.is(layout.current, layoutKey)) previous.current = null;\n layout.current = layoutKey;\n // React has already changed layout. Recover the remaining visual offset from\n // the running animation, then measure the new, unanimated layout in a batch.\n const live = new Map(\n nodes.map((node) => [\n node,\n {\n rect: node.getBoundingClientRect(),\n opacity: getComputedStyle(node).opacity,\n },\n ]),\n );\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n const current = new Map<string | HTMLElement, LayoutPosition>();\n const positions = geometry.positions.map(({ node, key, position, rect }) => {\n current.set(key, position);\n const rendered = live.get(node);\n return {\n node,\n key,\n position,\n offset: {\n left: ((rendered?.rect.left ?? rect.left) - rect.left) / geometry.scaleX,\n top: ((rendered?.rect.top ?? rect.top) - rect.top) / geometry.scaleY,\n },\n opacity: rendered?.opacity ?? '1',\n naturalOpacity: getComputedStyle(node).opacity,\n };\n });\n if (enabled && previous.current) {\n for (const { node, key, position, offset, opacity, naturalOpacity } of positions) {\n const before = previous.current.get(key);\n const x = before ? before.left + offset.left - position.left : 0;\n const y = before ? before.top + offset.top - position.top : 5;\n if (before && Math.abs(x) < 0.5 && Math.abs(y) < 0.5) continue;\n const animation = animateMotion(\n node,\n [\n { translate: `${x}px ${y}px`, opacity: before ? opacity : 0 },\n { translate: '0 0', opacity: naturalOpacity },\n ],\n { durationMultiplier: 1.5 },\n );\n if (animation) animations.current.push(animation);\n }\n }\n previous.current = current;\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(() => {\n const root = rootRef.current;\n if (!root || !selector || typeof ResizeObserver === 'undefined') return;\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) return;\n let initial = true;\n const observer = new ResizeObserver(() => {\n // Initial delivery belongs to the keyed update above. Independent resize\n // and font reflow should establish a fresh baseline, without replaying FLIP.\n if (initial) {\n initial = false;\n return;\n }\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n previous.current = new Map(geometry.positions.map(({ key, position }) => [key, position]));\n });\n observer.observe(root);\n for (const node of nodes) observer.observe(node);\n return () => observer.disconnect();\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(\n () => () => {\n for (const animation of animations.current) animation.cancel();\n },\n [],\n );\n}\n"],"names":["reducedQuery","useBrowserLayoutEffect","window","useEffect","useLayoutEffect","reducedMotion","Boolean","subscribeMotion","listener","query","undefined","useMotionEnabled","theme","useLeafConfig","reduced","useSyncExternalStore","motionDuration","element","multiplier","style","getComputedStyle","value","numeric","Number","duration","Math","animateMotion","keyframes","durationMultiplier","easing","curve","listGeometry","root","nodes","bounds","scaleX","scaleY","positions","node","rect","left","top","parent","useListMotion","rootRef","changeKey","selector","layoutKey","enabled","previous","useRef","animations","layout","animation","Array","Object","live","Map","geometry","current","key","position","rendered","offset","opacity","naturalOpacity","before","x","y","ResizeObserver","initial","observer"],"mappings":"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"}
1
+ {"version":3,"file":"shared/motion.js","sources":["../../../../../src/shared/motion.ts"],"sourcesContent":["import {\n type RefObject,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n useSyncExternalStore,\n} from 'react';\nimport { ConfigContext } from '../config-provider/config-context';\n\nconst reducedQuery = '(prefers-reduced-motion: reduce)';\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nfunction reducedMotion() {\n return typeof window !== 'undefined' && Boolean(window.matchMedia?.(reducedQuery).matches);\n}\n\nfunction subscribeMotion(listener: () => void) {\n const query = typeof window !== 'undefined' ? window.matchMedia?.(reducedQuery) : undefined;\n query?.addEventListener?.('change', listener);\n return () => query?.removeEventListener?.('change', listener);\n}\n\n/** Live preference with a deterministic server snapshot; CSS handles the first frame. */\nexport function useMotionEnabled() {\n const config = useContext(ConfigContext);\n const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, () => false);\n return config?.theme.motion !== false && !reduced;\n}\n\n/** Read the actual region, including variables transferred to a portal. */\nexport function motionDuration(element: Element, multiplier = 1) {\n if (reducedMotion()) return 0;\n const style = getComputedStyle(element);\n if (style.getPropertyValue('--leaf-motion-play-state').trim() === 'paused') return 0;\n const value = style.getPropertyValue('--leaf-motion-duration').trim();\n const numeric = Number.parseFloat(value);\n const duration = Number.isFinite(numeric)\n ? numeric * (value.endsWith('ms') ? 1 : value.endsWith('s') ? 1000 : 1)\n : 200;\n return Math.max(0, duration * multiplier);\n}\n\nexport interface MotionOptions {\n durationMultiplier?: number;\n easing?: string;\n}\n\n/** Never retain a final keyframe: the component's natural layout stays authoritative. */\nexport function animateMotion(\n element: HTMLElement | null,\n keyframes: Keyframe[],\n { durationMultiplier = 1, easing }: MotionOptions = {},\n) {\n if (!element?.animate) return;\n const duration = motionDuration(element, durationMultiplier);\n if (!duration) return;\n const style = getComputedStyle(element);\n const curve =\n easing === 'spring'\n ? style.getPropertyValue('--leaf-motion-spring').trim()\n : easing || style.getPropertyValue('--leaf-motion-easing').trim();\n return element.animate(keyframes, {\n duration,\n easing: curve || 'cubic-bezier(0.22, 1, 0.36, 1)',\n });\n}\n\ninterface LayoutPosition {\n left: number;\n top: number;\n}\n\nfunction listGeometry(root: HTMLElement, nodes: HTMLElement[]) {\n const bounds = root.getBoundingClientRect();\n const scaleX = root.offsetWidth ? bounds.width / root.offsetWidth : 1;\n const scaleY = root.offsetHeight ? bounds.height / root.offsetHeight : 1;\n const positions = nodes.map((node) => {\n const rect = node.getBoundingClientRect();\n let left = (rect.left - bounds.left) / (scaleX || 1);\n let top = (rect.top - bounds.top) / (scaleY || 1);\n let parent = node.parentElement;\n while (parent) {\n left += parent.scrollLeft;\n top += parent.scrollTop;\n if (parent === root) break;\n parent = parent.parentElement;\n }\n return { node, rect, key: node.dataset.motionKey ?? node, position: { left, top } };\n });\n return { positions, scaleX: scaleX || 1, scaleY: scaleY || 1 };\n}\n\n/** Animate keyed, ordinary rows; virtual window movement must not use this helper. */\nexport function useListMotion(\n rootRef: RefObject<HTMLElement | null>,\n changeKey: unknown,\n selector = '[data-motion-key]',\n layoutKey?: unknown,\n) {\n const enabled = useMotionEnabled();\n const previous = useRef<Map<string | HTMLElement, LayoutPosition> | null>(null);\n const animations = useRef<Animation[]>([]);\n const layout = useRef(layoutKey);\n useBrowserLayoutEffect(() => {\n // The key explicitly opts into a layout update; ordinary renders do not restart it.\n void changeKey;\n const root = rootRef.current;\n if (!root || !selector) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n if (!Object.is(layout.current, layoutKey)) previous.current = null;\n layout.current = layoutKey;\n // React has already changed layout. Recover the remaining visual offset from\n // the running animation, then measure the new, unanimated layout in a batch.\n const live = new Map(\n nodes.map((node) => [\n node,\n {\n rect: node.getBoundingClientRect(),\n opacity: getComputedStyle(node).opacity,\n },\n ]),\n );\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n const current = new Map<string | HTMLElement, LayoutPosition>();\n const positions = geometry.positions.map(({ node, key, position, rect }) => {\n current.set(key, position);\n const rendered = live.get(node);\n return {\n node,\n key,\n position,\n offset: {\n left: ((rendered?.rect.left ?? rect.left) - rect.left) / geometry.scaleX,\n top: ((rendered?.rect.top ?? rect.top) - rect.top) / geometry.scaleY,\n },\n opacity: rendered?.opacity ?? '1',\n naturalOpacity: getComputedStyle(node).opacity,\n };\n });\n if (enabled && previous.current) {\n for (const { node, key, position, offset, opacity, naturalOpacity } of positions) {\n const before = previous.current.get(key);\n const x = before ? before.left + offset.left - position.left : 0;\n const y = before ? before.top + offset.top - position.top : 5;\n if (before && Math.abs(x) < 0.5 && Math.abs(y) < 0.5) continue;\n const animation = animateMotion(\n node,\n [\n { translate: `${x}px ${y}px`, opacity: before ? opacity : 0 },\n { translate: '0 0', opacity: naturalOpacity },\n ],\n { durationMultiplier: 1.5 },\n );\n if (animation) animations.current.push(animation);\n }\n }\n previous.current = current;\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(() => {\n const root = rootRef.current;\n if (!root || !selector || typeof ResizeObserver === 'undefined') return;\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) return;\n let initial = true;\n const observer = new ResizeObserver(() => {\n // Initial delivery belongs to the keyed update above. Independent resize\n // and font reflow should establish a fresh baseline, without replaying FLIP.\n if (initial) {\n initial = false;\n return;\n }\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n previous.current = new Map(geometry.positions.map(({ key, position }) => [key, position]));\n });\n observer.observe(root);\n for (const node of nodes) observer.observe(node);\n return () => observer.disconnect();\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(\n () => () => {\n for (const animation of animations.current) animation.cancel();\n },\n [],\n );\n}\n"],"names":["reducedQuery","useBrowserLayoutEffect","window","useEffect","useLayoutEffect","reducedMotion","Boolean","subscribeMotion","listener","query","undefined","useMotionEnabled","config","useContext","ConfigContext","reduced","useSyncExternalStore","motionDuration","element","multiplier","style","getComputedStyle","value","numeric","Number","duration","Math","animateMotion","keyframes","durationMultiplier","easing","curve","listGeometry","root","nodes","bounds","scaleX","scaleY","positions","node","rect","left","top","parent","useListMotion","rootRef","changeKey","selector","layoutKey","enabled","previous","useRef","animations","layout","animation","Array","Object","live","Map","geometry","current","key","position","rendered","offset","opacity","naturalOpacity","before","x","y","ResizeObserver","initial","observer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { periodKey, startOfPeriod } from "./calendar.js";
3
3
  import { parseTime } from "./time.js";
4
- function parseDateText(text, mode = 'date') {
4
+ function parseDateText(text, mode = 'date', periods) {
5
5
  if ('quarter' === mode) {
6
6
  const match = /^(\d{4})-Q([1-4])$/i.exec(text);
7
7
  if (!match) return null;
@@ -28,7 +28,7 @@ function parseDateText(text, mode = 'date') {
28
28
  date.setHours(0, 0, 0, 0);
29
29
  if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;
30
30
  if ('datetime' === mode) {
31
- const time = parseTime(match[4]);
31
+ const time = parseTime(match[4], periods);
32
32
  if (!time) return null;
33
33
  date.setHours(time.hour, time.minute, time.second, 0);
34
34
  if (date.getHours() !== time.hour || date.getMinutes() !== time.minute) return null;
@@ -1 +1 @@
1
- {"version":3,"file":"shared/parse-date.js","sources":["../../../../../src/shared/parse-date.ts"],"sourcesContent":["import { type CalendarMode, periodKey, startOfPeriod } from './calendar';\nimport { parseTime } from './time';\n\n/** Strict local parsing: never silently roll an invalid day into the next month. */\nexport function parseDateText(text: string, mode: CalendarMode = 'date') {\n if (mode === 'quarter') {\n const match = /^(\\d{4})-Q([1-4])$/i.exec(text);\n if (!match) return null;\n const date = new Date(0);\n date.setFullYear(Number(match[1]), (Number(match[2]) - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n if (mode === 'week') {\n const match = /^(\\d{4})-W(\\d{2})$/i.exec(text);\n if (!match) return null;\n const date = startOfPeriod(new Date(Number(match[1]), 0, 4), 'week');\n date.setDate(date.getDate() + (Number(match[2]) - 1) * 7);\n return periodKey(date, 'week').toLowerCase() === text.toLowerCase() ? date : null;\n }\n const expression =\n mode === 'year'\n ? /^(\\d{4})$/\n : mode === 'month'\n ? /^(\\d{4})[-/](\\d{1,2})$/\n : /^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T\\s]+(.+))?$/;\n const match = expression.exec(text);\n if (!match) return null;\n const year = Number(match[1]);\n const month = mode === 'year' ? 1 : Number(match[2]);\n const day = mode === 'year' || mode === 'month' ? 1 : Number(match[3]);\n const date = new Date(0);\n date.setFullYear(year, month - 1, day);\n date.setHours(0, 0, 0, 0);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)\n return null;\n if (mode === 'datetime') {\n const time = parseTime(match[4]);\n if (!time) return null;\n date.setHours(time.hour, time.minute, time.second, 0);\n if (date.getHours() !== time.hour || date.getMinutes() !== time.minute) return null;\n } else if (match[4]) return null;\n return date;\n}\n"],"names":["parseDateText","text","mode","match","date","Date","Number","startOfPeriod","periodKey","expression","year","month","day","time","parseTime"],"mappings":";;;AAIO,SAASA,cAAcC,IAAY,EAAEC,OAAqB,MAAM;IACrE,IAAIA,AAAS,cAATA,MAAoB;QACtB,MAAMC,QAAQ,sBAAsB,IAAI,CAACF;QACzC,IAAI,CAACE,OAAO,OAAO;QACnB,MAAMC,OAAO,IAAIC,KAAK;QACtBD,KAAK,WAAW,CAACE,OAAOH,KAAK,CAAC,EAAE,GAAIG,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK,GAAG;QAC/DC,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;QACvB,OAAOA;IACT;IACA,IAAIF,AAAS,WAATA,MAAiB;QACnB,MAAMC,QAAQ,sBAAsB,IAAI,CAACF;QACzC,IAAI,CAACE,OAAO,OAAO;QACnB,MAAMC,OAAOG,cAAc,IAAIF,KAAKC,OAAOH,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;QAC7DC,KAAK,OAAO,CAACA,KAAK,OAAO,KAAME,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK;QACvD,OAAOK,UAAUJ,MAAM,QAAQ,WAAW,OAAOH,KAAK,WAAW,KAAKG,OAAO;IAC/E;IACA,MAAMK,aACJP,AAAS,WAATA,OACI,cACAA,AAAS,YAATA,OACE,2BACA;IACR,MAAMC,QAAQM,WAAW,IAAI,CAACR;IAC9B,IAAI,CAACE,OAAO,OAAO;IACnB,MAAMO,OAAOJ,OAAOH,KAAK,CAAC,EAAE;IAC5B,MAAMQ,QAAQT,AAAS,WAATA,OAAkB,IAAII,OAAOH,KAAK,CAAC,EAAE;IACnD,MAAMS,MAAMV,AAAS,WAATA,QAAmBA,AAAS,YAATA,OAAmB,IAAII,OAAOH,KAAK,CAAC,EAAE;IACrE,MAAMC,OAAO,IAAIC,KAAK;IACtBD,KAAK,WAAW,CAACM,MAAMC,QAAQ,GAAGC;IAClCR,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;IACvB,IAAIA,KAAK,WAAW,OAAOM,QAAQN,KAAK,QAAQ,OAAOO,QAAQ,KAAKP,KAAK,OAAO,OAAOQ,KACrF,OAAO;IACT,IAAIV,AAAS,eAATA,MAAqB;QACvB,MAAMW,OAAOC,UAAUX,KAAK,CAAC,EAAE;QAC/B,IAAI,CAACU,MAAM,OAAO;QAClBT,KAAK,QAAQ,CAACS,KAAK,IAAI,EAAEA,KAAK,MAAM,EAAEA,KAAK,MAAM,EAAE;QACnD,IAAIT,KAAK,QAAQ,OAAOS,KAAK,IAAI,IAAIT,KAAK,UAAU,OAAOS,KAAK,MAAM,EAAE,OAAO;IACjF,OAAO,IAAIV,KAAK,CAAC,EAAE,EAAE,OAAO;IAC5B,OAAOC;AACT"}
1
+ {"version":3,"file":"shared/parse-date.js","sources":["../../../../../src/shared/parse-date.ts"],"sourcesContent":["import { type CalendarMode, periodKey, startOfPeriod } from './calendar';\nimport { parseTime } from './time';\n\n/** Strict local parsing: never silently roll an invalid day into the next month. */\nexport function parseDateText(\n text: string,\n mode: CalendarMode = 'date',\n periods?: readonly [string, string],\n) {\n if (mode === 'quarter') {\n const match = /^(\\d{4})-Q([1-4])$/i.exec(text);\n if (!match) return null;\n const date = new Date(0);\n date.setFullYear(Number(match[1]), (Number(match[2]) - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n if (mode === 'week') {\n const match = /^(\\d{4})-W(\\d{2})$/i.exec(text);\n if (!match) return null;\n const date = startOfPeriod(new Date(Number(match[1]), 0, 4), 'week');\n date.setDate(date.getDate() + (Number(match[2]) - 1) * 7);\n return periodKey(date, 'week').toLowerCase() === text.toLowerCase() ? date : null;\n }\n const expression =\n mode === 'year'\n ? /^(\\d{4})$/\n : mode === 'month'\n ? /^(\\d{4})[-/](\\d{1,2})$/\n : /^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T\\s]+(.+))?$/;\n const match = expression.exec(text);\n if (!match) return null;\n const year = Number(match[1]);\n const month = mode === 'year' ? 1 : Number(match[2]);\n const day = mode === 'year' || mode === 'month' ? 1 : Number(match[3]);\n const date = new Date(0);\n date.setFullYear(year, month - 1, day);\n date.setHours(0, 0, 0, 0);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)\n return null;\n if (mode === 'datetime') {\n const time = parseTime(match[4], periods);\n if (!time) return null;\n date.setHours(time.hour, time.minute, time.second, 0);\n if (date.getHours() !== time.hour || date.getMinutes() !== time.minute) return null;\n } else if (match[4]) return null;\n return date;\n}\n"],"names":["parseDateText","text","mode","periods","match","date","Date","Number","startOfPeriod","periodKey","expression","year","month","day","time","parseTime"],"mappings":";;;AAIO,SAASA,cACdC,IAAY,EACZC,OAAqB,MAAM,EAC3BC,OAAmC;IAEnC,IAAID,AAAS,cAATA,MAAoB;QACtB,MAAME,QAAQ,sBAAsB,IAAI,CAACH;QACzC,IAAI,CAACG,OAAO,OAAO;QACnB,MAAMC,OAAO,IAAIC,KAAK;QACtBD,KAAK,WAAW,CAACE,OAAOH,KAAK,CAAC,EAAE,GAAIG,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK,GAAG;QAC/DC,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;QACvB,OAAOA;IACT;IACA,IAAIH,AAAS,WAATA,MAAiB;QACnB,MAAME,QAAQ,sBAAsB,IAAI,CAACH;QACzC,IAAI,CAACG,OAAO,OAAO;QACnB,MAAMC,OAAOG,cAAc,IAAIF,KAAKC,OAAOH,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;QAC7DC,KAAK,OAAO,CAACA,KAAK,OAAO,KAAME,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK;QACvD,OAAOK,UAAUJ,MAAM,QAAQ,WAAW,OAAOJ,KAAK,WAAW,KAAKI,OAAO;IAC/E;IACA,MAAMK,aACJR,AAAS,WAATA,OACI,cACAA,AAAS,YAATA,OACE,2BACA;IACR,MAAME,QAAQM,WAAW,IAAI,CAACT;IAC9B,IAAI,CAACG,OAAO,OAAO;IACnB,MAAMO,OAAOJ,OAAOH,KAAK,CAAC,EAAE;IAC5B,MAAMQ,QAAQV,AAAS,WAATA,OAAkB,IAAIK,OAAOH,KAAK,CAAC,EAAE;IACnD,MAAMS,MAAMX,AAAS,WAATA,QAAmBA,AAAS,YAATA,OAAmB,IAAIK,OAAOH,KAAK,CAAC,EAAE;IACrE,MAAMC,OAAO,IAAIC,KAAK;IACtBD,KAAK,WAAW,CAACM,MAAMC,QAAQ,GAAGC;IAClCR,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;IACvB,IAAIA,KAAK,WAAW,OAAOM,QAAQN,KAAK,QAAQ,OAAOO,QAAQ,KAAKP,KAAK,OAAO,OAAOQ,KACrF,OAAO;IACT,IAAIX,AAAS,eAATA,MAAqB;QACvB,MAAMY,OAAOC,UAAUX,KAAK,CAAC,EAAE,EAAED;QACjC,IAAI,CAACW,MAAM,OAAO;QAClBT,KAAK,QAAQ,CAACS,KAAK,IAAI,EAAEA,KAAK,MAAM,EAAEA,KAAK,MAAM,EAAE;QACnD,IAAIT,KAAK,QAAQ,OAAOS,KAAK,IAAI,IAAIT,KAAK,UAAU,OAAOS,KAAK,MAAM,EAAE,OAAO;IACjF,OAAO,IAAIV,KAAK,CAAC,EAAE,EAAE,OAAO;IAC5B,OAAOC;AACT"}
@@ -12,14 +12,27 @@ function ScopedPortal({ children, container }) {
12
12
  const node = anchor.current;
13
13
  if (!node) return;
14
14
  const sync = ()=>{
15
- const computed = getComputedStyle(node);
15
+ const computed = getComputedStyle(composedParent(node) ?? node);
16
16
  const next = {
17
17
  colorScheme: computed.colorScheme,
18
18
  direction: computed.direction
19
19
  };
20
+ const keys = new Set();
20
21
  for(let i = 0; i < computed.length; i++){
21
22
  const key = computed.item(i);
22
- if (key.startsWith('--leaf-')) next[key] = computed.getPropertyValue(key);
23
+ if (key.startsWith('--leaf-')) keys.add(key);
24
+ }
25
+ let owner = composedParent(node);
26
+ while(owner){
27
+ for(let i = 0; i < owner.style.length; i++){
28
+ const key = owner.style.item(i);
29
+ if (key.startsWith('--leaf-')) keys.add(key);
30
+ }
31
+ owner = composedParent(owner);
32
+ }
33
+ for (const key of keys){
34
+ const value = computed.getPropertyValue(key);
35
+ if (value.trim()) next[key] = value;
23
36
  }
24
37
  setStyle(next);
25
38
  };
@@ -50,6 +63,8 @@ function ScopedPortal({ children, container }) {
50
63
  }),
51
64
  style && "u" > typeof document && /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx("div", {
52
65
  className: "leaf-portal-scope",
66
+ lang: config.locale,
67
+ dir: config.direction,
53
68
  "data-leaf-density": config.density,
54
69
  "data-leaf-motion": void 0 === config.theme.motion ? void 0 : config.theme.motion ? 'on' : 'off',
55
70
  style: style,
@@ -1 +1 @@
1
- {"version":3,"file":"shared/scoped-portal.js","sources":["../../../../../src/shared/scoped-portal.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedParent } from './dom';\n\n/** Transfer inherited variables into a portal without moving the React context. */\nexport function ScopedPortal({\n children,\n container,\n}: {\n children: ReactNode;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n}) {\n const config = useLeafConfig();\n const anchor = useRef<HTMLSpanElement>(null);\n const [style, setStyle] = useState<LeafThemeStyle>();\n useEffect(() => {\n const node = anchor.current;\n if (!node) return;\n const sync = () => {\n const computed = getComputedStyle(node);\n const next: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as LeafThemeStyle['direction'],\n };\n for (let i = 0; i < computed.length; i++) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n next[key as `--leaf-${string}`] = computed.getPropertyValue(key);\n }\n setStyle(next);\n };\n sync();\n const observer = new MutationObserver(sync);\n let parent: HTMLElement | null = node;\n while (parent) {\n observer.observe(parent, {\n attributes: true,\n attributeFilter: [\n 'style',\n 'class',\n 'data-leaf-theme',\n 'data-leaf-density',\n 'data-leaf-motion',\n 'dir',\n ],\n });\n parent = composedParent(parent);\n }\n return () => observer.disconnect();\n }, []);\n return (\n <>\n <span ref={anchor} hidden />\n {style &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className=\"leaf-portal-scope\"\n data-leaf-density={config.density}\n data-leaf-motion={\n config.theme.motion === undefined ? undefined : config.theme.motion ? 'on' : 'off'\n }\n style={style}\n >\n {children}\n </div>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n )}\n </>\n );\n}\n"],"names":["ScopedPortal","children","container","config","useLeafConfig","anchor","useRef","style","setStyle","useState","useEffect","node","sync","computed","getComputedStyle","next","i","key","observer","MutationObserver","parent","composedParent","document","createPortal","undefined"],"mappings":";;;;;;AAOO,SAASA,aAAa,EAC3BC,QAAQ,EACRC,SAAS,EAIV;IACC,MAAMC,SAASC;IACf,MAAMC,SAASC,OAAwB;IACvC,MAAM,CAACC,OAAOC,SAAS,GAAGC;IAC1BC,UAAU;QACR,MAAMC,OAAON,OAAO,OAAO;QAC3B,IAAI,CAACM,MAAM;QACX,MAAMC,OAAO;YACX,MAAMC,WAAWC,iBAAiBH;YAClC,MAAMI,OAAuB;gBAC3B,aAAaF,SAAS,WAAW;gBACjC,WAAWA,SAAS,SAAS;YAC/B;YACA,IAAK,IAAIG,IAAI,GAAGA,IAAIH,SAAS,MAAM,EAAEG,IAAK;gBACxC,MAAMC,MAAMJ,SAAS,IAAI,CAACG;gBAC1B,IAAIC,IAAI,UAAU,CAAC,YACjBF,IAAI,CAACE,IAA0B,GAAGJ,SAAS,gBAAgB,CAACI;YAChE;YACAT,SAASO;QACX;QACAH;QACA,MAAMM,WAAW,IAAIC,iBAAiBP;QACtC,IAAIQ,SAA6BT;QACjC,MAAOS,OAAQ;YACbF,SAAS,OAAO,CAACE,QAAQ;gBACvB,YAAY;gBACZ,iBAAiB;oBACf;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;YACH;YACAA,SAASC,eAAeD;QAC1B;QACA,OAAO,IAAMF,SAAS,UAAU;IAClC,GAAG,EAAE;IACL,OAAO,WAAP,GACE;;0BACE,IAAC;gBAAK,KAAKb;gBAAQ,QAAM;;YACxBE,SACC,AAAoB,MAApB,OAAOe,YAAa,cACpBC,aAAa,WAADA,GACV,IAAC;gBACC,WAAU;gBACV,qBAAmBpB,OAAO,OAAO;gBACjC,oBACEA,AAAwBqB,WAAxBrB,OAAO,KAAK,CAAC,MAAM,GAAiBqB,SAAYrB,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO;gBAE/E,OAAOI;0BAENN;gBAEF,CAAqB,cAArB,OAAOC,YAA2BA,cAAcA,SAAQ,KACvDC,OAAO,iBAAiB,QACxBmB,SAAS,IAAI;;;AAIzB"}
1
+ {"version":3,"file":"shared/scoped-portal.js","sources":["../../../../../src/shared/scoped-portal.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedParent } from './dom';\n\n/** Transfer inherited variables into a portal without moving the React context. */\nexport function ScopedPortal({\n children,\n container,\n}: {\n children: ReactNode;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n}) {\n const config = useLeafConfig();\n const anchor = useRef<HTMLSpanElement>(null);\n const [style, setStyle] = useState<LeafThemeStyle>();\n useEffect(() => {\n const node = anchor.current;\n if (!node) return;\n const sync = () => {\n // Read the owning element; hidden markers can omit inherited custom\n // properties from computed-style enumeration in Firefox.\n const computed = getComputedStyle(composedParent(node) ?? node);\n const next: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as LeafThemeStyle['direction'],\n };\n const keys = new Set<string>();\n for (let i = 0; i < computed.length; i++) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-')) keys.add(key);\n }\n // Some engines do not enumerate every inherited custom property. Include\n // inline scope keys, then read their effective values at the source.\n let owner = composedParent(node);\n while (owner) {\n for (let i = 0; i < owner.style.length; i++) {\n const key = owner.style.item(i);\n if (key.startsWith('--leaf-')) keys.add(key);\n }\n owner = composedParent(owner);\n }\n for (const key of keys) {\n const value = computed.getPropertyValue(key);\n if (value.trim()) next[key as `--leaf-${string}`] = value;\n }\n setStyle(next);\n };\n sync();\n const observer = new MutationObserver(sync);\n let parent: HTMLElement | null = node;\n while (parent) {\n observer.observe(parent, {\n attributes: true,\n attributeFilter: [\n 'style',\n 'class',\n 'data-leaf-theme',\n 'data-leaf-density',\n 'data-leaf-motion',\n 'dir',\n ],\n });\n parent = composedParent(parent);\n }\n return () => observer.disconnect();\n }, []);\n return (\n <>\n <span ref={anchor} hidden />\n {style &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className=\"leaf-portal-scope\"\n lang={config.locale}\n dir={config.direction}\n data-leaf-density={config.density}\n data-leaf-motion={\n config.theme.motion === undefined ? undefined : config.theme.motion ? 'on' : 'off'\n }\n style={style}\n >\n {children}\n </div>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n )}\n </>\n );\n}\n"],"names":["ScopedPortal","children","container","config","useLeafConfig","anchor","useRef","style","setStyle","useState","useEffect","node","sync","computed","getComputedStyle","composedParent","next","keys","Set","i","key","owner","value","observer","MutationObserver","parent","document","createPortal","undefined"],"mappings":";;;;;;AAOO,SAASA,aAAa,EAC3BC,QAAQ,EACRC,SAAS,EAIV;IACC,MAAMC,SAASC;IACf,MAAMC,SAASC,OAAwB;IACvC,MAAM,CAACC,OAAOC,SAAS,GAAGC;IAC1BC,UAAU;QACR,MAAMC,OAAON,OAAO,OAAO;QAC3B,IAAI,CAACM,MAAM;QACX,MAAMC,OAAO;YAGX,MAAMC,WAAWC,iBAAiBC,eAAeJ,SAASA;YAC1D,MAAMK,OAAuB;gBAC3B,aAAaH,SAAS,WAAW;gBACjC,WAAWA,SAAS,SAAS;YAC/B;YACA,MAAMI,OAAO,IAAIC;YACjB,IAAK,IAAIC,IAAI,GAAGA,IAAIN,SAAS,MAAM,EAAEM,IAAK;gBACxC,MAAMC,MAAMP,SAAS,IAAI,CAACM;gBAC1B,IAAIC,IAAI,UAAU,CAAC,YAAYH,KAAK,GAAG,CAACG;YAC1C;YAGA,IAAIC,QAAQN,eAAeJ;YAC3B,MAAOU,MAAO;gBACZ,IAAK,IAAIF,IAAI,GAAGA,IAAIE,MAAM,KAAK,CAAC,MAAM,EAAEF,IAAK;oBAC3C,MAAMC,MAAMC,MAAM,KAAK,CAAC,IAAI,CAACF;oBAC7B,IAAIC,IAAI,UAAU,CAAC,YAAYH,KAAK,GAAG,CAACG;gBAC1C;gBACAC,QAAQN,eAAeM;YACzB;YACA,KAAK,MAAMD,OAAOH,KAAM;gBACtB,MAAMK,QAAQT,SAAS,gBAAgB,CAACO;gBACxC,IAAIE,MAAM,IAAI,IAAIN,IAAI,CAACI,IAA0B,GAAGE;YACtD;YACAd,SAASQ;QACX;QACAJ;QACA,MAAMW,WAAW,IAAIC,iBAAiBZ;QACtC,IAAIa,SAA6Bd;QACjC,MAAOc,OAAQ;YACbF,SAAS,OAAO,CAACE,QAAQ;gBACvB,YAAY;gBACZ,iBAAiB;oBACf;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;YACH;YACAA,SAASV,eAAeU;QAC1B;QACA,OAAO,IAAMF,SAAS,UAAU;IAClC,GAAG,EAAE;IACL,OAAO,WAAP,GACE;;0BACE,IAAC;gBAAK,KAAKlB;gBAAQ,QAAM;;YACxBE,SACC,AAAoB,MAApB,OAAOmB,YAAa,cACpBC,aAAa,WAADA,GACV,IAAC;gBACC,WAAU;gBACV,MAAMxB,OAAO,MAAM;gBACnB,KAAKA,OAAO,SAAS;gBACrB,qBAAmBA,OAAO,OAAO;gBACjC,oBACEA,AAAwByB,WAAxBzB,OAAO,KAAK,CAAC,MAAM,GAAiByB,SAAYzB,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO;gBAE/E,OAAOI;0BAENN;gBAEF,CAAqB,cAArB,OAAOC,YAA2BA,cAAcA,SAAQ,KACvDC,OAAO,iBAAiB,QACxBuB,SAAS,IAAI;;;AAIzB"}
@@ -0,0 +1,164 @@
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { X } from "lucide-react";
4
+ import { useEffect, useLayoutEffect, useRef, useState } from "react";
5
+ import { classes } from "./classes.js";
6
+ import { inertProps } from "./inert.js";
7
+ import { useListMotion } from "./motion.js";
8
+ const useBrowserLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
9
+ function SelectionContent({ items, children, className, tagClassName, tagWrap = true, maxTagCount, searchable = false, query = '', removeLabel }) {
10
+ const root = useRef(null);
11
+ const count = items?.length ?? 0;
12
+ const limit = 'number' == typeof maxTagCount ? Math.max(0, Math.floor(maxTagCount)) : count;
13
+ const singleLine = void 0 !== items && (!tagWrap || 'responsive' === maxTagCount);
14
+ const [layout, setLayout] = useState({
15
+ count,
16
+ firstWidth: 0,
17
+ inputWidth: 0
18
+ });
19
+ const visibleCount = Math.min(count, limit, singleLine ? layout.count : count);
20
+ const hiddenItems = items?.slice(visibleCount) ?? [];
21
+ const measure = useRef(()=>{});
22
+ measure.current = ()=>{
23
+ const element = root.current;
24
+ if (!singleLine || !element?.clientWidth) return;
25
+ const width = element.clientWidth;
26
+ const gap = Number.parseFloat(getComputedStyle(element).columnGap) || 0;
27
+ const tags = Array.from(element.querySelectorAll('[data-selection-item]'));
28
+ const hiddenTags = tags.filter((tag)=>tag.hidden);
29
+ element.dataset.measuring = '';
30
+ for (const tag of hiddenTags)tag.hidden = false;
31
+ const widths = tags.map((tag)=>tag.getBoundingClientRect().width);
32
+ const overflowWidth = element.querySelector('[data-selection-counter]')?.getBoundingClientRect().width ?? 0;
33
+ const queryWidth = element.querySelector('[data-selection-query]')?.getBoundingClientRect().width ?? 0;
34
+ for (const tag of hiddenTags)tag.hidden = true;
35
+ delete element.dataset.measuring;
36
+ const inputWidth = children ? Math.min(Math.max(0, width - (count ? overflowWidth + gap : 0)), searchable ? query ? Math.max(48, queryWidth + 12) : 24 : 1) : 0;
37
+ const budget = Math.max(0, width - inputWidth - (children && count ? gap : 0));
38
+ const totalWidth = widths.reduce((sum, value)=>sum + value, 0) + Math.max(0, count - 1) * gap;
39
+ let nextCount = 0;
40
+ let firstWidth = 0;
41
+ if (count <= limit && totalWidth <= budget) nextCount = count;
42
+ else if (1 === count && limit > 0 && budget >= Math.min(widths[0] ?? 0, 48)) {
43
+ nextCount = 1;
44
+ firstWidth = budget;
45
+ } else {
46
+ const tagBudget = Math.max(0, budget - overflowWidth - gap);
47
+ let used = 0;
48
+ for (const tagWidth of widths.slice(0, Math.min(limit, count - 1))){
49
+ const next = used + (nextCount ? gap : 0) + tagWidth;
50
+ if (next > tagBudget) break;
51
+ used = next;
52
+ nextCount++;
53
+ }
54
+ if (!nextCount && limit > 0 && count > 1 && tagBudget >= Math.min(widths[0] ?? 0, 48)) {
55
+ nextCount = 1;
56
+ firstWidth = tagBudget;
57
+ }
58
+ }
59
+ setLayout((previous)=>previous.count === nextCount && previous.firstWidth === firstWidth && previous.inputWidth === inputWidth ? previous : {
60
+ count: nextCount,
61
+ firstWidth,
62
+ inputWidth
63
+ });
64
+ };
65
+ useBrowserLayoutEffect(()=>measure.current());
66
+ useEffect(()=>{
67
+ if (!singleLine || !root.current) return;
68
+ const update = ()=>measure.current();
69
+ const observer = "u" < typeof ResizeObserver ? void 0 : new ResizeObserver(update);
70
+ observer?.observe(root.current);
71
+ for (const tag of root.current.querySelectorAll('[data-selection-item]'))observer?.observe(tag);
72
+ window.addEventListener('resize', update);
73
+ document.fonts?.addEventListener('loadingdone', update);
74
+ return ()=>{
75
+ observer?.disconnect();
76
+ window.removeEventListener('resize', update);
77
+ document.fonts?.removeEventListener('loadingdone', update);
78
+ };
79
+ }, [
80
+ singleLine,
81
+ count
82
+ ]);
83
+ useListMotion(root, JSON.stringify(items?.slice(0, visibleCount).map((item)=>item.key)), '.leaf-selection__tag[data-motion-key]:not([hidden])', singleLine ? visibleCount : false);
84
+ return /*#__PURE__*/ jsxs("span", {
85
+ ref: root,
86
+ className: classes('leaf-selection', className),
87
+ "data-multiple": void 0 !== items || void 0,
88
+ "data-single-line": singleLine || void 0,
89
+ style: singleLine ? {
90
+ '--leaf-selection-first-width': layout.firstWidth ? `${layout.firstWidth}px` : void 0,
91
+ '--leaf-selection-input-width': `${layout.inputWidth}px`
92
+ } : void 0,
93
+ children: [
94
+ items?.slice(0, singleLine ? count : visibleCount).map((item, index)=>/*#__PURE__*/ jsx("span", {
95
+ className: classes('leaf-selection__tag', tagClassName),
96
+ "data-selection-item": "",
97
+ "data-motion-key": item.key,
98
+ "data-custom": null != item.render || void 0,
99
+ hidden: index >= visibleCount,
100
+ ...inertProps(index >= visibleCount),
101
+ title: item.text,
102
+ children: item.render ?? /*#__PURE__*/ jsxs(Fragment, {
103
+ children: [
104
+ /*#__PURE__*/ jsx("span", {
105
+ children: item.label
106
+ }),
107
+ item.remove && /*#__PURE__*/ jsx("button", {
108
+ type: "button",
109
+ tabIndex: -1,
110
+ "aria-label": `${removeLabel} ${item.text}`,
111
+ onMouseDown: (event)=>event.preventDefault(),
112
+ onClick: (event)=>{
113
+ event.stopPropagation();
114
+ item.remove?.();
115
+ },
116
+ children: /*#__PURE__*/ jsx(X, {
117
+ size: 12,
118
+ "aria-hidden": "true"
119
+ })
120
+ })
121
+ ]
122
+ })
123
+ }, item.key)),
124
+ hiddenItems.length > 0 && /*#__PURE__*/ jsxs("span", {
125
+ className: classes('leaf-selection__tag', tagClassName),
126
+ title: hiddenItems.map((item)=>item.text).join(', '),
127
+ "data-selection-overflow": "",
128
+ children: [
129
+ "+",
130
+ hiddenItems.length,
131
+ /*#__PURE__*/ jsx("span", {
132
+ className: "leaf-selection__sr",
133
+ children: hiddenItems.map((item)=>item.text).join(', ')
134
+ })
135
+ ]
136
+ }),
137
+ children && /*#__PURE__*/ jsx("span", {
138
+ className: "leaf-selection__input",
139
+ children: children
140
+ }),
141
+ singleLine && /*#__PURE__*/ jsxs("span", {
142
+ className: "leaf-selection__measure",
143
+ "aria-hidden": "true",
144
+ children: [
145
+ /*#__PURE__*/ jsxs("span", {
146
+ className: classes('leaf-selection__tag', tagClassName),
147
+ "data-selection-counter": "",
148
+ children: [
149
+ "+",
150
+ count
151
+ ]
152
+ }),
153
+ /*#__PURE__*/ jsx("span", {
154
+ "data-selection-query": "",
155
+ children: query
156
+ })
157
+ ]
158
+ })
159
+ ]
160
+ });
161
+ }
162
+ export { SelectionContent };
163
+
164
+ //# sourceMappingURL=selection-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared/selection-content.js","sources":["../../../../../src/shared/selection-content.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport {\n type CSSProperties,\n type ReactNode,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { classes } from './classes';\nimport { inertProps } from './inert';\nimport { useListMotion } from './motion';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\ninterface SelectionItem {\n key: string;\n label: ReactNode;\n text: string;\n remove?: () => void;\n render?: ReactNode;\n}\n\n/** Shared selected-value layout. Measure the real tags, without mounting custom renderers twice. */\nexport function SelectionContent({\n items,\n children,\n className,\n tagClassName,\n tagWrap = true,\n maxTagCount,\n searchable = false,\n query = '',\n removeLabel,\n}: {\n items?: readonly SelectionItem[];\n children?: ReactNode;\n className?: string;\n tagClassName?: string;\n tagWrap?: boolean;\n maxTagCount?: number | 'responsive';\n searchable?: boolean;\n query?: string;\n removeLabel?: string;\n}) {\n const root = useRef<HTMLSpanElement>(null);\n const count = items?.length ?? 0;\n const limit = typeof maxTagCount === 'number' ? Math.max(0, Math.floor(maxTagCount)) : count;\n const singleLine = items !== undefined && (!tagWrap || maxTagCount === 'responsive');\n const [layout, setLayout] = useState({ count, firstWidth: 0, inputWidth: 0 });\n const visibleCount = Math.min(count, limit, singleLine ? layout.count : count);\n const hiddenItems = items?.slice(visibleCount) ?? [];\n const measure = useRef(() => {});\n measure.current = () => {\n const element = root.current;\n if (!singleLine || !element?.clientWidth) return;\n const width = element.clientWidth;\n const gap = Number.parseFloat(getComputedStyle(element).columnGap) || 0;\n // All writes precede the reads. The temporary measurement is restored before paint.\n const tags = Array.from(element.querySelectorAll<HTMLElement>('[data-selection-item]'));\n const hiddenTags = tags.filter((tag) => tag.hidden);\n element.dataset.measuring = '';\n // Normalize/utility styles often enforce [hidden] with !important. Temporarily\n // remove the attribute itself instead of relying on a CSS override.\n for (const tag of hiddenTags) tag.hidden = false;\n const widths = tags.map((tag) => tag.getBoundingClientRect().width);\n const overflowWidth =\n element.querySelector<HTMLElement>('[data-selection-counter]')?.getBoundingClientRect()\n .width ?? 0;\n const queryWidth =\n element.querySelector<HTMLElement>('[data-selection-query]')?.getBoundingClientRect().width ??\n 0;\n for (const tag of hiddenTags) tag.hidden = true;\n delete element.dataset.measuring;\n const inputWidth = children\n ? Math.min(\n Math.max(0, width - (count ? overflowWidth + gap : 0)),\n searchable ? (query ? Math.max(48, queryWidth + 12) : 24) : 1,\n )\n : 0;\n const budget = Math.max(0, width - inputWidth - (children && count ? gap : 0));\n const totalWidth = widths.reduce((sum, value) => sum + value, 0) + Math.max(0, count - 1) * gap;\n let nextCount = 0;\n let firstWidth = 0;\n if (count <= limit && totalWidth <= budget) nextCount = count;\n else if (count === 1 && limit > 0 && budget >= Math.min(widths[0] ?? 0, 48)) {\n nextCount = 1;\n firstWidth = budget;\n } else {\n const tagBudget = Math.max(0, budget - overflowWidth - gap);\n let used = 0;\n for (const tagWidth of widths.slice(0, Math.min(limit, count - 1))) {\n const next = used + (nextCount ? gap : 0) + tagWidth;\n if (next > tagBudget) break;\n used = next;\n nextCount++;\n }\n // Keep the first long label useful, while preserving the remove button and +N.\n if (!nextCount && limit > 0 && count > 1 && tagBudget >= Math.min(widths[0] ?? 0, 48)) {\n nextCount = 1;\n firstWidth = tagBudget;\n }\n }\n setLayout((previous) =>\n previous.count === nextCount &&\n previous.firstWidth === firstWidth &&\n previous.inputWidth === inputWidth\n ? previous\n : { count: nextCount, firstWidth, inputWidth },\n );\n };\n useBrowserLayoutEffect(() => measure.current());\n // biome-ignore lint/correctness/useExhaustiveDependencies: Observe the new tag elements after selection changes.\n useEffect(() => {\n if (!singleLine || !root.current) return;\n const update = () => measure.current();\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(update);\n observer?.observe(root.current);\n for (const tag of root.current.querySelectorAll('[data-selection-item]'))\n observer?.observe(tag);\n window.addEventListener('resize', update);\n document.fonts?.addEventListener('loadingdone', update);\n return () => {\n observer?.disconnect();\n window.removeEventListener('resize', update);\n document.fonts?.removeEventListener('loadingdone', update);\n };\n }, [singleLine, count]);\n useListMotion(\n root,\n JSON.stringify(items?.slice(0, visibleCount).map((item) => item.key)),\n '.leaf-selection__tag[data-motion-key]:not([hidden])',\n singleLine ? visibleCount : false,\n );\n return (\n <span\n ref={root}\n className={classes('leaf-selection', className)}\n data-multiple={items !== undefined || undefined}\n data-single-line={singleLine || undefined}\n style={\n singleLine\n ? ({\n '--leaf-selection-first-width': layout.firstWidth\n ? `${layout.firstWidth}px`\n : undefined,\n '--leaf-selection-input-width': `${layout.inputWidth}px`,\n } as CSSProperties)\n : undefined\n }\n >\n {items?.slice(0, singleLine ? count : visibleCount).map((item, index) => (\n <span\n className={classes('leaf-selection__tag', tagClassName)}\n key={item.key}\n data-selection-item=\"\"\n data-motion-key={item.key}\n data-custom={item.render != null || undefined}\n hidden={index >= visibleCount}\n {...inertProps(index >= visibleCount)}\n title={item.text}\n >\n {item.render ?? (\n <>\n <span>{item.label}</span>\n {item.remove && (\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={`${removeLabel} ${item.text}`}\n onMouseDown={(event) => event.preventDefault()}\n onClick={(event) => {\n event.stopPropagation();\n item.remove?.();\n }}\n >\n <X size={12} aria-hidden=\"true\" />\n </button>\n )}\n </>\n )}\n </span>\n ))}\n {hiddenItems.length > 0 && (\n <span\n className={classes('leaf-selection__tag', tagClassName)}\n title={hiddenItems.map((item) => item.text).join(', ')}\n data-selection-overflow=\"\"\n >\n +{hiddenItems.length}\n <span className=\"leaf-selection__sr\">\n {hiddenItems.map((item) => item.text).join(', ')}\n </span>\n </span>\n )}\n {children && <span className=\"leaf-selection__input\">{children}</span>}\n {singleLine && (\n <span className=\"leaf-selection__measure\" aria-hidden=\"true\">\n <span className={classes('leaf-selection__tag', tagClassName)} data-selection-counter=\"\">\n +{count}\n </span>\n <span data-selection-query=\"\">{query}</span>\n </span>\n )}\n </span>\n );\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","SelectionContent","items","children","className","tagClassName","tagWrap","maxTagCount","searchable","query","removeLabel","root","useRef","count","limit","Math","singleLine","undefined","layout","setLayout","useState","visibleCount","hiddenItems","measure","element","width","gap","Number","getComputedStyle","tags","Array","hiddenTags","tag","widths","overflowWidth","queryWidth","inputWidth","budget","totalWidth","sum","value","nextCount","firstWidth","tagBudget","used","tagWidth","next","previous","update","observer","ResizeObserver","document","useListMotion","JSON","item","classes","index","inertProps","event","X"],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  "use client";
2
2
  const padTime = (value)=>String(value).padStart(2, '0');
3
- function parseTime(value) {
4
- const match = value?.trim().match(/^(?:(上午|下午)\s*)?(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|上午|下午)?$/i);
3
+ function parseTime(value, periods) {
4
+ let text = value?.trim();
5
+ if (text && periods) for (const [index, label] of periods.entries()){
6
+ if (!label) continue;
7
+ const normalized = text.toLowerCase();
8
+ const token = label.toLowerCase();
9
+ if (normalized.endsWith(token)) {
10
+ text = `${text.slice(0, -label.length).trim()} ${0 === index ? 'AM' : 'PM'}`;
11
+ break;
12
+ }
13
+ if (normalized.startsWith(token)) {
14
+ text = `${text.slice(label.length).trim()} ${0 === index ? 'AM' : 'PM'}`;
15
+ break;
16
+ }
17
+ }
18
+ const match = text?.match(/^(?:(上午|下午)\s*)?(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|上午|下午)?$/i);
5
19
  if (!match) return null;
6
20
  if (match[1] && match[5]) return null;
7
21
  let hour = Number(match[2]);
@@ -1 +1 @@
1
- {"version":3,"file":"shared/time.js","sources":["../../../../../src/shared/time.ts"],"sourcesContent":["export interface TimeParts {\n hour: number;\n minute: number;\n second: number;\n}\nexport const padTime = (value: number) => String(value).padStart(2, '0');\nexport function parseTime(value: string | null | undefined): TimeParts | null {\n const match = value\n ?.trim()\n .match(/^(?:(上午|下午)\\s*)?(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|上午|下午)?$/i);\n if (!match) return null;\n if (match[1] && match[5]) return null;\n let hour = Number(match[2]);\n const minute = Number(match[3]);\n const second = Number(match[4] ?? 0);\n const period = (match[1] ?? match[5])?.toUpperCase();\n if (period) {\n if (hour < 1 || hour > 12) return null;\n hour = (hour % 12) + (period === 'PM' || period === '下午' ? 12 : 0);\n }\n return hour < 24 && minute < 60 && second < 60 ? { hour, minute, second } : null;\n}\nexport function timeString(parts: TimeParts, seconds = false) {\n return `${padTime(parts.hour)}:${padTime(parts.minute)}${seconds ? `:${padTime(parts.second)}` : ''}`;\n}\nexport function displayTime(\n parts: TimeParts,\n seconds: boolean,\n use12Hours: boolean,\n period: readonly [string, string],\n) {\n return use12Hours\n ? `${timeString({ ...parts, hour: parts.hour % 12 || 12 }, seconds)} ${period[parts.hour < 12 ? 0 : 1]}`\n : timeString(parts, seconds);\n}\n"],"names":["padTime","value","String","parseTime","match","hour","Number","minute","second","period","timeString","parts","seconds","displayTime","use12Hours"],"mappings":";AAKO,MAAMA,UAAU,CAACC,QAAkBC,OAAOD,OAAO,QAAQ,CAAC,GAAG;AAC7D,SAASE,UAAUF,KAAgC;IACxD,MAAMG,QAAQH,OACV,OACD,MAAM;IACT,IAAI,CAACG,OAAO,OAAO;IACnB,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,EAAE,OAAO;IACjC,IAAIC,OAAOC,OAAOF,KAAK,CAAC,EAAE;IAC1B,MAAMG,SAASD,OAAOF,KAAK,CAAC,EAAE;IAC9B,MAAMI,SAASF,OAAOF,KAAK,CAAC,EAAE,IAAI;IAClC,MAAMK,SAAUL,CAAAA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAC,GAAI;IACvC,IAAIK,QAAQ;QACV,IAAIJ,OAAO,KAAKA,OAAO,IAAI,OAAO;QAClCA,OAAQA,OAAO,KAAOI,CAAAA,AAAW,SAAXA,UAAmBA,AAAW,SAAXA,SAAkB,KAAK;IAClE;IACA,OAAOJ,OAAO,MAAME,SAAS,MAAMC,SAAS,KAAK;QAAEH;QAAME;QAAQC;IAAO,IAAI;AAC9E;AACO,SAASE,WAAWC,KAAgB,EAAEC,UAAU,KAAK;IAC1D,OAAO,GAAGZ,QAAQW,MAAM,IAAI,EAAE,CAAC,EAAEX,QAAQW,MAAM,MAAM,IAAIC,UAAU,CAAC,CAAC,EAAEZ,QAAQW,MAAM,MAAM,GAAG,GAAG,IAAI;AACvG;AACO,SAASE,YACdF,KAAgB,EAChBC,OAAgB,EAChBE,UAAmB,EACnBL,MAAiC;IAEjC,OAAOK,aACH,GAAGJ,WAAW;QAAE,GAAGC,KAAK;QAAE,MAAMA,MAAM,IAAI,GAAG,MAAM;IAAG,GAAGC,SAAS,CAAC,EAAEH,MAAM,CAACE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,GACtGD,WAAWC,OAAOC;AACxB"}
1
+ {"version":3,"file":"shared/time.js","sources":["../../../../../src/shared/time.ts"],"sourcesContent":["export interface TimeParts {\n hour: number;\n minute: number;\n second: number;\n}\nexport const padTime = (value: number) => String(value).padStart(2, '0');\nexport function parseTime(\n value: string | null | undefined,\n periods?: readonly [string, string],\n): TimeParts | null {\n let text = value?.trim();\n if (text && periods) {\n for (const [index, label] of periods.entries()) {\n if (!label) continue;\n const normalized = text.toLowerCase();\n const token = label.toLowerCase();\n if (normalized.endsWith(token)) {\n text = `${text.slice(0, -label.length).trim()} ${index === 0 ? 'AM' : 'PM'}`;\n break;\n }\n if (normalized.startsWith(token)) {\n text = `${text.slice(label.length).trim()} ${index === 0 ? 'AM' : 'PM'}`;\n break;\n }\n }\n }\n const match = text?.match(\n /^(?:(上午|下午)\\s*)?(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|上午|下午)?$/i,\n );\n if (!match) return null;\n if (match[1] && match[5]) return null;\n let hour = Number(match[2]);\n const minute = Number(match[3]);\n const second = Number(match[4] ?? 0);\n const period = (match[1] ?? match[5])?.toUpperCase();\n if (period) {\n if (hour < 1 || hour > 12) return null;\n hour = (hour % 12) + (period === 'PM' || period === '下午' ? 12 : 0);\n }\n return hour < 24 && minute < 60 && second < 60 ? { hour, minute, second } : null;\n}\nexport function timeString(parts: TimeParts, seconds = false) {\n return `${padTime(parts.hour)}:${padTime(parts.minute)}${seconds ? `:${padTime(parts.second)}` : ''}`;\n}\nexport function displayTime(\n parts: TimeParts,\n seconds: boolean,\n use12Hours: boolean,\n period: readonly [string, string],\n) {\n return use12Hours\n ? `${timeString({ ...parts, hour: parts.hour % 12 || 12 }, seconds)} ${period[parts.hour < 12 ? 0 : 1]}`\n : timeString(parts, seconds);\n}\n"],"names":["padTime","value","String","parseTime","periods","text","index","label","normalized","token","match","hour","Number","minute","second","period","timeString","parts","seconds","displayTime","use12Hours"],"mappings":";AAKO,MAAMA,UAAU,CAACC,QAAkBC,OAAOD,OAAO,QAAQ,CAAC,GAAG;AAC7D,SAASE,UACdF,KAAgC,EAChCG,OAAmC;IAEnC,IAAIC,OAAOJ,OAAO;IAClB,IAAII,QAAQD,SACV,KAAK,MAAM,CAACE,OAAOC,MAAM,IAAIH,QAAQ,OAAO,GAAI;QAC9C,IAAI,CAACG,OAAO;QACZ,MAAMC,aAAaH,KAAK,WAAW;QACnC,MAAMI,QAAQF,MAAM,WAAW;QAC/B,IAAIC,WAAW,QAAQ,CAACC,QAAQ;YAC9BJ,OAAO,GAAGA,KAAK,KAAK,CAAC,GAAG,CAACE,MAAM,MAAM,EAAE,IAAI,GAAG,CAAC,EAAED,AAAU,MAAVA,QAAc,OAAO,MAAM;YAC5E;QACF;QACA,IAAIE,WAAW,UAAU,CAACC,QAAQ;YAChCJ,OAAO,GAAGA,KAAK,KAAK,CAACE,MAAM,MAAM,EAAE,IAAI,GAAG,CAAC,EAAED,AAAU,MAAVA,QAAc,OAAO,MAAM;YACxE;QACF;IACF;IAEF,MAAMI,QAAQL,MAAM,MAClB;IAEF,IAAI,CAACK,OAAO,OAAO;IACnB,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,EAAE,OAAO;IACjC,IAAIC,OAAOC,OAAOF,KAAK,CAAC,EAAE;IAC1B,MAAMG,SAASD,OAAOF,KAAK,CAAC,EAAE;IAC9B,MAAMI,SAASF,OAAOF,KAAK,CAAC,EAAE,IAAI;IAClC,MAAMK,SAAUL,CAAAA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAC,GAAI;IACvC,IAAIK,QAAQ;QACV,IAAIJ,OAAO,KAAKA,OAAO,IAAI,OAAO;QAClCA,OAAQA,OAAO,KAAOI,CAAAA,AAAW,SAAXA,UAAmBA,AAAW,SAAXA,SAAkB,KAAK;IAClE;IACA,OAAOJ,OAAO,MAAME,SAAS,MAAMC,SAAS,KAAK;QAAEH;QAAME;QAAQC;IAAO,IAAI;AAC9E;AACO,SAASE,WAAWC,KAAgB,EAAEC,UAAU,KAAK;IAC1D,OAAO,GAAGlB,QAAQiB,MAAM,IAAI,EAAE,CAAC,EAAEjB,QAAQiB,MAAM,MAAM,IAAIC,UAAU,CAAC,CAAC,EAAElB,QAAQiB,MAAM,MAAM,GAAG,GAAG,IAAI;AACvG;AACO,SAASE,YACdF,KAAgB,EAChBC,OAAgB,EAChBE,UAAmB,EACnBL,MAAiC;IAEjC,OAAOK,aACH,GAAGJ,WAAW;QAAE,GAAGC,KAAK;QAAE,MAAMA,MAAM,IAAI,GAAG,MAAM;IAAG,GAAGC,SAAS,CAAC,EAAEH,MAAM,CAACE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,GACtGD,WAAWC,OAAOC;AACxB"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { useFormattedText } from "./use-formatted-text.js";
3
+ import { useText } from "./use-text.js";
4
+ function useDragAnnouncements(label, tree = false) {
5
+ const t = useText();
6
+ const format = useFormattedText();
7
+ const announcements = {
8
+ onDragStart: ({ active })=>format('drag.pickedUp', {
9
+ label: label(active.id)
10
+ }),
11
+ onDragOver: ({ over })=>over ? format('drag.moved', {
12
+ label: label(over.id)
13
+ }) : t('drag.outside'),
14
+ onDragEnd: ({ active, over })=>over ? format('drag.dropped', {
15
+ label: label(active.id)
16
+ }) : t('drag.cancelled'),
17
+ onDragCancel: ()=>t('drag.cancelled')
18
+ };
19
+ return {
20
+ screenReaderInstructions: {
21
+ draggable: t(tree ? 'tree.reorderInstructions' : 'drag.instructions')
22
+ },
23
+ announcements
24
+ };
25
+ }
26
+ export { useDragAnnouncements };
27
+
28
+ //# sourceMappingURL=use-drag-announcements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared/use-drag-announcements.js","sources":["../../../../../src/shared/use-drag-announcements.ts"],"sourcesContent":["import type { Announcements, UniqueIdentifier } from '@dnd-kit/core';\nimport { useFormattedText } from './use-formatted-text';\nimport { useText } from './use-text';\n\nexport function useDragAnnouncements(label: (id: UniqueIdentifier) => string, tree = false) {\n const t = useText();\n const format = useFormattedText();\n const announcements: Announcements = {\n onDragStart: ({ active }) => format('drag.pickedUp', { label: label(active.id) }),\n onDragOver: ({ over }) =>\n over ? format('drag.moved', { label: label(over.id) }) : t('drag.outside'),\n onDragEnd: ({ active, over }) =>\n over ? format('drag.dropped', { label: label(active.id) }) : t('drag.cancelled'),\n onDragCancel: () => t('drag.cancelled'),\n };\n return {\n screenReaderInstructions: {\n draggable: t(tree ? 'tree.reorderInstructions' : 'drag.instructions'),\n },\n announcements,\n };\n}\n"],"names":["useDragAnnouncements","label","tree","t","useText","format","useFormattedText","announcements","active","over"],"mappings":";;;AAIO,SAASA,qBAAqBC,KAAuC,EAAEC,OAAO,KAAK;IACxF,MAAMC,IAAIC;IACV,MAAMC,SAASC;IACf,MAAMC,gBAA+B;QACnC,aAAa,CAAC,EAAEC,MAAM,EAAE,GAAKH,OAAO,iBAAiB;gBAAE,OAAOJ,MAAMO,OAAO,EAAE;YAAE;QAC/E,YAAY,CAAC,EAAEC,IAAI,EAAE,GACnBA,OAAOJ,OAAO,cAAc;gBAAE,OAAOJ,MAAMQ,KAAK,EAAE;YAAE,KAAKN,EAAE;QAC7D,WAAW,CAAC,EAAEK,MAAM,EAAEC,IAAI,EAAE,GAC1BA,OAAOJ,OAAO,gBAAgB;gBAAE,OAAOJ,MAAMO,OAAO,EAAE;YAAE,KAAKL,EAAE;QACjE,cAAc,IAAMA,EAAE;IACxB;IACA,OAAO;QACL,0BAA0B;YACxB,WAAWA,EAAED,OAAO,6BAA6B;QACnD;QACAK;IACF;AACF"}