@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,118 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Placement } from '@floating-ui/react';
3
+ import { type Interpolation, type Theme } from '../../styling/css';
4
+ import { type SxProps } from '../../styling/sx';
5
+ import { type AvatarStatus } from '../avatar';
6
+ import { type MenuItemTone } from '../menu/menu';
7
+ declare const THEME_OPTIONS: readonly ['light', 'dark', 'system'];
8
+ declare const STATUS_OPTIONS: readonly ['available', 'busy', 'away'];
9
+ export type UserMenuTheme = (typeof THEME_OPTIONS)[number];
10
+ export type UserMenuStatus = (typeof STATUS_OPTIONS)[number];
11
+ export type UserMenuVariant = 'adaptive' | 'menu' | 'sheet';
12
+ export type UserMenuItemTone = MenuItemTone;
13
+ export interface UserMenuUser {
14
+ name: string;
15
+ email: string;
16
+ /** Plan or role shown next to the email. `0` renders. */
17
+ plan?: ReactNode;
18
+ avatarSrc?: string;
19
+ }
20
+ export interface UserMenuPartProps {
21
+ className?: string;
22
+ css?: Interpolation<Theme>;
23
+ }
24
+ export interface UserMenuProps {
25
+ user: UserMenuUser;
26
+ open?: boolean;
27
+ defaultOpen?: boolean;
28
+ onOpenChange?: (open: boolean) => void;
29
+ /** Desktop placement next to the Trigger; flips when there is no room. */
30
+ placement?: Placement;
31
+ /** Viewport width in px below which `variant="adaptive"` content becomes a sheet. */
32
+ compactBreakpoint?: number;
33
+ children?: ReactNode;
34
+ }
35
+ export interface UserMenuTriggerProps extends Omit<ComponentPropsWithRef<'button'>, 'children'>, SxProps {
36
+ /** Translated name of the button, e.g. "Account menu, Ada Lovelace". */
37
+ 'aria-label': string;
38
+ /** Shows the user's name next to the avatar outside compact viewports. */
39
+ showName?: boolean;
40
+ status?: AvatarStatus;
41
+ /** Translated status word, exposed as the Trigger's description. */
42
+ statusLabel?: string;
43
+ }
44
+ interface UserMenuContentBaseProps extends ComponentPropsWithRef<'div'>, SxProps {
45
+ slotProps?: {
46
+ menu?: UserMenuPartProps;
47
+ handle?: UserMenuPartProps;
48
+ close?: UserMenuPartProps;
49
+ };
50
+ }
51
+ export type UserMenuContentProps = UserMenuContentBaseProps & ({
52
+ variant: 'menu';
53
+ closeLabel?: string;
54
+ } | {
55
+ variant?: 'adaptive' | 'sheet';
56
+ /** Translated name of the sheet's Close button. */
57
+ closeLabel: string;
58
+ });
59
+ export interface UserMenuIdentityProps extends ComponentPropsWithRef<'div'>, SxProps {
60
+ }
61
+ export interface UserMenuItemProps extends Omit<ComponentPropsWithRef<'button'>, 'onSelect'>, SxProps {
62
+ /** Called once on activation. The menu closes unless a click handler called `event.preventDefault()`. */
63
+ onSelect?: () => void;
64
+ disabled?: boolean;
65
+ tone?: UserMenuItemTone;
66
+ /** Decorative icon before the label. */
67
+ icon?: ReactNode;
68
+ /** Displays shortcut keys without registering a shortcut. */
69
+ keys?: readonly string[];
70
+ }
71
+ export interface UserMenuGroupSlotProps {
72
+ label?: UserMenuPartProps;
73
+ option?: UserMenuPartProps;
74
+ }
75
+ interface ChoiceGroupProps<V extends string> extends Omit<ComponentPropsWithRef<'div'>, 'defaultValue'>, SxProps {
76
+ value?: V;
77
+ defaultValue?: V;
78
+ onValueChange?: (value: V) => void;
79
+ /** Translated group name and option labels. */
80
+ labels: {
81
+ group: string;
82
+ } & Record<V, string>;
83
+ slotProps?: UserMenuGroupSlotProps;
84
+ }
85
+ export type UserMenuThemeGroupProps = ChoiceGroupProps<UserMenuTheme>;
86
+ export type UserMenuStatusGroupProps = ChoiceGroupProps<UserMenuStatus>;
87
+ export interface UserMenuSignOutProps extends Omit<UserMenuItemProps, 'onSelect' | 'disabled'> {
88
+ /** Signs the user out. A returned promise keeps the item busy until it settles. */
89
+ onSignOut: () => void | PromiseLike<unknown>;
90
+ /** Translated label shown while the action is pending. */
91
+ pendingLabel: string;
92
+ /** Translated message announced when the action fails. */
93
+ errorMessage: string;
94
+ /** Receives the failure (a rejection or a synchronous throw). */
95
+ onSignOutError?: (error: unknown) => void;
96
+ }
97
+ export interface UserMenuSeparatorProps extends ComponentPropsWithRef<'div'>, SxProps {
98
+ }
99
+ declare function UserMenuRoot({ user, open, defaultOpen, onOpenChange, placement, compactBreakpoint, children, }: UserMenuProps): import("@emotion/react/jsx-runtime").JSX.Element;
100
+ declare function UserMenuTrigger({ ref, showName, status, statusLabel, 'aria-describedby': ariaDescribedBy, className, sx, ...rest }: UserMenuTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
101
+ declare function UserMenuContent({ variant, id, ...props }: UserMenuContentProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
102
+ declare function UserMenuIdentity({ ref, className, sx, ...rest }: UserMenuIdentityProps): import("react").ReactPortal | null;
103
+ declare function UserMenuItem({ tone, icon, keys, children, ...props }: UserMenuItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
104
+ declare function UserMenuThemeGroup(props: UserMenuThemeGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
105
+ declare function UserMenuStatusGroup(props: UserMenuStatusGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
106
+ declare function UserMenuSignOut({ onSignOut, pendingLabel, errorMessage, onSignOutError, tone, icon, keys, children, ...props }: UserMenuSignOutProps): import("@emotion/react/jsx-runtime").JSX.Element;
107
+ declare function UserMenuSeparator(props: UserMenuSeparatorProps): import("@emotion/react/jsx-runtime").JSX.Element;
108
+ export declare const UserMenu: typeof UserMenuRoot & {
109
+ Trigger: typeof UserMenuTrigger;
110
+ Content: typeof UserMenuContent;
111
+ Identity: typeof UserMenuIdentity;
112
+ Item: typeof UserMenuItem;
113
+ ThemeGroup: typeof UserMenuThemeGroup;
114
+ StatusGroup: typeof UserMenuStatusGroup;
115
+ SignOut: typeof UserMenuSignOut;
116
+ Separator: typeof UserMenuSeparator;
117
+ };
118
+ export {};
@@ -1,15 +1,19 @@
1
1
  export * from './components/accordion';
2
+ export * from './components/activity-rings';
2
3
  export * from './components/alert';
3
4
  export * from './components/announcement-bar';
4
5
  export * from './components/avatar';
5
6
  export * from './components/avatar-group';
6
7
  export * from './components/badge';
8
+ export * from './components/billing-toggle';
7
9
  export * from './components/bottom-sheet';
8
10
  export * from './components/breadcrumbs';
9
11
  export * from './components/button';
12
+ export * from './components/button-group';
10
13
  export * from './components/calendar';
11
14
  export * from './components/card';
12
15
  export * from './components/carousel';
16
+ export * from './components/chat-thread';
13
17
  export * from './components/checkbox';
14
18
  export * from './components/chip-group';
15
19
  export * from './components/code-block';
@@ -25,26 +29,34 @@ export * from './components/date-range-picker';
25
29
  export * from './components/dialog';
26
30
  export * from './components/divider';
27
31
  export * from './components/drawer';
28
- export * from './components/elastic-slider';
32
+ export * from './components/emblem';
29
33
  export * from './components/empty-state';
30
34
  export * from './components/expandable-card';
31
35
  export * from './components/expanding-search';
32
36
  export * from './components/file-dropzone';
33
37
  export * from './components/filter-toolbar';
34
38
  export * from './components/flex';
39
+ export * from './components/game-card';
35
40
  export * from './components/hold-to-confirm';
36
41
  export * from './components/image-compare';
42
+ export * from './components/in-view-title';
37
43
  export * from './components/inline-edit';
38
44
  export * from './components/hover-card';
39
45
  export * from './components/json-viewer';
40
46
  export * from './components/kbd';
47
+ export * from './components/keycap-keyboard';
48
+ export * from './components/lightbox-gallery';
49
+ export * from './components/link-unfurl';
50
+ export * from './components/locale-switcher';
41
51
  export * from './components/mention-input';
42
52
  export * from './components/menu';
43
53
  export * from './components/metric-card';
44
54
  export * from './components/multi-select';
45
55
  export * from './components/navigation';
56
+ export * from './components/now-playing';
46
57
  export * from './components/pagination';
47
58
  export * from './components/password-field';
59
+ export * from './components/photo-grid';
48
60
  export * from './components/pill';
49
61
  export * from './components/popover';
50
62
  export * from './components/progress';
@@ -55,6 +67,8 @@ export * from './components/scroll-area';
55
67
  export * from './components/search-field';
56
68
  export * from './components/segmented-control';
57
69
  export * from './components/select';
70
+ export * from './components/sheet-stack';
71
+ export * from './components/shortcut-recorder';
58
72
  export * from './components/signature-pad';
59
73
  export * from './components/skeleton';
60
74
  export * from './components/slider';
@@ -63,6 +77,7 @@ export * from './components/spinner';
63
77
  export * from './components/split-button';
64
78
  export * from './components/stack';
65
79
  export * from './components/stepper';
80
+ export * from './components/stretch-refresh';
66
81
  export * from './components/swipe-actions';
67
82
  export * from './components/switch';
68
83
  export * from './components/tabs';
@@ -79,7 +94,9 @@ export * from './components/toast-stack';
79
94
  export * from './components/toggle-group';
80
95
  export * from './components/tooltip';
81
96
  export * from './components/tree-view';
97
+ export * from './components/typewriter-terminal';
82
98
  export * from './components/usage-meter';
99
+ export * from './components/user-menu';
83
100
  export { styled } from './styling/styled';
84
101
  export type { SxProps } from './styling/sx';
85
102
  export { theme, type JfraderTheme } from './styling/theme';
@@ -0,0 +1,24 @@
1
+ import type { NativeDialogTransition } from './use-native-dialog';
2
+ /**
3
+ * Settles once the finite animations and transitions running on `element` (and, with `subtree`,
4
+ * its descendants and pseudo-elements such as `::backdrop`) have finished or been canceled.
5
+ * Infinite animations (spinners) never hold the exit.
6
+ */
7
+ export declare function exitMotionFinished(element: Element, { subtree }?: {
8
+ subtree?: boolean | undefined;
9
+ }): Promise<unknown>;
10
+ /**
11
+ * Native dialog transition for styled motion: `useNativeDialog` renders `data-state="closing"`
12
+ * before the exit runs, so the exit only waits for the transitions that state started.
13
+ */
14
+ export declare const styledDialogTransition: NativeDialogTransition;
15
+ /**
16
+ * Presence for a floating surface that unmounts when closed: it stays mounted while `closing`
17
+ * so its exit transition (styled through `data-state="closing"`) can run. Attach `ref` to the
18
+ * surface; reopening during the exit keeps the same mount.
19
+ */
20
+ export declare function useExitPresence<T extends Element>(open: boolean): {
21
+ ref: import("react").RefObject<T | null>;
22
+ present: boolean;
23
+ closing: boolean;
24
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Entrance and exit of a modal surface (Drawer, BottomSheet): critically damped, so it never
3
+ * overshoots, and at rest once within a pixel and slow, so a retained exit releases the modal promptly.
4
+ */
5
+ export declare const PRESENCE_SPRING: {
6
+ readonly type: 'spring';
7
+ readonly stiffness: 900;
8
+ readonly damping: 60;
9
+ readonly mass: 1;
10
+ readonly restDelta: 1;
11
+ readonly restSpeed: 30;
12
+ };
@@ -12,6 +12,14 @@ export interface NativeDialogHandlers {
12
12
  onClick?: MouseEventHandler<HTMLDialogElement>;
13
13
  onClose?: ReactEventHandler<HTMLDialogElement>;
14
14
  }
15
+ /** Surface motion around the native lifecycle. */
16
+ export interface NativeDialogTransition {
17
+ /** Runs after showModal() succeeds, and when a reopen interrupts a running exit. */
18
+ enter: (dialog: HTMLDialogElement) => void;
19
+ /** Runs on a logical close; the native close waits for the promise. Return nothing to close at once. */
20
+ exit: (dialog: HTMLDialogElement) => Promise<unknown> | undefined;
21
+ }
22
+ export type NativeDialogState = 'open' | 'closing' | 'closed';
15
23
  export declare function requestNativeDialogClose(dialog: HTMLDialogElement | null, setOpen: (open: boolean) => void): void;
16
24
  /** Root half: logical open requests, the repair token and the registered dialog element. */
17
25
  export declare function useNativeDialogRoot(open: boolean, requestOpenChange: (open: boolean) => void): {
@@ -31,9 +39,10 @@ export declare function omitNativeOpen<P extends object>(props: P & {
31
39
  * Content half: syncs the native dialog to the logical `open`, and returns the `ref` and
32
40
  * event handlers to spread on the <dialog> (after the consumer's props).
33
41
  */
34
- export declare function useNativeDialog({ open, setOpen, requestClose, repairToken, setDialogElement }: NativeDialogController, { onCancel, onClick, onClose }: NativeDialogHandlers, forwardedRef: Ref<HTMLDialogElement> | undefined, contentRef?: MutableRefObject<HTMLDialogElement | null>): {
42
+ export declare function useNativeDialog({ open, setOpen, requestClose, repairToken, setDialogElement }: NativeDialogController, { onCancel, onClick, onClose }: NativeDialogHandlers, forwardedRef: Ref<HTMLDialogElement> | undefined, contentRef?: MutableRefObject<HTMLDialogElement | null>, transition?: NativeDialogTransition): {
35
43
  ref: (element: HTMLDialogElement | null) => void;
36
44
  onCancel: (event: SyntheticEvent<HTMLDialogElement>) => void;
37
45
  onClick: (event: MouseEvent<HTMLDialogElement>) => void;
38
46
  onClose: (event: SyntheticEvent<HTMLDialogElement>) => void;
47
+ 'data-state': NativeDialogState;
39
48
  };
@@ -0,0 +1,24 @@
1
+ import type { CSSProperties } from 'react';
2
+ import { type JfraderTheme } from './theme';
3
+ import type { ThemeName } from './theme-scope';
4
+ type TokenOverrides<T> = {
5
+ readonly [K in keyof T]?: T[K] extends string ? string : TokenOverrides<T[K]>;
6
+ };
7
+ /** Sparse token overrides for a ThemeRoot scope, typed from the palette: any path, any depth. */
8
+ export type ThemeTokens = TokenOverrides<JfraderTheme>;
9
+ export interface CreateThemeOptions {
10
+ /** The named theme the scope wears; picks the dark or light accent derivation. */
11
+ base?: ThemeName;
12
+ /** Accent fill as `#rgb` or `#rrggbb`; the accent family is derived from it. */
13
+ accent?: string;
14
+ /** Explicit overrides; they win over the derived accent family. */
15
+ tokens?: ThemeTokens;
16
+ }
17
+ /**
18
+ * A ThemeRoot `tokens` map: the named theme's palette, then the accent family derived for `base`,
19
+ * then `tokens` (explicit wins per token path). Pass the same `base` as the ThemeRoot's `theme`.
20
+ */
21
+ export declare function createTheme({ base, accent, tokens }?: CreateThemeOptions): ThemeTokens;
22
+ /** `tokens` as inline custom-property declarations, named after the generated `var()` references. */
23
+ export declare function themeTokenStyle(tokens: ThemeTokens): CSSProperties;
24
+ export {};
@@ -1,3 +1,3 @@
1
- export { ClassNames, css, keyframes, ThemeProvider as EmotionThemeProvider, useTheme as useEmotionTheme, } from '@emotion/react';
1
+ export { CacheProvider, ClassNames, css, keyframes, ThemeProvider as EmotionThemeProvider, useTheme as useEmotionTheme, } from '@emotion/react';
2
2
  export type { ClassNamesContent, Interpolation, SerializedStyles, Theme } from '@emotion/react';
3
3
  export type { JfraderTheme } from './theme';
@@ -0,0 +1,5 @@
1
+ export declare const motionDurationMs: {
2
+ readonly fast: number;
3
+ readonly base: number;
4
+ readonly slow: number;
5
+ };
@@ -0,0 +1,95 @@
1
+ /** Scale a centered modal panel grows from. */
2
+ export declare const MODAL_ENTER_SCALE = 0.96;
3
+ /** A command palette comes in from a little further, for a quicker "summoned" feel. */
4
+ export declare const PALETTE_ENTER_SCALE = 0.92;
5
+ /** Timing of an entrance; exits are quicker. */
6
+ export declare const enterTransition: {
7
+ readonly transitionDuration: "var(--ui-motion-duration-base)";
8
+ readonly transitionTimingFunction: "var(--ui-motion-ease-standard)";
9
+ };
10
+ export declare const exitTransition: {
11
+ readonly transitionDuration: "var(--ui-motion-duration-fast)";
12
+ };
13
+ /** Panel inside a native <dialog> rendered with `styledDialogTransition`. */
14
+ export declare function modalPanelMotion(scale: number): {
15
+ readonly transitionDuration: "var(--ui-motion-duration-base)";
16
+ readonly transitionTimingFunction: "var(--ui-motion-ease-standard)";
17
+ readonly transitionProperty: 'opacity, scale, translate';
18
+ readonly '@starting-style': {
19
+ opacity: number;
20
+ scale: string;
21
+ translate: string;
22
+ };
23
+ readonly '[data-state="closing"] > &': {
24
+ readonly transitionDuration: "var(--ui-motion-duration-fast)";
25
+ readonly opacity: number;
26
+ readonly scale: string;
27
+ readonly translate: string;
28
+ };
29
+ readonly "@media (prefers-reduced-motion: reduce)": {
30
+ readonly '&, [data-state="closing"] > &': {
31
+ readonly transitionDuration: '0s';
32
+ };
33
+ };
34
+ };
35
+ /** The scrim of a native <dialog> fades with its panel. */
36
+ export declare const modalBackdropMotion: {
37
+ readonly '&::backdrop': {
38
+ readonly transitionDuration: "var(--ui-motion-duration-base)";
39
+ readonly transitionTimingFunction: "var(--ui-motion-ease-standard)";
40
+ readonly transitionProperty: 'opacity';
41
+ };
42
+ readonly '&[open]::backdrop': {
43
+ readonly '@starting-style': {
44
+ readonly opacity: 0;
45
+ };
46
+ };
47
+ readonly '&[data-state="closing"]::backdrop': {
48
+ readonly transitionDuration: "var(--ui-motion-duration-fast)";
49
+ readonly opacity: 0;
50
+ };
51
+ readonly '&[data-state="closing"]': {
52
+ readonly pointerEvents: 'none';
53
+ };
54
+ readonly "@media (prefers-reduced-motion: reduce)": {
55
+ readonly '&::backdrop, &[data-state="closing"]::backdrop': {
56
+ readonly transitionDuration: '0s';
57
+ };
58
+ };
59
+ };
60
+ /**
61
+ * Floating surface that slides a little from its anchor: set `data-side` to the resolved side and
62
+ * `data-state="closing"` on the surface while it exits (see `useExitPresence`).
63
+ */
64
+ export declare const floatingSurfaceMotion: {
65
+ readonly transitionDuration: "var(--ui-motion-duration-base)";
66
+ readonly transitionTimingFunction: "var(--ui-motion-ease-standard)";
67
+ readonly transitionProperty: 'opacity, translate';
68
+ readonly '@starting-style': {
69
+ readonly opacity: 0;
70
+ readonly translate: 'var(--overlay-enter-x, 0) var(--overlay-enter-y, 0)';
71
+ };
72
+ readonly '&[data-state="closing"]': {
73
+ readonly transitionDuration: "var(--ui-motion-duration-fast)";
74
+ readonly opacity: 0;
75
+ readonly translate: 'var(--overlay-enter-x, 0) var(--overlay-enter-y, 0)';
76
+ readonly pointerEvents: 'none';
77
+ };
78
+ readonly '&[data-side="bottom"]': {
79
+ readonly '--overlay-enter-y': "calc(-1 * var(--ui-space-1))";
80
+ };
81
+ readonly '&[data-side="top"]': {
82
+ readonly '--overlay-enter-y': "var(--ui-space-1)";
83
+ };
84
+ readonly '&[data-side="left"]': {
85
+ readonly '--overlay-enter-x': "var(--ui-space-1)";
86
+ };
87
+ readonly '&[data-side="right"]': {
88
+ readonly '--overlay-enter-x': "calc(-1 * var(--ui-space-1))";
89
+ };
90
+ readonly "@media (prefers-reduced-motion: reduce)": {
91
+ readonly '&, &[data-state="closing"]': {
92
+ readonly transitionDuration: '0s';
93
+ };
94
+ };
95
+ };
@@ -1,3 +1,10 @@
1
+ import type { ThemeName } from './theme-scope';
2
+ /** Surface appearance: `contrast` wears the dark theme plus the elevated-charcoal overrides. */
3
+ export type SurfaceAppearance = 'default' | 'contrast';
4
+ /** The theme a surface appearance wears; `default` keeps whatever theme is in scope. */
5
+ export declare function surfaceTheme(appearance: SurfaceAppearance): ThemeName | null;
6
+ /** Attributes a surface sets for its appearance: the theme it wears and the overrides that go with it. */
7
+ export declare function surfaceAttributes(appearance: SurfaceAppearance): Record<string, string> | null;
1
8
  /** Raised panel: surface color, hairline border and the base text setup. */
2
9
  export declare const raisedSurface: {
3
10
  readonly boxSizing: 'border-box';
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type Interpolation, type Theme } from './css';
3
3
  export interface SxProps {
4
- /** Consumer style overrides, identical to `css` and applied after it (`sx` is the MUI-style spelling). */
4
+ /** Style overrides. Accepts the same values as `css` and applies after it. */
5
5
  sx?: Interpolation<Theme>;
6
6
  }
7
7
  interface ClassNameProps {
@@ -1,16 +1,42 @@
1
- import { type ReactNode } from 'react';
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
2
  export type ThemeName = 'dark' | 'light';
3
+ /** Surface palette in scope: `contrast` adds the elevated-charcoal overrides on the dark theme. */
4
+ export type AppearanceName = 'default' | 'contrast';
3
5
  export interface ThemeScope {
4
6
  theme: ThemeName;
7
+ appearance: AppearanceName;
5
8
  /** `undefined` keeps default portal routing; `null` holds portals until the host exists. */
6
9
  portalContainer: HTMLElement | null | undefined;
10
+ /** The scope root's `tokens` as inline custom properties, re-declared wherever `theme` is. */
11
+ tokenStyle: CSSProperties | undefined;
7
12
  }
8
13
  export declare const ThemeScopeContext: import("react").Context<ThemeScope | null>;
9
- /** The nearest ThemeRoot's scope, or `null` outside any ThemeRoot (page theme applies). */
14
+ /** The nearest theme scope (ThemeRoot or contrast surface), or `null` outside any. */
10
15
  export declare function useThemeScope(): ThemeScope | null;
16
+ /**
17
+ * The enclosing scope's `tokens` for an element that re-declares `theme`: kept when it names the
18
+ * same theme, dropped for another (they were derived for the enclosing one) or for `null`.
19
+ */
20
+ export declare function carriedTokenStyle(parent: ThemeScope | null, theme: ThemeName | null): CSSProperties | undefined;
21
+ /** Inline `style` for a scope element: carried tokens first, the consumer's own `style` last. */
22
+ export declare function scopeStyle(tokenStyle: CSSProperties | undefined, style: CSSProperties | undefined): CSSProperties | undefined;
23
+ /** `style` for a surface that re-declares `theme` (`null`: it re-declares nothing) inside the scope. */
24
+ export declare function useSurfaceStyle(theme: ThemeName | null, style: CSSProperties | undefined): CSSProperties | undefined;
25
+ /** The appearance a surface wears: its own value, else the enclosing scope's, else the theme's own. */
26
+ export declare function useSurfaceAppearance(appearance?: AppearanceName): AppearanceName;
11
27
  /** What a `data-theme` scope root sets besides the attribute: inherited text color and color-scheme. */
12
28
  export declare const themeScopeStyle: import("@emotion/react").SerializedStyles;
13
- /** Re-applies the nearest ThemeRoot's theme around portaled content; renders children bare outside one. */
29
+ /**
30
+ * Publishes a surface's theme and appearance to its subtree without taking over the enclosing
31
+ * `portalContainer`, so overlays opened inside a contrast surface keep its palette through their
32
+ * portal. `theme: null` keeps the enclosing theme; publishes only when the pair changes the scope.
33
+ */
34
+ export declare function AppearanceScope({ theme, appearance, children, }: {
35
+ theme: ThemeName | null;
36
+ appearance: AppearanceName;
37
+ children?: ReactNode;
38
+ }): string | number | bigint | boolean | import("@emotion/react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
39
+ /** Re-applies the nearest scope (theme, appearance and tokens) around portaled content. */
14
40
  export declare function ThemeBoundary({ children }: {
15
41
  children?: ReactNode;
16
42
  }): string | number | bigint | boolean | import("@emotion/react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
@@ -37,6 +37,9 @@ export declare const theme: {
37
37
  readonly signatureInkBlack: "var(--ui-color-signature-ink-black)";
38
38
  readonly signatureInkBlue: "var(--ui-color-signature-ink-blue)";
39
39
  readonly signatureInkViolet: "var(--ui-color-signature-ink-violet)";
40
+ readonly cardFace: "var(--ui-color-card-face)";
41
+ readonly cardInk: "var(--ui-color-card-ink)";
42
+ readonly cardRed: "var(--ui-color-card-red)";
40
43
  readonly scrim: "var(--ui-color-scrim)";
41
44
  readonly syntaxKeyword: "var(--ui-color-syntax-keyword)";
42
45
  readonly syntaxString: "var(--ui-color-syntax-string)";
@@ -102,6 +105,18 @@ export declare const theme: {
102
105
  };
103
106
  readonly easeStandard: "var(--ui-motion-ease-standard)";
104
107
  };
108
+ readonly size: {
109
+ readonly emblemSm: "var(--ui-size-emblem-sm)";
110
+ readonly emblemMd: "var(--ui-size-emblem-md)";
111
+ readonly emblemLg: "var(--ui-size-emblem-lg)";
112
+ readonly emblemXl: "var(--ui-size-emblem-xl)";
113
+ readonly gameCardSm: "var(--ui-size-game-card-sm)";
114
+ readonly gameCardMd: "var(--ui-size-game-card-md)";
115
+ readonly gameCardLg: "var(--ui-size-game-card-lg)";
116
+ readonly sheetStackBreakpoint: "var(--ui-size-sheet-stack-breakpoint)";
117
+ readonly sheetStackSheetPeek: "var(--ui-size-sheet-stack-sheet-peek)";
118
+ readonly sheetStackDialogPeek: "var(--ui-size-sheet-stack-dialog-peek)";
119
+ };
105
120
  };
106
121
  export type JfraderTheme = typeof theme;
107
122
  declare module '@emotion/react' {
@@ -0,0 +1,2 @@
1
+ /** First grapheme of up to `max` words of `name`, joined and uppercased for the current locale. */
2
+ export declare function getInitials(name: string, max: number): string;