@jfrader/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 (314) hide show
  1. package/README.md +18 -1
  2. package/dist/accordion-D6myONB9.js +206 -0
  3. package/dist/accordion.js +1 -1
  4. package/dist/activity-rings-Uszvwqdl.js +528 -0
  5. package/dist/activity-rings.js +2 -0
  6. package/dist/{alert-DS_einpy.js → alert-Bhj-qSMs.js} +15 -14
  7. package/dist/alert.js +1 -1
  8. package/dist/{announcement-bar-B58xempt.js → announcement-bar-B5J33QUh.js} +132 -131
  9. package/dist/announcement-bar.js +1 -1
  10. package/dist/avatar-B6idYC59.js +146 -0
  11. package/dist/{avatar-group-DOQQuV51.js → avatar-group-DvP8mAE-.js} +10 -9
  12. package/dist/avatar-group.js +1 -1
  13. package/dist/avatar.js +1 -1
  14. package/dist/badge-CfhTcA-Z.js +120 -0
  15. package/dist/badge.js +1 -1
  16. package/dist/billing-toggle-CgC7yxxo.js +349 -0
  17. package/dist/billing-toggle.js +2 -0
  18. package/dist/{bottom-sheet-DPJBFkie.js → bottom-sheet-BFQKO0Wo.js} +287 -268
  19. package/dist/bottom-sheet.js +1 -1
  20. package/dist/{breadcrumbs-Cfw_hgt2.js → breadcrumbs-CG3akw-b.js} +28 -20
  21. package/dist/breadcrumbs.js +1 -1
  22. package/dist/{button-C92uYFJW.js → button-C6OV0C7J.js} +21 -20
  23. package/dist/button-group-B9wP2ddS.js +611 -0
  24. package/dist/button-group.js +2 -0
  25. package/dist/button.js +1 -1
  26. package/dist/calendar-Bg6D2sul.js +377 -0
  27. package/dist/calendar.js +1 -1
  28. package/dist/calendar.utils-azmB4Ej7.js +79 -0
  29. package/dist/card-C008OQCp.js +164 -0
  30. package/dist/card.js +1 -1
  31. package/dist/carousel-lTH4Foke.js +475 -0
  32. package/dist/carousel.js +1 -1
  33. package/dist/chat-thread-DVa17BRC.js +864 -0
  34. package/dist/chat-thread.js +2 -0
  35. package/dist/{checkbox-cFquiSdy.js → checkbox-CClE61GV.js} +23 -21
  36. package/dist/checkbox.js +1 -1
  37. package/dist/{chip-group-DTQd_M-G.js → chip-group-BZUX9KPF.js} +19 -17
  38. package/dist/chip-group.js +1 -1
  39. package/dist/{choice-control-5kJkLXgv.js → choice-control-BsWOZPc9.js} +1 -1
  40. package/dist/{code-block-ahnRi-g8.js → code-block-CYP89_6h.js} +99 -97
  41. package/dist/code-block.js +1 -1
  42. package/dist/{combobox-Bhzvu9ma.js → combobox-D2Oc-co7.js} +131 -125
  43. package/dist/combobox.js +1 -1
  44. package/dist/command-palette-BrT1n9bb.js +394 -0
  45. package/dist/command-palette.js +1 -1
  46. package/dist/comment-thread-BnUHxviq.js +772 -0
  47. package/dist/comment-thread.js +2 -0
  48. package/dist/{container-BOaSptJa.js → container-BxtwJSSD.js} +3 -2
  49. package/dist/container.js +1 -1
  50. package/dist/context-menu-I4i0LRpm.js +371 -0
  51. package/dist/context-menu.js +2 -0
  52. package/dist/{copy-button-ByiA6D3R.js → copy-button-C0p_qrgf.js} +4 -4
  53. package/dist/copy-button.js +1 -1
  54. package/dist/{countdown-Dp_TD1VP.js → countdown-EcpV6rXy.js} +18 -17
  55. package/dist/countdown.js +1 -1
  56. package/dist/css-BYJhdGh-.js +2 -0
  57. package/dist/{date-picker-5zKSSuFF.js → date-picker-D-bn-iHs.js} +15 -14
  58. package/dist/date-picker.js +1 -1
  59. package/dist/date-range-picker-rXcZsI1Y.js +589 -0
  60. package/dist/date-range-picker.js +1 -1
  61. package/dist/dialog-CR1xdkrC.js +222 -0
  62. package/dist/dialog.js +1 -1
  63. package/dist/{divider-DYoJf0I_.js → divider-zOJzkcHh.js} +23 -21
  64. package/dist/divider.js +1 -1
  65. package/dist/drawer-CceaEhCr.js +590 -0
  66. package/dist/drawer.js +1 -1
  67. package/dist/{empty-state-CDgrjPPf.js → empty-state-DO0ApylK.js} +2 -1
  68. package/dist/empty-state.js +1 -1
  69. package/dist/{expandable-card-C-qJcZ14.js → expandable-card-W97vjix9.js} +59 -51
  70. package/dist/expandable-card.js +1 -1
  71. package/dist/expanding-search-Bb2_YfNx.js +239 -0
  72. package/dist/expanding-search.js +2 -0
  73. package/dist/{field-anatomy-COVdNpf5.js → field-anatomy-BDIP42MI.js} +2 -1
  74. package/dist/file-dropzone-Bi5ikRIz.js +458 -0
  75. package/dist/file-dropzone.js +1 -1
  76. package/dist/{filter-toolbar-D5KEKTSe.js → filter-toolbar-QRnC4S_H.js} +36 -33
  77. package/dist/filter-toolbar.js +1 -1
  78. package/dist/{flex-Dh-_J5-U.js → flex-CS7eMRcK.js} +2 -2
  79. package/dist/flex.js +1 -1
  80. package/dist/{hold-to-confirm-DjB2EVjM.js → hold-to-confirm-CVBA0wNT.js} +18 -17
  81. package/dist/hold-to-confirm.js +1 -1
  82. package/dist/{hover-card-B-nrCIy2.js → hover-card-DN1EAlQA.js} +26 -25
  83. package/dist/hover-card.js +1 -1
  84. package/dist/{icon-wrapper-stN8sD7R.js → icon-wrapper-C-zMD0uL.js} +1 -1
  85. package/dist/{image-compare-ciuhPtQZ.js → image-compare-Ln2UUqTU.js} +20 -19
  86. package/dist/image-compare.js +1 -1
  87. package/dist/index.js +98 -78
  88. package/dist/{inline-edit-C0eeml65.js → inline-edit-D-pR2RPC.js} +22 -21
  89. package/dist/inline-edit.js +1 -1
  90. package/dist/{input-control-DmMuAuPS.js → input-control-B6HVBgwl.js} +1 -1
  91. package/dist/{json-viewer-BcySQfjZ.js → json-viewer-Dro3WrjS.js} +34 -29
  92. package/dist/json-viewer.js +1 -1
  93. package/dist/{kbd-C3ACoMoE.js → kbd-BI_9qzYr.js} +2 -1
  94. package/dist/kbd.js +1 -1
  95. package/dist/keycap-keyboard-Cdx-OAS1.js +311 -0
  96. package/dist/keycap-keyboard.js +2 -0
  97. package/dist/{layout-style-Cbd1Vilw.js → layout-style-BE0gSqrH.js} +1 -1
  98. package/dist/lightbox-gallery-D0YaSTut.js +777 -0
  99. package/dist/lightbox-gallery.js +2 -0
  100. package/dist/link-unfurl-CReyIjyy.js +695 -0
  101. package/dist/link-unfurl.js +2 -0
  102. package/dist/{listbox-style-WX-RASp1.js → listbox-style-DNOxAulu.js} +1 -1
  103. package/dist/{loading-ring-B8-30Dl1.js → loading-ring-D0lGrK8z.js} +1 -1
  104. package/dist/locale-switcher-CZF7XNYG.js +295 -0
  105. package/dist/locale-switcher.js +2 -0
  106. package/dist/mention-input-BjjAbJCf.js +600 -0
  107. package/dist/mention-input.js +1 -1
  108. package/dist/menu-CVzpsyXn.js +312 -0
  109. package/dist/menu.js +1 -1
  110. package/dist/{metric-card-Bh9K4fZs.js → metric-card-BnFssTXj.js} +12 -11
  111. package/dist/metric-card.js +1 -1
  112. package/dist/{multi-select-Pce_IYnz.js → multi-select-B3puEVo0.js} +78 -69
  113. package/dist/multi-select.js +1 -1
  114. package/dist/{navigation-sP5fiuQS.js → navigation-C_JD43gA.js} +56 -49
  115. package/dist/navigation.js +1 -1
  116. package/dist/next.js +65 -0
  117. package/dist/now-playing-DjVm1Phm.js +439 -0
  118. package/dist/now-playing.js +2 -0
  119. package/dist/{overlay-layer-SeUyyEPD.js → overlay-layer-qEbpEtb8.js} +16 -2
  120. package/dist/overlay-motion-Cr77ihn2.js +90 -0
  121. package/dist/{overlay-portal-C4JZFq2M.js → overlay-portal-C9igMHnC.js} +1 -1
  122. package/dist/{pagination-DmXZ8E85.js → pagination-Dkh4bJQh.js} +31 -29
  123. package/dist/pagination.js +1 -1
  124. package/dist/{password-field-03pWRkuY.js → password-field-Da58GP1g.js} +4 -4
  125. package/dist/password-field.js +1 -1
  126. package/dist/photo-grid-Dtl17D74.js +830 -0
  127. package/dist/photo-grid.js +2 -0
  128. package/dist/pill-Dd7pog19.js +59 -0
  129. package/dist/pill.js +1 -1
  130. package/dist/popover-CUMOcMtj.js +126 -0
  131. package/dist/popover.js +1 -1
  132. package/dist/presence-spring-4zwtUDQN.js +12 -0
  133. package/dist/{progress-CbOWBUdA.js → progress-Bcuz3Ob4.js} +12 -11
  134. package/dist/progress.js +1 -1
  135. package/dist/{radio-cards-D2QZENI_.js → radio-cards-FkAhESb5.js} +65 -63
  136. package/dist/radio-cards.js +1 -1
  137. package/dist/{radio-group-E6mMRgo7.js → radio-group-DItMf2YM.js} +32 -28
  138. package/dist/radio-group.js +1 -1
  139. package/dist/{resizable-panels-BhjUVXZZ.js → resizable-panels-61h9hA3B.js} +16 -14
  140. package/dist/resizable-panels.js +1 -1
  141. package/dist/{scroll-area-CcZyiSOQ.js → scroll-area-B8KkCPOM.js} +16 -15
  142. package/dist/scroll-area.js +1 -1
  143. package/dist/{search-field-IxF0IJXm.js → search-field-CbsajaZb.js} +94 -93
  144. package/dist/search-field.js +1 -1
  145. package/dist/{segmented-control-yO1K1nbi.js → segmented-control-DCh-4ca-.js} +28 -26
  146. package/dist/segmented-control.js +1 -1
  147. package/dist/{select-n_H52W1Z.js → select-SrcQqZjo.js} +29 -27
  148. package/dist/select.js +1 -1
  149. package/dist/sheet-stack-DYX1SGSB.js +820 -0
  150. package/dist/sheet-stack.js +2 -0
  151. package/dist/shortcut-recorder-VgTQdjjn.js +688 -0
  152. package/dist/shortcut-recorder.js +2 -0
  153. package/dist/signature-pad-khL2yhQI.js +646 -0
  154. package/dist/signature-pad.js +1 -1
  155. package/dist/{skeleton-XQQDkCHd.js → skeleton-LJsQsveI.js} +9 -8
  156. package/dist/skeleton.js +1 -1
  157. package/dist/slider-DjAnGmlC.js +535 -0
  158. package/dist/slider.js +1 -1
  159. package/dist/{sortable-data-table-tirqlLY2.js → sortable-data-table-Bpitup_d.js} +29 -28
  160. package/dist/sortable-data-table.js +1 -1
  161. package/dist/{spinner-DtxvDPdM.js → spinner-CvzajSg9.js} +11 -10
  162. package/dist/spinner.js +1 -1
  163. package/dist/{split-button-Cb3EHs64.js → split-button-Bu41f2AY.js} +88 -93
  164. package/dist/split-button.js +1 -1
  165. package/dist/{stack-DC3IbtWk.js → stack-Bac4sJeI.js} +2 -2
  166. package/dist/stack.js +1 -1
  167. package/dist/{stepper-CruHbXxX.js → stepper-C8Ncavbr.js} +22 -21
  168. package/dist/stepper.js +1 -1
  169. package/dist/stretch-refresh-OrnTEj7P.js +349 -0
  170. package/dist/stretch-refresh.js +2 -0
  171. package/dist/{surface-DZ4d-2aL.js → surface-C69kwSuk.js} +13 -3
  172. package/dist/{swipe-actions-DiZC57-3.js → swipe-actions-1H5UOZKE.js} +29 -26
  173. package/dist/swipe-actions.js +1 -1
  174. package/dist/switch-79-hkQqg.js +146 -0
  175. package/dist/switch.js +1 -1
  176. package/dist/sx-BJXJ2xJK.js +23 -0
  177. package/dist/tabs-Bb5-noYE.js +211 -0
  178. package/dist/tabs.js +1 -1
  179. package/dist/{tag-input-DSRCyrX2.js → tag-input-BQaueKEb.js} +5 -5
  180. package/dist/tag-input.js +1 -1
  181. package/dist/{text-field-C8TWG-tY.js → text-field-D0VP7b4P.js} +18 -16
  182. package/dist/text-field.js +1 -1
  183. package/dist/{textarea-BrW0XcG_.js → textarea-D1YwEPmn.js} +21 -19
  184. package/dist/textarea.js +1 -1
  185. package/dist/theme-provider-BvcY-iJu.js +20 -0
  186. package/dist/theme-root-BrYVcTzt.js +163 -0
  187. package/dist/theme-root.js +1 -1
  188. package/dist/theme-scope-DGWy4H0C.js +62 -0
  189. package/dist/theme-switch-CP42mVDb.js +167 -0
  190. package/dist/theme-switch.js +2 -0
  191. package/dist/thread-parts-DfZNz70v.js +683 -0
  192. package/dist/{time-picker-Db8D49cP.js → time-picker-Tnd-JBLC.js} +39 -32
  193. package/dist/time-picker.js +1 -1
  194. package/dist/{timeline-k3nURuCP.js → timeline-DaldDMX7.js} +28 -21
  195. package/dist/timeline.js +1 -1
  196. package/dist/{toast-BHxI32ZA.js → toast-CSAbl5yK.js} +107 -87
  197. package/dist/{toast-stack-DqrAzdg5.js → toast-stack-BCR4Cu7V.js} +25 -10
  198. package/dist/toast-stack.js +1 -1
  199. package/dist/toast.js +1 -1
  200. package/dist/{toggle-group-fcjzpifI.js → toggle-group-C7ye1v4s.js} +24 -23
  201. package/dist/toggle-group.js +1 -1
  202. package/dist/tooltip-IajLwdUb.js +129 -0
  203. package/dist/tooltip.js +1 -1
  204. package/dist/{tree-view-C2liIxqy.js → tree-view-CoW4oJIZ.js} +18 -13
  205. package/dist/tree-view.js +1 -1
  206. package/dist/{trigger-style-B1KVC8O1.js → trigger-style-CtOrdPk4.js} +1 -1
  207. package/dist/types/components/activity-rings/activity-rings.d.ts +115 -0
  208. package/dist/types/components/activity-rings/index.d.ts +2 -0
  209. package/dist/types/components/billing-toggle/billing-toggle.d.ts +57 -0
  210. package/dist/types/components/billing-toggle/index.d.ts +2 -0
  211. package/dist/types/components/button-group/button-group.d.ts +72 -0
  212. package/dist/types/components/button-group/index.d.ts +2 -0
  213. package/dist/types/components/card/card.d.ts +4 -1
  214. package/dist/types/components/chat-thread/chat-thread.d.ts +130 -0
  215. package/dist/types/components/chat-thread/index.d.ts +2 -0
  216. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  217. package/dist/types/components/command-palette/command-palette.d.ts +1 -1
  218. package/dist/types/components/comment-thread/comment-thread.d.ts +118 -0
  219. package/dist/types/components/comment-thread/index.d.ts +1 -0
  220. package/dist/types/components/context-menu/context-menu.d.ts +55 -0
  221. package/dist/types/components/context-menu/index.d.ts +2 -0
  222. package/dist/types/components/date-range-picker/date-range-picker.d.ts +1 -1
  223. package/dist/types/components/drawer/drawer.d.ts +7 -1
  224. package/dist/types/components/expanding-search/expanding-search.d.ts +22 -0
  225. package/dist/types/components/expanding-search/index.d.ts +1 -0
  226. package/dist/types/components/keycap-keyboard/index.d.ts +2 -0
  227. package/dist/types/components/keycap-keyboard/keycap-keyboard.d.ts +32 -0
  228. package/dist/types/components/lightbox-gallery/index.d.ts +2 -0
  229. package/dist/types/components/lightbox-gallery/lightbox-gallery.d.ts +74 -0
  230. package/dist/types/components/link-unfurl/index.d.ts +2 -0
  231. package/dist/types/components/link-unfurl/link-unfurl.d.ts +94 -0
  232. package/dist/types/components/locale-switcher/index.d.ts +2 -0
  233. package/dist/types/components/locale-switcher/locale-switcher.d.ts +58 -0
  234. package/dist/types/components/menu/menu.d.ts +74 -7
  235. package/dist/types/components/next/emotion-registry.d.ts +16 -0
  236. package/dist/types/components/next/index.d.ts +2 -0
  237. package/dist/types/components/next/registry.d.ts +21 -0
  238. package/dist/types/components/now-playing/index.d.ts +1 -0
  239. package/dist/types/components/now-playing/now-playing.d.ts +88 -0
  240. package/dist/types/components/pagination/pagination.d.ts +1 -1
  241. package/dist/types/components/photo-grid/index.d.ts +2 -0
  242. package/dist/types/components/photo-grid/photo-grid.d.ts +82 -0
  243. package/dist/types/components/radio-cards/radio-cards.d.ts +1 -1
  244. package/dist/types/components/radio-group/radio-group.d.ts +1 -1
  245. package/dist/types/components/sheet-stack/index.d.ts +2 -0
  246. package/dist/types/components/sheet-stack/sheet-stack.d.ts +78 -0
  247. package/dist/types/components/shortcut-recorder/index.d.ts +2 -0
  248. package/dist/types/components/shortcut-recorder/shortcut-recorder.d.ts +117 -0
  249. package/dist/types/components/slider/slider-style.d.ts +14 -0
  250. package/dist/types/components/slider/slider.d.ts +2 -10
  251. package/dist/types/components/slider/use-slider-interaction.d.ts +79 -0
  252. package/dist/types/components/split-button/split-button.d.ts +2 -2
  253. package/dist/types/components/stretch-refresh/index.d.ts +1 -0
  254. package/dist/types/components/stretch-refresh/stretch-refresh.d.ts +49 -0
  255. package/dist/types/components/tabs/tabs.d.ts +1 -1
  256. package/dist/types/components/text-field/text-field.d.ts +1 -1
  257. package/dist/types/components/textarea/textarea.d.ts +1 -1
  258. package/dist/types/components/theme-root/index.d.ts +1 -0
  259. package/dist/types/components/theme-root/theme-root.d.ts +9 -1
  260. package/dist/types/components/theme-switch/index.d.ts +1 -0
  261. package/dist/types/components/theme-switch/theme-switch.d.ts +33 -0
  262. package/dist/types/components/thread/thread-core.d.ts +96 -0
  263. package/dist/types/components/thread/thread-parts.d.ts +119 -0
  264. package/dist/types/components/tooltip/tooltip.d.ts +9 -2
  265. package/dist/types/components/usage-meter/usage-meter.d.ts +2 -12
  266. package/dist/types/components/usage-meter/usage-model.d.ts +30 -0
  267. package/dist/types/components/user-menu/index.d.ts +2 -0
  268. package/dist/types/components/user-menu/user-menu.d.ts +119 -0
  269. package/dist/types/index.d.ts +18 -0
  270. package/dist/types/overlay/exit-motion.d.ts +24 -0
  271. package/dist/types/overlay/overlay-layer.d.ts +20 -0
  272. package/dist/types/overlay/presence-spring.d.ts +12 -0
  273. package/dist/types/overlay/use-native-dialog.d.ts +10 -1
  274. package/dist/types/overlay/use-overlay-floating.d.ts +9 -2
  275. package/dist/types/styling/create-theme.d.ts +24 -0
  276. package/dist/types/styling/css.d.ts +1 -1
  277. package/dist/types/styling/overlay-motion.d.ts +95 -0
  278. package/dist/types/styling/surface.d.ts +7 -0
  279. package/dist/types/styling/theme-scope.d.ts +29 -3
  280. package/dist/types/styling/theme.d.ts +5 -0
  281. package/dist/{usage-meter-qyQ3rYVv.js → usage-meter-CYvlB6l3.js} +165 -175
  282. package/dist/usage-meter.js +1 -1
  283. package/dist/usage-model-C0fS47w4.js +32 -0
  284. package/dist/use-native-dialog-FB0p7lkg.js +93 -0
  285. package/dist/{use-overlay-floating-DvJifLpF.js → use-overlay-floating-Bx2jBKAA.js} +8 -6
  286. package/dist/use-scroll-lock-40gXwwAy.js +23 -0
  287. package/dist/user-menu-DzELTg1x.js +757 -0
  288. package/dist/user-menu.js +2 -0
  289. package/dist/{visually-hidden-BJdvqqvn.js → visually-hidden-DgVO3NaB.js} +1 -1
  290. package/package.json +88 -2
  291. package/dist/accordion-xCI_u0BV.js +0 -198
  292. package/dist/avatar-BahDVO9t.js +0 -132
  293. package/dist/badge-B_sLygxU.js +0 -108
  294. package/dist/calendar-B3Svu0X2.js +0 -447
  295. package/dist/card-D-aI2QHx.js +0 -158
  296. package/dist/carousel-IvPqN-oM.js +0 -472
  297. package/dist/command-palette-BQ5LleGb.js +0 -384
  298. package/dist/date-range-picker-B5uFWsm-.js +0 -562
  299. package/dist/dialog-ciiv9H2b.js +0 -218
  300. package/dist/drawer-DsASTiP-.js +0 -553
  301. package/dist/file-dropzone-pR4v7owg.js +0 -457
  302. package/dist/mention-input-BcQKX2EJ.js +0 -599
  303. package/dist/menu-xwOOUtWP.js +0 -275
  304. package/dist/pill-DO2gHzMb.js +0 -56
  305. package/dist/popover-QHcEvf9c.js +0 -119
  306. package/dist/signature-pad-q2SAsrdD.js +0 -640
  307. package/dist/slider-t0B5cecO.js +0 -477
  308. package/dist/switch-qwv8jQnR.js +0 -142
  309. package/dist/sx-Dx9JUKp5.js +0 -23
  310. package/dist/tabs-CAVJndX1.js +0 -203
  311. package/dist/theme-root-BbTBuLMQ.js +0 -46
  312. package/dist/theme-scope-t7nAKc2c.js +0 -27
  313. package/dist/tooltip-CkeiW9C1.js +0 -113
  314. package/dist/use-native-dialog-DWpIUVO1.js +0 -84
@@ -1,23 +1,25 @@
1
1
  'use client';
2
- import { r as e, t } from "./sx-Dx9JUKp5.js";
3
- import { n } from "./focus-ring-BK5W5_NY.js";
4
- import { n as r, r as i } from "./media-8yrN85VT.js";
2
+ import { i as e } from "./css-BYJhdGh-.js";
3
+ import { n as t } from "./focus-ring-BK5W5_NY.js";
4
+ import { n, r } from "./media-8yrN85VT.js";
5
+ import { t as i } from "./sx-BJXJ2xJK.js";
5
6
  import { t as a } from "./use-controlled-state-DpeVQZNR.js";
6
- import { t as ee } from "./visually-hidden-BJdvqqvn.js";
7
+ import { t as ee } from "./visually-hidden-DgVO3NaB.js";
8
+ import { n as te, r as ne, t as re } from "./usage-model-C0fS47w4.js";
7
9
  import { t as o } from "./renderable-DzcIj1Lo.js";
8
- import { useEffect as s, useId as te, useLayoutEffect as ne, useRef as c, useState as l } from "react";
10
+ import { useEffect as s, useId as ie, useLayoutEffect as ae, useRef as c, useState as l } from "react";
9
11
  import { vars as u } from "@jfrader/tokens/vars";
10
- import { createElement as re } from "@emotion/react";
12
+ import { createElement as oe } from "@emotion/react";
11
13
  import { Fragment as d, jsx as f, jsxs as p } from "@emotion/react/jsx-runtime";
12
14
  //#region src/components/usage-meter/usage-meter.tsx
13
- var ie = .9, ae = {
15
+ var se = {
14
16
  free: "Remaining",
15
17
  near: "Near limit",
16
18
  over: "Over limit",
17
19
  normal: "Within limit",
18
20
  unavailable: "Unavailable",
19
21
  legend: "Usage categories"
20
- }, oe = {
22
+ }, ce = {
21
23
  normal: "✓",
22
24
  "near-limit": "!",
23
25
  "over-limit": "!",
@@ -27,7 +29,7 @@ var ie = .9, ae = {
27
29
  "info",
28
30
  "success",
29
31
  "warning"
30
- ], se = e({
32
+ ], le = e({
31
33
  display: "grid",
32
34
  gap: u.space[3],
33
35
  minInlineSize: 0,
@@ -36,11 +38,11 @@ var ie = .9, ae = {
36
38
  lineHeight: u.lineHeight.base,
37
39
  color: u.color.text,
38
40
  overflowWrap: "anywhere"
39
- }), ce = e({ fontWeight: u.fontWeight.medium }), le = e({ color: u.color.textMuted }), ue = e({
41
+ }), ue = e({ fontWeight: u.fontWeight.medium }), de = e({ color: u.color.textMuted }), fe = e({
40
42
  margin: 0,
41
43
  fontSize: "var(--usage-total-size)",
42
44
  fontWeight: u.fontWeight.medium
43
- }), de = {
45
+ }), pe = {
44
46
  sm: e({
45
47
  "--usage-total-size": u.textSize.md,
46
48
  gap: u.space[2]
@@ -50,14 +52,14 @@ var ie = .9, ae = {
50
52
  "--usage-total-size": u.textSize["3xl"],
51
53
  gap: u.space[4]
52
54
  })
53
- }, fe = e({
55
+ }, me = e({
54
56
  position: "relative",
55
57
  blockSize: u.space[3],
56
58
  border: `1px solid ${u.color.borderControl}`,
57
59
  backgroundColor: u.color.surfaceInset,
58
60
  borderRadius: u.radius.full,
59
61
  overflow: "hidden",
60
- [r]: {
62
+ [n]: {
61
63
  backgroundColor: "Canvas",
62
64
  borderColor: "CanvasText"
63
65
  }
@@ -70,21 +72,21 @@ var ie = .9, ae = {
70
72
  transitionProperty: "inline-size, inset-inline-start",
71
73
  transitionDuration: u.motion.duration.base,
72
74
  transitionTimingFunction: u.motion.easeStandard,
73
- [i]: { transitionDuration: "0s" }
74
- }), pe = e({
75
+ [r]: { transitionDuration: "0s" }
76
+ }), he = e({
75
77
  backgroundColor: "var(--usage-tone)",
76
78
  borderInlineEnd: `1px solid ${u.color.surfaceInset}`,
77
79
  "&[data-highlighted=\"true\"]": {
78
80
  outline: `2px solid ${u.color.surfaceInset}`,
79
81
  outlineOffset: "-2px"
80
82
  },
81
- [r]: {
83
+ [n]: {
82
84
  forcedColorAdjust: "none",
83
85
  backgroundColor: "Highlight",
84
86
  borderColor: "CanvasText",
85
87
  outlineColor: "CanvasText"
86
88
  }
87
- }), me = e({
89
+ }), ge = e({
88
90
  backgroundColor: u.color.surfaceInset,
89
91
  backgroundImage: `repeating-linear-gradient(135deg, transparent, transparent ${u.space[1]}, ${u.color.text} ${u.space[1]}, ${u.color.text} calc(${u.space[1]} + 1px))`,
90
92
  borderInlineStart: `1px solid ${u.color.text}`,
@@ -92,24 +94,24 @@ var ie = .9, ae = {
92
94
  outline: `2px solid ${u.color.text}`,
93
95
  outlineOffset: "-2px"
94
96
  },
95
- [r]: {
97
+ [n]: {
96
98
  forcedColorAdjust: "none",
97
99
  backgroundImage: `repeating-linear-gradient(135deg, Canvas, Canvas ${u.space[1]}, CanvasText ${u.space[1]}, CanvasText calc(${u.space[1]} + 1px))`,
98
100
  borderColor: "CanvasText"
99
101
  }
100
- }), he = e({
102
+ }), _e = e({
101
103
  "&[data-highlighted=\"true\"]": {
102
104
  outline: `2px solid ${u.color.text}`,
103
105
  outlineOffset: "-2px"
104
106
  },
105
- [r]: { "&[data-highlighted=\"true\"]": { outlineColor: "CanvasText" } }
106
- }), ge = e({
107
+ [n]: { "&[data-highlighted=\"true\"]": { outlineColor: "CanvasText" } }
108
+ }), ve = e({
107
109
  position: "absolute",
108
110
  insetBlock: 0,
109
111
  insetInlineStart: "var(--usage-start)",
110
112
  borderInlineStart: `2px solid ${u.color.text}`,
111
- [r]: { borderColor: "CanvasText" }
112
- }), _e = e({
113
+ [n]: { borderColor: "CanvasText" }
114
+ }), ye = e({
113
115
  display: "grid",
114
116
  gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 12rem), 1fr))",
115
117
  gap: u.space[2],
@@ -137,16 +139,16 @@ var ie = .9, ae = {
137
139
  outline: `2px solid ${u.color.text}`,
138
140
  outlineOffset: "-2px"
139
141
  },
140
- "&:focus-visible": n,
141
- [r]: {
142
+ "&:focus-visible": t,
143
+ [n]: {
142
144
  borderColor: "CanvasText",
143
145
  "&:focus-visible": { outlineColor: "Highlight" },
144
146
  "&[aria-pressed=\"true\"]": { outlineColor: "CanvasText" }
145
147
  }
146
- }), ve = e({
148
+ }), be = e({
147
149
  fontSize: u.textSize.xs,
148
150
  fontWeight: u.fontWeight.medium
149
- }), ye = e({
151
+ }), xe = e({
150
152
  display: "block",
151
153
  inlineSize: "fit-content",
152
154
  paddingInline: u.space[1],
@@ -154,11 +156,11 @@ var ie = .9, ae = {
154
156
  lineHeight: 1,
155
157
  color: u.color.text,
156
158
  backgroundColor: u.color.surfaceInset,
157
- [r]: {
159
+ [n]: {
158
160
  color: "CanvasText",
159
161
  backgroundColor: "Canvas"
160
162
  }
161
- }), be = e({
163
+ }), Se = e({
162
164
  marginInlineStart: "auto",
163
165
  color: u.color.textMuted
164
166
  });
@@ -177,257 +179,245 @@ function b(e, t) {
177
179
  "--usage-width": `${t * 100}%`
178
180
  };
179
181
  }
180
- function x({ ref: e, label: n, segments: r, limit: i, warnAt: x = ie, size: xe = "md", locale: S, numberFormatOptions: Se, unitLabel: C, labels: Ce, getValueLabel: we, getItemLabel: Te, interactive: w = !0, value: Ee, defaultValue: De = null, onValueChange: Oe, announceChanges: T = !1, statusIcon: ke, slotProps: E, className: Ae, sx: je, "aria-labelledby": D, "aria-describedby": Me, "aria-label": O, ...Ne }) {
181
- let k = te(), A = E?.title?.id ?? `${k}-title`, j = E?.status?.id ?? `${k}-status`, M = o(n) && n !== "", N = {
182
- ...ae,
183
- ...Ce
184
- }, P = new Intl.NumberFormat(S, {
185
- maximumFractionDigits: 1,
186
- ...Se
187
- }), F = new Intl.NumberFormat(S, {
188
- style: "percent",
189
- maximumFractionDigits: 0
190
- }), I = new Intl.NumberFormat(S, { maximumFractionDigits: 0 }), L = r.map((e) => ({
182
+ function x({ ref: e, label: t, segments: n, limit: r, warnAt: x = re, size: Ce = "md", locale: we, numberFormatOptions: Te, unitLabel: S, labels: Ee, getValueLabel: De, getItemLabel: Oe, interactive: C = !0, value: ke, defaultValue: Ae = null, onValueChange: je, announceChanges: w = !1, statusIcon: Me, slotProps: T, className: Ne, sx: Pe, "aria-labelledby": E, "aria-describedby": Fe, "aria-label": D, ...Ie }) {
183
+ let O = ie(), k = T?.title?.id ?? `${O}-title`, A = T?.status?.id ?? `${O}-status`, j = o(t) && t !== "", M = {
184
+ ...se,
185
+ ...Ee
186
+ }, N = te(we, Te), { amount: P, percent: Le, index: F } = N, I = n.map((e) => ({
191
187
  ...e,
192
188
  value: Number.isFinite(e.value) && e.value >= 0 ? e.value : 0
193
- })), R = L.reduce((e, t) => e + t.value, 0), z = Number.isFinite(i) && i > 0 && Number.isFinite(R) && Number.isFinite(R / i), B = z ? R > i ? "over-limit" : R >= (Number.isFinite(x) ? Math.min(1, Math.max(0, x)) : ie) * i ? "near-limit" : "normal" : "unavailable", V = {
194
- total: R,
195
- limit: i,
196
- free: z ? Math.max(0, i - R) : 0,
197
- over: z ? Math.max(0, R - i) : 0,
198
- ratio: z ? R / i : 0,
199
- state: B,
200
- formattedTotal: Number.isFinite(R) ? P.format(R) : N.unavailable,
201
- formattedLimit: z ? P.format(i) : N.unavailable,
202
- formattedPercent: z ? F.format(R / i) : N.unavailable
203
- }, H = {
204
- normal: N.normal,
205
- "near-limit": N.near,
206
- "over-limit": N.over,
207
- unavailable: N.unavailable
208
- }[B], U = B === "over-limit" ? `${H}: ${P.format(V.over)}` : H, W = [...L.map((e) => ({
189
+ })), L = I.reduce((e, t) => e + t.value, 0), R = ne(L, r, {
190
+ warnAt: x,
191
+ formats: N,
192
+ unavailable: M.unavailable
193
+ }), { state: z } = R, B = z !== "unavailable", V = {
194
+ normal: M.normal,
195
+ "near-limit": M.near,
196
+ "over-limit": M.over,
197
+ unavailable: M.unavailable
198
+ }[z], H = z === "over-limit" ? `${V}: ${P.format(R.over)}` : V, U = [...I.map((e) => ({
209
199
  kind: "segment",
210
200
  id: e.id,
211
201
  label: e.label,
212
202
  value: e.value
213
- })), ...z ? [{
203
+ })), ...B ? [{
214
204
  kind: "remainder",
215
- label: V.over > 0 ? N.over : N.free,
216
- value: V.over > 0 ? V.over : V.free
217
- }] : []], [G, Pe] = a(Ee, De, Oe), [Fe, Ie] = l(null), [Le, Re] = l(null), [ze, Be] = l(null), K = c(/* @__PURE__ */ new Map()), q = c(null), Ve = W.find((e) => _(e, G)) ?? null, J = Fe ?? Le ?? Ve, He = W.some((e) => v(e) === ze) ? ze : W[0] && v(W[0]), Ue = c(B), [We, Ge] = l("");
205
+ label: R.over > 0 ? M.over : M.free,
206
+ value: R.over > 0 ? R.over : R.free
207
+ }] : []], [W, Re] = a(ke, Ae, je), [ze, Be] = l(null), [Ve, He] = l(null), [Ue, We] = l(null), G = c(/* @__PURE__ */ new Map()), K = c(null), Ge = U.find((e) => _(e, W)) ?? null, q = ze ?? Ve ?? Ge, Ke = U.some((e) => v(e) === Ue) ? Ue : U[0] && v(U[0]), qe = c(z), [Je, Ye] = l("");
218
208
  s(() => {
219
- T && Ue.current !== B && Ge(H), T || Ge(""), Ue.current = B;
209
+ w && qe.current !== z && Ye(V), w || Ye(""), qe.current = z;
220
210
  }, [
221
- B,
222
- H,
223
- T
211
+ z,
212
+ V,
213
+ w
224
214
  ]), s(() => {
225
- process.env.NODE_ENV !== "production" && (r.some((e) => !e.id) || new Set(r.map((e) => e.id)).size !== r.length) && console.warn("UsageMeter: segment ids must be nonempty and unique.");
226
- }, [r]), s(() => {
227
- process.env.NODE_ENV !== "production" && z && !M && !O && !D && console.warn("UsageMeter: the meter needs an accessible name (label, ariaLabel, or labelledBy).");
215
+ process.env.NODE_ENV !== "production" && (n.some((e) => !e.id) || new Set(n.map((e) => e.id)).size !== n.length) && console.warn("UsageMeter: segment ids must be nonempty and unique.");
216
+ }, [n]), s(() => {
217
+ process.env.NODE_ENV !== "production" && B && !j && !D && !E && console.warn("UsageMeter: the meter needs an accessible name (label, ariaLabel, or labelledBy).");
228
218
  }, [
229
- z,
230
- M,
231
- O,
232
- D
233
- ]), ne(() => {
234
- let e = q.current;
235
- q.current = null, w && e && !W.some((t) => v(t) === e.key) && W.length && K.current.get(v(W[Math.min(e.index, W.length - 1)]))?.focus();
219
+ B,
220
+ j,
221
+ D,
222
+ E
223
+ ]), ae(() => {
224
+ let e = K.current;
225
+ K.current = null, C && e && !U.some((t) => v(t) === e.key) && U.length && G.current.get(v(U[Math.min(e.index, U.length - 1)]))?.focus();
236
226
  });
237
- let Ke = (e) => {
238
- _(G, e) || Pe(e);
239
- }, Y = z ? Math.max(i, R) : 1, X = 0, qe = we?.(V) ?? `${V.formattedTotal} of ${V.formattedLimit}, ${V.formattedPercent}. ${U}`, Z = ke?.(B), Q = E?.root, { css: Je, className: Ye, ...Xe } = Q ?? {}, $ = E?.track;
240
- return /* @__PURE__ */ f(t, {
241
- className: [Ye, Ae].filter(Boolean).join(" ") || void 0,
227
+ let J = (e) => {
228
+ _(W, e) || Re(e);
229
+ }, Y = B ? Math.max(r, L) : 1, X = 0, Xe = De?.(R) ?? `${R.formattedTotal} of ${R.formattedLimit}, ${R.formattedPercent}. ${H}`, Z = Me?.(z), Q = T?.root, { css: Ze, className: Qe, ...$e } = Q ?? {}, $ = T?.track;
230
+ return /* @__PURE__ */ f(i, {
231
+ className: [Qe, Ne].filter(Boolean).join(" ") || void 0,
242
232
  styles: [
243
- se,
244
- de[xe],
245
- Je
233
+ le,
234
+ pe[Ce],
235
+ Ze
246
236
  ],
247
- sx: je,
248
- children: (t) => /* @__PURE__ */ p("div", {
249
- ...Xe,
250
- ...Ne,
237
+ sx: Pe,
238
+ children: (n) => /* @__PURE__ */ p("div", {
239
+ ...$e,
240
+ ...Ie,
251
241
  ref: e,
252
242
  role: "group",
253
243
  "data-ui": "usage-meter",
254
- "data-state": B,
255
- "data-size": xe,
256
- className: t,
257
- "aria-label": O ?? Q?.["aria-label"],
258
- "aria-labelledby": y(D, Q?.["aria-labelledby"], M && A),
259
- "aria-describedby": y(Me, Q?.["aria-describedby"], j),
244
+ "data-state": z,
245
+ "data-size": Ce,
246
+ className: n,
247
+ "aria-label": D ?? Q?.["aria-label"],
248
+ "aria-labelledby": y(E, Q?.["aria-labelledby"], j && k),
249
+ "aria-describedby": y(Fe, Q?.["aria-describedby"], A),
260
250
  children: [
261
- M && /* @__PURE__ */ f("span", {
262
- ...E?.title,
263
- id: A,
251
+ j && /* @__PURE__ */ f("span", {
252
+ ...T?.title,
253
+ id: k,
264
254
  "data-ui": "usage-meter-title",
265
- css: [ce, E?.title?.css],
266
- children: n
255
+ css: [ue, T?.title?.css],
256
+ children: t
267
257
  }),
268
258
  /* @__PURE__ */ p("span", {
269
- ...E?.status,
270
- id: j,
259
+ ...T?.status,
260
+ id: A,
271
261
  "data-ui": "usage-meter-status",
272
- css: [le, E?.status?.css],
262
+ css: [de, T?.status?.css],
273
263
  children: [
274
264
  /* @__PURE__ */ f("span", {
275
265
  "aria-hidden": "true",
276
- children: o(Z) && Z !== "" ? Z : oe[B]
266
+ children: o(Z) && Z !== "" ? Z : ce[z]
277
267
  }),
278
268
  " ",
279
- U
269
+ H
280
270
  ]
281
271
  }),
282
272
  /* @__PURE__ */ p("p", {
283
- ...E?.total,
273
+ ...T?.total,
284
274
  "data-ui": "usage-meter-total",
285
- css: [ue, E?.total?.css],
286
- children: [z ? /* @__PURE__ */ p(d, { children: [
287
- V.formattedTotal,
275
+ css: [fe, T?.total?.css],
276
+ children: [B ? /* @__PURE__ */ p(d, { children: [
277
+ R.formattedTotal,
288
278
  " / ",
289
- V.formattedLimit,
279
+ R.formattedLimit,
290
280
  " · ",
291
- V.formattedPercent
292
- ] }) : V.formattedTotal, o(C) && C !== "" && /* @__PURE__ */ p("span", {
281
+ R.formattedPercent
282
+ ] }) : R.formattedTotal, o(S) && S !== "" && /* @__PURE__ */ p("span", {
293
283
  "data-ui": "usage-meter-unit",
294
- children: [" ", C]
284
+ children: [" ", S]
295
285
  })]
296
286
  }),
297
287
  /* @__PURE__ */ p("div", {
298
288
  ...$,
299
289
  "data-ui": "usage-meter-track",
300
- role: z ? "meter" : void 0,
301
- "aria-label": $?.["aria-label"] ?? (M ? void 0 : O ?? Q?.["aria-label"]),
302
- "aria-labelledby": y($?.["aria-labelledby"], M && A, !M && D, !M && Q?.["aria-labelledby"]),
303
- "aria-describedby": y($?.["aria-describedby"], j),
304
- "aria-valuemin": z ? 0 : void 0,
305
- "aria-valuemax": z ? i : void 0,
306
- "aria-valuenow": z ? Math.min(R, i) : void 0,
307
- "aria-valuetext": z ? $?.["aria-valuetext"] ?? qe : void 0,
308
- css: [fe, $?.css],
290
+ role: B ? "meter" : void 0,
291
+ "aria-label": $?.["aria-label"] ?? (j ? void 0 : D ?? Q?.["aria-label"]),
292
+ "aria-labelledby": y($?.["aria-labelledby"], j && k, !j && E, !j && Q?.["aria-labelledby"]),
293
+ "aria-describedby": y($?.["aria-describedby"], A),
294
+ "aria-valuemin": B ? 0 : void 0,
295
+ "aria-valuemax": B ? r : void 0,
296
+ "aria-valuenow": B ? Math.min(L, r) : void 0,
297
+ "aria-valuetext": B ? $?.["aria-valuetext"] ?? Xe : void 0,
298
+ css: [me, $?.css],
309
299
  children: [
310
- z && L.map((e, t) => {
300
+ B && I.map((e, t) => {
311
301
  let n = X;
312
- return X += e.value / Y, /* @__PURE__ */ re("span", {
313
- ...E?.segment,
302
+ return X += e.value / Y, /* @__PURE__ */ oe("span", {
303
+ ...T?.segment,
314
304
  key: e.id,
315
305
  "aria-hidden": "true",
316
306
  "data-ui": "usage-meter-segment",
317
- "data-highlighted": _(J, {
307
+ "data-highlighted": _(q, {
318
308
  kind: "segment",
319
309
  id: e.id
320
310
  }),
321
311
  style: {
322
- ...E?.segment?.style,
312
+ ...T?.segment?.style,
323
313
  ...b(n, e.value / Y),
324
314
  "--usage-tone": u.color[e.tone ?? m[t % m.length]]
325
315
  },
326
316
  css: [
327
317
  h,
328
- pe,
329
- E?.segment?.css
318
+ he,
319
+ T?.segment?.css
330
320
  ]
331
321
  }, e.value / Y >= .08 && /* @__PURE__ */ f("span", {
332
- css: ye,
333
- children: I.format(t + 1)
322
+ css: xe,
323
+ children: F.format(t + 1)
334
324
  }));
335
325
  }),
336
- z && V.free > 0 && /* @__PURE__ */ f("span", {
326
+ B && R.free > 0 && /* @__PURE__ */ f("span", {
337
327
  "aria-hidden": "true",
338
328
  "data-ui": "usage-meter-remainder",
339
- "data-highlighted": J?.kind === "remainder",
340
- style: b(R / Y, V.free / Y),
341
- css: [h, he]
329
+ "data-highlighted": q?.kind === "remainder",
330
+ style: b(L / Y, R.free / Y),
331
+ css: [h, _e]
342
332
  }),
343
- z && V.over > 0 && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f("span", {
344
- ...E?.overage,
333
+ B && R.over > 0 && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f("span", {
334
+ ...T?.overage,
345
335
  "aria-hidden": "true",
346
336
  "data-ui": "usage-meter-overage",
347
- "data-highlighted": J?.kind === "remainder",
337
+ "data-highlighted": q?.kind === "remainder",
348
338
  style: {
349
- ...E?.overage?.style,
350
- ...b(i / Y, V.over / Y)
339
+ ...T?.overage?.style,
340
+ ...b(r / Y, R.over / Y)
351
341
  },
352
342
  css: [
353
343
  h,
354
- me,
355
- E?.overage?.css
344
+ ge,
345
+ T?.overage?.css
356
346
  ]
357
347
  }), /* @__PURE__ */ f("span", {
358
- ...E?.limit,
348
+ ...T?.limit,
359
349
  "aria-hidden": "true",
360
350
  "data-ui": "usage-meter-limit",
361
351
  style: {
362
- ...E?.limit?.style,
363
- ...b(i / Y, 0)
352
+ ...T?.limit?.style,
353
+ ...b(r / Y, 0)
364
354
  },
365
- css: [ge, E?.limit?.css]
355
+ css: [ve, T?.limit?.css]
366
356
  })] })
367
357
  ]
368
358
  }),
369
359
  /* @__PURE__ */ f("ul", {
370
- ...E?.legend,
360
+ ...T?.legend,
371
361
  "data-ui": "usage-meter-legend",
372
- "aria-label": E?.legend?.["aria-label"] ?? N.legend,
373
- css: [_e, E?.legend?.css],
374
- children: W.map((e, t) => {
375
- let n = v(e), r = _(Ve, e), a = /* @__PURE__ */ p(d, { children: [
362
+ "aria-label": T?.legend?.["aria-label"] ?? M.legend,
363
+ css: [ye, T?.legend?.css],
364
+ children: U.map((e, t) => {
365
+ let n = v(e), i = _(Ge, e), a = /* @__PURE__ */ p(d, { children: [
376
366
  /* @__PURE__ */ p("span", {
377
- css: ve,
378
- children: [e.kind === "segment" ? I.format(t + 1) : "—", r && /* @__PURE__ */ f("span", {
367
+ css: be,
368
+ children: [e.kind === "segment" ? F.format(t + 1) : "—", i && /* @__PURE__ */ f("span", {
379
369
  "aria-hidden": "true",
380
370
  children: " ◆"
381
371
  })]
382
372
  }),
383
373
  /* @__PURE__ */ f("span", { children: e.label }),
384
374
  /* @__PURE__ */ f("span", {
385
- css: be,
375
+ css: Se,
386
376
  children: P.format(e.value)
387
377
  }),
388
- z && /* @__PURE__ */ f("span", {
378
+ B && /* @__PURE__ */ f("span", {
389
379
  css: ee,
390
- children: F.format(e.value / i)
380
+ children: Le.format(e.value / r)
391
381
  })
392
382
  ] });
393
- return /* @__PURE__ */ f("li", { children: w ? /* @__PURE__ */ f("button", {
394
- ...E?.item,
383
+ return /* @__PURE__ */ f("li", { children: C ? /* @__PURE__ */ f("button", {
384
+ ...T?.item,
395
385
  type: "button",
396
386
  "data-ui": "usage-meter-item",
397
- "aria-pressed": r,
398
- "aria-label": E?.item?.["aria-label"] ?? Te?.(e, V),
399
- tabIndex: n === He ? 0 : -1,
400
- css: [g, E?.item?.css],
387
+ "aria-pressed": i,
388
+ "aria-label": T?.item?.["aria-label"] ?? Oe?.(e, R),
389
+ tabIndex: n === Ke ? 0 : -1,
390
+ css: [g, T?.item?.css],
401
391
  ref: (e) => {
402
- if (e) return K.current.set(n, e), () => {
403
- e.ownerDocument.activeElement === e && (q.current = {
392
+ if (e) return G.current.set(n, e), () => {
393
+ e.ownerDocument.activeElement === e && (K.current = {
404
394
  key: n,
405
395
  index: t
406
- }), K.current.delete(n);
396
+ }), G.current.delete(n);
407
397
  };
408
398
  },
409
399
  onClick: (t) => {
410
- E?.item?.onClick?.(t), t.defaultPrevented || Ke(r ? null : e.kind === "segment" ? {
400
+ T?.item?.onClick?.(t), t.defaultPrevented || J(i ? null : e.kind === "segment" ? {
411
401
  kind: "segment",
412
402
  id: e.id
413
403
  } : { kind: "remainder" });
414
404
  },
415
405
  onMouseEnter: (t) => {
416
- E?.item?.onMouseEnter?.(t), t.defaultPrevented || Ie(e);
406
+ T?.item?.onMouseEnter?.(t), t.defaultPrevented || Be(e);
417
407
  },
418
408
  onMouseLeave: (e) => {
419
- E?.item?.onMouseLeave?.(e), Ie(null);
409
+ T?.item?.onMouseLeave?.(e), Be(null);
420
410
  },
421
411
  onFocus: (t) => {
422
- E?.item?.onFocus?.(t), Re(e), Be(n);
412
+ T?.item?.onFocus?.(t), He(e), We(n);
423
413
  },
424
414
  onBlur: (e) => {
425
- E?.item?.onBlur?.(e), Re(null);
415
+ T?.item?.onBlur?.(e), He(null);
426
416
  },
427
417
  onKeyDown: (e) => {
428
- if (E?.item?.onKeyDown?.(e), e.defaultPrevented) return;
418
+ if (T?.item?.onKeyDown?.(e), e.defaultPrevented) return;
429
419
  if (e.key === "Escape") {
430
- G != null && (e.preventDefault(), Ke(null));
420
+ W != null && (e.preventDefault(), J(null));
431
421
  return;
432
422
  }
433
423
  let n = e.currentTarget.ownerDocument.defaultView?.getComputedStyle(e.currentTarget).direction === "rtl", r = {
@@ -435,24 +425,24 @@ function x({ ref: e, label: n, segments: r, limit: i, warnAt: x = ie, size: xe =
435
425
  ArrowLeft: n ? 1 : -1,
436
426
  ArrowDown: 1,
437
427
  ArrowUp: -1
438
- }[e.key], i = e.key === "Home" ? 0 : e.key === "End" ? W.length - 1 : r === void 0 ? void 0 : (t + r + W.length) % W.length;
439
- i !== void 0 && (e.preventDefault(), K.current.get(v(W[i]))?.focus());
428
+ }[e.key], i = e.key === "Home" ? 0 : e.key === "End" ? U.length - 1 : r === void 0 ? void 0 : (t + r + U.length) % U.length;
429
+ i !== void 0 && (e.preventDefault(), G.current.get(v(U[i]))?.focus());
440
430
  },
441
431
  children: a
442
432
  }) : /* @__PURE__ */ f("span", {
443
433
  "data-ui": "usage-meter-item",
444
- css: [g, E?.item?.css],
445
- className: E?.item?.className,
434
+ css: [g, T?.item?.css],
435
+ className: T?.item?.className,
446
436
  children: a
447
437
  }) }, n);
448
438
  })
449
439
  }),
450
- T && /* @__PURE__ */ f("span", {
440
+ w && /* @__PURE__ */ f("span", {
451
441
  "data-ui": "usage-meter-announcement",
452
442
  "aria-live": "polite",
453
443
  "aria-atomic": "true",
454
444
  css: ee,
455
- children: We
445
+ children: Je
456
446
  })
457
447
  ]
458
448
  })
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- export { t as UsageMeter } from "./usage-meter-qyQ3rYVv.js";
2
+ export { t as UsageMeter } from "./usage-meter-CYvlB6l3.js";
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ //#region src/components/usage-meter/usage-model.ts
3
+ var e = .9;
4
+ function t(e, t) {
5
+ return {
6
+ amount: new Intl.NumberFormat(e, {
7
+ maximumFractionDigits: 1,
8
+ ...t
9
+ }),
10
+ percent: new Intl.NumberFormat(e, {
11
+ style: "percent",
12
+ maximumFractionDigits: 0
13
+ }),
14
+ index: new Intl.NumberFormat(e, { maximumFractionDigits: 0 })
15
+ };
16
+ }
17
+ function n(t, n, { warnAt: r = e, formats: i, unavailable: a, formatAmount: o }) {
18
+ let s = o ?? ((e) => i.amount.format(e)), c = Number.isFinite(n) && n > 0 && Number.isFinite(t) && Number.isFinite(t / n), l = c ? t > n ? "over-limit" : t >= (Number.isFinite(r) ? Math.min(1, Math.max(0, r)) : .9) * n ? "near-limit" : "normal" : "unavailable";
19
+ return {
20
+ total: t,
21
+ limit: n,
22
+ free: c ? Math.max(0, n - t) : 0,
23
+ over: c ? Math.max(0, t - n) : 0,
24
+ ratio: c ? t / n : 0,
25
+ state: l,
26
+ formattedTotal: Number.isFinite(t) ? s(t) : a,
27
+ formattedLimit: c ? s(n) : a,
28
+ formattedPercent: c ? i.percent.format(t / n) : a
29
+ };
30
+ }
31
+ //#endregion
32
+ export { t as n, n as r, e as t };