themelia-react-ui 1.0.2 → 2.0.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 (542) hide show
  1. package/CHANGELOG.md +281 -1
  2. package/README.md +10 -5
  3. package/dist/{accordion-BRTcsp8J.js → accordion-CQXVcd7Q.js} +13 -13
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-CCIXb2A1.js} +7 -2
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-2PQ2fItc.js} +171 -176
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-BE_j8-AT.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-BE_j8-AT.js.map} +1 -1
  13. package/dist/{attachment-DbjUWsP0.js → attachment-q69dlt5Y.js} +9 -9
  14. package/dist/{attachment-DbjUWsP0.js.map → attachment-q69dlt5Y.js.map} +1 -1
  15. package/dist/{auth-CAQcasMV.js → auth-M3vGMgDR.js} +42 -42
  16. package/dist/{auth-CAQcasMV.js.map → auth-M3vGMgDR.js.map} +1 -1
  17. package/dist/{avatar-Bu2HhitA.js → avatar-djdaaQ_s.js} +14 -12
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-CzId1Wlm.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +2 -2
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +11 -11
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +244 -222
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +2 -2
  39. package/dist/base/display.js +6 -6
  40. package/dist/base/feedback.js +3 -3
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +81 -76
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +42 -42
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +9 -9
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +4 -4
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +229 -220
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +147 -180
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +530 -523
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1390 -1516
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +5 -5
  82. package/dist/blocks/planning.js +82 -91
  83. package/dist/blocks/planning.js.map +1 -1
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-BuYz5SDU.js → breadcrumbs-BG_FfMK4.js} +5 -5
  86. package/dist/{breadcrumbs-BuYz5SDU.js.map → breadcrumbs-BG_FfMK4.js.map} +1 -1
  87. package/dist/{button-BZDasD04.js → button-BS3KDg00.js} +185 -162
  88. package/dist/button-BS3KDg00.js.map +1 -0
  89. package/dist/{button-BZyfTvwm.js → button-R9CCoH7A.js} +2 -2
  90. package/dist/{button-BZyfTvwm.js.map → button-R9CCoH7A.js.map} +1 -1
  91. package/dist/{buttons-D_6KJvEE.js → buttons-DS0ZIwJ_.js} +11 -11
  92. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  93. package/dist/{cards-qGSErLw_.js → cards-QoJ4syG9.js} +7 -7
  94. package/dist/{cards-qGSErLw_.js.map → cards-QoJ4syG9.js.map} +1 -1
  95. package/dist/{chart-Bsc5BICK.js → chart-DwYRKKc-.js} +17 -15
  96. package/dist/chart-DwYRKKc-.js.map +1 -0
  97. package/dist/checkbox-B7ygNTYp.js +35 -0
  98. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  99. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  100. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  101. package/dist/{code-block-DzHKRybS.js → code-block-CD0B7M93.js} +19 -19
  102. package/dist/{code-block-DzHKRybS.js.map → code-block-CD0B7M93.js.map} +1 -1
  103. package/dist/{collapsible-ClvC7Bj3.js → collapsible-oMUGM4tr.js} +3 -3
  104. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  105. package/dist/{collection-content-D6S8cv_n.js → collection-content-Ys-OZOkY.js} +3 -3
  106. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  107. package/dist/{combobox-BFnbJJp3.js → combobox-6dvVny2q.js} +96 -97
  108. package/dist/combobox-6dvVny2q.js.map +1 -0
  109. package/dist/{combobox-hozNwUcc.js → combobox-CB7039j7.js} +326 -308
  110. package/dist/combobox-CB7039j7.js.map +1 -0
  111. package/dist/{command-BnmSchli.js → command-kPMPjIxJ.js} +34 -30
  112. package/dist/command-kPMPjIxJ.js.map +1 -0
  113. package/dist/{comments-u5L0OGip.js → comments-You0Bzbr.js} +349 -348
  114. package/dist/comments-You0Bzbr.js.map +1 -0
  115. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  116. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  117. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  118. package/dist/components/base/badge/badge.d.ts +1 -1
  119. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  120. package/dist/components/base/buttons/base-button.d.ts +7 -0
  121. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  122. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  123. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  124. package/dist/components/base/buttons/text-button.d.ts +2 -2
  125. package/dist/components/base/carousel/carousel.d.ts +3 -1
  126. package/dist/components/base/chart/chart.d.ts +7 -7
  127. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  128. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  129. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  130. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  131. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  132. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  133. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  134. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  135. package/dist/components/base/display/content-block.d.ts +4 -2
  136. package/dist/components/base/display/date-block.d.ts +1 -1
  137. package/dist/components/base/display/dialog.d.ts +12 -5
  138. package/dist/components/base/display/surface-title.d.ts +6 -1
  139. package/dist/components/base/feedback/alert.d.ts +1 -1
  140. package/dist/components/base/feedback/state-display.d.ts +5 -4
  141. package/dist/components/base/forms/form-sizing.d.ts +32 -0
  142. package/dist/components/base/forms/workflow.d.ts +2 -0
  143. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  144. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  145. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  146. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  147. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  148. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  149. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  150. package/dist/components/base/sheet/index.d.ts +29 -1
  151. package/dist/components/base/sheet/sheet.d.ts +14 -5
  152. package/dist/components/base/spinner/spinner.d.ts +3 -2
  153. package/dist/components/base/structure/structure.types.d.ts +1 -1
  154. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  155. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  156. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  157. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  158. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  159. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  160. package/dist/components/blocks/analytics/index.d.ts +1 -1
  161. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  162. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  163. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  164. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  165. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  166. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  168. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  169. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  170. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  171. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  172. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  173. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  174. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  175. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  176. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  177. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  178. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  179. package/dist/components/features/overlays/drawer.d.ts +1 -1
  180. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  181. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  182. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  183. package/dist/components/features/overlays/overlays.types.d.ts +42 -19
  184. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  185. package/dist/components/features/products/partials/index.d.ts +1 -1
  186. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  187. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  188. package/dist/components/features/products/products.types.d.ts +2 -1
  189. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  190. package/dist/components/layout/page/index.d.ts +1 -1
  191. package/dist/components/layout/page/page.types.d.ts +53 -3
  192. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  193. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  194. package/dist/components/primitives/date.d.ts +16 -3
  195. package/dist/components/primitives/dimensions.d.ts +6 -0
  196. package/dist/components/primitives/duration.d.ts +6 -0
  197. package/dist/components/primitives/file-size.d.ts +6 -0
  198. package/dist/components/primitives/index.d.ts +1 -1
  199. package/dist/components/primitives/initials.d.ts +11 -2
  200. package/dist/components/primitives/link.d.ts +7 -0
  201. package/dist/components/primitives/money.d.ts +29 -7
  202. package/dist/components/primitives/number.d.ts +17 -0
  203. package/dist/components/primitives/value-typography.d.ts +54 -0
  204. package/dist/components/primitives/value.d.ts +31 -6
  205. package/dist/components/typography/heading.d.ts +9 -1
  206. package/dist/components/typography/label.d.ts +3 -0
  207. package/dist/components/typography/running-text.d.ts +12 -0
  208. package/dist/components/typography/text-link.d.ts +23 -1
  209. package/dist/components/typography/text.d.ts +12 -0
  210. package/dist/components/typography/text.styles.d.ts +35 -13
  211. package/dist/components/ui/button.d.ts +1 -1
  212. package/dist/components/ui/checkbox.d.ts +5 -0
  213. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  214. package/dist/components/ui/select.d.ts +3 -1
  215. package/dist/components/ui/switch.d.ts +5 -0
  216. package/dist/{containers-DqB-bSYE.js → containers-D_L4mTVb.js} +3 -3
  217. package/dist/{containers-DqB-bSYE.js.map → containers-D_L4mTVb.js.map} +1 -1
  218. package/dist/{copyable-BTSByfmq.js → copyable-DDjTeW_j.js} +4 -4
  219. package/dist/{copyable-BTSByfmq.js.map → copyable-DDjTeW_j.js.map} +1 -1
  220. package/dist/{data-display-Bihs9Ven.js → data-display-3xWQUnMA.js} +471 -478
  221. package/dist/data-display-3xWQUnMA.js.map +1 -0
  222. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  223. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  224. package/dist/date-pickers-CnFCb0n2.js +174 -0
  225. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  226. package/dist/date-uf3z37Nm.js +144 -0
  227. package/dist/date-uf3z37Nm.js.map +1 -0
  228. package/dist/{display-CS6Hbk18.js → display-DrdvPwF0.js} +25 -25
  229. package/dist/display-DrdvPwF0.js.map +1 -0
  230. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-CURh59jb.js} +22 -15
  231. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  232. package/dist/features/activities.js +38 -35
  233. package/dist/features/activities.js.map +1 -1
  234. package/dist/features/ai-chat.js +36 -35
  235. package/dist/features/ai-chat.js.map +1 -1
  236. package/dist/features/async-preview.js +8 -8
  237. package/dist/features/combobox.js +1 -1
  238. package/dist/features/comments.js +1 -1
  239. package/dist/features/data-view.js +10 -10
  240. package/dist/features/email-composer.js +325 -326
  241. package/dist/features/email-composer.js.map +1 -1
  242. package/dist/features/event-calendar.js +190 -200
  243. package/dist/features/event-calendar.js.map +1 -1
  244. package/dist/features/filters.js +1 -1
  245. package/dist/features/global-search.js +77 -77
  246. package/dist/features/global-search.js.map +1 -1
  247. package/dist/features/kanban.js +4 -4
  248. package/dist/features/map.js +8 -8
  249. package/dist/features/media-library.js +499 -502
  250. package/dist/features/media-library.js.map +1 -1
  251. package/dist/features/mentions.js +1 -1
  252. package/dist/features/overlays.js +1 -1
  253. package/dist/features/products.js +1216 -1248
  254. package/dist/features/products.js.map +1 -1
  255. package/dist/features/questionnaire.js +46 -44
  256. package/dist/features/questionnaire.js.map +1 -1
  257. package/dist/features/resource-assignment.js +96 -88
  258. package/dist/features/resource-assignment.js.map +1 -1
  259. package/dist/features/resource.js +11 -11
  260. package/dist/features/rich-text-editor.js +2 -2
  261. package/dist/features/schema-form.js +188 -184
  262. package/dist/features/schema-form.js.map +1 -1
  263. package/dist/features/suggestions.js +3 -3
  264. package/dist/features/sync.js +7 -7
  265. package/dist/features/sync.js.map +1 -1
  266. package/dist/features/table.js +1 -1
  267. package/dist/features/theme-tweaker.js +469 -470
  268. package/dist/features/theme-tweaker.js.map +1 -1
  269. package/dist/{feedback-CJkUAapr.js → feedback-C7nR0UtT.js} +9 -10
  270. package/dist/feedback-C7nR0UtT.js.map +1 -0
  271. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  272. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  273. package/dist/{field-state-recipes-DQQpiLWC.js → field-state-recipes-C-MFBX_8.js} +3 -3
  274. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  275. package/dist/{filters-D6FF8L6s.js → filters-Da-gNPsE.js} +467 -467
  276. package/dist/filters-Da-gNPsE.js.map +1 -0
  277. package/dist/{form-field-CZwrkP7m.js → form-field-VZRULhUK.js} +7 -7
  278. package/dist/{form-field-CZwrkP7m.js.map → form-field-VZRULhUK.js.map} +1 -1
  279. package/dist/form-sizing-uWP4lzVh.js +126 -0
  280. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  281. package/dist/{forms-B5NCbkSC.js → forms-DDeEnXSY.js} +11 -11
  282. package/dist/forms-DDeEnXSY.js.map +1 -0
  283. package/dist/forms-numeric-D3CO60IF.js +905 -0
  284. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  285. package/dist/{header-kxruN3RM.js → header-2ycNqGOR.js} +43 -42
  286. package/dist/header-2ycNqGOR.js.map +1 -0
  287. package/dist/{hooks-BrlnCwQd.js → hooks-DQ5SPwZw.js} +2 -2
  288. package/dist/{hooks-BrlnCwQd.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  289. package/dist/{icon-badge-Btc6pQrp.js → icon-badge-DKlaKXoo.js} +3 -3
  290. package/dist/{icon-badge-Btc6pQrp.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  291. package/dist/index.js +2 -2
  292. package/dist/{input-vxcaNCYC.js → input-BoLm9Hks.js} +3 -3
  293. package/dist/{input-vxcaNCYC.js.map → input-BoLm9Hks.js.map} +1 -1
  294. package/dist/input-DhQdBnV3.js +255 -0
  295. package/dist/{input-SX9V0AL3.js.map → input-DhQdBnV3.js.map} +1 -1
  296. package/dist/item-xzh8Df65.js +264 -0
  297. package/dist/item-xzh8Df65.js.map +1 -0
  298. package/dist/layout/app-shell.js +1 -1
  299. package/dist/layout/auth.js +1 -1
  300. package/dist/layout/containers.js +1 -1
  301. package/dist/layout/header.js +1 -1
  302. package/dist/layout/hooks.js +1 -1
  303. package/dist/layout/navigation.js +1 -1
  304. package/dist/layout/page.js +1 -1
  305. package/dist/layout/settings.js +1 -1
  306. package/dist/layout/sidebar.js +2 -2
  307. package/dist/layout/workspace.js +1 -1
  308. package/dist/layout.js +10 -10
  309. package/dist/lib/affordance-geometry.generated.d.ts +6 -1
  310. package/dist/lib/field-affordance-recipes.d.ts +35 -0
  311. package/dist/lib/field-state-recipes.d.ts +4 -2
  312. package/dist/lib/format.d.ts +9 -0
  313. package/dist/lib/money-format.d.ts +30 -0
  314. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  315. package/dist/lib/surface-recipes.d.ts +8 -6
  316. package/dist/lib/token-merge.generated.d.ts +11 -11
  317. package/dist/lib/track-recipes.d.ts +1 -1
  318. package/dist/lib/ui-provider/provider.d.ts +7 -2
  319. package/dist/lib/ui-provider/store.d.ts +6 -2
  320. package/dist/lib/ui-provider/types.d.ts +5 -2
  321. package/dist/lib/utils.js +1 -1
  322. package/dist/{media-gallery-DLp3HAz0.js → media-gallery-DQUQ0m3O.js} +8 -8
  323. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  324. package/dist/{mentions-Cl0Kt_Pd.js → mentions-DwnO1hh4.js} +34 -35
  325. package/dist/{mentions-Cl0Kt_Pd.js.map → mentions-DwnO1hh4.js.map} +1 -1
  326. package/dist/{message-SZUNB1eX.js → message-YfFmbXNP.js} +5 -5
  327. package/dist/{message-SZUNB1eX.js.map → message-YfFmbXNP.js.map} +1 -1
  328. package/dist/{navigation-DyytsLRB.js → navigation-Cbp5V8gG.js} +33 -34
  329. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  330. package/dist/{navigation-DnQSNMT0.js → navigation-Cs1npsPm.js} +111 -87
  331. package/dist/navigation-Cs1npsPm.js.map +1 -0
  332. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-DlU-4QYO.js} +2 -2
  333. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-DlU-4QYO.js.map} +1 -1
  334. package/dist/number-CKRBYmZK.js +352 -0
  335. package/dist/number-CKRBYmZK.js.map +1 -0
  336. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  337. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  338. package/dist/overlays-DhZO7N-I.js +994 -0
  339. package/dist/overlays-DhZO7N-I.js.map +1 -0
  340. package/dist/page-C6R_8jFt.js +325 -0
  341. package/dist/page-C6R_8jFt.js.map +1 -0
  342. package/dist/{page-header-D8nERkn5.js → page-header-hUTzcRZX.js} +9 -9
  343. package/dist/page-header-hUTzcRZX.js.map +1 -0
  344. package/dist/{pagination-NLGqRirf.js → pagination-Cm0jqa3I.js} +8 -8
  345. package/dist/{pagination-NLGqRirf.js.map → pagination-Cm0jqa3I.js.map} +1 -1
  346. package/dist/{popover-CghIYdQf.js → popover-Dcv_9jxr.js} +6 -6
  347. package/dist/{popover-CghIYdQf.js.map → popover-Dcv_9jxr.js.map} +1 -1
  348. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-DnRFKnHP.js} +6 -6
  349. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  350. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-wmbvL8Ah.js} +2 -2
  351. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-wmbvL8Ah.js.map} +1 -1
  352. package/dist/primitives-BHrwQXFC.js +379 -0
  353. package/dist/primitives-BHrwQXFC.js.map +1 -0
  354. package/dist/primitives.js +5 -5
  355. package/dist/{progress-BroqrAyV.js → progress-Br9WTFya.js} +7 -7
  356. package/dist/progress-Br9WTFya.js.map +1 -0
  357. package/dist/{receipt-BuJynLgf.js → receipt-CV89q1fs.js} +6 -6
  358. package/dist/{receipt-BuJynLgf.js.map → receipt-CV89q1fs.js.map} +1 -1
  359. package/dist/{rich-text-editor-BKyG7rWz.js → rich-text-editor-CF8QYt5p.js} +6 -6
  360. package/dist/{rich-text-editor-BKyG7rWz.js.map → rich-text-editor-CF8QYt5p.js.map} +1 -1
  361. package/dist/{rich-text-editor.recipes-B72Nfuze.js → rich-text-editor.recipes-CnrbmTS1.js} +4 -4
  362. package/dist/{rich-text-editor.recipes-B72Nfuze.js.map → rich-text-editor.recipes-CnrbmTS1.js.map} +1 -1
  363. package/dist/{rich-text-DlxDOtf4.js → rich-text-j-FGAeZW.js} +4 -4
  364. package/dist/{rich-text-DlxDOtf4.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  365. package/dist/{scroll-area-D-pIhEKl.js → scroll-area-DRdr16Pt.js} +3 -3
  366. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  367. package/dist/{separator-BhtFyo4x.js → separator-BMEvwnSX.js} +2 -2
  368. package/dist/{separator-BhtFyo4x.js.map → separator-BMEvwnSX.js.map} +1 -1
  369. package/dist/{separator-BNIgG3au.js → separator-Do5GWDYi.js} +4 -4
  370. package/dist/separator-Do5GWDYi.js.map +1 -0
  371. package/dist/services/actions/action-adapters.d.ts +4 -0
  372. package/dist/services/actions.js +8 -3
  373. package/dist/services/actions.js.map +1 -1
  374. package/dist/{settings-DOTOzeZ2.js → settings-DHk0L2MF.js} +17 -17
  375. package/dist/settings-DHk0L2MF.js.map +1 -0
  376. package/dist/sheet-DRFNY1_D.js +207 -0
  377. package/dist/sheet-DRFNY1_D.js.map +1 -0
  378. package/dist/sidebar-Cb8WzOvE.js +511 -0
  379. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  380. package/dist/{sidebar-CyR4XKwR.js → sidebar-Crc9M9JV.js} +18 -18
  381. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  382. package/dist/{skeleton-3F0uhYn3.js → skeleton-DVMXr15h.js} +4 -4
  383. package/dist/{skeleton-3F0uhYn3.js.map → skeleton-DVMXr15h.js.map} +1 -1
  384. package/dist/{smart-card-DjGVV2xr.js → smart-card-Bek-TwUp.js} +222 -207
  385. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  386. package/dist/{spinner-Cpf7oRkF.js → spinner-CmTAbEp0.js} +8 -6
  387. package/dist/spinner-CmTAbEp0.js.map +1 -0
  388. package/dist/{structure-CRdqVawd.js → structure-hzCW-XsV.js} +3 -3
  389. package/dist/{structure-CRdqVawd.js.map → structure-hzCW-XsV.js.map} +1 -1
  390. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  391. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  392. package/dist/style.css +1 -1
  393. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  394. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  395. package/dist/table-D6zKeYQX.js +162 -0
  396. package/dist/table-D6zKeYQX.js.map +1 -0
  397. package/dist/{table-CcRDZiLP.js → table-Dn4XSrSB.js} +348 -348
  398. package/dist/table-Dn4XSrSB.js.map +1 -0
  399. package/dist/{tabs-BNgu7g0u.js → tabs-Dk8E_knt.js} +14 -13
  400. package/dist/tabs-Dk8E_knt.js.map +1 -0
  401. package/dist/{text-inputs-DsR56TR-.js → text-inputs-BFpku0Qd.js} +150 -149
  402. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  403. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  404. package/dist/text.styles-g4He6UIW.js.map +1 -0
  405. package/dist/theme.css +16 -12
  406. package/dist/themes/green.css +24 -0
  407. package/dist/{timelines-D1pkt3se.js → timelines-CxuAFIc2.js} +25 -38
  408. package/dist/timelines-CxuAFIc2.js.map +1 -0
  409. package/dist/track-recipes-CDcKmndW.js +10 -0
  410. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  411. package/dist/{tree-BtmYyMZV.js → tree-BotPlyiD.js} +13 -13
  412. package/dist/{tree-BtmYyMZV.js.map → tree-BotPlyiD.js.map} +1 -1
  413. package/dist/typography/rich-text.js +1 -1
  414. package/dist/typography-CAr3dQhX.js +116 -0
  415. package/dist/typography-CAr3dQhX.js.map +1 -0
  416. package/dist/typography.js +2 -2
  417. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-D2_TeLqw.js} +20 -21
  418. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  419. package/dist/ui-provider.js +1 -1
  420. package/dist/{upload-CDbYw1WN.js → upload-B0WHW7ak.js} +221 -220
  421. package/dist/upload-B0WHW7ak.js.map +1 -0
  422. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-BHZ_wBfd.js} +59 -62
  423. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  424. package/dist/{usage-card-VyJLUwRr.js → usage-card-U0YBLTNT.js} +42 -43
  425. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-U0YBLTNT.js.map} +1 -1
  426. package/dist/{utils-BvH9PSmq.js → utils-Cospvlj1.js} +221 -51
  427. package/dist/utils-Cospvlj1.js.map +1 -0
  428. package/dist/value-inputs-CjfzGMsN.js +854 -0
  429. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  430. package/dist/value-typography-Deb3yQZg.js +116 -0
  431. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  432. package/dist/{workspace-CcR8r-Nt.js → workspace-YoFjXi6i.js} +44 -45
  433. package/dist/workspace-YoFjXi6i.js.map +1 -0
  434. package/docs/consumer-skill/SKILL.md +51 -38
  435. package/docs/consumer-skill/examples/app-layout.tsx +2 -4
  436. package/docs/consumer-skill/examples/detail.tsx +3 -4
  437. package/docs/consumer-skill/examples/edit.tsx +1 -1
  438. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  439. package/docs/consumer-skill/examples/manifest.json +28 -6
  440. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  441. package/docs/consumer-skill/references/composition.md +89 -17
  442. package/docs/consumer-skill/references/discovery.md +4 -0
  443. package/docs/consumer-skill/references/installation.md +22 -0
  444. package/docs/consumer-skill/references/integration.md +32 -1
  445. package/docs/consumer-skill/references/public-api.json +111 -70
  446. package/docs/consumer-skill/references/review.md +20 -4
  447. package/docs/consumer-skill/references/theming.md +7 -1
  448. package/docs/consumer-skill/references/tokens.json +5 -2
  449. package/docs/consumer-skill/references/workflows.md +4 -2
  450. package/docs/consumer-skill/scripts/composition-policy.mjs +93 -2
  451. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  452. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  453. package/package.json +5 -3
  454. package/dist/accordion-BRTcsp8J.js.map +0 -1
  455. package/dist/action-menu-Drxw_vJk.js +0 -265
  456. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  457. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  458. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  459. package/dist/avatar-Bu2HhitA.js.map +0 -1
  460. package/dist/badge-CzId1Wlm.js.map +0 -1
  461. package/dist/button-BZDasD04.js.map +0 -1
  462. package/dist/buttons-D_6KJvEE.js.map +0 -1
  463. package/dist/chart-Bsc5BICK.js.map +0 -1
  464. package/dist/checkbox-BQNDjUCh.js +0 -34
  465. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  466. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  467. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  468. package/dist/combobox-BFnbJJp3.js.map +0 -1
  469. package/dist/combobox-hozNwUcc.js.map +0 -1
  470. package/dist/command-BnmSchli.js.map +0 -1
  471. package/dist/comments-u5L0OGip.js.map +0 -1
  472. package/dist/data-display-Bihs9Ven.js.map +0 -1
  473. package/dist/date-DOKhJPu7.js +0 -140
  474. package/dist/date-DOKhJPu7.js.map +0 -1
  475. package/dist/date-picker-DzP5HQq7.js +0 -1541
  476. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  477. package/dist/date-pickers-BpgGz7S-.js +0 -196
  478. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  479. package/dist/display-CS6Hbk18.js.map +0 -1
  480. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  481. package/dist/feedback-CJkUAapr.js.map +0 -1
  482. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  483. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  484. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  485. package/dist/filters-D6FF8L6s.js.map +0 -1
  486. package/dist/form-sizing-QP8aIRaW.js +0 -103
  487. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  488. package/dist/format-iamDSqs2.js +0 -110
  489. package/dist/format-iamDSqs2.js.map +0 -1
  490. package/dist/forms-B5NCbkSC.js.map +0 -1
  491. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  492. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  493. package/dist/header-kxruN3RM.js.map +0 -1
  494. package/dist/input-SX9V0AL3.js +0 -255
  495. package/dist/item-DE4YnuJx.js +0 -258
  496. package/dist/item-DE4YnuJx.js.map +0 -1
  497. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  498. package/dist/navigation-DnQSNMT0.js.map +0 -1
  499. package/dist/navigation-DyytsLRB.js.map +0 -1
  500. package/dist/number-DasMFWEG.js +0 -269
  501. package/dist/number-DasMFWEG.js.map +0 -1
  502. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  503. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  504. package/dist/overlays-DUbs1KEi.js +0 -1011
  505. package/dist/overlays-DUbs1KEi.js.map +0 -1
  506. package/dist/page-hGmT4nWK.js +0 -213
  507. package/dist/page-hGmT4nWK.js.map +0 -1
  508. package/dist/page-header-D8nERkn5.js.map +0 -1
  509. package/dist/primitives-C7ff0QaI.js +0 -337
  510. package/dist/primitives-C7ff0QaI.js.map +0 -1
  511. package/dist/progress-BroqrAyV.js.map +0 -1
  512. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  513. package/dist/separator-BNIgG3au.js.map +0 -1
  514. package/dist/settings-DOTOzeZ2.js.map +0 -1
  515. package/dist/sheet-BFhrNehm.js +0 -205
  516. package/dist/sheet-BFhrNehm.js.map +0 -1
  517. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  518. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  519. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  520. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  521. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  522. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  523. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  524. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  525. package/dist/table-CLtJTxoR.js +0 -147
  526. package/dist/table-CLtJTxoR.js.map +0 -1
  527. package/dist/table-CcRDZiLP.js.map +0 -1
  528. package/dist/tabs-BNgu7g0u.js.map +0 -1
  529. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  530. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  531. package/dist/timelines-D1pkt3se.js.map +0 -1
  532. package/dist/track-recipes-LLPNVwFg.js +0 -10
  533. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  534. package/dist/typography-BxQgiZyw.js +0 -96
  535. package/dist/typography-BxQgiZyw.js.map +0 -1
  536. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  537. package/dist/upload-CDbYw1WN.js.map +0 -1
  538. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  539. package/dist/utils-BvH9PSmq.js.map +0 -1
  540. package/dist/value-inputs-D0KCrfVC.js +0 -840
  541. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  542. package/dist/workspace-CcR8r-Nt.js.map +0 -1
@@ -7,14 +7,22 @@ export type DateInput = NativeDate | string | number | null | undefined;
7
7
  type SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;
8
8
  export type DatePreset = 'compact' | 'short' | 'medium' | 'long';
9
9
  export interface DateProps extends SpanProps {
10
+ /** A native Date, ISO string or millisecond timestamp. Unparseable input renders the empty label. */
10
11
  value?: DateInput;
12
+ /** date-fns pattern; prefer `preset` so a screen stays consistent. */
11
13
  format?: string;
14
+ /** Library preset. Defaults to the provider `dates.format`, then `medium`. */
12
15
  preset?: DatePreset;
16
+ /** date-fns locale. Defaults to the provider `dates.locale`. */
13
17
  locale?: Locale;
18
+ /** Rendered with the shared empty treatment when the value is absent or invalid. Defaults to an em dash. */
14
19
  emptyLabel?: ReactNode;
20
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
15
21
  size?: TextSize;
16
22
  align?: TextProps['align'];
23
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
17
24
  weight?: TextProps['weight'];
25
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
18
26
  type?: TextProps['type'];
19
27
  ref?: Ref<HTMLSpanElement>;
20
28
  }
@@ -40,24 +48,29 @@ export interface DateRangeProps extends Omit<DateProps, 'value'>, DateRangeValue
40
48
  export interface RelativeTimeProps extends SpanProps {
41
49
  value?: DateInput;
42
50
  locale?: Locale;
51
+ /** Adds "ago"/"in". Defaults to `true`. */
43
52
  addSuffix?: boolean;
44
53
  includeSeconds?: boolean;
54
+ /** Rendered with the shared empty treatment when the value is absent or invalid. Defaults to an em dash. */
45
55
  emptyLabel?: ReactNode;
56
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
46
57
  size?: TextSize;
47
58
  align?: TextProps['align'];
59
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
48
60
  weight?: TextProps['weight'];
61
+ /** Colour role. Defaults to `secondary` for feeds; inside running text, the surrounding colour. */
49
62
  type?: TextProps['type'];
50
63
  formatRelativeTime?: (iso: string) => string;
51
64
  ref?: Ref<HTMLSpanElement>;
52
65
  }
53
66
  export declare function parseDateInput(value: DateInput): NativeDate | null;
54
67
  export declare function formatDateRange({ from, to }: DateRangeValue, { format, preset, locale, separator, }?: FormatDateRangeOptions): string | null;
55
- export declare function DatePrimitive({ value, format, preset, locale, emptyLabel, size, align, weight, type, className, ref, ...props }: DateProps): import("react").JSX.Element;
68
+ export declare function DatePrimitive({ value, format, preset, locale, emptyLabel, ...props }: DateProps): import("react").JSX.Element;
56
69
  export declare namespace DatePrimitive {
57
70
  var displayName: string;
58
71
  }
59
- export declare function Time({ value, format, preset, locale, emptyLabel, size, align, weight, type, className, ref, ...props }: TimeProps): import("react").JSX.Element;
60
- export declare function DateTime({ value, format, timeFormat, preset, locale, emptyLabel, size, align, weight, type, className, ref, ...props }: DateTimeProps): import("react").JSX.Element;
72
+ export declare function Time({ value, format, preset, locale, emptyLabel, ...props }: TimeProps): import("react").JSX.Element;
73
+ export declare function DateTime({ value, format, timeFormat, preset, locale, emptyLabel, ...props }: DateTimeProps): import("react").JSX.Element;
61
74
  export declare function DateRange({ from, to, format, preset, locale, separator, emptyLabel, size, align, weight, type, className, ref, ...props }: DateRangeProps): import("react").JSX.Element;
62
75
  export declare function RelativeTime({ value, locale, addSuffix, includeSeconds, emptyLabel, size, align, weight, type, formatRelativeTime, className, ref, ...props }: RelativeTimeProps): import("react").JSX.Element;
63
76
  export {};
@@ -18,13 +18,19 @@ export interface DimensionsProps extends SpanProps {
18
18
  separator?: ReactNode;
19
19
  locale?: string;
20
20
  options?: Intl.NumberFormatOptions;
21
+ /** Rendered with the shared empty treatment when width or height is missing. Defaults to an em dash. */
21
22
  emptyLabel?: ReactNode;
23
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
22
24
  size?: TextSize;
25
+ /** Text alignment. Defaults to `right` so columns of readings line up. */
23
26
  align?: TextProps['align'];
27
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
24
28
  weight?: TextProps['weight'];
29
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
25
30
  type?: TextProps['type'];
26
31
  ref?: Ref<HTMLSpanElement>;
27
32
  }
28
33
  export declare function formatDimensions(width: DimensionPart, height: DimensionPart, { depth, unit, separator, locale, options, }?: FormatDimensionsOptions): string | null;
34
+ /** A width × height (× depth) reading with localized numbers, sans UI font with tabular figures. */
29
35
  export declare function Dimensions({ width, height, depth, unit, separator, locale, options, emptyLabel, size, align, weight, type, className, ref, ...props }: DimensionsProps): import("react").JSX.Element;
30
36
  export {};
@@ -11,13 +11,19 @@ export interface DurationProps extends SpanProps {
11
11
  unitDisplay?: DurationUnitDisplay;
12
12
  minimumFractionDigits?: number;
13
13
  maximumFractionDigits?: number;
14
+ /** Rendered with the shared empty treatment when the value is absent. Defaults to an em dash. */
14
15
  emptyLabel?: ReactNode;
16
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
15
17
  size?: TextSize;
18
+ /** Text alignment. Defaults to `right` so columns of durations line up. */
16
19
  align?: TextProps['align'];
20
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
17
21
  weight?: TextProps['weight'];
22
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
18
23
  type?: TextProps['type'];
19
24
  ref?: Ref<HTMLSpanElement>;
20
25
  }
26
+ /** An elapsed span in localized units, sans UI font with tabular figures. */
21
27
  export declare function Duration({ value, from, locale, maxParts, unitDisplay, minimumFractionDigits, maximumFractionDigits, emptyLabel, size, align, weight, type, className, ref, ...props }: DurationProps): import("react").JSX.Element;
22
28
  export { formatDuration } from '../../lib/format';
23
29
  export type { DurationUnit, DurationUnitDisplay, FormatDurationOptions } from '../../lib/format';
@@ -7,10 +7,15 @@ export interface FileSizeProps extends SpanProps {
7
7
  value?: number | null;
8
8
  from?: FileSizeUnit;
9
9
  locale?: string;
10
+ /** Rendered with the shared empty treatment when the value is absent or not positive. Defaults to an em dash. */
10
11
  emptyLabel?: ReactNode;
12
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
11
13
  size?: TextSize;
14
+ /** Text alignment. Defaults to `right` so columns of sizes line up. */
12
15
  align?: TextProps['align'];
16
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
13
17
  weight?: TextProps['weight'];
18
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
14
19
  type?: TextProps['type'];
15
20
  ref?: Ref<HTMLSpanElement>;
16
21
  }
@@ -19,5 +24,6 @@ export interface FileSizeFormatOptions {
19
24
  locale?: string;
20
25
  }
21
26
  export declare function formatFileSize(value?: number | null, options?: FileSizeFormatOptions | string): string | null;
27
+ /** A byte count in the largest readable unit, sans UI font with tabular figures. */
22
28
  export declare function FileSize({ value, from, locale, emptyLabel, size, align, weight, type, className, ref, ...props }: FileSizeProps): import("react").JSX.Element;
23
29
  export {};
@@ -3,7 +3,7 @@ export { Name, formatName, type NameProps, type NameFormatOptions, } from './nam
3
3
  export { Initials, type InitialsProps, } from './initials';
4
4
  export { formatInitials, type InitialsFormatOptions, type InitialsStrategy, type InitialsMaxCharacters, } from './initials-format';
5
5
  export { Link, Email, Phone, Url, type LinkProps, type EmailProps, type PhoneProps, type UrlProps, } from './link';
6
- export { Money, type MoneyProps, type MoneyValue, type MoneyUnit, type MoneyLayout, type MoneySecondaryEmphasis, } from './money';
6
+ export { Money, useMoneyFormatter, type MoneyFormatter, type MoneyFormatterOptions, type MoneyProps, type MoneyValue, type MoneyUnit, type MoneyLayout, type MoneySecondaryEmphasis, } from './money';
7
7
  export { DatePrimitive as Date, Time, DateTime, DateRange, RelativeTime, formatDateRange, parseDateInput, type DateProps, type TimeProps, type DateTimeProps, type DateRangeProps, type DateRangeValue, type FormatDateRangeOptions, type RelativeTimeProps, type DatePreset, type DateInput, } from './date';
8
8
  export { Number, Percent, type NumberProps, type PercentProps, } from './number';
9
9
  export { FileSize, formatFileSize, type FileSizeProps, type FileSizeUnit, } from './file-size';
@@ -11,6 +11,15 @@ export interface InitialsProps extends Omit<ValueProps, 'children'> {
11
11
  locale?: string;
12
12
  /** Returned when no usable letter or number exists. Defaults to an empty string. */
13
13
  fallback?: string;
14
+ /** Defaults to `inherit`: the avatar or chip that hosts the initials owns their size. */
15
+ size?: ValueProps['size'];
16
+ /** Defaults to `inherit`: the host owns the colour, such as an avatar fallback tone. */
17
+ type?: ValueProps['type'];
18
+ /** Defaults to `inherit`: the host owns the weight. */
19
+ weight?: ValueProps['weight'];
14
20
  }
15
- /** Semantic displayed initials for identities and avatar fallbacks. */
16
- export declare function Initials({ value, strategy, maxCharacters, locale, fallback, size, className, ref, ...props }: InitialsProps): import("react").JSX.Element;
21
+ /**
22
+ * Semantic displayed initials for identities and avatar fallbacks. They take the
23
+ * size, colour and weight of the avatar or chip that hosts them.
24
+ */
25
+ export declare function Initials({ value, strategy, maxCharacters, locale, fallback, size, type, weight, className, ref, ...props }: InitialsProps): import("react").JSX.Element;
@@ -1,9 +1,16 @@
1
1
  import { type AnchorHTMLAttributes, type ReactNode, type Ref } from 'react';
2
2
  export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
3
3
  children?: ReactNode;
4
+ /** Rendered instead of a dead link when there is nothing to show. Defaults to an em dash. */
4
5
  emptyLabel?: ReactNode;
5
6
  ref?: Ref<HTMLAnchorElement>;
6
7
  }
8
+ /**
9
+ * Link-coloured inline value. Standalone it uses the provider text size with an
10
+ * underline on hover. Inside running text it takes the sentence's size, weight
11
+ * and leading and stays underlined, because colour alone does not set a link
12
+ * apart from the words around it.
13
+ */
7
14
  export declare function Link({ children, emptyLabel, className, ref, ...props }: LinkProps): import("react").JSX.Element;
8
15
  export interface EmailProps extends Omit<LinkProps, 'href' | 'children' | 'ref'> {
9
16
  value?: string | null;
@@ -32,21 +32,27 @@ export interface MoneyProps extends SpanProps, MoneyValue {
32
32
  ref?: Ref<HTMLElement>;
33
33
  /** BCP-47 locale override. Falls back to `UIProvider.formatting.locale`. */
34
34
  locale?: string;
35
- /** Content rendered when the amount is absent or cannot be parsed. */
35
+ /** Content rendered, with the shared empty treatment, when the amount is absent or cannot be parsed. */
36
36
  emptyLabel?: ReactNode;
37
- /** Typography size for both primary and secondary monetary values. */
37
+ /**
38
+ * Typography size for the primary value (and a `match` secondary). Defaults to
39
+ * the provider text size; inside running text, the surrounding size.
40
+ */
38
41
  size?: TextSize;
39
42
  /** Inline text alignment. Defaults to right alignment for numeric scanning. */
40
43
  align?: TextProps['align'];
41
- /** Typography weight for the primary value. */
44
+ /** Weight of the primary value. Defaults to `medium`; inside running text, the surrounding weight. */
42
45
  weight?: TextProps['weight'];
43
- /** Primary or secondary semantic text tone. */
46
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
44
47
  type?: TextProps['type'];
45
48
  /** Semantic root element used by the typography primitive. */
46
49
  tag?: TextProps['tag'];
47
- /** Line-height preset applied to the root value. */
50
+ /** Line-height preset applied to the root value. Defaults to `normal`; inside running text, the surrounding leading. */
48
51
  lineHeight?: TextProps['lineHeight'];
49
- /** Applies the typography primitive's monospace numeric treatment. */
52
+ /**
53
+ * Opt-in monospace figures. Amounts already render in the sans UI font with
54
+ * tabular figures; reserve this for code-like ledgers. Defaults to `false`.
55
+ */
50
56
  numeric?: TextProps['numeric'];
51
57
  /**
52
58
  * Optional converted/display value. Passing it is an explicit request to
@@ -67,6 +73,22 @@ export interface MoneyProps extends SpanProps, MoneyValue {
67
73
  /** Inline separator. Defaults to a quiet middle dot; pass an arrow for conversion flows. */
68
74
  separator?: ReactNode;
69
75
  }
76
+ /** Options for formatting money as text; they mirror the Money primitive's value props. */
77
+ export type MoneyFormatterOptions = Omit<MoneyValue, 'amount'> & {
78
+ /** BCP-47 locale override. Falls back to `UIProvider.formatting.locale`. */
79
+ locale?: string;
80
+ /** Text returned when the amount is absent or cannot be parsed. */
81
+ emptyLabel?: string;
82
+ };
83
+ /** Formats an amount as text; per-call options win over the hook's defaults. */
84
+ export type MoneyFormatter = (amount: MoneyValue['amount'], options?: MoneyFormatterOptions) => string;
85
+ /**
86
+ * Text formatting with the Money primitive's rules and UIProvider defaults, for
87
+ * places that need a string: button labels, toasts, activity text, aria labels.
88
+ * Pass defaults such as `{ currency: 'USD' }` once for a screen whose amounts
89
+ * share a currency.
90
+ */
91
+ export declare function useMoneyFormatter(defaults?: MoneyFormatterOptions): MoneyFormatter;
70
92
  /**
71
93
  * Canonical monetary display primitive.
72
94
  *
@@ -75,5 +97,5 @@ export interface MoneyProps extends SpanProps, MoneyValue {
75
97
  * this component instead of composing separate money-display or currency-pair
76
98
  * wrappers.
77
99
  */
78
- export declare function Money({ amount, currency, unit, minorUnitScale, symbol, locale, currencyDisplay, minimumFractionDigits, maximumFractionDigits, formatMode, emptyLabel, size, align, weight, type, tag, lineHeight, numeric, secondary, displayMode, layout, secondaryEmphasis, separator, className, ref, ...props }: MoneyProps): import("react").JSX.Element;
100
+ export declare function Money({ amount, currency, unit, minorUnitScale, symbol, locale, currencyDisplay, minimumFractionDigits, maximumFractionDigits, formatMode, emptyLabel, size: sizeProp, align, weight: weightProp, type: typeProp, tag, lineHeight: lineHeightProp, numeric, secondary, displayMode, layout, secondaryEmphasis, separator, className, ref, ...props }: MoneyProps): import("react").JSX.Element;
79
101
  export {};
@@ -4,20 +4,37 @@ import type { TextSize } from '../../lib/ui-provider';
4
4
  type SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;
5
5
  export interface NumberProps extends SpanProps {
6
6
  value?: number | string | null;
7
+ /** BCP-47 locale override. Falls back to `UIProvider.formatting.locale`. */
7
8
  locale?: string;
9
+ /** Passed to `Intl.NumberFormat`; for example `signDisplay: 'exceptZero'` for deltas. */
8
10
  options?: Intl.NumberFormatOptions;
11
+ /** Rendered with the shared empty treatment when the value is absent or unparsable. Defaults to an em dash. */
9
12
  emptyLabel?: ReactNode;
13
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
10
14
  size?: TextSize;
15
+ /** Text alignment. Defaults to `right` so columns of figures line up. */
11
16
  align?: TextProps['align'];
17
+ /** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */
12
18
  weight?: TextProps['weight'];
19
+ /** Colour role. Defaults to `main`; inside running text, the surrounding colour. */
13
20
  type?: TextProps['type'];
14
21
  ref?: Ref<HTMLSpanElement>;
15
22
  }
16
23
  export interface PercentProps extends Omit<NumberProps, 'options'> {
24
+ /** The value is already 0–100 rather than a 0–1 ratio. Defaults to `false`. */
17
25
  scaled?: boolean;
26
+ /** Passed to `Intl.NumberFormat` after the percent style and one-decimal default. */
18
27
  options?: Intl.NumberFormatOptions;
19
28
  ref?: Ref<HTMLSpanElement>;
20
29
  }
30
+ /**
31
+ * A locale-formatted count or quantity in the sans UI font with tabular figures.
32
+ * Negative values use the typographic minus sign (U+2212).
33
+ */
21
34
  export declare function Number({ value, locale, options, emptyLabel, size, align, weight, type, className, ref, ...props }: NumberProps): import("react").JSX.Element;
35
+ /**
36
+ * A percentage in the sans UI font with tabular figures. Expects a 0–1 ratio
37
+ * unless `scaled`; one decimal place by default; negative values use U+2212.
38
+ */
22
39
  export declare function Percent({ value, locale, scaled, options, emptyLabel, size, align, weight, type, className, ref, ...props }: PercentProps): import("react").JSX.Element;
23
40
  export {};
@@ -0,0 +1,54 @@
1
+ import type { TextSize } from '../../lib/ui-provider';
2
+ import type { TextProps } from '../typography/text';
3
+ type TextType = NonNullable<TextProps['type']>;
4
+ type TextWeight = NonNullable<TextProps['weight']>;
5
+ type TextLineHeight = NonNullable<TextProps['lineHeight']>;
6
+ /** Typography props a value primitive accepts and passes to `Text`. */
7
+ export interface ValueTypographyProps {
8
+ size?: TextSize;
9
+ type?: TextProps['type'];
10
+ weight?: TextProps['weight'];
11
+ lineHeight?: TextProps['lineHeight'];
12
+ }
13
+ /** Resolved typography; `undefined` size means the provider default. */
14
+ export interface ValueTypography {
15
+ size: TextSize | undefined;
16
+ type: TextType;
17
+ weight: TextWeight;
18
+ lineHeight: TextLineHeight | undefined;
19
+ }
20
+ /** Standalone role of a value primitive. */
21
+ export interface ValueTypographyRole {
22
+ /** Colour role outside running text. */
23
+ type: TextType;
24
+ /** Weight outside running text. */
25
+ weight: TextWeight;
26
+ /** Size outside running text; the provider default when omitted. */
27
+ size?: TextSize;
28
+ /**
29
+ * Keep the colour role inside running text. Secondary, muted and empty values
30
+ * stay recessive in a sentence; ordinary values take the sentence colour.
31
+ */
32
+ keepType?: boolean;
33
+ /**
34
+ * Leading inside running text. Defaults to the surrounding leading. A span in
35
+ * another font family (monospace) uses `none` so its own ascent and descent
36
+ * never grow the sentence's line box; the line keeps the sentence leading.
37
+ */
38
+ inTextLineHeight?: TextLineHeight;
39
+ }
40
+ /**
41
+ * Resolves what a value primitive passes to `Text`. Explicit props always win.
42
+ * Inside running text (a `Text`, `Heading`, label, link or value parent) unset
43
+ * size, colour, weight and leading inherit the surrounding text, so an SKU or an
44
+ * amount in a sentence matches the words around it. A standalone value keeps
45
+ * its role defaults and the provider text size.
46
+ */
47
+ export declare function useValueTypography(props: ValueTypographyProps, role: ValueTypographyRole): ValueTypography;
48
+ /**
49
+ * The shared missing-value treatment (`EmptyValue`): secondary colour and a
50
+ * regular weight at the value's size. An explicit weight is kept; inside
51
+ * running text the weight follows the sentence.
52
+ */
53
+ export declare function emptyValueTypography(resolved: ValueTypography, explicitWeight: TextProps['weight']): ValueTypography;
54
+ export {};
@@ -2,22 +2,47 @@ import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';
2
2
  import { type TextProps } from '../typography';
3
3
  import type { TextSize } from '../../lib/ui-provider';
4
4
  type SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;
5
- export type ValueType = Extract<TextProps['type'], 'main' | 'secondary'>;
5
+ /** Value colour roles: foreground, secondary, or the surrounding text colour. */
6
+ export type ValueType = Extract<TextProps['type'], 'main' | 'secondary' | 'inherit'>;
6
7
  export interface ValueProps extends SpanProps {
7
8
  children?: ReactNode;
9
+ /** Rendered with the shared empty treatment when children are absent. Defaults to an em dash. */
8
10
  emptyLabel?: ReactNode;
11
+ /**
12
+ * Text size. A standalone value uses the provider text size; inside running
13
+ * text (`Text`, `Heading`, labels, links, other values) it inherits the size.
14
+ */
9
15
  size?: TextSize;
10
16
  align?: TextProps['align'];
17
+ /** Font weight. Defaults to the component's role weight; inside running text, the surrounding weight. */
11
18
  weight?: TextProps['weight'];
19
+ /** Colour role. Defaults to the component's role; inside running text `Value` and `MonoValue` take the surrounding colour. */
12
20
  type?: ValueType;
13
21
  ref?: Ref<HTMLSpanElement>;
14
22
  }
15
- export declare function Value({ children, emptyLabel, size, align, weight, type, className, ref, ...props }: ValueProps): import("react").JSX.Element;
16
- export declare function SecondaryValue({ children, emptyLabel, size, align, weight, type, className, ref, ...props }: ValueProps): import("react").JSX.Element;
17
- export declare function MutedValue({ children, emptyLabel, size, align, weight, type, className, ref, ...props }: ValueProps): import("react").JSX.Element;
18
- export declare function MonoValue({ children, emptyLabel, size, align, weight, type, className, ref, ...props }: ValueProps): import("react").JSX.Element;
23
+ /**
24
+ * An ordinary displayed fact: foreground, regular weight. Inside running text it
25
+ * takes the sentence's size, colour and weight.
26
+ */
27
+ export declare function Value(props: ValueProps): import("react").JSX.Element;
28
+ /** Supporting detail in the secondary colour. Inside running text it keeps the colour and takes the size and weight. */
29
+ export declare function SecondaryValue(props: ValueProps): import("react").JSX.Element;
30
+ /** A note that recedes further than secondary text. */
31
+ export declare function MutedValue(props: ValueProps): import("react").JSX.Element;
32
+ /**
33
+ * An identifier or code (SKU, reference, tracking number, key) in the monospace
34
+ * family. Standalone it is foreground medium at the provider size; inside running
35
+ * text only the family changes, so an SKU in a description matches the words
36
+ * around it. Amounts and dates belong to the number primitives, which keep the
37
+ * sans font with tabular figures.
38
+ */
39
+ export declare function MonoValue(props: ValueProps): import("react").JSX.Element;
19
40
  export interface EmptyValueProps extends Omit<ValueProps, 'emptyLabel'> {
20
41
  ref?: Ref<HTMLSpanElement>;
21
42
  }
22
- export declare function EmptyValue({ children, size, align, weight, type, className, ref, ...props }: EmptyValueProps): import("react").JSX.Element;
43
+ /**
44
+ * An intentionally absent value: secondary colour, regular weight. Every value
45
+ * primitive renders its missing state with this treatment.
46
+ */
47
+ export declare function EmptyValue({ children, ...props }: EmptyValueProps): import("react").JSX.Element;
23
48
  export {};
@@ -5,14 +5,22 @@ export type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
5
5
  export type HeadingSize = keyof typeof headingSizes;
6
6
  export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
7
7
  ref?: Ref<HTMLHeadingElement>;
8
+ /** Semantic outline level. Defaults to `h3`; it never changes the visual size. */
8
9
  tag?: HeadingTag;
9
- /** Visual emphasis; semantic tag and the default admin size remain independent. */
10
+ /**
11
+ * Visual emphasis, independent of `tag`. Defaults to the compact admin `base`.
12
+ * `xl` and larger tighten tracking; `2xl` and larger also tighten leading.
13
+ */
10
14
  size?: HeadingSize;
15
+ /** Secondary line under the title, rendered as secondary `Text`. */
11
16
  subHeading?: ReactNode;
12
17
  subHeadingClassName?: string;
18
+ /** Text size of `subHeading`; defaults to the provider text size. */
13
19
  subHeadingSize?: TextSize;
14
20
  containerClassName?: string;
21
+ /** Text alignment for the title and sub-heading. Defaults to `left`. */
15
22
  align?: keyof typeof textAlignments;
23
+ /** Adds a bottom rule under the title. Defaults to `false`. */
16
24
  divider?: boolean;
17
25
  }
18
26
  /** Semantic heading levels share Themelia's restrained admin heading scale. */
@@ -1,8 +1,11 @@
1
1
  import type { LabelHTMLAttributes, ReactNode, Ref } from 'react';
2
2
  import type { ComponentScale } from '../../lib/component-vocabulary';
3
3
  export interface LabelProps extends Omit<LabelHTMLAttributes<HTMLLabelElement>, 'content'> {
4
+ /** Fallback content; children take precedence. */
4
5
  content?: ReactNode;
6
+ /** Control scale the caption belongs to (`sm` → xs, `md` → sm, `lg` → base). Defaults to the provider density scale. */
5
7
  size?: ComponentScale;
6
8
  ref?: Ref<HTMLLabelElement>;
7
9
  }
10
+ /** Form caption for a control; medium weight, foreground, no incidental margins. */
8
11
  export declare function Label({ content, children, size, className, ref, ...props }: LabelProps): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * True below an element that renders running text: `Text`, `Heading`,
3
+ * `DisplayLabel`, `Label`, `TextLink` and the inline value primitives.
4
+ *
5
+ * Inline value primitives read it to tell a value inside a sentence from a
6
+ * standalone value. Inside running text their unset size, colour, weight and
7
+ * leading inherit from the surrounding text; standalone values keep their role
8
+ * defaults. Explicit props always win.
9
+ */
10
+ export declare const RunningTextContext: import("react").Context<boolean>;
11
+ /** Whether the caller renders inside running text owned by a typography role. */
12
+ export declare function useInRunningText(): boolean;
@@ -1,7 +1,29 @@
1
1
  import type { AnchorHTMLAttributes, Ref } from 'react';
2
2
  import type { TextProps } from './text';
3
+ /**
4
+ * Inline-link mechanics shared by `TextLink` and the link primitives. As a flex
5
+ * or grid item the link hugs its text, so neither the hit area nor the focus
6
+ * ring stretches across the row. The full-strength ring uses the small radius
7
+ * role and follows every line of a wrapped link. Links keep one colour whether
8
+ * or not they were visited: the role colour is explicit.
9
+ */
10
+ export declare const inlineLinkClassName = "w-fit max-w-full rounded-radius-xs outline-none box-decoration-clone transition-colors motion-reduce:transition-none focus-visible:ring-2 focus-visible:ring-ring";
11
+ /** Underline geometry shared with content links: proportional to the text size. */
12
+ export declare const linkUnderlineClassName = "underline decoration-current underline-offset-[0.2em]";
3
13
  export interface TextLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'type'>, Pick<TextProps, 'type' | 'size' | 'weight' | 'align' | 'lineHeight'> {
14
+ /** Text size. Defaults to the provider text size; inside running text, the surrounding size. */
15
+ size?: TextProps['size'];
16
+ /**
17
+ * Underlined at rest, clearing on hover. Defaults to `true`; keep it for links
18
+ * whose colour matches the surrounding text. `false` renders no underline and
19
+ * leaves the hover treatment to the composition (a row, chip or menu).
20
+ */
4
21
  underline?: boolean;
5
22
  ref?: Ref<HTMLAnchorElement>;
6
23
  }
7
- export declare function TextLink({ type, size, weight, align, lineHeight, underline, className, ref, ...props }: TextLinkProps): import("react").JSX.Element;
24
+ /**
25
+ * Native anchor sibling of `Text`: the same roles plus link focus and hover
26
+ * states. Inside running text an unset size, weight and leading follow the
27
+ * sentence; the colour role stays, so the link still reads as a link.
28
+ */
29
+ export declare function TextLink({ type, size, weight, align, lineHeight, underline, className, ref, children, ...props }: TextLinkProps): import("react").JSX.Element;
@@ -5,13 +5,25 @@ export interface TextProps extends Omit<ComponentPropsWithoutRef<'p'>, 'children
5
5
  /** Plain text fallback; children take precedence, including zero and empty strings. */
6
6
  content?: string;
7
7
  children?: ReactNode;
8
+ /** Colour role. Defaults to `main`; `inherit` keeps the surrounding text colour. */
8
9
  type?: keyof typeof textTypes;
10
+ /** Text size. Defaults to the provider `typography.defaultTextSize` (`sm`). */
9
11
  size?: TextSize;
12
+ /** Font weight. Defaults to `regular`; `inherit` keeps the surrounding weight. */
10
13
  weight?: keyof typeof textWeights;
14
+ /** Text alignment. Defaults to `left`; `left` and `right` follow the reading direction. */
11
15
  align?: keyof typeof textAlignments;
16
+ /** Line height. Defaults to `normal`; `inherit` keeps the surrounding leading. */
12
17
  lineHeight?: keyof typeof textLineHeights;
18
+ /** Renders the inverse colour role on inverse surfaces. Defaults to `false`. */
13
19
  invert?: boolean;
20
+ /**
21
+ * Monospace with tabular figures, for identifiers and code-like values. Numbers,
22
+ * amounts and dates use the number primitives (tabular sans figures) instead.
23
+ * Defaults to `false`.
24
+ */
14
25
  numeric?: boolean;
26
+ /** Rendered element. Defaults to `p`. */
15
27
  tag?: 'div' | 'p' | 'span';
16
28
  }
17
29
  export declare const Text: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<HTMLElement>>;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Text roles. `inherit` keeps the surrounding text's role: an inline span inside
3
+ * a sentence takes its colour, weight or leading instead of resetting them. Colour
4
+ * uses an explicit inherit utility because anchors otherwise fall back to the
5
+ * browser link colour without preflight; weight and leading emit no class.
6
+ */
1
7
  export declare const textTypes: {
2
8
  readonly main: "text-foreground";
3
9
  readonly inverse: "text-inverse-foreground";
@@ -6,6 +12,7 @@ export declare const textTypes: {
6
12
  readonly error: "text-destructive";
7
13
  readonly success: "text-success";
8
14
  readonly primary: "text-primary-accent";
15
+ readonly inherit: "text-inherit";
9
16
  };
10
17
  export declare const textSizes: {
11
18
  readonly inherit: "[font-size:inherit]";
@@ -17,15 +24,19 @@ export declare const textSizes: {
17
24
  readonly lg: "text-lg";
18
25
  readonly xl: "text-xl";
19
26
  };
20
- /** Semantic heading level is independent of visual emphasis. No additional theme roots. */
27
+ /**
28
+ * Semantic heading level is independent of visual emphasis. No additional theme
29
+ * roots: compact admin sizes keep snug leading; display sizes (xl and up) tighten
30
+ * tracking and 2xl and up tighten leading so multi-line titles stay one block.
31
+ */
21
32
  export declare const headingSizes: {
22
- readonly sm: "text-sm";
23
- readonly base: "text-base";
24
- readonly lg: "text-lg";
25
- readonly xl: "text-xl";
26
- readonly '2xl': "text-2xl";
27
- readonly '3xl': "text-3xl";
28
- readonly '4xl': "text-4xl";
33
+ readonly sm: "text-sm leading-snug";
34
+ readonly base: "text-base leading-snug";
35
+ readonly lg: "text-lg leading-snug";
36
+ readonly xl: "text-xl leading-snug tracking-tight";
37
+ readonly '2xl': "text-2xl leading-tight tracking-tight";
38
+ readonly '3xl': "text-3xl leading-tight tracking-tight";
39
+ readonly '4xl': "text-4xl leading-tight tracking-tight";
29
40
  };
30
41
  export declare const textWeights: {
31
42
  readonly normal: "font-normal";
@@ -33,11 +44,16 @@ export declare const textWeights: {
33
44
  readonly medium: "font-medium";
34
45
  readonly semibold: "font-semibold";
35
46
  readonly bold: "font-bold";
47
+ readonly inherit: "";
36
48
  };
49
+ /**
50
+ * `left` and `right` follow the reading direction (start and end), so default
51
+ * text and right-aligned figures mirror correctly under `dir="rtl"`.
52
+ */
37
53
  export declare const textAlignments: {
38
- readonly left: "text-left";
54
+ readonly left: "text-start";
39
55
  readonly center: "text-center";
40
- readonly right: "text-right";
56
+ readonly right: "text-end";
41
57
  };
42
58
  export declare const textLineHeights: {
43
59
  readonly normal: "leading-normal";
@@ -46,13 +62,19 @@ export declare const textLineHeights: {
46
62
  readonly tight: "leading-tight";
47
63
  readonly snug: "leading-snug";
48
64
  readonly none: "leading-none";
65
+ readonly inherit: "";
49
66
  };
67
+ /**
68
+ * `numeric` is the monospace treatment for identifiers and code-like values
69
+ * (`font-mono tabular-nums`). Numbers, amounts, dates and durations use the
70
+ * number primitives, which keep the sans UI font with tabular figures.
71
+ */
50
72
  export declare const textVariants: (props?: ({
51
- type?: "primary" | "secondary" | "success" | "main" | "inverse" | "discrete" | "error" | null | undefined;
73
+ type?: "primary" | "secondary" | "success" | "inherit" | "main" | "inverse" | "discrete" | "error" | null | undefined;
52
74
  size?: "sm" | "lg" | "inherit" | "xxs" | "xs" | "pxs" | "base" | "xl" | null | undefined;
53
- weight?: "bold" | "normal" | "medium" | "regular" | "semibold" | null | undefined;
75
+ weight?: "inherit" | "bold" | "normal" | "medium" | "regular" | "semibold" | null | undefined;
54
76
  align?: "center" | "left" | "right" | null | undefined;
55
- lineHeight?: "none" | "normal" | "loose" | "relaxed" | "tight" | "snug" | null | undefined;
77
+ lineHeight?: "inherit" | "none" | "normal" | "loose" | "relaxed" | "tight" | "snug" | null | undefined;
56
78
  numeric?: boolean | null | undefined;
57
79
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
58
80
  export declare function resolveTextClassNames(options: Parameters<typeof textVariants>[0] & {
@@ -4,7 +4,7 @@ import * as React from 'react';
4
4
  /** Internal presentation only; public buttons own the stable tone/style API. */
5
5
  export declare const buttonVariants: (props?: ({
6
6
  variant?: "secondary" | "destructive" | "default" | "outline" | "ghost" | "link" | null | undefined;
7
- size?: "sm" | "lg" | "xs" | "default" | "icon" | "icon-sm" | "icon-lg" | "icon-xs" | null | undefined;
7
+ size?: "sm" | "lg" | "xs" | "default" | "icon" | "icon-lg" | "icon-sm" | "icon-xs" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export declare namespace Button {
10
10
  type Props = ButtonPrimitive.Props & VariantProps<typeof buttonVariants>;
@@ -2,5 +2,10 @@ import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
2
2
  export interface CheckboxProps extends Omit<CheckboxPrimitive.Root.Props, 'onChange'> {
3
3
  onCheckedChange?: (checked: boolean | 'indeterminate') => void;
4
4
  }
5
+ /**
6
+ * Raw checkbox recipe. The boundary is the shared `--input` control border
7
+ * (3:1 on every surface), focus is the shared full-strength ring, and invalid
8
+ * follows the field-state contract (soft halo, full-strength ring on focus).
9
+ */
5
10
  declare function Checkbox({ className, onCheckedChange, ...props }: CheckboxProps): import("react").JSX.Element;
6
11
  export { Checkbox };
@@ -1,2 +1,15 @@
1
- /** One modal scrim recipe; the color comes from the shared semantic token. */
2
- export declare const modalBackdropRecipe = "fixed inset-0 z-50 bg-(--overlay-backdrop) supports-backdrop-filter:backdrop-blur-sm";
1
+ import * as React from 'react';
2
+ /**
3
+ * One modal scrim recipe: a plain tint from the shared semantic token. No
4
+ * backdrop blur — the page behind a modal stays recognisable and the tint alone
5
+ * separates the surface.
6
+ */
7
+ export declare const modalBackdropRecipe = "fixed inset-0 z-50 bg-(--overlay-backdrop)";
8
+ /**
9
+ * Marks which edges of a scrolling modal region are hiding content:
10
+ * `data-scroll-start` while content is scrolled out above, `data-scroll-end`
11
+ * while more content remains below. The modal region recipe draws a rule only
12
+ * on those edges, so a body that fits draws none. Attributes are written to the
13
+ * node directly, so scrolling never re-renders the region.
14
+ */
15
+ export declare function useScrollEdges<T extends HTMLElement>(forwardedRef?: React.Ref<T>): React.RefCallback<T>;