@rinzai/zen 0.10.3 → 0.13.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 (299) hide show
  1. package/README.md +38 -8
  2. package/dist/accordion/index.d.ts +41 -0
  3. package/dist/accordion/index.d.ts.map +1 -0
  4. package/dist/accordion/index.js +81 -0
  5. package/dist/animated-number/index.d.ts +3 -2
  6. package/dist/animated-number/index.d.ts.map +1 -1
  7. package/dist/animated-number/index.js +40 -38
  8. package/dist/avatar/index.d.ts +8 -3
  9. package/dist/avatar/index.d.ts.map +1 -1
  10. package/dist/avatar/index.js +29 -21
  11. package/dist/backdrop/index.d.ts +4 -4
  12. package/dist/backdrop/index.d.ts.map +1 -1
  13. package/dist/backdrop/index.js +41 -39
  14. package/dist/badge/index.d.ts +4 -2
  15. package/dist/badge/index.d.ts.map +1 -1
  16. package/dist/badge/index.js +20 -11
  17. package/dist/base.css +4 -0
  18. package/dist/breadcrumbs/index.d.ts +1 -1
  19. package/dist/breadcrumbs/index.d.ts.map +1 -1
  20. package/dist/breadcrumbs/index.js +25 -24
  21. package/dist/button/index.d.ts +3 -3
  22. package/dist/button/index.d.ts.map +1 -1
  23. package/dist/button/index.js +16 -11
  24. package/dist/button-group/index.d.ts +13 -0
  25. package/dist/button-group/index.d.ts.map +1 -0
  26. package/dist/button-group/index.js +14 -0
  27. package/dist/calendar/index.d.ts +15 -8
  28. package/dist/calendar/index.d.ts.map +1 -1
  29. package/dist/calendar/index.js +97 -91
  30. package/dist/calendar-heatmap/index.d.ts +7 -5
  31. package/dist/calendar-heatmap/index.d.ts.map +1 -1
  32. package/dist/calendar-heatmap/index.js +32 -30
  33. package/dist/canvas/geometry.d.ts +51 -0
  34. package/dist/canvas/geometry.d.ts.map +1 -0
  35. package/dist/canvas/geometry.js +90 -0
  36. package/dist/canvas/index.d.ts +59 -0
  37. package/dist/canvas/index.d.ts.map +1 -0
  38. package/dist/canvas/index.js +305 -0
  39. package/dist/carousel/index.d.ts +27 -0
  40. package/dist/carousel/index.d.ts.map +1 -0
  41. package/dist/carousel/index.js +162 -0
  42. package/dist/chart/index.d.ts +5 -4
  43. package/dist/chart/index.d.ts.map +1 -1
  44. package/dist/chart/index.js +137 -135
  45. package/dist/chart/palette.js +0 -1
  46. package/dist/checkbox/index.d.ts +3 -3
  47. package/dist/checkbox/index.d.ts.map +1 -1
  48. package/dist/checkbox/index.js +33 -30
  49. package/dist/chip/index.js +1 -1
  50. package/dist/code-block/index.d.ts.map +1 -1
  51. package/dist/code-block/index.js +27 -32
  52. package/dist/code-input/index.d.ts.map +1 -1
  53. package/dist/code-input/index.js +30 -24
  54. package/dist/collapse/index.d.ts +4 -3
  55. package/dist/collapse/index.d.ts.map +1 -1
  56. package/dist/collapse/index.js +42 -39
  57. package/dist/color-picker/index.d.ts +43 -0
  58. package/dist/color-picker/index.d.ts.map +1 -0
  59. package/dist/color-picker/index.js +221 -0
  60. package/dist/combobox/index.d.ts +14 -6
  61. package/dist/combobox/index.d.ts.map +1 -1
  62. package/dist/combobox/index.js +151 -139
  63. package/dist/command-palette/index.d.ts +4 -3
  64. package/dist/command-palette/index.d.ts.map +1 -1
  65. package/dist/command-palette/index.js +60 -57
  66. package/dist/confirm-dialog/index.d.ts +6 -7
  67. package/dist/confirm-dialog/index.d.ts.map +1 -1
  68. package/dist/confirm-dialog/index.js +20 -16
  69. package/dist/date-picker/index.d.ts +23 -14
  70. package/dist/date-picker/index.d.ts.map +1 -1
  71. package/dist/date-picker/index.js +109 -93
  72. package/dist/dialog/index.d.ts +3 -4
  73. package/dist/dialog/index.d.ts.map +1 -1
  74. package/dist/dialog/index.js +58 -55
  75. package/dist/disclosure/index.d.ts +8 -0
  76. package/dist/disclosure/index.d.ts.map +1 -1
  77. package/dist/disclosure/index.js +31 -32
  78. package/dist/editable-cell/index.d.ts +4 -5
  79. package/dist/editable-cell/index.d.ts.map +1 -1
  80. package/dist/editable-cell/index.js +23 -22
  81. package/dist/field/index.d.ts +8 -8
  82. package/dist/field/index.d.ts.map +1 -1
  83. package/dist/field/index.js +20 -18
  84. package/dist/filter-bar/index.d.ts +2 -2
  85. package/dist/filter-bar/index.d.ts.map +1 -1
  86. package/dist/filter-bar/index.js +38 -36
  87. package/dist/header/index.d.ts +1 -1
  88. package/dist/header/index.d.ts.map +1 -1
  89. package/dist/header/index.js +13 -11
  90. package/dist/hover-card/index.d.ts +32 -0
  91. package/dist/hover-card/index.d.ts.map +1 -0
  92. package/dist/hover-card/index.js +84 -0
  93. package/dist/icon-picker/index.d.ts +16 -5
  94. package/dist/icon-picker/index.d.ts.map +1 -1
  95. package/dist/icon-picker/index.js +42 -47
  96. package/dist/icons/micro/plus.d.ts +3 -0
  97. package/dist/icons/micro/plus.d.ts.map +1 -0
  98. package/dist/icons/micro/plus.js +17 -0
  99. package/dist/index.d.ts +41 -24
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/input/index.d.ts +5 -1
  102. package/dist/input/index.d.ts.map +1 -1
  103. package/dist/input/index.js +10 -10
  104. package/dist/input-group/index.d.ts +4 -1
  105. package/dist/input-group/index.d.ts.map +1 -1
  106. package/dist/input-group/index.js +17 -17
  107. package/dist/keypad/index.d.ts +9 -7
  108. package/dist/keypad/index.d.ts.map +1 -1
  109. package/dist/keypad/index.js +22 -19
  110. package/dist/lib.js +112 -93
  111. package/dist/load-more/index.d.ts +4 -2
  112. package/dist/load-more/index.d.ts.map +1 -1
  113. package/dist/load-more/index.js +26 -23
  114. package/dist/locale-provider/index.d.ts +23 -0
  115. package/dist/locale-provider/index.d.ts.map +1 -0
  116. package/dist/locale-provider/index.js +35 -0
  117. package/dist/menu/index.d.ts +62 -9
  118. package/dist/menu/index.d.ts.map +1 -1
  119. package/dist/menu/index.js +371 -128
  120. package/dist/meter/index.d.ts +2 -2
  121. package/dist/meter/index.d.ts.map +1 -1
  122. package/dist/meter/index.js +4 -4
  123. package/dist/money-input/index.d.ts +20 -10
  124. package/dist/money-input/index.d.ts.map +1 -1
  125. package/dist/money-input/index.js +199 -190
  126. package/dist/month-picker/index.d.ts +17 -10
  127. package/dist/month-picker/index.d.ts.map +1 -1
  128. package/dist/month-picker/index.js +97 -86
  129. package/dist/navigation-menu/index.d.ts +42 -0
  130. package/dist/navigation-menu/index.d.ts.map +1 -0
  131. package/dist/navigation-menu/index.js +144 -0
  132. package/dist/number-field/index.d.ts +34 -0
  133. package/dist/number-field/index.d.ts.map +1 -0
  134. package/dist/number-field/index.js +119 -0
  135. package/dist/page-header/index.d.ts +4 -3
  136. package/dist/page-header/index.d.ts.map +1 -1
  137. package/dist/page-header/index.js +2 -1
  138. package/dist/pagination/index.d.ts +1 -1
  139. package/dist/pagination/index.d.ts.map +1 -1
  140. package/dist/pagination/index.js +35 -33
  141. package/dist/progress-ring/index.d.ts +4 -3
  142. package/dist/progress-ring/index.d.ts.map +1 -1
  143. package/dist/progress-ring/index.js +11 -10
  144. package/dist/radio-cards/index.d.ts +9 -5
  145. package/dist/radio-cards/index.d.ts.map +1 -1
  146. package/dist/radio-cards/index.js +26 -24
  147. package/dist/radio-group/index.d.ts +9 -8
  148. package/dist/radio-group/index.d.ts.map +1 -1
  149. package/dist/radio-group/index.js +35 -34
  150. package/dist/range-slider/index.d.ts +10 -4
  151. package/dist/range-slider/index.d.ts.map +1 -1
  152. package/dist/range-slider/index.js +43 -31
  153. package/dist/repeat-picker/index.d.ts +13 -6
  154. package/dist/repeat-picker/index.d.ts.map +1 -1
  155. package/dist/repeat-picker/index.js +74 -62
  156. package/dist/resizable/index.d.ts +29 -0
  157. package/dist/resizable/index.d.ts.map +1 -0
  158. package/dist/resizable/index.js +135 -0
  159. package/dist/segmented/index.d.ts +8 -5
  160. package/dist/segmented/index.d.ts.map +1 -1
  161. package/dist/segmented/index.js +36 -34
  162. package/dist/select/index.d.ts +9 -3
  163. package/dist/select/index.d.ts.map +1 -1
  164. package/dist/select/index.js +94 -91
  165. package/dist/separator/index.d.ts +14 -0
  166. package/dist/separator/index.d.ts.map +1 -0
  167. package/dist/separator/index.js +15 -0
  168. package/dist/side-nav/index.js +1 -1
  169. package/dist/skeleton/index.d.ts +4 -4
  170. package/dist/skeleton/index.d.ts.map +1 -1
  171. package/dist/skeleton/index.js +4 -3
  172. package/dist/slider/index.d.ts +6 -3
  173. package/dist/slider/index.d.ts.map +1 -1
  174. package/dist/slider/index.js +29 -23
  175. package/dist/sortable/index.d.ts +10 -20
  176. package/dist/sortable/index.d.ts.map +1 -1
  177. package/dist/sortable/index.js +72 -134
  178. package/dist/sortable/shared.d.ts +56 -0
  179. package/dist/sortable/shared.d.ts.map +1 -0
  180. package/dist/sortable/shared.js +104 -0
  181. package/dist/sortable/tree-model.d.ts +46 -0
  182. package/dist/sortable/tree-model.d.ts.map +1 -0
  183. package/dist/sortable/tree-model.js +87 -0
  184. package/dist/sortable/tree.d.ts +31 -0
  185. package/dist/sortable/tree.d.ts.map +1 -0
  186. package/dist/sortable/tree.js +150 -0
  187. package/dist/sparkline/index.d.ts +1 -1
  188. package/dist/sparkline/index.d.ts.map +1 -1
  189. package/dist/sparkline/index.js +26 -25
  190. package/dist/spinner/index.d.ts +4 -3
  191. package/dist/spinner/index.d.ts.map +1 -1
  192. package/dist/spinner/index.js +2 -1
  193. package/dist/status-pill/index.d.ts.map +1 -1
  194. package/dist/status-pill/index.js +1 -1
  195. package/dist/stepper/index.d.ts +1 -1
  196. package/dist/stepper/index.d.ts.map +1 -1
  197. package/dist/stepper/index.js +31 -30
  198. package/dist/tab-bar/index.js +1 -1
  199. package/dist/table/index.d.ts +5 -5
  200. package/dist/table/index.d.ts.map +1 -1
  201. package/dist/table/index.js +66 -64
  202. package/dist/table/selection.d.ts +2 -2
  203. package/dist/table/selection.d.ts.map +1 -1
  204. package/dist/table/selection.js +41 -38
  205. package/dist/table/swipe.d.ts +1 -1
  206. package/dist/table/swipe.d.ts.map +1 -1
  207. package/dist/table/swipe.js +1 -1
  208. package/dist/table-of-contents/index.d.ts +4 -2
  209. package/dist/table-of-contents/index.d.ts.map +1 -1
  210. package/dist/table-of-contents/index.js +27 -25
  211. package/dist/tabs/index.d.ts.map +1 -1
  212. package/dist/tabs/index.js +90 -88
  213. package/dist/tag-input/index.d.ts +3 -1
  214. package/dist/tag-input/index.d.ts.map +1 -1
  215. package/dist/tag-input/index.js +61 -52
  216. package/dist/textarea/index.js +4 -4
  217. package/dist/theme-toggle/index.d.ts +9 -8
  218. package/dist/theme-toggle/index.d.ts.map +1 -1
  219. package/dist/theme-toggle/index.js +30 -28
  220. package/dist/theme.css +90 -12
  221. package/dist/time-field/index.d.ts +31 -0
  222. package/dist/time-field/index.d.ts.map +1 -0
  223. package/dist/time-field/index.js +175 -0
  224. package/dist/timeline/index.js +1 -1
  225. package/dist/toast/index.d.ts +1 -1
  226. package/dist/toast/index.d.ts.map +1 -1
  227. package/dist/toast/index.js +127 -125
  228. package/dist/toggle/index.d.ts +2 -2
  229. package/dist/toggle/index.d.ts.map +1 -1
  230. package/dist/toggle/index.js +8 -6
  231. package/dist/toggle-group/index.d.ts +35 -0
  232. package/dist/toggle-group/index.d.ts.map +1 -0
  233. package/dist/toggle-group/index.js +53 -0
  234. package/dist/toolbar/index.d.ts +19 -0
  235. package/dist/toolbar/index.d.ts.map +1 -0
  236. package/dist/toolbar/index.js +36 -0
  237. package/dist/tooltip/index.d.ts.map +1 -1
  238. package/dist/tooltip/index.js +40 -74
  239. package/dist/tree/index.d.ts.map +1 -1
  240. package/dist/tree/index.js +105 -102
  241. package/dist/trend/index.d.ts +2 -2
  242. package/dist/trend/index.d.ts.map +1 -1
  243. package/dist/trend/index.js +20 -19
  244. package/dist/utils/color.d.ts +35 -0
  245. package/dist/utils/color.d.ts.map +1 -0
  246. package/dist/utils/color.js +65 -0
  247. package/dist/utils/cva.js +0 -1
  248. package/dist/utils/cx.js +0 -1
  249. package/dist/utils/date.d.ts +6 -0
  250. package/dist/utils/date.d.ts.map +1 -1
  251. package/dist/utils/date.js +1 -2
  252. package/dist/utils/direction.d.ts +7 -0
  253. package/dist/utils/direction.d.ts.map +1 -0
  254. package/dist/utils/direction.js +6 -0
  255. package/dist/utils/form-value.d.ts +15 -0
  256. package/dist/utils/form-value.d.ts.map +1 -0
  257. package/dist/utils/form-value.js +29 -0
  258. package/dist/utils/fx.js +0 -1
  259. package/dist/utils/merge.js +0 -1
  260. package/dist/utils/messages.d.ts +137 -0
  261. package/dist/utils/messages.d.ts.map +1 -0
  262. package/dist/utils/messages.js +133 -0
  263. package/dist/utils/money.js +0 -1
  264. package/dist/utils/month.js +0 -1
  265. package/dist/utils/motion.js +0 -1
  266. package/dist/utils/refs.d.ts +6 -0
  267. package/dist/utils/refs.d.ts.map +1 -0
  268. package/dist/utils/refs.js +13 -0
  269. package/dist/utils/repeat.d.ts +3 -1
  270. package/dist/utils/repeat.d.ts.map +1 -1
  271. package/dist/utils/repeat.js +28 -25
  272. package/dist/utils/roving.d.ts +17 -0
  273. package/dist/utils/roving.d.ts.map +1 -0
  274. package/dist/utils/roving.js +35 -0
  275. package/dist/utils/section-link.js +0 -1
  276. package/dist/utils/slot.d.ts.map +1 -1
  277. package/dist/utils/slot.js +7 -11
  278. package/dist/utils/status-icons.js +7 -7
  279. package/dist/utils/styles.d.ts +9 -2
  280. package/dist/utils/styles.d.ts.map +1 -1
  281. package/dist/utils/styles.js +6 -3
  282. package/dist/utils/theme-wave.d.ts.map +1 -1
  283. package/dist/utils/theme-wave.js +70 -70
  284. package/dist/utils/theme.d.ts.map +1 -1
  285. package/dist/utils/theme.js +56 -60
  286. package/dist/utils/useAnchoredPopup.d.ts +7 -4
  287. package/dist/utils/useAnchoredPopup.d.ts.map +1 -1
  288. package/dist/utils/useAnchoredPopup.js +18 -11
  289. package/dist/utils/useControllable.d.ts +9 -0
  290. package/dist/utils/useControllable.d.ts.map +1 -0
  291. package/dist/utils/useControllable.js +15 -0
  292. package/dist/utils/useCopyToClipboard.d.ts +13 -0
  293. package/dist/utils/useCopyToClipboard.d.ts.map +1 -0
  294. package/dist/utils/useCopyToClipboard.js +26 -0
  295. package/dist/utils/useHoverPopup.d.ts +39 -0
  296. package/dist/utils/useHoverPopup.d.ts.map +1 -0
  297. package/dist/utils/useHoverPopup.js +64 -0
  298. package/dist/zen.css +1 -1
  299. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../packages/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAID,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAI1D;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAGjD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEtD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAE/D;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAKvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAGhD;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,qCAAqC;AACrC,wBAAgB,KAAK,CAAC,GAAG,GAAE,IAAiB,GAAG,UAAU,CAExD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,SAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/D;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,MAAM,CAEpE;AAED,oHAAoH;AACpH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,SAAoB,GAAG,MAAM,CAEhG;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAO,GAAG,MAAgB,GAAG,MAAM,EAAE,CAGnG;AAUD,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAahD;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC3B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAY,GAC7C,MAAM,CAER"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../packages/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAID,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAI1D;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAGjD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEtD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAE/D;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAKvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAGhD;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,qCAAqC;AACrC,wBAAgB,KAAK,CAAC,GAAG,GAAE,IAAiB,GAAG,UAAU,CAExD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,SAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/D;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,MAAM,CAEpE;AAED,oHAAoH;AACpH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,SAAoB,GAAG,MAAM,CAEhG;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAO,GAAG,MAAgB,GAAG,MAAM,EAAE,CAGnG;AAUD,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAahD;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC3B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAY,GAC7C,MAAM,CAER;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,WAAyC,CAAC"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  //#region packages/utils/date.ts
3
2
  var e = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
4
3
  function t(t) {
@@ -100,4 +99,4 @@ function _(e, t, r, i = "medium") {
100
99
  }
101
100
  var v = (e) => e.replace(/[\u2009\u202f]/g, " ");
102
101
  //#endregion
103
- export { i as addDays, a as addMonthsToDate, l as commonRanges, n as dayIndex, s as dayOfWeek, u as daysBetween, o as daysInMonth, f as formatDate, _ as formatDateRange, r as fromDayIndex, t as isDate, c as today, g as weekStart, p as weekdayNames };
102
+ export { i as addDays, a as addMonthsToDate, l as commonRanges, n as dayIndex, s as dayOfWeek, u as daysBetween, o as daysInMonth, f as formatDate, _ as formatDateRange, r as fromDayIndex, t as isDate, v as plainSpaces, c as today, g as weekStart, p as weekdayNames };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The key as if the text ran left to right: in right-to-left text ArrowLeft
3
+ * and ArrowRight swap, so "next" follows the reading order. Read from the
4
+ * element's laid-out direction, so a `dir` anywhere above it (or CSS) counts.
5
+ */
6
+ export declare function readingKey(key: string, element: Element): string;
7
+ //# sourceMappingURL=direction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../packages/utils/direction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAGhE"}
@@ -0,0 +1,6 @@
1
+ //#region packages/utils/direction.ts
2
+ function e(e, t) {
3
+ return e !== "ArrowLeft" && e !== "ArrowRight" || getComputedStyle(t).direction !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : "ArrowLeft";
4
+ }
5
+ //#endregion
6
+ export { e as readingKey };
@@ -0,0 +1,15 @@
1
+ import { RefObject } from 'react';
2
+ /** Calls `onReset` when the form the element is in is reset. */
3
+ export declare function useFormReset(element: RefObject<HTMLInputElement | null>, onReset: (() => void) | undefined): void;
4
+ /**
5
+ * A custom control's part in a form: hidden inputs carrying its value under
6
+ * `name` (one per item for a list, as a native multiple select submits), so
7
+ * FormData and native submission see it, and `onReset` when the form is reset
8
+ * (to go back to the control's first value).
9
+ */
10
+ export declare function FormValue({ name, value, onReset, }: {
11
+ name?: string;
12
+ value: string | readonly string[];
13
+ onReset?: () => void;
14
+ }): import('react').JSX.Element | null;
15
+ //# sourceMappingURL=form-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-value.d.ts","sourceRoot":"","sources":["../../packages/utils/form-value.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAErD,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,QAY1G;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACtB,IAAI,EACJ,KAAK,EACL,OAAO,GACV,EAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,sCAaA"}
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { useEffect as e, useRef as t } from "react";
3
+ import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ //#region packages/utils/form-value.tsx
5
+ function a(n, r) {
6
+ let i = t(r);
7
+ e(() => {
8
+ i.current = r;
9
+ }), e(() => {
10
+ let e = n.current?.form;
11
+ if (!e) return;
12
+ let t = () => i.current?.();
13
+ return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
14
+ });
15
+ }
16
+ function o({ name: e, value: o, onReset: s }) {
17
+ let c = t(null);
18
+ return a(c, s), e ? /* @__PURE__ */ i(n, { children: [/* @__PURE__ */ r("input", {
19
+ ref: c,
20
+ type: "hidden",
21
+ disabled: !0
22
+ }), (typeof o == "string" ? [o] : o).map((t, n) => /* @__PURE__ */ r("input", {
23
+ type: "hidden",
24
+ name: e,
25
+ value: t
26
+ }, n))] }) : null;
27
+ }
28
+ //#endregion
29
+ export { o as FormValue, a as useFormReset };
package/dist/utils/fx.js CHANGED
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { minorDigits as e } from "./money.js";
3
2
  //#region packages/utils/fx.ts
4
3
  var t = class extends Error {};
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  //#region packages/utils/merge.ts
3
2
  function e(e) {
4
3
  let r = t.get(e);
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Every word Zen's components show or announce, in English. Give LocaleProvider
3
+ * your own for any of them (a translation, or just different wording); the rest
4
+ * stay English. Entries that take a value are functions.
5
+ */
6
+ export declare const ENGLISH: {
7
+ clear: string;
8
+ cancel: string;
9
+ close: string;
10
+ dismiss: string;
11
+ delete: string;
12
+ remove: (item: string) => string;
13
+ noResults: string;
14
+ search: string;
15
+ expand: string;
16
+ collapse: string;
17
+ minimum: string;
18
+ increase: string;
19
+ hour: string;
20
+ minute: string;
21
+ dayPeriod: string;
22
+ decrease: string;
23
+ maximum: string;
24
+ selectPlaceholder: string;
25
+ searchOptions: string;
26
+ add: (text: string) => string;
27
+ commands: string;
28
+ pickDate: string;
29
+ pickDates: string;
30
+ chooseDate: string;
31
+ chooseDates: string;
32
+ presets: string;
33
+ pickMonth: string;
34
+ chooseMonth: string;
35
+ previousMonth: string;
36
+ nextMonth: string;
37
+ previousYear: string;
38
+ nextYear: string;
39
+ chooseMonthAndYear: (month: string) => string;
40
+ backToDays: (year: number) => string;
41
+ chooseColour: string;
42
+ saturationBrightness: string;
43
+ saturationBrightnessValue: (saturation: number, brightness: number) => string;
44
+ hue: string;
45
+ hueValue: (degrees: number) => string;
46
+ opacity: string;
47
+ opacityValue: (percent: number) => string;
48
+ hex: string;
49
+ swatches: string;
50
+ colour: string;
51
+ icon: string;
52
+ none: string;
53
+ colourNames: {
54
+ blue: string;
55
+ orange: string;
56
+ teal: string;
57
+ amber: string;
58
+ pink: string;
59
+ green: string;
60
+ violet: string;
61
+ red: string;
62
+ };
63
+ currency: string;
64
+ yourCurrency: string;
65
+ changeCurrency: (currency: string) => string;
66
+ enterAmount: string;
67
+ notAnAmount: (example: string, short: string) => string;
68
+ noNegative: string;
69
+ rateFailed: string;
70
+ rateLoading: string;
71
+ otherCurrencies: string;
72
+ gettingRate: string;
73
+ ratesUnavailable: (home: string) => string;
74
+ convertedFrom: (amount: string, rate: string) => string;
75
+ rateOf: (currency: string, amount: string) => string;
76
+ repeats: string;
77
+ every: string;
78
+ howMany: string;
79
+ unit: string;
80
+ on: string;
81
+ day: (n: number) => string;
82
+ lastDay: string;
83
+ next: string;
84
+ repeatUnit: (unit: "day" | "week" | "month" | "year", count: number) => string;
85
+ repeatEvery: (every: number, unit: string) => string;
86
+ repeatOn: (rule: string, when: string) => string;
87
+ repeatDay: (n: number) => string;
88
+ repeatLastDay: string;
89
+ reorder: (item: string) => string;
90
+ pickedUp: (item: string, place: string) => string;
91
+ dropped: (item: string, place: string) => string;
92
+ movedTo: (item: string, place: string) => string;
93
+ putBack: (item: string, place?: string) => string;
94
+ place: (position: number, count: number) => string;
95
+ placeIn: (position: number, count: number, group: string) => string;
96
+ resized: (item: string, width: number, height: number) => string;
97
+ moved: (item: string, x: number, y: number) => string;
98
+ selected: (count: number) => string;
99
+ canvasHelp: string;
100
+ nothingHere: string;
101
+ selectAll: string;
102
+ selectedCount: (count: number) => string;
103
+ clearSelection: string;
104
+ selection: string;
105
+ legend: string;
106
+ readChart: (label: string) => string;
107
+ fromTo: (first: string, last: string) => string;
108
+ activeFilters: string;
109
+ clearAll: string;
110
+ removeFilter: string;
111
+ skipToContent: string;
112
+ keypad: string;
113
+ loadMore: string;
114
+ loadingMore: string;
115
+ progress: string;
116
+ onThisPage: string;
117
+ switchToDark: string;
118
+ switchToLight: string;
119
+ copy: string;
120
+ copied: string;
121
+ showMore: (what: string) => string;
122
+ pages: string;
123
+ page: (n: number) => string;
124
+ previousPage: string;
125
+ nextPage: string;
126
+ breadcrumb: string;
127
+ carousel: string;
128
+ slide: string;
129
+ slideOf: (n: number, total: number) => string;
130
+ goToSlide: (n: number) => string;
131
+ previousSlide: string;
132
+ nextSlide: string;
133
+ resize: string;
134
+ notifications: string;
135
+ };
136
+ export type Messages = typeof ENGLISH;
137
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../packages/utils/messages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;mBAOD,MAAM;;;;;;;;;;;;;;gBAgBT,MAAM;;;;;;;;;;;;;gCAeU,MAAM;uBACf,MAAM;;;4CAKe,MAAM,cAAc,MAAM;;wBAG9C,MAAM;;4BAEF,MAAM;;;;;;;;;;;;;;;;;;+BAsBH,MAAM;;2BAEV,MAAM,SAAS,MAAM;;;;;;6BAMnB,MAAM;4BACP,MAAM,QAAQ,MAAM;uBACzB,MAAM,UAAU,MAAM;;;;;;aAQhC,MAAM;;;uBAGI,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,SAAS,MAAM;yBAC9C,MAAM,QAAQ,MAAM;qBACxB,MAAM,QAAQ,MAAM;mBACtB,MAAM;;oBAIL,MAAM;qBACL,MAAM,SAAS,MAAM;oBAEtB,MAAM,SAAS,MAAM;oBACrB,MAAM,SAAS,MAAM;oBACrB,MAAM,UAAU,MAAM;sBACpB,MAAM,SAAS,MAAM;wBACnB,MAAM,SAAS,MAAM,SAAS,MAAM;oBAGxC,MAAM,SAAS,MAAM,UAAU,MAAM;kBACvC,MAAM,KAAK,MAAM,KAAK,MAAM;sBACxB,MAAM;;;;2BAOD,MAAM;;;;uBAMV,MAAM;oBACT,MAAM,QAAQ,MAAM;;;;;;;;;;;;;;qBAgBnB,MAAM;;cAEb,MAAM;;;;;;iBAMH,MAAM,SAAS,MAAM;mBACnB,MAAM;;;;;CAKxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC"}
@@ -0,0 +1,133 @@
1
+ //#region packages/utils/messages.ts
2
+ var e = {
3
+ clear: "Clear",
4
+ cancel: "Cancel",
5
+ close: "Close",
6
+ dismiss: "Dismiss",
7
+ delete: "Delete",
8
+ remove: (e) => `Remove ${e}`,
9
+ noResults: "No results",
10
+ search: "Search…",
11
+ expand: "Expand",
12
+ collapse: "Collapse",
13
+ minimum: "Minimum",
14
+ increase: "Increase",
15
+ hour: "Hour",
16
+ minute: "Minute",
17
+ dayPeriod: "AM/PM",
18
+ decrease: "Decrease",
19
+ maximum: "Maximum",
20
+ selectPlaceholder: "Select…",
21
+ searchOptions: "Search options",
22
+ add: (e) => `Add ${e}`,
23
+ commands: "Commands",
24
+ pickDate: "Pick a date",
25
+ pickDates: "Pick dates",
26
+ chooseDate: "Choose date",
27
+ chooseDates: "Choose dates",
28
+ presets: "Presets",
29
+ pickMonth: "Pick a month",
30
+ chooseMonth: "Choose month",
31
+ previousMonth: "Previous month",
32
+ nextMonth: "Next month",
33
+ previousYear: "Previous year",
34
+ nextYear: "Next year",
35
+ chooseMonthAndYear: (e) => `${e}, choose month and year`,
36
+ backToDays: (e) => `${e}, back to days`,
37
+ chooseColour: "Choose colour",
38
+ saturationBrightness: "Saturation and brightness",
39
+ saturationBrightnessValue: (e, t) => `Saturation ${e}%, brightness ${t}%`,
40
+ hue: "Hue",
41
+ hueValue: (e) => `Hue ${e} degrees`,
42
+ opacity: "Opacity",
43
+ opacityValue: (e) => `Opacity ${e}%`,
44
+ hex: "Hex",
45
+ swatches: "Swatches",
46
+ colour: "Colour",
47
+ icon: "Icon",
48
+ none: "none",
49
+ colourNames: {
50
+ blue: "Blue",
51
+ orange: "Orange",
52
+ teal: "Teal",
53
+ amber: "Amber",
54
+ pink: "Pink",
55
+ green: "Green",
56
+ violet: "Violet",
57
+ red: "Red"
58
+ },
59
+ currency: "Currency",
60
+ yourCurrency: "Your currency",
61
+ changeCurrency: (e) => `Currency: ${e}. Change to enter another currency`,
62
+ enterAmount: "Enter an amount.",
63
+ notAnAmount: (e, t) => `Not an amount. Try ${e} or ${t}.`,
64
+ noNegative: "Amount can't be negative.",
65
+ rateFailed: "Couldn't get today's exchange rate.",
66
+ rateLoading: "Still getting today's rate…",
67
+ otherCurrencies: "Enter in another currency, converted at today’s rate",
68
+ gettingRate: "Getting today’s rate…",
69
+ ratesUnavailable: (e) => `Couldn’t get exchange rates. Enter the amount in ${e}.`,
70
+ convertedFrom: (e, t) => `Converted from ${e} at ${t}`,
71
+ rateOf: (e, t) => `1 ${e} = ${t}`,
72
+ repeats: "Repeats",
73
+ every: "Every",
74
+ howMany: "How many",
75
+ unit: "Unit",
76
+ on: "On",
77
+ day: (e) => `Day ${e}`,
78
+ lastDay: "Last day",
79
+ next: "Next:",
80
+ repeatUnit: (e, t) => t === 1 ? e : `${e}s`,
81
+ repeatEvery: (e, t) => e === 1 ? `Every ${t}` : `Every ${e} ${t}`,
82
+ repeatOn: (e, t) => `${e} on ${t}`,
83
+ repeatDay: (e) => `day ${e}`,
84
+ repeatLastDay: "the last day",
85
+ reorder: (e) => `Reorder ${e}`,
86
+ pickedUp: (e, t) => `${e} picked up, ${t}. Arrow keys move it, Space drops it, Escape puts it back.`,
87
+ dropped: (e, t) => `${e} dropped, ${t}.`,
88
+ movedTo: (e, t) => `${e}, ${t}.`,
89
+ putBack: (e, t) => t ? `${e} put back, ${t}.` : `${e} put back.`,
90
+ place: (e, t) => `${e} of ${t}`,
91
+ placeIn: (e, t, n) => `${e} of ${t} in ${n}`,
92
+ resized: (e, t, n) => `${e} resized to ${t} by ${n}.`,
93
+ moved: (e, t, n) => `${e} moved to ${t}, ${n}.`,
94
+ selected: (e) => `${e} ${e === 1 ? "item" : "items"} selected.`,
95
+ canvasHelp: "Arrow keys move the selection, Shift with them by 10. Alt with the arrow keys resizes. Escape deselects.",
96
+ nothingHere: "Nothing here yet.",
97
+ selectAll: "Select all",
98
+ selectedCount: (e) => `${e} selected`,
99
+ clearSelection: "Clear selection",
100
+ selection: "Selection",
101
+ legend: "Legend",
102
+ readChart: (e) => `${e}: use the arrow keys to read values`,
103
+ fromTo: (e, t) => `From ${e} to ${t}`,
104
+ activeFilters: "Active filters",
105
+ clearAll: "Clear all",
106
+ removeFilter: "Remove filter",
107
+ skipToContent: "Skip to content",
108
+ keypad: "Keypad",
109
+ loadMore: "Load more",
110
+ loadingMore: "Loading more…",
111
+ progress: "Progress",
112
+ onThisPage: "On this page",
113
+ switchToDark: "Switch to dark theme",
114
+ switchToLight: "Switch to light theme",
115
+ copy: "Copy",
116
+ copied: "Copied",
117
+ showMore: (e) => `Show ${e}`,
118
+ pages: "Pages",
119
+ page: (e) => `Page ${e}`,
120
+ previousPage: "Previous page",
121
+ nextPage: "Next page",
122
+ breadcrumb: "Breadcrumb",
123
+ carousel: "carousel",
124
+ slide: "slide",
125
+ slideOf: (e, t) => `${e} of ${t}`,
126
+ goToSlide: (e) => `Slide ${e}`,
127
+ previousSlide: "Previous slide",
128
+ nextSlide: "Next slide",
129
+ resize: "Resize",
130
+ notifications: "Notifications (F8)"
131
+ };
132
+ //#endregion
133
+ export { e as ENGLISH };
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  //#region packages/utils/money.ts
3
2
  function e(e) {
4
3
  return new Intl.NumberFormat("en", {
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  //#region packages/utils/month.ts
3
2
  var e = /^(\d{4})-(0[1-9]|1[0-2])$/;
4
3
  function t(t) {
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  //#region packages/utils/motion.ts
3
2
  function e() {
4
3
  return typeof window < "u" && (!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches || document.documentElement.classList.contains("reduce-motion"));
@@ -0,0 +1,6 @@
1
+ import { Ref } from 'react';
2
+ /** One ref that hands the element to each of `refs`. */
3
+ export declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void;
4
+ /** mergeRefs, kept the same while the refs are: a component's own ref and the one it was given. */
5
+ export declare function useMergedRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void;
6
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../packages/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAW,MAAM,OAAO,CAAC;AAErC,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,IAChD,MAAM,CAAC,GAAG,IAAI,UAMzB;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,4BAG/D"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { useMemo as e } from "react";
3
+ //#region packages/utils/refs.ts
4
+ function t(...e) {
5
+ return (t) => {
6
+ for (let n of e) typeof n == "function" ? n(t) : n && (n.current = t);
7
+ };
8
+ }
9
+ function n(...n) {
10
+ return e(() => t(...n), n);
11
+ }
12
+ //#endregion
13
+ export { t as mergeRefs, n as useMergedRefs };
@@ -1,3 +1,4 @@
1
+ import { Messages } from './messages';
1
2
  import { DateString } from './date';
2
3
  /**
3
4
  * How often something comes round: every `every` days, weeks, months or
@@ -11,7 +12,8 @@ export interface Repeat {
11
12
  day?: number;
12
13
  }
13
14
  /** "Every 2 weeks on Mon, Thu", "Every month on day 5", "Every year on Sep 3" (from `start`). */
14
- export declare function describeRepeat(repeat: Repeat, locale: string, start?: DateString): string;
15
+ /** In `messages`' words (English unless you pass a LocaleProvider's, e.g. from useMessages). */
16
+ export declare function describeRepeat(repeat: Repeat, locale: string, start?: DateString, messages?: Messages): string;
15
17
  /** The next `count` dates it falls on, from `start` (which sets the cycle) onwards, not before `from`. */
16
18
  export declare function nextOccurrences(repeat: Repeat, start: DateString, count: number, from?: string): DateString[];
17
19
  //# sourceMappingURL=repeat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../packages/utils/repeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,UAAU,EAMlB,MAAM,QAAQ,CAAC;AAEhB;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAezF;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,UAAU,EAAE,CAW5G"}
1
+ {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../packages/utils/repeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAGH,KAAK,UAAU,EAMlB,MAAM,QAAQ,CAAC;AAEhB;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iGAAiG;AACjG,gGAAgG;AAChG,wBAAgB,cAAc,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,GAAE,QAAkB,GAC7B,MAAM,CAcR;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,UAAU,EAAE,CAW5G"}
@@ -1,38 +1,41 @@
1
- "use client";
2
- import { addDays as e, addMonthsToDate as t, dayOfWeek as n, daysBetween as r, daysInMonth as i, formatDate as a, weekdayNames as o } from "./date.js";
1
+ import { ENGLISH as e } from "./messages.js";
2
+ import { addDays as t, addMonthsToDate as n, dayOfWeek as r, daysBetween as i, daysInMonth as a, formatDate as o, weekdayNames as s } from "./date.js";
3
3
  //#region packages/utils/repeat.ts
4
- function s(e, t, n) {
5
- let { every: r, unit: i } = e, s = r === 1 ? `Every ${i}` : `Every ${r} ${i}s`;
6
- if (i === "week" && e.weekdays?.length) {
7
- let n = o(t);
8
- return `${s} on ${[...e.weekdays].sort((e, t) => e - t).map((e) => n[e]).join(", ")}`;
4
+ function c(t, n, r, i = e) {
5
+ let a = i, { every: c, unit: l } = t, u = a.repeatEvery(c, a.repeatUnit(l, c));
6
+ if (l === "week" && t.weekdays?.length) {
7
+ let e = s(n), r = [...t.weekdays].sort((e, t) => e - t).map((t) => e[t]);
8
+ return a.repeatOn(u, new Intl.ListFormat(n, {
9
+ style: "short",
10
+ type: "unit"
11
+ }).format(r));
9
12
  }
10
- return i === "month" && e.day !== void 0 ? `${s} on ${e.day === -1 ? "the last day" : `day ${e.day}`}` : i === "year" && n ? `${s} on ${a(n, t, "day")}` : s;
13
+ return l === "month" && t.day !== void 0 ? a.repeatOn(u, t.day === -1 ? a.repeatLastDay : a.repeatDay(t.day)) : l === "year" && r ? a.repeatOn(u, o(r, n, "day")) : u;
11
14
  }
12
- function c(e, t, n, r = t) {
13
- let i = [], a = Math.max(1, Math.floor(e.every)), o = Math.max(0, Math.floor(l(e.unit, t, r) / a) - 1);
14
- for (let s = o; i.length < n && s < o + n + 2; s++) for (let o of u(e, t, s * a)) o >= t && o >= r && i.length < n && i.push(o);
15
+ function l(e, t, n, r = t) {
16
+ let i = [], a = Math.max(1, Math.floor(e.every)), o = Math.max(0, Math.floor(u(e.unit, t, r) / a) - 1);
17
+ for (let s = o; i.length < n && s < o + n + 2; s++) for (let o of d(e, t, s * a)) o >= t && o >= r && i.length < n && i.push(o);
15
18
  return i;
16
19
  }
17
- function l(e, t, n) {
18
- if (e === "day") return r(t, n);
19
- if (e === "week") return Math.floor(r(t, n) / 7);
20
- let i = (Number(n.slice(0, 4)) - Number(t.slice(0, 4))) * 12 + Number(n.slice(5, 7)) - Number(t.slice(5, 7));
21
- return e === "month" ? i : Math.floor(i / 12);
20
+ function u(e, t, n) {
21
+ if (e === "day") return i(t, n);
22
+ if (e === "week") return Math.floor(i(t, n) / 7);
23
+ let r = (Number(n.slice(0, 4)) - Number(t.slice(0, 4))) * 12 + Number(n.slice(5, 7)) - Number(t.slice(5, 7));
24
+ return e === "month" ? r : Math.floor(r / 12);
22
25
  }
23
- function u(r, a, o) {
24
- switch (r.unit) {
25
- case "day": return [e(a, o)];
26
+ function d(e, i, o) {
27
+ switch (e.unit) {
28
+ case "day": return [t(i, o)];
26
29
  case "week": {
27
- let t = r.weekdays?.length ? [...new Set(r.weekdays)].sort((e, t) => e - t) : [n(a)], i = e(a, -n(a) + o * 7);
28
- return t.map((t) => e(i, t));
30
+ let n = e.weekdays?.length ? [...new Set(e.weekdays)].sort((e, t) => e - t) : [r(i)], a = t(i, -r(i) + o * 7);
31
+ return n.map((e) => t(a, e));
29
32
  }
30
33
  case "month": {
31
- let e = t(`${a.slice(0, 7)}-01`, o).slice(0, 7), n = i(e), s = r.day ?? Number(a.slice(8));
32
- return [`${e}-${String(s === -1 ? n : Math.min(s, n)).padStart(2, "0")}`];
34
+ let t = n(`${i.slice(0, 7)}-01`, o).slice(0, 7), r = a(t), s = e.day ?? Number(i.slice(8));
35
+ return [`${t}-${String(s === -1 ? r : Math.min(s, r)).padStart(2, "0")}`];
33
36
  }
34
- case "year": return [t(a, o * 12)];
37
+ case "year": return [n(i, o * 12)];
35
38
  }
36
39
  }
37
40
  //#endregion
38
- export { s as describeRepeat, c as nextOccurrences };
41
+ export { c as describeRepeat, l as nextOccurrences };
@@ -0,0 +1,17 @@
1
+ import { KeyboardEvent, RefObject } from 'react';
2
+ /** The enabled elements matching `selector` in `root`, in order, leaving out those of a group nested in it. */
3
+ export declare function rovingItems(root: HTMLElement, selector: string): HTMLElement[];
4
+ /**
5
+ * Moves focus between a row's items with the arrow keys (in reading order;
6
+ * ↑↓ for a column), Home and End, wrapping. Returns whether it took the key.
7
+ */
8
+ export declare function moveFocus(e: KeyboardEvent<HTMLElement>, selector: string, orientation?: 'horizontal' | 'vertical'): boolean;
9
+ /**
10
+ * Keeps one item of the group at `ref` in the tab order (Tab enters the group
11
+ * once; the arrow keys go through it): the last one focused, else the first
12
+ * matching `preferred` (e.g. the pressed one), else the first. Put
13
+ * data-zen-roving on the group's element. Off (`enabled` false) when an
14
+ * enclosing group, like a Toolbar, roves through the items instead.
15
+ */
16
+ export declare function useRovingTabIndex(ref: RefObject<HTMLElement | null>, selector: string, preferred?: string, enabled?: boolean): void;
17
+ //# sourceMappingURL=roving.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roving.d.ts","sourceRoot":"","sources":["../../packages/utils/roving.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;AAM7E,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAI9E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACrB,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,EAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,YAAY,GAAG,UAAyB,GACtD,OAAO,CAYT;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,UAAO,QAuBjB"}
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { readingKey as e } from "./direction.js";
3
+ import { useEffect as t, useLayoutEffect as n } from "react";
4
+ //#region packages/utils/roving.ts
5
+ var r = typeof window > "u" ? t : n;
6
+ function i(e, t) {
7
+ return [...e.querySelectorAll(t)].filter((t) => !t.matches(":disabled") && t.parentElement?.closest("[data-zen-roving]") === e);
8
+ }
9
+ function a(t, n, r = "horizontal") {
10
+ if (t.defaultPrevented) return !1;
11
+ let a = i(t.currentTarget, n), o = a.indexOf(t.target);
12
+ if (o === -1) return !1;
13
+ let [s, c] = r === "horizontal" ? ["ArrowLeft", "ArrowRight"] : ["ArrowUp", "ArrowDown"], l = e(t.key, t.currentTarget), u = {
14
+ [c]: o + 1,
15
+ [s]: o - 1,
16
+ Home: 0,
17
+ End: a.length - 1
18
+ }[l];
19
+ return u !== void 0 && (t.preventDefault(), a[(u + a.length) % a.length].focus(), !0);
20
+ }
21
+ function o(e, t, n, a = !0) {
22
+ r(() => {
23
+ let r = e.current;
24
+ if (!r || !a) return;
25
+ let o = (e) => {
26
+ let a = i(r, t), o = a.find((t) => t === e) ?? a.find((e) => e.dataset.zenStop !== void 0) ?? (n ? a.find((e) => e.matches(n)) : void 0) ?? a[0];
27
+ for (let e of a) e.tabIndex = e === o ? 0 : -1, e === o ? e.dataset.zenStop = "" : delete e.dataset.zenStop;
28
+ };
29
+ o(r.contains(document.activeElement) ? document.activeElement : null);
30
+ let s = (e) => o(e.target);
31
+ return r.addEventListener("focusin", s), () => r.removeEventListener("focusin", s);
32
+ });
33
+ }
34
+ //#endregion
35
+ export { a as moveFocus, i as rovingItems, o as useRovingTabIndex };
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { reducedMotion as e } from "./motion.js";
3
2
  //#region packages/utils/section-link.ts
4
3
  function t(t) {
@@ -1 +1 @@
1
- {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../packages/utils/slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAkB,YAAY,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAInG,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,mFAoB1F"}
1
+ {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../packages/utils/slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAkB,YAAY,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAKnG,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,mFAoB1F"}
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  import { cx as e } from "./cx.js";
3
- import { cloneElement as t, isValidElement as n } from "react";
3
+ import { mergeRefs as t } from "./refs.js";
4
+ import { cloneElement as n, isValidElement as r } from "react";
4
5
  //#region packages/utils/slot.tsx
5
- function r({ children: r, ...a }) {
6
- if (!n(r)) return null;
7
- let o = r, s = a, c = o.props, l = { ...s };
6
+ function i({ children: i, ...a }) {
7
+ if (!r(i)) return null;
8
+ let o = i, s = a, c = o.props, l = { ...s };
8
9
  for (let e of Object.keys(s)) {
9
10
  let t = s[e], n = c[e];
10
11
  /^on[A-Z]/.test(e) && typeof t == "function" && typeof n == "function" && (l[e] = (...e) => {
@@ -14,12 +15,7 @@ function r({ children: r, ...a }) {
14
15
  return l.className = e(s.className, c.className), (s.style || c.style) && (l.style = {
15
16
  ...s.style,
16
17
  ...c.style
17
- }), s.ref && c.ref && (l.ref = i(s.ref, c.ref)), t(o, l);
18
- }
19
- function i(...e) {
20
- return (t) => {
21
- for (let n of e) typeof n == "function" ? n(t) : n && (n.current = t);
22
- };
18
+ }), s.ref && c.ref && (l.ref = t(s.ref, c.ref)), n(o, l);
23
19
  }
24
20
  //#endregion
25
- export { r as Slot };
21
+ export { i as Slot };
@@ -1,18 +1,18 @@
1
1
  "use client";
2
- import { cx as e } from "./cx.js";
3
- import t from "../icons/micro/check.js";
2
+ import e from "../icons/micro/check.js";
3
+ import { cx as t } from "./cx.js";
4
4
  import n from "../icons/micro/exclamation-triangle.js";
5
5
  import r from "../icons/micro/information-circle.js";
6
6
  import { jsx as i } from "react/jsx-runtime";
7
7
  //#region packages/utils/status-icons.tsx
8
8
  function a({ className: n }) {
9
- return /* @__PURE__ */ i(t, { className: e("size-3.5", n) });
9
+ return /* @__PURE__ */ i(e, { className: t("size-3.5", n) });
10
10
  }
11
- function o({ className: t }) {
12
- return /* @__PURE__ */ i(n, { className: e("size-3.5", t) });
11
+ function o({ className: e }) {
12
+ return /* @__PURE__ */ i(n, { className: t("size-3.5", e) });
13
13
  }
14
- function s({ className: t }) {
15
- return /* @__PURE__ */ i(r, { className: e("size-3.5", t) });
14
+ function s({ className: e }) {
15
+ return /* @__PURE__ */ i(r, { className: t("size-3.5", e) });
16
16
  }
17
17
  //#endregion
18
18
  export { o as AlertIcon, a as CheckIcon, s as InfoIcon };