@jfrader/ui 0.5.1 → 0.7.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 (336) hide show
  1. package/README.md +28 -7
  2. package/dist/{accordion-DLul6vIl.js → accordion-D6myONB9.js} +36 -35
  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-Dlbq5-9D.js → announcement-bar-B5J33QUh.js} +132 -131
  9. package/dist/announcement-bar.js +1 -1
  10. package/dist/{avatar-group-M1opAQEG.js → avatar-group-BlMLNw4J.js} +10 -9
  11. package/dist/avatar-group.js +1 -1
  12. package/dist/avatar-sPxDqFiZ.js +133 -0
  13. package/dist/avatar.js +1 -1
  14. package/dist/{badge-CjM5Agqk.js → badge-CfhTcA-Z.js} +10 -9
  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-DjZOPq4k.js → bottom-sheet-BFQKO0Wo.js} +282 -264
  19. package/dist/bottom-sheet.js +1 -1
  20. package/dist/{breadcrumbs-BDK_LiwH.js → breadcrumbs-CG3akw-b.js} +19 -18
  21. package/dist/breadcrumbs.js +1 -1
  22. package/dist/{button-NLY0h6EJ.js → button-C6OV0C7J.js} +14 -13
  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-B7OrvD6J.js → carousel-lTH4Foke.js} +13 -12
  32. package/dist/carousel.js +1 -1
  33. package/dist/chat-thread-DkB-WMWJ.js +864 -0
  34. package/dist/chat-thread.js +2 -0
  35. package/dist/{checkbox-DKSzExj2.js → checkbox-CClE61GV.js} +9 -8
  36. package/dist/checkbox.js +1 -1
  37. package/dist/{chip-group-DjQ0_6Y9.js → chip-group-BZUX9KPF.js} +17 -16
  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-B5we2lZa.js → code-block-CYP89_6h.js} +35 -34
  41. package/dist/code-block.js +1 -1
  42. package/dist/{combobox-DFFqOBCi.js → combobox-D2Oc-co7.js} +21 -20
  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-DXfqgRNI.js +772 -0
  47. package/dist/comment-thread.js +1 -1
  48. package/dist/{container-BOaSptJa.js → container-BxtwJSSD.js} +3 -2
  49. package/dist/container.js +1 -1
  50. package/dist/{context-menu-__1c2Dk9.js → context-menu-I4i0LRpm.js} +52 -51
  51. package/dist/context-menu.js +1 -1
  52. package/dist/{copy-button-DCSLcYS-.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-BiPN7yeK.js → date-picker-D-bn-iHs.js} +14 -13
  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-Cp7aNbhM.js → divider-zOJzkcHh.js} +7 -6
  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/emblem-DnXmpZCh.js +166 -0
  68. package/dist/emblem.js +2 -0
  69. package/dist/{empty-state-CDgrjPPf.js → empty-state-DO0ApylK.js} +2 -1
  70. package/dist/empty-state.js +1 -1
  71. package/dist/{expandable-card-rUATve0o.js → expandable-card-W97vjix9.js} +52 -51
  72. package/dist/expandable-card.js +1 -1
  73. package/dist/{expanding-search-BxOwtdwt.js → expanding-search-Bb2_YfNx.js} +16 -15
  74. package/dist/expanding-search.js +1 -1
  75. package/dist/{field-anatomy-COVdNpf5.js → field-anatomy-BDIP42MI.js} +2 -1
  76. package/dist/{file-dropzone-BuXm3Tea.js → file-dropzone-Bi5ikRIz.js} +14 -13
  77. package/dist/file-dropzone.js +1 -1
  78. package/dist/{filter-toolbar-Cy5Hqur-.js → filter-toolbar-QRnC4S_H.js} +33 -32
  79. package/dist/filter-toolbar.js +1 -1
  80. package/dist/{flex-Dh-_J5-U.js → flex-CS7eMRcK.js} +2 -2
  81. package/dist/flex.js +1 -1
  82. package/dist/game-card-Oeu74giK.js +194 -0
  83. package/dist/game-card.js +2 -0
  84. package/dist/{hold-to-confirm-DjB2EVjM.js → hold-to-confirm-CVBA0wNT.js} +18 -17
  85. package/dist/hold-to-confirm.js +1 -1
  86. package/dist/{hover-card-CoMJKg1g.js → hover-card-Dgu2CwMD.js} +20 -19
  87. package/dist/hover-card.js +1 -1
  88. package/dist/{icon-wrapper-stN8sD7R.js → icon-wrapper-C-zMD0uL.js} +1 -1
  89. package/dist/{image-compare-BxY8Ykzt.js → image-compare-Ln2UUqTU.js} +20 -19
  90. package/dist/image-compare.js +1 -1
  91. package/dist/in-view-title-BUZCMqge.js +225 -0
  92. package/dist/in-view-title.js +2 -0
  93. package/dist/index.js +102 -83
  94. package/dist/initials-DEdwNe9_.js +18 -0
  95. package/dist/{inline-edit-C0eeml65.js → inline-edit-D-pR2RPC.js} +22 -21
  96. package/dist/inline-edit.js +1 -1
  97. package/dist/{input-control-DmMuAuPS.js → input-control-B6HVBgwl.js} +1 -1
  98. package/dist/{json-viewer-DgWqyU75.js → json-viewer-Dro3WrjS.js} +31 -30
  99. package/dist/json-viewer.js +1 -1
  100. package/dist/{kbd-C3ACoMoE.js → kbd-BI_9qzYr.js} +2 -1
  101. package/dist/kbd.js +1 -1
  102. package/dist/keycap-keyboard-Cdx-OAS1.js +311 -0
  103. package/dist/keycap-keyboard.js +2 -0
  104. package/dist/{layout-style-Cbd1Vilw.js → layout-style-BE0gSqrH.js} +1 -1
  105. package/dist/lightbox-gallery-D0YaSTut.js +777 -0
  106. package/dist/lightbox-gallery.js +2 -0
  107. package/dist/link-unfurl-CReyIjyy.js +695 -0
  108. package/dist/link-unfurl.js +2 -0
  109. package/dist/{listbox-style-WX-RASp1.js → listbox-style-DNOxAulu.js} +1 -1
  110. package/dist/{loading-ring-B8-30Dl1.js → loading-ring-D0lGrK8z.js} +1 -1
  111. package/dist/locale-switcher-DTkySKsM.js +375 -0
  112. package/dist/locale-switcher.js +2 -0
  113. package/dist/{mention-input-sq61si9L.js → mention-input-BjjAbJCf.js} +6 -6
  114. package/dist/mention-input.js +1 -1
  115. package/dist/{menu-DDKgmK2F.js → menu-CVzpsyXn.js} +113 -96
  116. package/dist/menu.js +1 -1
  117. package/dist/{metric-card--lVTz5Wn.js → metric-card-BnFssTXj.js} +12 -11
  118. package/dist/metric-card.js +1 -1
  119. package/dist/{multi-select-DG1BCFX7.js → multi-select-B3puEVo0.js} +67 -66
  120. package/dist/multi-select.js +1 -1
  121. package/dist/{navigation-CC26JDr-.js → navigation-C_JD43gA.js} +41 -40
  122. package/dist/navigation.js +1 -1
  123. package/dist/next.js +65 -0
  124. package/dist/now-playing-DjVm1Phm.js +439 -0
  125. package/dist/now-playing.js +2 -0
  126. package/dist/overlay-motion-Cr77ihn2.js +90 -0
  127. package/dist/{overlay-portal-C4JZFq2M.js → overlay-portal-C9igMHnC.js} +1 -1
  128. package/dist/{pagination-BfkeWbmP.js → pagination-Dkh4bJQh.js} +10 -9
  129. package/dist/pagination.js +1 -1
  130. package/dist/{password-field-03pWRkuY.js → password-field-Da58GP1g.js} +4 -4
  131. package/dist/password-field.js +1 -1
  132. package/dist/photo-grid-Dtl17D74.js +830 -0
  133. package/dist/photo-grid.js +2 -0
  134. package/dist/{pill-BaS-uIbn.js → pill-Dd7pog19.js} +10 -9
  135. package/dist/pill.js +1 -1
  136. package/dist/{popover-CErIw2q3.js → popover-CUMOcMtj.js} +5 -4
  137. package/dist/popover.js +1 -1
  138. package/dist/presence-spring-4zwtUDQN.js +12 -0
  139. package/dist/{progress-DAQkfhPd.js → progress-Bcuz3Ob4.js} +11 -10
  140. package/dist/progress.js +1 -1
  141. package/dist/{radio-cards-Cu9cBssN.js → radio-cards-FkAhESb5.js} +35 -34
  142. package/dist/radio-cards.js +1 -1
  143. package/dist/{radio-group-TIK0-iPX.js → radio-group-DItMf2YM.js} +18 -17
  144. package/dist/radio-group.js +1 -1
  145. package/dist/{resizable-panels-DUpQEpwG.js → resizable-panels-61h9hA3B.js} +13 -12
  146. package/dist/resizable-panels.js +1 -1
  147. package/dist/{scroll-area-CcZyiSOQ.js → scroll-area-B8KkCPOM.js} +16 -15
  148. package/dist/scroll-area.js +1 -1
  149. package/dist/{search-field-DMvho0KQ.js → search-field-CbsajaZb.js} +93 -92
  150. package/dist/search-field.js +1 -1
  151. package/dist/{segmented-control-8ZUGnsZm.js → segmented-control-DCh-4ca-.js} +26 -25
  152. package/dist/segmented-control.js +1 -1
  153. package/dist/{select-D5rhJ8gi.js → select-SrcQqZjo.js} +27 -26
  154. package/dist/select.js +1 -1
  155. package/dist/sheet-stack-DYX1SGSB.js +820 -0
  156. package/dist/sheet-stack.js +2 -0
  157. package/dist/shortcut-recorder-VgTQdjjn.js +688 -0
  158. package/dist/shortcut-recorder.js +2 -0
  159. package/dist/{signature-pad-_bTeguN9.js → signature-pad-khL2yhQI.js} +15 -14
  160. package/dist/signature-pad.js +1 -1
  161. package/dist/{skeleton-XQQDkCHd.js → skeleton-LJsQsveI.js} +9 -8
  162. package/dist/skeleton.js +1 -1
  163. package/dist/slider-DjAnGmlC.js +535 -0
  164. package/dist/slider.js +1 -1
  165. package/dist/{sortable-data-table-CYKT_Ng7.js → sortable-data-table-Bpitup_d.js} +29 -28
  166. package/dist/sortable-data-table.js +1 -1
  167. package/dist/{spinner-DtxvDPdM.js → spinner-CvzajSg9.js} +11 -10
  168. package/dist/spinner.js +1 -1
  169. package/dist/{split-button-BCw4zZom.js → split-button-Bu41f2AY.js} +20 -19
  170. package/dist/split-button.js +1 -1
  171. package/dist/{stack-DC3IbtWk.js → stack-Bac4sJeI.js} +2 -2
  172. package/dist/stack.js +1 -1
  173. package/dist/{stepper-CruHbXxX.js → stepper-C8Ncavbr.js} +22 -21
  174. package/dist/stepper.js +1 -1
  175. package/dist/stretch-refresh-OrnTEj7P.js +349 -0
  176. package/dist/stretch-refresh.js +2 -0
  177. package/dist/{surface-DZ4d-2aL.js → surface-C69kwSuk.js} +13 -3
  178. package/dist/{swipe-actions-CBuJREU1.js → swipe-actions-1H5UOZKE.js} +26 -25
  179. package/dist/swipe-actions.js +1 -1
  180. package/dist/{switch-C1WrKrf-.js → switch-79-hkQqg.js} +15 -14
  181. package/dist/switch.js +1 -1
  182. package/dist/sx-BJXJ2xJK.js +23 -0
  183. package/dist/{tabs-XluwRjgg.js → tabs-Bb5-noYE.js} +43 -42
  184. package/dist/tabs.js +1 -1
  185. package/dist/{tag-input-DSRCyrX2.js → tag-input-BQaueKEb.js} +5 -5
  186. package/dist/tag-input.js +1 -1
  187. package/dist/{text-field-hU72iSVS.js → text-field-D0VP7b4P.js} +3 -3
  188. package/dist/text-field.js +1 -1
  189. package/dist/{textarea-3k4Y0QQ3.js → textarea-D1YwEPmn.js} +3 -3
  190. package/dist/textarea.js +1 -1
  191. package/dist/theme-provider-BvcY-iJu.js +20 -0
  192. package/dist/theme-root-BrYVcTzt.js +163 -0
  193. package/dist/theme-root.js +1 -1
  194. package/dist/theme-scope-DGWy4H0C.js +62 -0
  195. package/dist/{theme-switch-C505TtU8.js → theme-switch-CP42mVDb.js} +12 -11
  196. package/dist/theme-switch.js +1 -1
  197. package/dist/thread-parts-Cpktor6D.js +683 -0
  198. package/dist/{time-picker-CPlhW0tr.js → time-picker-Tnd-JBLC.js} +16 -15
  199. package/dist/time-picker.js +1 -1
  200. package/dist/{timeline-B0uAAVfT.js → timeline-BcF46lG9.js} +22 -21
  201. package/dist/timeline.js +1 -1
  202. package/dist/{toast-B7wo3sX1.js → toast-CSAbl5yK.js} +12 -11
  203. package/dist/{toast-stack-B40VpS4M.js → toast-stack-BCR4Cu7V.js} +10 -9
  204. package/dist/toast-stack.js +1 -1
  205. package/dist/toast.js +1 -1
  206. package/dist/{toggle-group-B2fpFZwV.js → toggle-group-C7ye1v4s.js} +23 -22
  207. package/dist/toggle-group.js +1 -1
  208. package/dist/{tooltip-BvgVTCTN.js → tooltip-IajLwdUb.js} +48 -39
  209. package/dist/tooltip.js +1 -1
  210. package/dist/{tree-view-j8qLqkb_.js → tree-view-CoW4oJIZ.js} +15 -14
  211. package/dist/tree-view.js +1 -1
  212. package/dist/{trigger-style-B1KVC8O1.js → trigger-style-CtOrdPk4.js} +1 -1
  213. package/dist/types/components/activity-rings/activity-rings.d.ts +113 -0
  214. package/dist/types/components/activity-rings/index.d.ts +2 -0
  215. package/dist/types/components/avatar-group/avatar-group.d.ts +3 -3
  216. package/dist/types/components/billing-toggle/billing-toggle.d.ts +57 -0
  217. package/dist/types/components/billing-toggle/index.d.ts +2 -0
  218. package/dist/types/components/button/button.d.ts +7 -7
  219. package/dist/types/components/button-group/button-group.d.ts +72 -0
  220. package/dist/types/components/button-group/index.d.ts +2 -0
  221. package/dist/types/components/card/card.d.ts +7 -1
  222. package/dist/types/components/chat-thread/chat-thread.d.ts +130 -0
  223. package/dist/types/components/chat-thread/index.d.ts +2 -0
  224. package/dist/types/components/chip-group/chip-group.d.ts +2 -2
  225. package/dist/types/components/combobox/combobox.d.ts +2 -2
  226. package/dist/types/components/command-palette/command-palette.d.ts +1 -1
  227. package/dist/types/components/comment-thread/comment-thread.d.ts +7 -7
  228. package/dist/types/components/copy-button/copy-button.d.ts +6 -6
  229. package/dist/types/components/countdown/countdown.d.ts +2 -2
  230. package/dist/types/components/dialog/dialog.d.ts +18 -20
  231. package/dist/types/components/drawer/drawer.d.ts +7 -1
  232. package/dist/types/components/emblem/emblem.d.ts +59 -0
  233. package/dist/types/components/emblem/index.d.ts +2 -0
  234. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  235. package/dist/types/components/file-dropzone/file-dropzone.d.ts +3 -4
  236. package/dist/types/components/filter-toolbar/filter-toolbar.d.ts +2 -2
  237. package/dist/types/components/game-card/card-frame.d.ts +16 -0
  238. package/dist/types/components/game-card/decks.d.ts +27 -0
  239. package/dist/types/components/game-card/game-card.d.ts +37 -0
  240. package/dist/types/components/game-card/index.d.ts +4 -0
  241. package/dist/types/components/hold-to-confirm/hold-to-confirm.d.ts +1 -1
  242. package/dist/types/components/hover-card/hover-card.d.ts +5 -5
  243. package/dist/types/components/in-view-title/in-view-title.d.ts +23 -0
  244. package/dist/types/components/in-view-title/index.d.ts +1 -0
  245. package/dist/types/components/inline-edit/inline-edit.d.ts +6 -6
  246. package/dist/types/components/json-viewer/json-viewer.d.ts +7 -9
  247. package/dist/types/components/keycap-keyboard/index.d.ts +2 -0
  248. package/dist/types/components/keycap-keyboard/keycap-keyboard.d.ts +32 -0
  249. package/dist/types/components/lightbox-gallery/index.d.ts +2 -0
  250. package/dist/types/components/lightbox-gallery/lightbox-gallery.d.ts +74 -0
  251. package/dist/types/components/link-unfurl/index.d.ts +2 -0
  252. package/dist/types/components/link-unfurl/link-unfurl.d.ts +104 -0
  253. package/dist/types/components/locale-switcher/index.d.ts +2 -0
  254. package/dist/types/components/locale-switcher/locale-switcher.d.ts +64 -0
  255. package/dist/types/components/mention-input/mention-input.d.ts +7 -7
  256. package/dist/types/components/menu/menu.d.ts +29 -5
  257. package/dist/types/components/metric-card/metric-card.d.ts +2 -2
  258. package/dist/types/components/navigation/navigation.d.ts +1 -1
  259. package/dist/types/components/next/emotion-registry.d.ts +14 -0
  260. package/dist/types/components/next/index.d.ts +2 -0
  261. package/dist/types/components/next/registry.d.ts +21 -0
  262. package/dist/types/components/now-playing/index.d.ts +1 -0
  263. package/dist/types/components/now-playing/now-playing.d.ts +88 -0
  264. package/dist/types/components/password-field/password-field.d.ts +1 -1
  265. package/dist/types/components/photo-grid/index.d.ts +2 -0
  266. package/dist/types/components/photo-grid/photo-grid.d.ts +82 -0
  267. package/dist/types/components/progress/progress.d.ts +1 -1
  268. package/dist/types/components/select/select.d.ts +1 -1
  269. package/dist/types/components/sheet-stack/index.d.ts +2 -0
  270. package/dist/types/components/sheet-stack/sheet-stack.d.ts +81 -0
  271. package/dist/types/components/shortcut-recorder/index.d.ts +2 -0
  272. package/dist/types/components/shortcut-recorder/shortcut-recorder.d.ts +117 -0
  273. package/dist/types/components/signature-pad/signature-pad.d.ts +2 -2
  274. package/dist/types/components/split-button/split-button.d.ts +3 -4
  275. package/dist/types/components/stretch-refresh/index.d.ts +1 -0
  276. package/dist/types/components/stretch-refresh/stretch-refresh.d.ts +49 -0
  277. package/dist/types/components/swipe-actions/swipe-actions.d.ts +1 -2
  278. package/dist/types/components/tag-input/tag-input.d.ts +2 -3
  279. package/dist/types/components/theme-root/index.d.ts +1 -0
  280. package/dist/types/components/theme-root/theme-root.d.ts +10 -3
  281. package/dist/types/components/theme-switch/theme-switch.d.ts +3 -3
  282. package/dist/types/components/{comment-thread → thread}/thread-parts.d.ts +7 -2
  283. package/dist/types/components/time-picker/time-picker.d.ts +2 -2
  284. package/dist/types/components/timeline/timeline.d.ts +4 -4
  285. package/dist/types/components/toast/toast.d.ts +3 -3
  286. package/dist/types/components/tooltip/tooltip.d.ts +8 -1
  287. package/dist/types/components/tree-view/tree-view.d.ts +4 -3
  288. package/dist/types/components/typewriter-terminal/index.d.ts +2 -0
  289. package/dist/types/components/typewriter-terminal/typewriter-terminal.d.ts +87 -0
  290. package/dist/types/components/usage-meter/usage-meter.d.ts +6 -16
  291. package/dist/types/components/usage-meter/usage-model.d.ts +30 -0
  292. package/dist/types/components/user-menu/index.d.ts +2 -0
  293. package/dist/types/components/user-menu/user-menu.d.ts +118 -0
  294. package/dist/types/index.d.ts +18 -1
  295. package/dist/types/overlay/exit-motion.d.ts +24 -0
  296. package/dist/types/overlay/presence-spring.d.ts +12 -0
  297. package/dist/types/overlay/use-native-dialog.d.ts +10 -1
  298. package/dist/types/styling/create-theme.d.ts +24 -0
  299. package/dist/types/styling/css.d.ts +1 -1
  300. package/dist/types/styling/motion-timings.d.ts +5 -0
  301. package/dist/types/styling/overlay-motion.d.ts +95 -0
  302. package/dist/types/styling/surface.d.ts +7 -0
  303. package/dist/types/styling/sx.d.ts +1 -1
  304. package/dist/types/styling/theme-scope.d.ts +29 -3
  305. package/dist/types/styling/theme.d.ts +15 -0
  306. package/dist/types/utils/initials.d.ts +2 -0
  307. package/dist/typewriter-terminal-BUEsMzo3.js +588 -0
  308. package/dist/typewriter-terminal.js +2 -0
  309. package/dist/{usage-meter-qyQ3rYVv.js → usage-meter-CYvlB6l3.js} +165 -175
  310. package/dist/usage-meter.js +1 -1
  311. package/dist/usage-model-C0fS47w4.js +32 -0
  312. package/dist/use-native-dialog-FB0p7lkg.js +93 -0
  313. package/dist/use-scroll-lock-40gXwwAy.js +23 -0
  314. package/dist/user-menu-MctRu_Lh.js +757 -0
  315. package/dist/user-menu.js +2 -0
  316. package/dist/{visually-hidden-BJdvqqvn.js → visually-hidden-DgVO3NaB.js} +1 -1
  317. package/package.json +87 -5
  318. package/dist/avatar-CaGJHy1N.js +0 -145
  319. package/dist/calendar-BzJdv_SZ.js +0 -449
  320. package/dist/card-Ca4KQKYQ.js +0 -154
  321. package/dist/command-palette-BmQu2w4H.js +0 -391
  322. package/dist/comment-thread-ASaXDcGo.js +0 -1410
  323. package/dist/date-range-picker-DQpUeKqV.js +0 -570
  324. package/dist/dialog-BX1zYMs-.js +0 -219
  325. package/dist/drawer-DsASTiP-.js +0 -553
  326. package/dist/elastic-slider-BG6K019r.js +0 -395
  327. package/dist/elastic-slider.js +0 -2
  328. package/dist/slider-DVG6-Awh.js +0 -308
  329. package/dist/sx-Dx9JUKp5.js +0 -23
  330. package/dist/theme-root-Bs1U3uPA.js +0 -46
  331. package/dist/theme-scope-t7nAKc2c.js +0 -27
  332. package/dist/types/components/elastic-slider/elastic-slider.d.ts +0 -53
  333. package/dist/types/components/elastic-slider/index.d.ts +0 -1
  334. package/dist/use-native-dialog-DWpIUVO1.js +0 -84
  335. package/dist/use-slider-interaction-ChL-208h.js +0 -234
  336. /package/dist/types/components/{comment-thread → thread}/thread-core.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export { ShortcutRecorder, normalizeShortcut, matchesShortcut, formatShortcut, useShortcutPlatform, usePressedShortcutKeys, defaultShortcutMessages, } from './shortcut-recorder';
2
+ export type { ShortcutRecorderProps, ShortcutKeysProps, ShortcutListProps, ShortcutPlatform, ShortcutBinding, ShortcutListGroup, ShortcutMessages, KeyboardEventLike, } from './shortcut-recorder';
@@ -0,0 +1,117 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ import { type FieldPartProps } from '../field/field-anatomy';
4
+ export type ShortcutPlatform = 'mac' | 'other';
5
+ export interface ShortcutBinding {
6
+ shortcut: string;
7
+ label: string;
8
+ }
9
+ export interface ShortcutListGroup {
10
+ label: string;
11
+ items: readonly {
12
+ label: string;
13
+ shortcut: string;
14
+ keywords?: string;
15
+ }[];
16
+ }
17
+ export interface ShortcutMessages {
18
+ placeholder: string;
19
+ recording: string;
20
+ canceled: string;
21
+ cleared: string;
22
+ noShortcut: string;
23
+ clearLabel: string;
24
+ cancelLabel: string;
25
+ confirmLabel: string;
26
+ reset: (spoken: string) => string;
27
+ set: (spoken: string) => string;
28
+ requireModifier: (platform: ShortcutPlatform) => string;
29
+ conflict: (spoken: string, binding: ShortcutBinding, reserved: boolean) => string;
30
+ listLabel: string;
31
+ searchLabel: string;
32
+ searchPlaceholder: string;
33
+ empty: string;
34
+ results: (count: number) => string;
35
+ keyName: (id: string, platform: ShortcutPlatform) => {
36
+ label: string;
37
+ spoken: string;
38
+ };
39
+ }
40
+ export interface KeyboardEventLike {
41
+ code: string;
42
+ key: string;
43
+ ctrlKey: boolean;
44
+ altKey: boolean;
45
+ shiftKey: boolean;
46
+ metaKey: boolean;
47
+ repeat?: boolean;
48
+ isComposing?: boolean;
49
+ getModifierState?: (key: string) => boolean;
50
+ }
51
+ export declare function normalizeShortcut(shortcut: string, platform: ShortcutPlatform): string | null;
52
+ export declare function matchesShortcut(event: KeyboardEventLike, shortcut: string, platform: ShortcutPlatform): boolean;
53
+ export declare const defaultShortcutMessages: ShortcutMessages;
54
+ export declare function formatShortcut(shortcut: string, platform: ShortcutPlatform, messages?: ShortcutMessages): {
55
+ text: string;
56
+ spoken: string;
57
+ };
58
+ export declare function useShortcutPlatform(override?: ShortcutPlatform): ShortcutPlatform;
59
+ export declare function usePressedShortcutKeys(enabled?: boolean): ReadonlySet<string>;
60
+ export interface ShortcutKeysProps extends ComponentPropsWithRef<'span'>, SxProps {
61
+ shortcut: string;
62
+ platform?: ShortcutPlatform;
63
+ pressed?: ReadonlySet<string>;
64
+ size?: 'sm' | 'md';
65
+ messages?: ShortcutMessages;
66
+ locale?: Intl.LocalesArgument;
67
+ slotProps?: {
68
+ key?: FieldPartProps;
69
+ };
70
+ }
71
+ declare function ShortcutKeys({ shortcut, platform: platformProp, pressed, size, messages, locale: _locale, slotProps, className, sx, ...rest }: ShortcutKeysProps): import("@emotion/react/jsx-runtime").JSX.Element;
72
+ type RecorderSlot = 'root' | 'label' | 'control' | 'recorder' | 'actions' | 'reset' | 'clear' | 'message' | 'confirm' | 'cancel' | 'description' | 'error' | 'status' | 'key';
73
+ export interface ShortcutRecorderProps extends Omit<ComponentPropsWithRef<'button'>, 'value' | 'defaultValue'>, SxProps {
74
+ value?: string | null;
75
+ defaultValue?: string | null;
76
+ onValueChange?: (value: string | null, details: {
77
+ replaced?: ShortcutBinding;
78
+ }) => void;
79
+ recording?: boolean;
80
+ defaultRecording?: boolean;
81
+ onRecordingChange?: (recording: boolean) => void;
82
+ resetValue?: string | null;
83
+ bindings?: readonly ShortcutBinding[];
84
+ reservedBindings?: readonly ShortcutBinding[];
85
+ warnReserved?: boolean;
86
+ requireModifier?: boolean;
87
+ platform?: ShortcutPlatform;
88
+ label?: ReactNode;
89
+ description?: ReactNode;
90
+ error?: ReactNode;
91
+ hideLabel?: boolean;
92
+ size?: 'sm' | 'md' | 'lg';
93
+ locale?: Intl.LocalesArgument;
94
+ messages?: ShortcutMessages;
95
+ readOnly?: boolean;
96
+ slotProps?: Partial<Record<RecorderSlot, FieldPartProps>>;
97
+ }
98
+ declare function ShortcutRecorderRoot({ ref, value, defaultValue, onValueChange, recording, defaultRecording, onRecordingChange, resetValue, bindings, reservedBindings, warnReserved, requireModifier, platform: platformProp, label, description, error, hideLabel, size, locale, messages, readOnly, disabled, name, dir, slotProps, className, sx, onClick, onKeyDown, onKeyUp, onBlur, onFocus, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, 'aria-invalid': invalid, id, children: _children, ...rest }: ShortcutRecorderProps): import("@emotion/react/jsx-runtime").JSX.Element;
99
+ type ListSlot = 'root' | 'search' | 'groups' | 'group' | 'heading' | 'item' | 'keys' | 'empty' | 'status';
100
+ export interface ShortcutListProps extends ComponentPropsWithRef<'section'>, SxProps {
101
+ groups: readonly ShortcutListGroup[];
102
+ searchable?: boolean;
103
+ highlightPressed?: boolean;
104
+ platform?: ShortcutPlatform;
105
+ locale?: Intl.LocalesArgument;
106
+ messages?: ShortcutMessages;
107
+ inputValue?: string;
108
+ defaultInputValue?: string;
109
+ onInputChange?: (value: string) => void;
110
+ slotProps?: Partial<Record<ListSlot, FieldPartProps>>;
111
+ }
112
+ declare function ShortcutList({ groups, searchable, highlightPressed, platform, locale, messages, inputValue, defaultInputValue, onInputChange, slotProps, className, sx, ref, ...rest }: ShortcutListProps): import("@emotion/react/jsx-runtime").JSX.Element;
113
+ export declare const ShortcutRecorder: typeof ShortcutRecorderRoot & {
114
+ Keys: typeof ShortcutKeys;
115
+ List: typeof ShortcutList;
116
+ };
117
+ export {};
@@ -94,10 +94,10 @@ export declare class SignatureExportError extends Error {
94
94
  export declare function signatureToPng(strokes: SignatureStroke[], options?: SignatureExportOptions): Promise<Blob>;
95
95
  /** The same midpoint-quadratic segments and round caps used by Canvas, with fixed print ink. */
96
96
  export declare function signatureToSvg(strokes: SignatureStroke[], options?: SignatureExportOptions): string;
97
- /** Pointer-only handwriting. Consuming forms must offer typed-name or upload alternatives.
97
+ /** Draw a signature with a pointer. Forms must offer typed-name or upload alternatives.
98
98
  * Canvas shortcuts: Mod+Z undo, Shift+Mod+Z/Mod+Y redo, Delete clear, Escape cancel/stop.
99
99
  * Samples use 600×260 coordinates; pressure changes round line widths, not speed-based taper.
100
- * This artifact does not establish identity, consent, or legal validity. */
100
+ * The drawing does not establish identity, consent or legal validity. */
101
101
  export declare function SignaturePad({ ref, apiRef, value: valueProp, defaultValue, onValueChange, color: colorProp, defaultColor, onColorChange, width: widthProp, defaultWidth, onWidthChange, label, description, error, signer, hint, disabled, readOnly, required, replay: showReplay, download, fileName, historyLimit, messages, icons, exportOptions, slotProps, className, sx, dir, style, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onLostPointerCapture, onKeyDown, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: SignaturePadProps): import("@emotion/react/jsx-runtime").JSX.Element;
102
102
  export declare namespace SignaturePad {
103
103
  var displayName: string;
@@ -9,7 +9,7 @@ export interface SplitButtonProps extends Omit<ComponentPropsWithRef<'div'>, 'ro
9
9
  variant?: ButtonVariant;
10
10
  tone?: ButtonTone;
11
11
  size?: ButtonSize;
12
- /** Disables Action, Trigger and items, and asks once for an open menu to close. */
12
+ /** Disables Action, Trigger and items. Requests closure once if the menu is open. */
13
13
  disabled?: boolean;
14
14
  open?: boolean;
15
15
  defaultOpen?: boolean;
@@ -20,13 +20,12 @@ export interface SplitButtonProps extends Omit<ComponentPropsWithRef<'div'>, 'ro
20
20
  }
21
21
  export interface SplitButtonActionProps extends Omit<ButtonProps, 'render'> {
22
22
  /**
23
- * Labels the Action may show. They share one grid cell so the Action keeps the width of the
24
- * longest one while its label changes; a label swap fades in.
23
+ * Labels Action may show. Reserves the width of the longest label; changed labels fade in.
25
24
  */
26
25
  reserveLabels?: readonly string[];
27
26
  }
28
27
  type SplitButtonTriggerBaseProps = Omit<ButtonProps, 'render' | 'variant' | 'tone' | 'size' | 'loading' | 'startIcon' | 'endIcon' | 'aria-haspopup' | 'aria-expanded' | 'aria-controls'>;
29
- /** The Trigger has no visible text: it needs a localized `aria-label` or `aria-labelledby`. */
28
+ /** Trigger has no text. Supply a translated `aria-label` or `aria-labelledby`. */
30
29
  export type SplitButtonTriggerProps = SplitButtonTriggerBaseProps & ({
31
30
  'aria-label': string;
32
31
  } | {
@@ -0,0 +1 @@
1
+ export { StretchRefresh, type StretchRefreshProps, type StretchRefreshSlotProps, type StretchRefreshLabels, } from './stretch-refresh';
@@ -0,0 +1,49 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ import { type ButtonProps } from '../button';
5
+ type Slot<E extends 'div' | 'header' | 'h2' | 'ul' | 'li'> = Omit<ComponentPropsWithRef<E>, 'children'> & {
6
+ css?: Interpolation<Theme>;
7
+ };
8
+ export interface StretchRefreshSlotProps<T> {
9
+ header?: Slot<'header'>;
10
+ title?: Slot<'h2'>;
11
+ subtitle?: Slot<'div'>;
12
+ feed?: Slot<'div'>;
13
+ list?: Slot<'ul'>;
14
+ item?: Slot<'li'> | ((item: T, index: number) => Slot<'li'>);
15
+ indicator?: Omit<Slot<'div'>, 'aria-hidden'>;
16
+ refreshButton?: Omit<ButtonProps, 'children' | 'type' | 'disabled' | 'loading' | 'render' | 'sx'>;
17
+ status?: Omit<Slot<'div'>, 'role' | 'aria-atomic'>;
18
+ empty?: Slot<'div'>;
19
+ }
20
+ export interface StretchRefreshLabels {
21
+ refresh?: string;
22
+ refreshing?: string;
23
+ pull?: string;
24
+ release?: string;
25
+ done?: string;
26
+ error?: string;
27
+ }
28
+ export interface StretchRefreshProps<T> extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'title'>, SxProps {
29
+ title: ReactNode;
30
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
31
+ subtitle?: ReactNode;
32
+ items: readonly T[];
33
+ getKey: (item: T) => string;
34
+ renderItem: (item: T, index: number) => ReactNode;
35
+ onRefresh: () => Promise<string | void>;
36
+ refreshing?: boolean;
37
+ defaultRefreshing?: boolean;
38
+ onRefreshingChange?: (refreshing: boolean) => void;
39
+ disabled?: boolean;
40
+ threshold?: number;
41
+ emptyContent?: ReactNode;
42
+ labels?: StretchRefreshLabels;
43
+ slotProps?: StretchRefreshSlotProps<T>;
44
+ }
45
+ export declare function StretchRefresh<T>({ title, headingLevel, subtitle, items, getKey, renderItem, onRefresh, refreshing, defaultRefreshing, onRefreshingChange, disabled, threshold: thresholdProp, emptyContent, labels, slotProps, ref, className, sx, onKeyDown, ...props }: StretchRefreshProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
46
+ export declare namespace StretchRefresh {
47
+ var displayName: string;
48
+ }
49
+ export {};
@@ -13,8 +13,7 @@ export interface SwipeAction {
13
13
  tone?: 'neutral' | 'accent' | 'danger';
14
14
  disabled?: boolean;
15
15
  onSelect: () => void;
16
- /** Caller intent that this command keeps its row. Every command closes the rail and the row
17
- * never deletes data itself, so this is metadata for the caller's `onSelect`. */
16
+ /** Caller metadata indicating the row should stay. Commands close the rail but never delete data. */
18
17
  keepRow?: boolean;
19
18
  }
20
19
  type Slot = {
@@ -29,8 +29,7 @@ export interface TagInputSlotProps extends FieldSlotProps<TagInputPartProps> {
29
29
  }
30
30
  export interface TagInputProps extends Omit<ComponentPropsWithRef<'input'>, 'size' | 'value' | 'defaultValue' | 'type' | 'children'>, SxProps {
31
31
  /**
32
- * Committed tokens in order. Entries must be unique, nonempty and already normalized; the
33
- * component renders them as given and never rewrites a provided list.
32
+ * Tokens in order. Entries must be unique, nonempty and normalized. The list renders as supplied.
34
33
  */
35
34
  value?: readonly string[];
36
35
  defaultValue?: readonly string[];
@@ -51,7 +50,7 @@ export interface TagInputProps extends Omit<ComponentPropsWithRef<'input'>, 'siz
51
50
  normalize?: (draft: string) => string;
52
51
  /** Returns a rejection message, or `null` to accept the token. */
53
52
  validateToken?: (token: string) => string | null;
54
- /** Additions stop at this count; an initial or controlled list longer than it is kept. */
53
+ /** Maximum token count for additions. Initial and controlled lists beyond this count are kept. */
55
54
  maxTokens?: number;
56
55
  /** Locale for duplicate comparison and default number formatting. */
57
56
  locale?: Intl.LocalesArgument;
@@ -1,2 +1,3 @@
1
1
  export { ThemeRoot } from './theme-root';
2
2
  export type { ThemeName, ThemeRootProps } from './theme-root';
3
+ export { createTheme, themeTokenStyle, type CreateThemeOptions, type ThemeTokens } from '../../styling/create-theme';
@@ -1,17 +1,24 @@
1
1
  import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type ThemeTokens } from '../../styling/create-theme';
2
3
  import { type SxProps } from '../../styling/sx';
3
4
  import { type ThemeName } from '../../styling/theme-scope';
4
5
  export type { ThemeName };
5
6
  export interface ThemeRootProps extends ComponentPropsWithRef<'div'>, SxProps {
7
+ /** Base palette for this scope. `tokens` overrides its values. */
6
8
  theme?: ThemeName;
7
9
  /**
8
- * Where overlays inside this root portal to. Omitted: the enclosing ThemeRoot's container, else
9
- * the default (`body`). `null`: overlays wait until the host element is set.
10
+ * Token overrides, applied as inline custom properties. Use `createTheme()` to derive them from
11
+ * an accent. Omit to inherit the enclosing root's tokens when the themes match; otherwise none carry over.
12
+ */
13
+ tokens?: ThemeTokens;
14
+ /**
15
+ * Container for this root's overlays. Omit to inherit the enclosing container or use `body`.
16
+ * With `null`, overlays wait until the host element is set.
10
17
  */
11
18
  portalContainer?: HTMLElement | null;
12
19
  children?: ReactNode;
13
20
  }
14
- export declare function ThemeRoot({ ref, theme, portalContainer, className, sx, ...rest }: ThemeRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
21
+ export declare function ThemeRoot({ ref, theme, tokens, portalContainer, className, style, sx, ...rest }: ThemeRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
15
22
  export declare namespace ThemeRoot {
16
23
  var displayName: string;
17
24
  }
@@ -23,9 +23,9 @@ export interface ThemeSwitchProps extends Omit<SwitchProps, 'value' | 'defaultVa
23
23
  darkIcon?: SwitchPartProps;
24
24
  };
25
25
  }
26
- /** Composes Switch: Space toggles dark appearance; the accessible name stays stable.
27
- * The consumer applies the requested theme. The ref reaches Switch's native input.
28
- * The decorative icon frame is a hidden label for the input, so clicking the glyph toggles too.
26
+ /** Requests light or dark appearance; the app applies the theme.
27
+ * Space and clicking the icon toggle Switch. Keep its accessible name the same in both states.
28
+ * The ref points to Switch's input. The icon frame is a hidden label for that input.
29
29
  */
30
30
  export declare function ThemeSwitch({ value: valueProp, defaultValue, onValueChange, label, iconOnly, lightIcon, darkIcon, transition, loading, className, sx, slotProps, onChange, onClick, dir, id: idProp, ...rest }: ThemeSwitchProps): import("@emotion/react/jsx-runtime").JSX.Element;
31
31
  export declare namespace ThemeSwitch {
@@ -71,12 +71,14 @@ export interface ThreadReactionsProps {
71
71
  onToggle: (emoji: string) => void;
72
72
  pickerId: string;
73
73
  part?: ThreadPartProps;
74
+ overlay?: boolean;
75
+ counts?: ReadonlyMap<string, number>;
74
76
  }
75
77
  /**
76
78
  * Picker keyboard: Left/Right (mirrored in RTL) wrap across the emoji, Home/End jump; Escape and
77
79
  * a chosen emoji close it and return focus to the add button. Pressing outside leaves it open.
78
80
  */
79
- export declare function ThreadReactions({ ui: owner, reactions, offered, currentUserId, formatters, labels, readOnly, disabled, pickerOpen, onPickerOpenChange, onToggle, pickerId, part, }: ThreadReactionsProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
81
+ export declare function ThreadReactions({ ui: owner, reactions, offered, currentUserId, formatters, labels, readOnly, disabled, pickerOpen, onPickerOpenChange, onToggle, pickerId, part, overlay, counts, }: ThreadReactionsProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
80
82
  export interface ThreadComposerProps {
81
83
  ui: string;
82
84
  draft: string;
@@ -108,7 +110,10 @@ export interface ThreadComposerProps {
108
110
  part?: ThreadPartProps;
109
111
  /** Distinguishes composers inside one thread (`data-composer`). */
110
112
  kind: string;
113
+ submitOnEnter?: boolean;
114
+ allowEmpty?: boolean;
115
+ lockWhilePending?: boolean;
111
116
  }
112
117
  /** Per-size layout variables read by the parts; the owning root applies them. */
113
118
  export declare const threadSizeStyles: Record<ThreadSize, SerializedStyles>;
114
- export declare function ThreadComposer({ ui: owner, draft, onDraftChange, onSubmit, onCancel, cancelOnEscape, cancelable, label, placeholder, submitLabel, cancelLabel, mentionsLabel, people, locale, disabled, pending, autoFocus, size, author, textareaProps, submitProps, part, kind, }: ThreadComposerProps): import("@emotion/react/jsx-runtime").JSX.Element;
119
+ export declare function ThreadComposer({ ui: owner, draft, onDraftChange, onSubmit, onCancel, cancelOnEscape, cancelable, label, placeholder, submitLabel, cancelLabel, mentionsLabel, people, locale, disabled, pending, autoFocus, size, author, textareaProps, submitProps, part, kind, submitOnEnter, allowEmpty, lockWhilePending, }: ThreadComposerProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -27,7 +27,7 @@ export interface TimePickerProps extends Omit<ComponentPropsWithRef<'button'>, '
27
27
  minuteStep?: TimePickerMinuteStep;
28
28
  min?: string;
29
29
  max?: string;
30
- /** Supply a locale for deterministic server rendering. */
30
+ /** Supply a locale so server and client text match. */
31
31
  locale?: string;
32
32
  hourCycle?: TimePickerHourCycle;
33
33
  label?: ReactNode;
@@ -36,7 +36,7 @@ export interface TimePickerProps extends Omit<ComponentPropsWithRef<'button'>, '
36
36
  placeholder?: ReactNode;
37
37
  size?: TimePickerSize;
38
38
  readOnly?: boolean;
39
- /** Semantic only: the hidden form field does not enforce native required validation. */
39
+ /** Announces required state; the hidden form field does not enforce browser validation. */
40
40
  required?: boolean;
41
41
  icon?: ReactNode;
42
42
  slotProps?: TimePickerSlotProps;
@@ -11,10 +11,10 @@ export interface TimelineEvent {
11
11
  at: string | number | Date;
12
12
  /** Who acted; shown as text next to the title. */
13
13
  actor?: string;
14
- /** Literal outcome ("Deploy failed"), so tone is never the only cue. */
14
+ /** Outcome text, such as "Deploy failed", to show state alongside tone. */
15
15
  title: ReactNode;
16
16
  meta?: ReactNode;
17
- /** Content (including 0; not false, null or '') makes the title a disclosure button for this panel. */
17
+ /** Panel content. Makes the title a disclosure button; 0 counts as content, false/null/'' do not. */
18
18
  detail?: ReactNode;
19
19
  /** Actor portrait URL; takes precedence over `icon`. */
20
20
  avatar?: string;
@@ -47,12 +47,12 @@ export interface TimelineProps extends Omit<ComponentPropsWithRef<'div'>, 'defau
47
47
  defaultValue?: readonly string[];
48
48
  /** Requested open ids after a disclosure interaction. */
49
49
  onValueChange?: (ids: string[]) => void;
50
- /** Formatting locale; pass one explicitly for matching server and client output. */
50
+ /** Formatting locale. Supply one so server and client output match. */
51
51
  locale?: Intl.LocalesArgument;
52
52
  /** IANA zone used for day grouping and every displayed date. */
53
53
  timeZone?: string;
54
54
  headingLevel?: TimelineHeadingLevel;
55
- /** Bounds the timeline in its own scroller; without it the timeline grows in page flow. */
55
+ /** Height limit for the timeline's scroller. Without it, the timeline grows with the page. */
56
56
  maxHeight?: CSSProperties['maxHeight'];
57
57
  /** Scroll to an event newer than any shown before. Never moves focus. */
58
58
  scrollToNew?: boolean;
@@ -10,7 +10,7 @@ export interface ToastOptions {
10
10
  title?: ReactNode;
11
11
  description?: ReactNode;
12
12
  tone?: ToastTone;
13
- /** Milliseconds before auto-dismiss; `null` persists until dismissed. Defaults to the provider's. */
13
+ /** Milliseconds before dismissal. `null` keeps the toast open; omitted uses the provider's delay. */
14
14
  duration?: number | null;
15
15
  action?: ToastAction;
16
16
  /** Decorative spinner; an omitted duration persists while loading. */
@@ -18,9 +18,9 @@ export interface ToastOptions {
18
18
  }
19
19
  export interface ToastProviderProps {
20
20
  children?: ReactNode;
21
- /** Maximum toasts kept; adding past it removes the oldest immediately. */
21
+ /** Maximum toasts kept. Adding beyond this count removes the oldest immediately. */
22
22
  max?: number;
23
- /** Default delay, captured at enqueue time; changes do not retime existing toasts. */
23
+ /** Default delay when a toast is added. Changes do not affect existing toasts. */
24
24
  duration?: number;
25
25
  /** Accessible label for each toast's close button. */
26
26
  dismissLabel?: string;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
- import { type Placement } from '@floating-ui/react';
2
+ import { type FloatingRootContext, type Placement, type UseInteractionsReturn } from '@floating-ui/react';
3
3
  import { type SxProps } from '../../styling/sx';
4
4
  export interface TooltipProps {
5
5
  open?: boolean;
@@ -16,6 +16,13 @@ export interface TooltipTriggerProps extends ComponentPropsWithRef<'button'>, Sx
16
16
  }
17
17
  export interface TooltipContentProps extends ComponentPropsWithRef<'div'>, SxProps {
18
18
  }
19
+ export declare const tooltipContentStyle: import("@emotion/react").SerializedStyles;
20
+ /** The tooltip interaction chain, shared with parts whose operative element cannot be a Tooltip.Trigger. */
21
+ export declare function useTooltipInteractions(context: FloatingRootContext, { enabled, openDelay, closeDelay, }?: {
22
+ enabled?: boolean;
23
+ openDelay?: number;
24
+ closeDelay?: number;
25
+ }): UseInteractionsReturn;
19
26
  declare function TooltipRoot(props: TooltipProps): import("@emotion/react/jsx-runtime").JSX.Element;
20
27
  declare function TooltipTrigger({ ref, 'aria-describedby': ariaDescribedByProp, className, sx, ...rest }: TooltipTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
21
28
  declare function TooltipContent(props: TooltipContentProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -38,9 +38,10 @@ export interface TreeViewProps extends Omit<ComponentPropsWithRef<'div'>, 'child
38
38
  locale?: Intl.LocalesArgument;
39
39
  slotProps?: TreeViewSlotProps;
40
40
  }
41
- /** Single-select APG tree with real roving focus. Right opens/enters and Left closes/parents,
42
- * including RTL. Up/Down clamp; Home/End jump; Enter/Space select; typeahead resets after 500ms.
43
- * Lazy results are cached per instance; remount with a new key to replace the dataset cache. */
41
+ /** APG tree with one selection and roving focus.
42
+ * Right expands or enters; Left collapses or moves to the parent, including in RTL.
43
+ * Up/Down stop at the ends; Home/End jump; Enter/Space select. Typeahead resets after 500ms.
44
+ * Loaded children are cached per instance. Remount with a new key to replace the cache. */
44
45
  export declare function TreeView({ nodes, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, loadChildren, onLoadError, label, messages: messageProps, empty, treeRef, locale, slotProps, ref, className, sx, onKeyDown, onClick, onBlur, 'aria-label': ariaLabel, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: TreeViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
45
46
  export declare namespace TreeView {
46
47
  var displayName: string;
@@ -0,0 +1,2 @@
1
+ export { TypewriterTerminal } from './typewriter-terminal';
2
+ export type { TypewriterTerminalProps, TypewriterTerminalLabels, TypewriterTerminalSlotProps, TerminalStep, TerminalOutput, TerminalLine, TerminalProgress, TerminalTask, TerminalTone, } from './typewriter-terminal';
@@ -0,0 +1,87 @@
1
+ import { type ComponentPropsWithRef, type ComponentPropsWithoutRef, type JSX, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ export type TerminalTone = 'neutral' | 'muted' | 'success' | 'warning' | 'danger' | 'accent';
5
+ export interface TerminalLine {
6
+ text: string;
7
+ tone?: TerminalTone;
8
+ delayMs?: number;
9
+ href?: string;
10
+ }
11
+ export interface TerminalProgress {
12
+ kind: 'progress';
13
+ label: string;
14
+ durationMs?: number;
15
+ }
16
+ export interface TerminalTask {
17
+ kind: 'task';
18
+ label: string;
19
+ durationMs?: number;
20
+ doneLabel?: string;
21
+ }
22
+ export type TerminalOutput = string | TerminalLine | TerminalProgress | TerminalTask;
23
+ export interface TerminalStep {
24
+ command: string;
25
+ output?: readonly TerminalOutput[];
26
+ cwd?: string;
27
+ pauseMs?: number;
28
+ }
29
+ export interface TypewriterTerminalLabels {
30
+ play: string;
31
+ pause: string;
32
+ replay: string;
33
+ copy: string;
34
+ seek: string;
35
+ copied: string;
36
+ copyError: string;
37
+ playing: string;
38
+ paused: string;
39
+ replayed: string;
40
+ step: (step: number, command: string) => string;
41
+ tones: Record<TerminalTone, string>;
42
+ completed: string;
43
+ }
44
+ type Slot<E extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<E> & {
45
+ css?: Interpolation<Theme>;
46
+ };
47
+ export interface TypewriterTerminalSlotProps {
48
+ header?: Slot<'header'>;
49
+ screen?: Slot<'div'>;
50
+ transcript?: Slot<'ol'>;
51
+ controls?: Slot<'div'>;
52
+ scrubber?: Slot<'input'>;
53
+ playButton?: Slot<'button'>;
54
+ replayButton?: Slot<'button'>;
55
+ copyButton?: Slot<'button'>;
56
+ caption?: Slot<'figcaption'>;
57
+ status?: Slot<'div'>;
58
+ }
59
+ export interface TypewriterTerminalProps extends Omit<ComponentPropsWithRef<'figure'>, 'children' | 'onChange'>, SxProps {
60
+ steps: readonly TerminalStep[];
61
+ title?: string;
62
+ cwd?: string;
63
+ symbol?: string;
64
+ value?: number;
65
+ defaultValue?: number;
66
+ onValueChange?: (value: number) => void;
67
+ paused?: boolean;
68
+ defaultPaused?: boolean;
69
+ onPausedChange?: (paused: boolean) => void;
70
+ speed?: number;
71
+ loop?: boolean;
72
+ rows?: number;
73
+ copyable?: boolean;
74
+ caption?: ReactNode;
75
+ label?: string;
76
+ labels?: Partial<Omit<TypewriterTerminalLabels, 'tones'>> & {
77
+ tones?: Partial<Record<TerminalTone, string>>;
78
+ };
79
+ locale?: Intl.LocalesArgument;
80
+ slotProps?: TypewriterTerminalSlotProps;
81
+ }
82
+ /** Scripted playback only. Native buttons; slider arrows/Page keys jump command boundaries. */
83
+ export declare function TypewriterTerminal({ ref, steps, title, cwd, symbol, value, defaultValue, onValueChange, paused, defaultPaused, onPausedChange, speed, loop, rows, copyable, caption, label, labels: labelsProp, locale, slotProps, className, sx, style, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: TypewriterTerminalProps): import("@emotion/react/jsx-runtime").JSX.Element;
84
+ export declare namespace TypewriterTerminal {
85
+ var displayName: string;
86
+ }
87
+ export {};
@@ -1,7 +1,8 @@
1
1
  import { type ComponentPropsWithRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
3
  import { type SxProps } from '../../styling/sx';
4
- export type UsageMeterState = 'normal' | 'near-limit' | 'over-limit' | 'unavailable';
4
+ import { type UsageMeterState, type UsageMeterSummary } from './usage-model';
5
+ export type { UsageMeterState, UsageMeterSummary } from './usage-model';
5
6
  export type UsageMeterSize = 'sm' | 'md' | 'lg';
6
7
  export type UsageMeterSelection = {
7
8
  kind: 'segment';
@@ -20,17 +21,6 @@ export type UsageMeterItem = UsageMeterSelection & {
20
21
  label: string;
21
22
  value: number;
22
23
  };
23
- export interface UsageMeterSummary {
24
- total: number;
25
- limit: number;
26
- free: number;
27
- over: number;
28
- ratio: number;
29
- state: UsageMeterState;
30
- formattedTotal: string;
31
- formattedLimit: string;
32
- formattedPercent: string;
33
- }
34
24
  export interface UsageMeterLabels {
35
25
  free: string;
36
26
  near: string;
@@ -51,7 +41,7 @@ export interface UsageMeterProps extends Omit<ComponentPropsWithRef<'div'>, 'chi
51
41
  locale?: Intl.LocalesArgument;
52
42
  numberFormatOptions?: Intl.NumberFormatOptions;
53
43
  unitLabel?: ReactNode;
54
- /** English defaults; translation callbacks also localize relational value copy. */
44
+ /** Defaults to English. Use the value-label callbacks to translate comparison text too. */
55
45
  labels?: Partial<UsageMeterLabels>;
56
46
  getValueLabel?: (summary: UsageMeterSummary) => string;
57
47
  getItemLabel?: (item: UsageMeterItem, summary: UsageMeterSummary) => string;
@@ -74,9 +64,9 @@ export interface UsageMeterProps extends Omit<ComponentPropsWithRef<'div'>, 'chi
74
64
  item?: UsageMeterPartProps<'button'>;
75
65
  };
76
66
  }
77
- /** Finite allowance, not task progress. The meter is not focusable; legend arrows/Home/End
78
- * move focus, Enter/Space toggle a pin, and Escape clears it. Numeric ARIA saturates at the
79
- * allowance while visible text and aria-valuetext retain actual overuse. */
67
+ /** Shows usage against an allowance, not task progress. The meter cannot receive focus.
68
+ * Legend arrows/Home/End move focus; Enter/Space toggle a pin; Escape clears it.
69
+ * Numeric ARIA stops at the allowance. Displayed text and aria-valuetext include overuse. */
80
70
  export declare function UsageMeter({ ref, label, segments, limit, warnAt, size, locale, numberFormatOptions, unitLabel, labels: labelsProp, getValueLabel, getItemLabel, interactive, value, defaultValue, onValueChange, announceChanges, statusIcon, slotProps, className, sx, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, 'aria-label': ariaLabel, ...rest }: UsageMeterProps): import("@emotion/react/jsx-runtime").JSX.Element;
81
71
  export declare namespace UsageMeter {
82
72
  var displayName: string;
@@ -0,0 +1,30 @@
1
+ export type UsageMeterState = 'normal' | 'near-limit' | 'over-limit' | 'unavailable';
2
+ export interface UsageMeterSummary {
3
+ total: number;
4
+ limit: number;
5
+ free: number;
6
+ over: number;
7
+ ratio: number;
8
+ state: UsageMeterState;
9
+ formattedTotal: string;
10
+ formattedLimit: string;
11
+ formattedPercent: string;
12
+ }
13
+ export declare const DEFAULT_WARN_AT = 0.9;
14
+ export interface UsageFormats {
15
+ amount: Intl.NumberFormat;
16
+ percent: Intl.NumberFormat;
17
+ index: Intl.NumberFormat;
18
+ }
19
+ export declare function createUsageFormats(locale: Intl.LocalesArgument, numberFormatOptions?: Intl.NumberFormatOptions): UsageFormats;
20
+ interface SummarizeOptions {
21
+ warnAt?: number;
22
+ formats: UsageFormats;
23
+ /** Text for amounts that cannot be computed. */
24
+ unavailable: string;
25
+ /** Formats amounts instead of `formats.amount` (consumer unit formatters). */
26
+ formatAmount?: (amount: number) => string;
27
+ }
28
+ /** Compares `total` with `limit`. Limits at or below 0, or nonfinite limits, are `unavailable`. */
29
+ export declare function summarizeUsage(total: number, limit: number, { warnAt, formats, unavailable, formatAmount }: SummarizeOptions): UsageMeterSummary;
30
+ export {};
@@ -0,0 +1,2 @@
1
+ export { UserMenu } from './user-menu';
2
+ export type { UserMenuContentProps, UserMenuGroupSlotProps, UserMenuIdentityProps, UserMenuItemProps, UserMenuItemTone, UserMenuPartProps, UserMenuProps, UserMenuSeparatorProps, UserMenuSignOutProps, UserMenuStatus, UserMenuStatusGroupProps, UserMenuTheme, UserMenuThemeGroupProps, UserMenuTriggerProps, UserMenuUser, UserMenuVariant, } from './user-menu';