themelia-react-ui 2.0.0 → 2.0.2

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 (707) hide show
  1. package/CHANGELOG.md +527 -0
  2. package/README.md +47 -14
  3. package/THIRD_PARTY_NOTICES.md +13 -0
  4. package/dist/accordion-Cjb6sx0G.js +208 -0
  5. package/dist/accordion-Cjb6sx0G.js.map +1 -0
  6. package/dist/action-menu-CllU52Mm.js +280 -0
  7. package/dist/action-menu-CllU52Mm.js.map +1 -0
  8. package/dist/affordance-geometry.generated-tF36bREk.js +140 -0
  9. package/dist/affordance-geometry.generated-tF36bREk.js.map +1 -0
  10. package/dist/ai-artifact-DvTwDVyL.js +1148 -0
  11. package/dist/ai-artifact-DvTwDVyL.js.map +1 -0
  12. package/dist/{app-shell-BE_j8-AT.js → app-shell-C4FhvCqF.js} +5 -5
  13. package/dist/{app-shell-BE_j8-AT.js.map → app-shell-C4FhvCqF.js.map} +1 -1
  14. package/dist/attachment-BxDfL2mw.js +246 -0
  15. package/dist/attachment-BxDfL2mw.js.map +1 -0
  16. package/dist/{auth-M3vGMgDR.js → auth-ax2BqjrI.js} +241 -235
  17. package/dist/auth-ax2BqjrI.js.map +1 -0
  18. package/dist/{avatar-djdaaQ_s.js → avatar-DAPlDvhJ.js} +67 -66
  19. package/dist/avatar-DAPlDvhJ.js.map +1 -0
  20. package/dist/badge-HpFqoqSY.js +93 -0
  21. package/dist/badge-HpFqoqSY.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +3 -0
  28. package/dist/base/buttons.js +2 -3
  29. package/dist/base/cards.js +2 -2
  30. package/dist/base/carousel.js +50 -46
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +69 -81
  33. package/dist/base/cascader.js.map +1 -1
  34. package/dist/base/chart.js +1 -1
  35. package/dist/base/choice-inputs.js +3 -3
  36. package/dist/base/code-block.js +1 -1
  37. package/dist/base/combobox.js +2 -2
  38. package/dist/base/command.js +1 -1
  39. package/dist/base/copyable.js +1 -1
  40. package/dist/base/date-pickers.js +2 -2
  41. package/dist/base/display.js +7 -7
  42. package/dist/base/feedback.js +3 -3
  43. package/dist/base/forms-numeric.js +1 -1
  44. package/dist/base/forms.js +2 -2
  45. package/dist/base/inline-edit.js +20 -20
  46. package/dist/base/inline-edit.js.map +1 -1
  47. package/dist/base/item.js +1 -1
  48. package/dist/base/media-gallery.js +1 -1
  49. package/dist/base/metadata-list.js +3 -0
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +1 -1
  54. package/dist/base/repeaters.js +216 -220
  55. package/dist/base/repeaters.js.map +1 -1
  56. package/dist/base/sheet.js +1 -1
  57. package/dist/base/sidebar.js +1 -1
  58. package/dist/base/signature-pad.js +147 -137
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +79 -2
  62. package/dist/base/spinner.js.map +1 -0
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +2 -2
  66. package/dist/base/toaster.js +46 -45
  67. package/dist/base/toaster.js.map +1 -1
  68. package/dist/base/tree.js +1 -1
  69. package/dist/base/upload-queue.js +1 -1
  70. package/dist/base/upload.js +3 -3
  71. package/dist/base/value-inputs.js +2 -2
  72. package/dist/batch-action-bar-DnUJ21NQ.js +105 -0
  73. package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
  74. package/dist/blocks/admin.js +171 -169
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +308 -285
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/usage-card.js +1 -1
  79. package/dist/blocks/analytics.js +626 -589
  80. package/dist/blocks/analytics.js.map +1 -1
  81. package/dist/blocks/collaboration.js +1 -1
  82. package/dist/blocks/commerce/receipt.js +1 -1
  83. package/dist/blocks/commerce.js +2051 -1329
  84. package/dist/blocks/commerce.js.map +1 -1
  85. package/dist/blocks/data-display.js +3 -2
  86. package/dist/blocks/onboarding.js +68 -58
  87. package/dist/blocks/onboarding.js.map +1 -1
  88. package/dist/blocks/planning.js +27 -26
  89. package/dist/blocks/planning.js.map +1 -1
  90. package/dist/blocks/timelines.js +1 -1
  91. package/dist/breadcrumbs-C-oqs1sQ.js +129 -0
  92. package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
  93. package/dist/{button-R9CCoH7A.js → button-DVzspB_G.js} +15 -14
  94. package/dist/button-DVzspB_G.js.map +1 -0
  95. package/dist/{button-BS3KDg00.js → buttons-DPZekJFu.js} +208 -216
  96. package/dist/buttons-DPZekJFu.js.map +1 -0
  97. package/dist/cards-BaBZR-AU.js +68 -0
  98. package/dist/cards-BaBZR-AU.js.map +1 -0
  99. package/dist/{chart-DwYRKKc-.js → chart-ZOYyK2xG.js} +58 -55
  100. package/dist/chart-ZOYyK2xG.js.map +1 -0
  101. package/dist/checkbox-AWIhNhmo.js +36 -0
  102. package/dist/checkbox-AWIhNhmo.js.map +1 -0
  103. package/dist/choice-inputs-CNHvARCJ.js +770 -0
  104. package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
  105. package/dist/code-block-DeneBJR_.js +185 -0
  106. package/dist/code-block-DeneBJR_.js.map +1 -0
  107. package/dist/{collapsible-oMUGM4tr.js → collapsible-C-_l4hpy.js} +4 -4
  108. package/dist/{collapsible-oMUGM4tr.js.map → collapsible-C-_l4hpy.js.map} +1 -1
  109. package/dist/{collection-content-Ys-OZOkY.js → collection-content-By56pLog.js} +3 -3
  110. package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-By56pLog.js.map} +1 -1
  111. package/dist/combobox-C0EQW6dr.js +875 -0
  112. package/dist/combobox-C0EQW6dr.js.map +1 -0
  113. package/dist/combobox-xCQ2RMNE.js +309 -0
  114. package/dist/combobox-xCQ2RMNE.js.map +1 -0
  115. package/dist/{command-kPMPjIxJ.js → command-C25VMRII.js} +7 -7
  116. package/dist/{command-kPMPjIxJ.js.map → command-C25VMRII.js.map} +1 -1
  117. package/dist/{comments-You0Bzbr.js → comments-BYYlTA8E.js} +390 -379
  118. package/dist/comments-BYYlTA8E.js.map +1 -0
  119. package/dist/components/base/action-menu/action-menu.d.ts +21 -4
  120. package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
  121. package/dist/components/base/action-menu/index.d.ts +1 -0
  122. package/dist/components/base/badge/badge.recipes.d.ts +5 -5
  123. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  124. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  125. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  126. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  127. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  128. package/dist/components/base/buttons/loader-button.d.ts +2 -1
  129. package/dist/components/base/cards/card.recipes.d.ts +2 -3
  130. package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +3 -13
  131. package/dist/components/base/cards/smart-card.types.d.ts +11 -4
  132. package/dist/components/base/chart/chart.d.ts +2 -5
  133. package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
  134. package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
  135. package/dist/components/base/combobox/combobox.strings.d.ts +7 -0
  136. package/dist/components/base/combobox/index.d.ts +30 -4
  137. package/dist/components/base/display/alert-dialog.d.ts +6 -5
  138. package/dist/components/base/display/dialog.d.ts +4 -8
  139. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  140. package/dist/components/base/forms/form-sizing.d.ts +26 -15
  141. package/dist/components/base/metadata-list/index.d.ts +12 -0
  142. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  143. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  144. package/dist/components/base/navigation/index.d.ts +1 -1
  145. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  146. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  147. package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
  148. package/dist/components/base/navigation/pagination.d.ts +5 -2
  149. package/dist/components/base/popover/popover.recipes.d.ts +15 -1
  150. package/dist/components/base/sheet/sheet.d.ts +4 -8
  151. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  152. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  153. package/dist/components/base/table/index.d.ts +9 -2
  154. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  155. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  156. package/dist/components/base/upload/upload.recipes.d.ts +25 -3
  157. package/dist/components/base/value-inputs/index.d.ts +5 -5
  158. package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
  159. package/dist/components/blocks/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
  160. package/dist/components/blocks/ai/ai-shimmer/types.d.ts +3 -0
  161. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  162. package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
  163. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  164. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  165. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  166. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  167. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  168. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  169. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  170. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  171. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +45 -0
  172. package/dist/components/blocks/commerce/index.d.ts +13 -5
  173. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  174. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  175. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  176. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  177. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  178. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  179. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  180. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  181. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  182. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  183. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  184. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  185. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  186. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  187. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  188. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  189. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  190. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  191. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  192. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  193. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  194. package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
  195. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  196. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  197. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  198. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  199. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  200. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  201. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  202. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  203. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  204. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  205. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  206. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  207. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  208. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  209. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +16 -8
  210. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  211. package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
  212. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  213. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  214. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +5 -0
  215. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +220 -0
  216. package/dist/components/features/appointment-calendar/appointment-calendar.utils.d.ts +41 -0
  217. package/dist/components/features/appointment-calendar/index.d.ts +3 -0
  218. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +32 -0
  219. package/dist/components/features/appointment-calendar/partials/appointment-month.d.ts +13 -0
  220. package/dist/components/features/combobox/combobox.strings.d.ts +15 -1
  221. package/dist/components/features/combobox/types.d.ts +4 -0
  222. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  223. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  224. package/dist/components/features/kanban/kanban.d.ts +1 -1
  225. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  226. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  227. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  228. package/dist/components/features/media-library/index.d.ts +1 -1
  229. package/dist/components/features/media-library/media-library.d.ts +1 -1
  230. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  231. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  232. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  233. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  234. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  235. package/dist/components/features/overlays/dialog.d.ts +1 -1
  236. package/dist/components/features/overlays/index.d.ts +1 -1
  237. package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
  238. package/dist/components/features/overlays/overlays.types.d.ts +20 -0
  239. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  240. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  241. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  242. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  243. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  244. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  245. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  246. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  247. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  248. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  249. package/dist/components/features/products/products.types.d.ts +9 -2
  250. package/dist/components/features/resource/index.d.ts +1 -1
  251. package/dist/components/features/resource/resource.d.ts +1 -1
  252. package/dist/components/features/resource/resource.types.d.ts +34 -6
  253. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  254. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  255. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  256. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  257. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +7 -1
  258. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  259. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +54 -1
  260. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  261. package/dist/components/features/sync/index.d.ts +26 -3
  262. package/dist/components/features/table/data-table.d.ts +1 -1
  263. package/dist/components/features/table/table-header.d.ts +1 -1
  264. package/dist/components/features/table/table.strings.d.ts +55 -1
  265. package/dist/components/features/table/table.types.d.ts +49 -11
  266. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
  267. package/dist/components/layout/page/index.d.ts +1 -1
  268. package/dist/components/layout/page/page.types.d.ts +33 -36
  269. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  270. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  271. package/dist/components/layout/settings/settings.d.ts +16 -2
  272. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  273. package/dist/components/primitives/number.d.ts +4 -2
  274. package/dist/components/primitives/value.d.ts +3 -1
  275. package/dist/components/typography/rich-text/index.d.ts +1 -1
  276. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  277. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  278. package/dist/components/typography/text-link.d.ts +8 -3
  279. package/dist/components/ui/checkbox.d.ts +4 -3
  280. package/dist/components/ui/combobox.d.ts +6 -2
  281. package/dist/components/ui/item.d.ts +8 -8
  282. package/dist/components/ui/overlay.recipes.d.ts +0 -9
  283. package/dist/components/ui/switch.d.ts +2 -2
  284. package/dist/components/ui/tabs.d.ts +1 -1
  285. package/dist/{containers-D_L4mTVb.js → containers-Mu1LMGV1.js} +36 -35
  286. package/dist/containers-Mu1LMGV1.js.map +1 -0
  287. package/dist/{copyable-DDjTeW_j.js → copyable-ClBuk_UK.js} +6 -6
  288. package/dist/{copyable-DDjTeW_j.js.map → copyable-ClBuk_UK.js.map} +1 -1
  289. package/dist/data-display-DT_khPl_.js +971 -0
  290. package/dist/data-display-DT_khPl_.js.map +1 -0
  291. package/dist/{date-uf3z37Nm.js → date-DCrsDTZc.js} +5 -5
  292. package/dist/{date-uf3z37Nm.js.map → date-DCrsDTZc.js.map} +1 -1
  293. package/dist/date-picker-ay0Pha_a.js +1530 -0
  294. package/dist/date-picker-ay0Pha_a.js.map +1 -0
  295. package/dist/date-pickers-Ccw8DL2b.js +175 -0
  296. package/dist/date-pickers-Ccw8DL2b.js.map +1 -0
  297. package/dist/display-hAc1HjpI.js +344 -0
  298. package/dist/display-hAc1HjpI.js.map +1 -0
  299. package/dist/dropdown-menu-Cl4X7L5S.js +193 -0
  300. package/dist/dropdown-menu-Cl4X7L5S.js.map +1 -0
  301. package/dist/editable-text-recipe-Cn61kEcv.js +10 -0
  302. package/dist/editable-text-recipe-Cn61kEcv.js.map +1 -0
  303. package/dist/features/activities.js +478 -542
  304. package/dist/features/activities.js.map +1 -1
  305. package/dist/features/ai-chat.js +209 -199
  306. package/dist/features/ai-chat.js.map +1 -1
  307. package/dist/features/appointment-calendar.js +683 -0
  308. package/dist/features/appointment-calendar.js.map +1 -0
  309. package/dist/features/async-preview.js +109 -107
  310. package/dist/features/async-preview.js.map +1 -1
  311. package/dist/features/combobox.js +1 -1
  312. package/dist/features/comments.js +1 -1
  313. package/dist/features/data-view.js +30 -29
  314. package/dist/features/data-view.js.map +1 -1
  315. package/dist/features/email-composer/engine.js +1 -1
  316. package/dist/features/email-composer.js +285 -283
  317. package/dist/features/email-composer.js.map +1 -1
  318. package/dist/features/event-calendar.js +282 -273
  319. package/dist/features/event-calendar.js.map +1 -1
  320. package/dist/features/filters.js +1 -1
  321. package/dist/features/global-search.js +318 -318
  322. package/dist/features/global-search.js.map +1 -1
  323. package/dist/features/kanban.js +146 -147
  324. package/dist/features/kanban.js.map +1 -1
  325. package/dist/features/map.js +269 -268
  326. package/dist/features/map.js.map +1 -1
  327. package/dist/features/media-library.js +970 -863
  328. package/dist/features/media-library.js.map +1 -1
  329. package/dist/features/mentions.js +1 -1
  330. package/dist/features/overlays.js +1 -1
  331. package/dist/features/products.js +1137 -1124
  332. package/dist/features/products.js.map +1 -1
  333. package/dist/features/questionnaire.js +206 -194
  334. package/dist/features/questionnaire.js.map +1 -1
  335. package/dist/features/resource-assignment.js +24 -21
  336. package/dist/features/resource-assignment.js.map +1 -1
  337. package/dist/features/resource.js +77 -69
  338. package/dist/features/resource.js.map +1 -1
  339. package/dist/features/rich-text-editor.js +30 -11
  340. package/dist/features/rich-text-editor.js.map +1 -1
  341. package/dist/features/schema-form.js +35 -33
  342. package/dist/features/schema-form.js.map +1 -1
  343. package/dist/features/suggestions.js +3 -3
  344. package/dist/features/sync.js +11 -5
  345. package/dist/features/sync.js.map +1 -1
  346. package/dist/features/table.js +1 -1
  347. package/dist/features/theme-tweaker.js +501 -496
  348. package/dist/features/theme-tweaker.js.map +1 -1
  349. package/dist/feedback-BYIhtitP.js +239 -0
  350. package/dist/feedback-BYIhtitP.js.map +1 -0
  351. package/dist/field-affordance-recipes-DZhnIL_Y.js +41 -0
  352. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +1 -0
  353. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  354. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  355. package/dist/{filters-Da-gNPsE.js → filters-BGfvjP4d.js} +483 -472
  356. package/dist/filters-BGfvjP4d.js.map +1 -0
  357. package/dist/focus-recipes-B653VaLq.js +12 -0
  358. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  359. package/dist/{form-field-VZRULhUK.js → form-field-CwH9y77i.js} +6 -5
  360. package/dist/form-field-CwH9y77i.js.map +1 -0
  361. package/dist/{form-sizing-uWP4lzVh.js → form-sizing-BdP_Mf5p.js} +45 -46
  362. package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
  363. package/dist/{forms-DDeEnXSY.js → forms-B9G_xwzi.js} +22 -22
  364. package/dist/{forms-DDeEnXSY.js.map → forms-B9G_xwzi.js.map} +1 -1
  365. package/dist/forms-numeric-B_jraJaQ.js +906 -0
  366. package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
  367. package/dist/{header-2ycNqGOR.js → header-CGXuhcRm.js} +164 -161
  368. package/dist/header-CGXuhcRm.js.map +1 -0
  369. package/dist/{hooks-DQ5SPwZw.js → hooks-Dkz0K2WT.js} +2 -2
  370. package/dist/{hooks-DQ5SPwZw.js.map → hooks-Dkz0K2WT.js.map} +1 -1
  371. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  372. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  373. package/dist/icon-badge-DYKIwvOV.js +55 -0
  374. package/dist/icon-badge-DYKIwvOV.js.map +1 -0
  375. package/dist/index.js +7 -7
  376. package/dist/input-CZw8iU99.js +21 -0
  377. package/dist/input-CZw8iU99.js.map +1 -0
  378. package/dist/input-DQdEd0YD.js +263 -0
  379. package/dist/input-DQdEd0YD.js.map +1 -0
  380. package/dist/interaction-recipes-XR9ZpVYL.js +25 -0
  381. package/dist/interaction-recipes-XR9ZpVYL.js.map +1 -0
  382. package/dist/item-K5_ghvze.js +275 -0
  383. package/dist/item-K5_ghvze.js.map +1 -0
  384. package/dist/layer-recipes-CCpklYME.js +13 -0
  385. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  386. package/dist/layout/app-shell.js +1 -1
  387. package/dist/layout/auth.js +1 -1
  388. package/dist/layout/containers.js +1 -1
  389. package/dist/layout/header.js +1 -1
  390. package/dist/layout/hooks.js +1 -1
  391. package/dist/layout/navigation.js +1 -1
  392. package/dist/layout/page.js +1 -1
  393. package/dist/layout/settings.js +1 -1
  394. package/dist/layout/sidebar.js +2 -2
  395. package/dist/layout/workspace.js +1 -1
  396. package/dist/layout.js +10 -10
  397. package/dist/lib/affordance-geometry.generated.d.ts +72 -0
  398. package/dist/lib/editable-text-recipe.d.ts +4 -4
  399. package/dist/lib/field-affordance-recipes.d.ts +8 -3
  400. package/dist/lib/field-state-recipes.d.ts +9 -8
  401. package/dist/lib/focus-recipes.d.ts +24 -0
  402. package/dist/lib/interaction-recipes.d.ts +40 -0
  403. package/dist/lib/layer-recipes.d.ts +19 -0
  404. package/dist/lib/motion-recipes.d.ts +1 -0
  405. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
  406. package/dist/lib/safe-image-src.d.ts +10 -0
  407. package/dist/lib/sanitize-html.d.ts +15 -3
  408. package/dist/lib/surface-recipes.d.ts +47 -7
  409. package/dist/lib/theme-mode-css.d.ts +7 -0
  410. package/dist/lib/token-merge.generated.d.ts +9 -6
  411. package/dist/lib/tone-recipes.d.ts +87 -0
  412. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  413. package/dist/lib/ui-provider/index.d.ts +2 -2
  414. package/dist/lib/ui-provider/types.d.ts +11 -2
  415. package/dist/lib/utils.js +1 -1
  416. package/dist/media-gallery-3zIVLMWH.js +203 -0
  417. package/dist/media-gallery-3zIVLMWH.js.map +1 -0
  418. package/dist/mentions-utuUvH1K.js +570 -0
  419. package/dist/mentions-utuUvH1K.js.map +1 -0
  420. package/dist/{message-YfFmbXNP.js → message-DZ_ruyUV.js} +7 -6
  421. package/dist/message-DZ_ruyUV.js.map +1 -0
  422. package/dist/metadata-list-8N16ZMW_.js +405 -0
  423. package/dist/metadata-list-8N16ZMW_.js.map +1 -0
  424. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  425. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  426. package/dist/navigation-Bnotn4AQ.js +145 -0
  427. package/dist/navigation-Bnotn4AQ.js.map +1 -0
  428. package/dist/navigation-BzhHI3lo.js +269 -0
  429. package/dist/navigation-BzhHI3lo.js.map +1 -0
  430. package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
  431. package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
  432. package/dist/{number-CKRBYmZK.js → number-DbV1Dija.js} +36 -34
  433. package/dist/{number-CKRBYmZK.js.map → number-DbV1Dija.js.map} +1 -1
  434. package/dist/overflow-tab-bar-CWY7Nogn.js +282 -0
  435. package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
  436. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  437. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  438. package/dist/overlays-DNWmZrJ4.js +1001 -0
  439. package/dist/overlays-DNWmZrJ4.js.map +1 -0
  440. package/dist/page-Bgl1F560.js +224 -0
  441. package/dist/page-Bgl1F560.js.map +1 -0
  442. package/dist/page-header-commands-DOb6WsfD.js +126 -0
  443. package/dist/page-header-commands-DOb6WsfD.js.map +1 -0
  444. package/dist/pagination-BL25hu2s.js +158 -0
  445. package/dist/pagination-BL25hu2s.js.map +1 -0
  446. package/dist/{popover-Dcv_9jxr.js → popover-7_m66eYW.js} +11 -10
  447. package/dist/popover-7_m66eYW.js.map +1 -0
  448. package/dist/popover-menu-B9WWygpa.js +100 -0
  449. package/dist/popover-menu-B9WWygpa.js.map +1 -0
  450. package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-D3j8R8Yp.js} +18 -11
  451. package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
  452. package/dist/{primitives-BHrwQXFC.js → primitives-BFK08r9M.js} +45 -44
  453. package/dist/primitives-BFK08r9M.js.map +1 -0
  454. package/dist/primitives.js +4 -4
  455. package/dist/{progress-Br9WTFya.js → progress-B1VnCT0K.js} +9 -9
  456. package/dist/{progress-Br9WTFya.js.map → progress-B1VnCT0K.js.map} +1 -1
  457. package/dist/{receipt-CV89q1fs.js → receipt-BVSOH3Xo.js} +9 -6
  458. package/dist/{receipt-CV89q1fs.js.map → receipt-BVSOH3Xo.js.map} +1 -1
  459. package/dist/rich-text-GOUyKQ-s.js +78 -0
  460. package/dist/rich-text-GOUyKQ-s.js.map +1 -0
  461. package/dist/rich-text-editor-cRLC-eBK.js +1196 -0
  462. package/dist/rich-text-editor-cRLC-eBK.js.map +1 -0
  463. package/dist/rich-text-editor-toolbar-DfXg0-VC.js +94 -0
  464. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +1 -0
  465. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  466. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  467. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  468. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  469. package/dist/sanitize-html-DsQmI48u.js +92 -0
  470. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  471. package/dist/scroll-area-DcI-M1UT.js +48 -0
  472. package/dist/scroll-area-DcI-M1UT.js.map +1 -0
  473. package/dist/{separator-Do5GWDYi.js → separator-BDV-Y648.js} +3 -3
  474. package/dist/{separator-Do5GWDYi.js.map → separator-BDV-Y648.js.map} +1 -1
  475. package/dist/{separator-BMEvwnSX.js → separator-Bom7NsGO.js} +2 -2
  476. package/dist/{separator-BMEvwnSX.js.map → separator-Bom7NsGO.js.map} +1 -1
  477. package/dist/services/actions/action-adapters.d.ts +18 -0
  478. package/dist/services/actions/index.d.ts +1 -1
  479. package/dist/services/actions.js +16 -4
  480. package/dist/services/actions.js.map +1 -1
  481. package/dist/settings-ybnjVwbd.js +171 -0
  482. package/dist/settings-ybnjVwbd.js.map +1 -0
  483. package/dist/sheet-CGpB3omz.js +211 -0
  484. package/dist/sheet-CGpB3omz.js.map +1 -0
  485. package/dist/{sidebar-Cb8WzOvE.js → sidebar-A0ElHINE.js} +17 -16
  486. package/dist/sidebar-A0ElHINE.js.map +1 -0
  487. package/dist/{sidebar-Crc9M9JV.js → sidebar-CPx_7YBa.js} +205 -203
  488. package/dist/sidebar-CPx_7YBa.js.map +1 -0
  489. package/dist/{skeleton-DVMXr15h.js → skeleton-Byjnt7qr.js} +9 -9
  490. package/dist/{skeleton-DVMXr15h.js.map → skeleton-Byjnt7qr.js.map} +1 -1
  491. package/dist/smart-card-DiC5aac3.js +604 -0
  492. package/dist/smart-card-DiC5aac3.js.map +1 -0
  493. package/dist/{structure-hzCW-XsV.js → structure-BmisBK-3.js} +2 -2
  494. package/dist/{structure-hzCW-XsV.js.map → structure-BmisBK-3.js.map} +1 -1
  495. package/dist/style.css +1 -1
  496. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  497. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  498. package/dist/table-BweFy_P9.js +1530 -0
  499. package/dist/table-BweFy_P9.js.map +1 -0
  500. package/dist/table-DsfzoUia.js +175 -0
  501. package/dist/table-DsfzoUia.js.map +1 -0
  502. package/dist/tabs-CDocW5D1.js +191 -0
  503. package/dist/tabs-CDocW5D1.js.map +1 -0
  504. package/dist/text-inputs-f9Ia-aCi.js +353 -0
  505. package/dist/text-inputs-f9Ia-aCi.js.map +1 -0
  506. package/dist/theme-mode-css-BB-_RYab.js +14 -0
  507. package/dist/theme-mode-css-BB-_RYab.js.map +1 -0
  508. package/dist/theme-scope-BJ6eE2xt.js +50 -0
  509. package/dist/theme-scope-BJ6eE2xt.js.map +1 -0
  510. package/dist/theme.css +285 -228
  511. package/dist/themes/green.css +16 -12
  512. package/dist/timelines-CwM_9IhD.js +457 -0
  513. package/dist/timelines-CwM_9IhD.js.map +1 -0
  514. package/dist/tone-recipes-BPsRAvhu.js +73 -0
  515. package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
  516. package/dist/tooltip-yiRJUFjp.js +111 -0
  517. package/dist/tooltip-yiRJUFjp.js.map +1 -0
  518. package/dist/{tree-BotPlyiD.js → tree-WnKQzwbq.js} +69 -67
  519. package/dist/tree-WnKQzwbq.js.map +1 -0
  520. package/dist/typography/rich-text.js +1 -1
  521. package/dist/typography-UTnveOEy.js +117 -0
  522. package/dist/typography-UTnveOEy.js.map +1 -0
  523. package/dist/typography.js +2 -2
  524. package/dist/{ui-provider-D2_TeLqw.js → ui-provider-C_U0Xma4.js} +13 -5
  525. package/dist/ui-provider-C_U0Xma4.js.map +1 -0
  526. package/dist/ui-provider.js +3 -3
  527. package/dist/{upload-B0WHW7ak.js → upload-CXyxmQBP.js} +210 -209
  528. package/dist/upload-CXyxmQBP.js.map +1 -0
  529. package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-Boscubn9.js} +111 -111
  530. package/dist/upload-queue-Boscubn9.js.map +1 -0
  531. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  532. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  533. package/dist/{usage-card-U0YBLTNT.js → usage-card-BhO5eqkX.js} +45 -29
  534. package/dist/usage-card-BhO5eqkX.js.map +1 -0
  535. package/dist/{utils-Cospvlj1.js → utils-BRhFDwuU.js} +114 -67
  536. package/dist/utils-BRhFDwuU.js.map +1 -0
  537. package/dist/value-inputs-DXPDjvBU.js +963 -0
  538. package/dist/value-inputs-DXPDjvBU.js.map +1 -0
  539. package/dist/{value-typography-Deb3yQZg.js → value-typography-BP8OG6h5.js} +2 -2
  540. package/dist/{value-typography-Deb3yQZg.js.map → value-typography-BP8OG6h5.js.map} +1 -1
  541. package/dist/workspace-Cdrg7k9f.js +408 -0
  542. package/dist/workspace-Cdrg7k9f.js.map +1 -0
  543. package/docs/consumer-skill/SKILL.md +21 -22
  544. package/docs/consumer-skill/examples/app-layout.tsx +1 -1
  545. package/docs/consumer-skill/examples/composition.tsx +3 -3
  546. package/docs/consumer-skill/examples/detail.tsx +59 -12
  547. package/docs/consumer-skill/examples/edit.tsx +1 -1
  548. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  549. package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
  550. package/docs/consumer-skill/examples/website.tsx +1 -1
  551. package/docs/consumer-skill/references/agents-md.md +33 -0
  552. package/docs/consumer-skill/references/analytics.md +1 -1
  553. package/docs/consumer-skill/references/composition.md +58 -13
  554. package/docs/consumer-skill/references/design-contract.md +12 -3
  555. package/docs/consumer-skill/references/installation.md +11 -1
  556. package/docs/consumer-skill/references/integration.md +4 -3
  557. package/docs/consumer-skill/references/public-api.json +956 -453
  558. package/docs/consumer-skill/references/review.md +32 -5
  559. package/docs/consumer-skill/references/theming.md +78 -9
  560. package/docs/consumer-skill/references/tokens.json +1 -1
  561. package/docs/consumer-skill/references/workflows.md +54 -10
  562. package/docs/consumer-skill/scripts/composition-policy.mjs +42 -11
  563. package/docs/consumer-skill/scripts/surface-policy.mjs +150 -5
  564. package/package.json +17 -5
  565. package/dist/accordion-CQXVcd7Q.js +0 -205
  566. package/dist/accordion-CQXVcd7Q.js.map +0 -1
  567. package/dist/action-menu-BTpyPWJ2.js +0 -264
  568. package/dist/action-menu-BTpyPWJ2.js.map +0 -1
  569. package/dist/affordance-geometry.generated-CCIXb2A1.js +0 -68
  570. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
  571. package/dist/ai-artifact-2PQ2fItc.js +0 -1112
  572. package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
  573. package/dist/attachment-q69dlt5Y.js +0 -244
  574. package/dist/attachment-q69dlt5Y.js.map +0 -1
  575. package/dist/auth-M3vGMgDR.js.map +0 -1
  576. package/dist/avatar-djdaaQ_s.js.map +0 -1
  577. package/dist/badge-0tATj-tW.js +0 -92
  578. package/dist/badge-0tATj-tW.js.map +0 -1
  579. package/dist/breadcrumbs-BG_FfMK4.js +0 -128
  580. package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
  581. package/dist/button-BS3KDg00.js.map +0 -1
  582. package/dist/button-R9CCoH7A.js.map +0 -1
  583. package/dist/buttons-DS0ZIwJ_.js +0 -99
  584. package/dist/buttons-DS0ZIwJ_.js.map +0 -1
  585. package/dist/cards-QoJ4syG9.js +0 -66
  586. package/dist/cards-QoJ4syG9.js.map +0 -1
  587. package/dist/chart-DwYRKKc-.js.map +0 -1
  588. package/dist/checkbox-B7ygNTYp.js +0 -35
  589. package/dist/checkbox-B7ygNTYp.js.map +0 -1
  590. package/dist/choice-inputs-DrJ17tpL.js +0 -752
  591. package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
  592. package/dist/code-block-CD0B7M93.js +0 -183
  593. package/dist/code-block-CD0B7M93.js.map +0 -1
  594. package/dist/combobox-6dvVny2q.js +0 -272
  595. package/dist/combobox-6dvVny2q.js.map +0 -1
  596. package/dist/combobox-CB7039j7.js +0 -865
  597. package/dist/combobox-CB7039j7.js.map +0 -1
  598. package/dist/comments-You0Bzbr.js.map +0 -1
  599. package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
  600. package/dist/containers-D_L4mTVb.js.map +0 -1
  601. package/dist/data-display-3xWQUnMA.js +0 -1335
  602. package/dist/data-display-3xWQUnMA.js.map +0 -1
  603. package/dist/date-picker-DrDFj8Lo.js +0 -1527
  604. package/dist/date-picker-DrDFj8Lo.js.map +0 -1
  605. package/dist/date-pickers-CnFCb0n2.js +0 -174
  606. package/dist/date-pickers-CnFCb0n2.js.map +0 -1
  607. package/dist/display-DrdvPwF0.js +0 -343
  608. package/dist/display-DrdvPwF0.js.map +0 -1
  609. package/dist/dropdown-menu-CURh59jb.js +0 -193
  610. package/dist/dropdown-menu-CURh59jb.js.map +0 -1
  611. package/dist/editable-text-recipe-Bkm6wKHp.js +0 -10
  612. package/dist/editable-text-recipe-Bkm6wKHp.js.map +0 -1
  613. package/dist/feedback-C7nR0UtT.js +0 -232
  614. package/dist/feedback-C7nR0UtT.js.map +0 -1
  615. package/dist/field-affordance-recipes-CkOCdE2y.js +0 -46
  616. package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
  617. package/dist/field-state-recipes-C-MFBX_8.js +0 -11
  618. package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
  619. package/dist/filters-Da-gNPsE.js.map +0 -1
  620. package/dist/form-field-VZRULhUK.js.map +0 -1
  621. package/dist/form-sizing-uWP4lzVh.js.map +0 -1
  622. package/dist/forms-numeric-D3CO60IF.js +0 -905
  623. package/dist/forms-numeric-D3CO60IF.js.map +0 -1
  624. package/dist/header-2ycNqGOR.js.map +0 -1
  625. package/dist/icon-badge-DKlaKXoo.js +0 -53
  626. package/dist/icon-badge-DKlaKXoo.js.map +0 -1
  627. package/dist/input-BoLm9Hks.js +0 -20
  628. package/dist/input-BoLm9Hks.js.map +0 -1
  629. package/dist/input-DhQdBnV3.js +0 -255
  630. package/dist/input-DhQdBnV3.js.map +0 -1
  631. package/dist/item-xzh8Df65.js +0 -264
  632. package/dist/item-xzh8Df65.js.map +0 -1
  633. package/dist/media-gallery-DQUQ0m3O.js +0 -201
  634. package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
  635. package/dist/mentions-DwnO1hh4.js +0 -564
  636. package/dist/mentions-DwnO1hh4.js.map +0 -1
  637. package/dist/message-YfFmbXNP.js.map +0 -1
  638. package/dist/navigation-Cbp5V8gG.js +0 -264
  639. package/dist/navigation-Cbp5V8gG.js.map +0 -1
  640. package/dist/navigation-Cs1npsPm.js +0 -300
  641. package/dist/navigation-Cs1npsPm.js.map +0 -1
  642. package/dist/overlay.recipes-CNO2S9V6.js +0 -34
  643. package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
  644. package/dist/overlays-DhZO7N-I.js +0 -994
  645. package/dist/overlays-DhZO7N-I.js.map +0 -1
  646. package/dist/page-C6R_8jFt.js +0 -325
  647. package/dist/page-C6R_8jFt.js.map +0 -1
  648. package/dist/page-header-hUTzcRZX.js +0 -112
  649. package/dist/page-header-hUTzcRZX.js.map +0 -1
  650. package/dist/pagination-Cm0jqa3I.js +0 -149
  651. package/dist/pagination-Cm0jqa3I.js.map +0 -1
  652. package/dist/popover-Dcv_9jxr.js.map +0 -1
  653. package/dist/popover-menu-DnRFKnHP.js +0 -99
  654. package/dist/popover-menu-DnRFKnHP.js.map +0 -1
  655. package/dist/popover.recipes-wmbvL8Ah.js.map +0 -1
  656. package/dist/primitives-BHrwQXFC.js.map +0 -1
  657. package/dist/rich-text-editor-CF8QYt5p.js +0 -574
  658. package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
  659. package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
  660. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
  661. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  662. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  663. package/dist/rich-text-j-FGAeZW.js +0 -32
  664. package/dist/rich-text-j-FGAeZW.js.map +0 -1
  665. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  666. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  667. package/dist/scroll-area-DRdr16Pt.js +0 -47
  668. package/dist/scroll-area-DRdr16Pt.js.map +0 -1
  669. package/dist/settings-DHk0L2MF.js +0 -161
  670. package/dist/settings-DHk0L2MF.js.map +0 -1
  671. package/dist/sheet-DRFNY1_D.js +0 -207
  672. package/dist/sheet-DRFNY1_D.js.map +0 -1
  673. package/dist/sidebar-Cb8WzOvE.js.map +0 -1
  674. package/dist/sidebar-Crc9M9JV.js.map +0 -1
  675. package/dist/smart-card-Bek-TwUp.js +0 -599
  676. package/dist/smart-card-Bek-TwUp.js.map +0 -1
  677. package/dist/spinner-CmTAbEp0.js +0 -80
  678. package/dist/spinner-CmTAbEp0.js.map +0 -1
  679. package/dist/surface-recipes-DOdoBXGm.js +0 -28
  680. package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
  681. package/dist/table-D6zKeYQX.js +0 -162
  682. package/dist/table-D6zKeYQX.js.map +0 -1
  683. package/dist/table-Dn4XSrSB.js +0 -1444
  684. package/dist/table-Dn4XSrSB.js.map +0 -1
  685. package/dist/tabs-Dk8E_knt.js +0 -189
  686. package/dist/tabs-Dk8E_knt.js.map +0 -1
  687. package/dist/text-inputs-BFpku0Qd.js +0 -331
  688. package/dist/text-inputs-BFpku0Qd.js.map +0 -1
  689. package/dist/theme-scope-kStaAer0.js +0 -39
  690. package/dist/theme-scope-kStaAer0.js.map +0 -1
  691. package/dist/timelines-CxuAFIc2.js +0 -439
  692. package/dist/timelines-CxuAFIc2.js.map +0 -1
  693. package/dist/tree-BotPlyiD.js.map +0 -1
  694. package/dist/typography-CAr3dQhX.js +0 -116
  695. package/dist/typography-CAr3dQhX.js.map +0 -1
  696. package/dist/ui-provider-D2_TeLqw.js.map +0 -1
  697. package/dist/upload-B0WHW7ak.js.map +0 -1
  698. package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
  699. package/dist/usage-card-U0YBLTNT.js.map +0 -1
  700. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  701. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  702. package/dist/utils-Cospvlj1.js.map +0 -1
  703. package/dist/value-inputs-CjfzGMsN.js +0 -854
  704. package/dist/value-inputs-CjfzGMsN.js.map +0 -1
  705. package/dist/workspace-YoFjXi6i.js +0 -394
  706. package/dist/workspace-YoFjXi6i.js.map +0 -1
  707. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -7,10 +7,7 @@
7
7
  */
8
8
  import * as React from 'react';
9
9
  import * as RechartsPrimitive from 'recharts';
10
- declare const THEMES: {
11
- readonly light: "";
12
- readonly dark: ".dark";
13
- };
10
+ type ChartTheme = 'light' | 'dark';
14
11
  export type ChartConfig = Record<string, {
15
12
  /** Axis label for the hovered position. Supplied by Recharts. */
16
13
  label?: React.ReactNode;
@@ -21,7 +18,7 @@ export type ChartConfig = Record<string, {
21
18
  theme?: never;
22
19
  } | {
23
20
  color?: never;
24
- theme: Record<keyof typeof THEMES, string>;
21
+ theme: Record<ChartTheme, string>;
25
22
  })>;
26
23
  export type ChartPayloadItem = {
27
24
  dataKey?: string | number;
@@ -4,8 +4,8 @@ import { type CheckboxProps } from '../../ui/checkbox';
4
4
  *
5
5
  * The primitive renders an inline-flex square, so token size utilities render
6
6
  * as a box instead of collapsing to the two border lines. Its boundary is the
7
- * shared `--input` control border, which keeps 3:1 contrast on every surface in
8
- * both themes, like the other field and choice controls.
7
+ * shared `--input` control border, the same one every field, choice control and
8
+ * outline button draws.
9
9
  *
10
10
  * The root ref accepts the actual HTMLElement, including custom button renders.
11
11
  * The compact corner recipe derives from the shared theme radius, so scoped
@@ -55,12 +55,24 @@ export declare const choiceListSizeTokens: Record<ChoiceSize, string>;
55
55
  /**
56
56
  * Shared option-card states for CardRadioGroup and CardCheckboxGroup: the resting
57
57
  * `border-border` divider (declared beside `border` by each owner) steps up to the
58
- * 3:1 control boundary on hover, and keyboard focus draws the shared full-strength
59
- * ring. Selection and validation are added by each owner.
58
+ * control boundary on hover, and keyboard focus draws the shared focus frame.
59
+ * Selection and validation are added by each owner as data/aria variants, so they
60
+ * keep their border while focused.
60
61
  */
61
- export declare const choiceCardStateClasses = "hover:border-input focus-visible:ring-2 focus-visible:ring-ring";
62
+ export declare const choiceCardStateClasses: string;
62
63
  /** Optional option glyph: one neutral tile in every state, so colour stays for meaning. */
63
64
  export declare const choiceCardIconClasses = "inline-flex shrink-0 items-center justify-center rounded-inner bg-muted text-muted-foreground";
64
- /** Shared selected-card marker and content clearance; derives from action/icon geometry. */
65
- export declare const choiceCardMarkerClasses = "absolute top-space-sm end-space-sm size-action-sm text-primary-foreground fill-primary stroke-primary-foreground";
66
- export declare const choiceCardMarkerClearance = "[&>*:not(svg)]:max-w-[calc(100%_-_var(--height-action)*8/9*var(--density-scale))]";
65
+ /**
66
+ * A control track exactly one label line tall. Pair it with the label's own text
67
+ * role (size and leading) and align the row to its start: a checkbox, radio,
68
+ * switch or selection marker then centres on the label's first line at every
69
+ * scale, whether or not the label wraps.
70
+ */
71
+ export declare const choiceControlTrackClasses = "flex h-lh shrink-0 items-center";
72
+ /**
73
+ * Shared selected-card marker, derived from action geometry. It sits in a
74
+ * `choiceControlTrackClasses` track beside the option label, inside a slot that
75
+ * keeps its width while unselected so selecting never rewraps the label.
76
+ */
77
+ export declare const choiceCardMarkerClasses = "size-action-sm shrink-0 text-primary-foreground fill-primary stroke-primary-foreground";
78
+ export declare const choiceCardMarkerSlotClasses = "inline-flex size-action-sm shrink-0 items-center justify-center";
@@ -0,0 +1,7 @@
1
+ /** Accessible labels owned by the base combobox's generated controls. */
2
+ export interface ComboboxControlStrings {
3
+ clear: string;
4
+ toggle: string;
5
+ remove: string;
6
+ }
7
+ export declare const defaultComboboxControlStrings: ComboboxControlStrings;
@@ -2,18 +2,44 @@
2
2
  * Base wrapper for `ui/combobox`.
3
3
  *
4
4
  * This family is the sole importer of `@/components/ui/combobox`: it re-exports
5
- * the Base UI combobox anatomy untouched so every other layer composes the
6
- * parts without reaching into `ui/`. The searchable recipe built on top of this
5
+ * the Base UI combobox anatomy with shared recipes and accessible control labels
6
+ * so every other layer composes the parts without reaching into `ui/`. The searchable recipe built on top of this
7
7
  * anatomy — `Combobox`, `MultiCombobox`, `AsyncResourceCombobox`, and the
8
8
  * headless hooks — lives in `features/combobox`.
9
9
  *
10
10
  * The compound root is exported as `ComboboxRoot` so the canonical `Combobox`
11
11
  * name stays with the opinionated feature component.
12
12
  */
13
- export { Combobox as ComboboxRoot, ComboboxInputTrigger, ComboboxValue, ComboboxClear, ComboboxPortal, ComboboxPositioner, ComboboxList, ComboboxItemIndicator, ComboboxEmpty, ComboboxStatus, ComboboxGroup, ComboboxGroupLabel, ComboboxCollection, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxBackdrop, ComboboxArrow, useComboboxFilter, } from '../../ui/combobox';
13
+ export { Combobox as ComboboxRoot, ComboboxValue, ComboboxPortal, ComboboxPositioner, ComboboxList, ComboboxItemIndicator, ComboboxEmpty, ComboboxStatus, ComboboxGroup, ComboboxGroupLabel, ComboboxCollection, ComboboxChips, ComboboxChipsInput, ComboboxBackdrop, ComboboxArrow, useComboboxFilter, } from '../../ui/combobox';
14
14
  import { type ComponentProps } from 'react';
15
- import { ComboboxItem as Item, ComboboxPopup as Popup, ComboboxInput as Input, ComboboxTrigger as Trigger, ComboboxSeparator as Separator } from '../../ui/combobox';
15
+ import { ComboboxItem as Item, ComboboxPopup as Popup, ComboboxInput as Input, ComboboxInputTrigger as InputTrigger, ComboboxClear as Clear, ComboboxChip as Chip, ComboboxTrigger as Trigger, ComboboxSeparator as Separator } from '../../ui/combobox';
16
16
  import { type CollectionDensity } from '../popover/popover.recipes';
17
+ import { type StringsProp } from '../../../lib/strings';
18
+ import { type ComboboxControlStrings } from './combobox.strings';
19
+ export { defaultComboboxControlStrings, type ComboboxControlStrings } from './combobox.strings';
20
+ export type ComboboxInputTriggerProps = Omit<ComponentProps<typeof InputTrigger>, 'clearLabel' | 'toggleLabel'> & {
21
+ /** Accessible labels for the generated clear and toggle buttons. */
22
+ strings?: StringsProp<Pick<ComboboxControlStrings, 'clear' | 'toggle'>>;
23
+ };
24
+ export declare function ComboboxInputTrigger({ strings: stringsProp, ...props }: ComboboxInputTriggerProps): import("react").FunctionComponentElement<Omit<import("@base-ui/react").AutocompleteInputProps, "size"> & {
25
+ showClear?: boolean;
26
+ clearLabel?: string;
27
+ toggleLabel?: string;
28
+ size?: import("../../ui/combobox").ComboboxSize;
29
+ error?: boolean;
30
+ }>;
31
+ export type ComboboxClearProps = ComponentProps<typeof Clear> & {
32
+ /** Accessible label; an explicit aria-label takes precedence. */
33
+ strings?: StringsProp<Pick<ComboboxControlStrings, 'clear'>>;
34
+ };
35
+ export declare function ComboboxClear({ strings: stringsProp, ...props }: ComboboxClearProps): import("react").FunctionComponentElement<import("@base-ui/react").AutocompleteClearProps>;
36
+ export type ComboboxChipProps = Omit<ComponentProps<typeof Chip>, 'removeLabel'> & {
37
+ /** Accessible label for the generated removal button. */
38
+ strings?: StringsProp<Pick<ComboboxControlStrings, 'remove'>>;
39
+ };
40
+ export declare function ComboboxChip({ strings: stringsProp, ...props }: ComboboxChipProps): import("react").FunctionComponentElement<import("@base-ui/react").ComboboxChipProps & {
41
+ removeLabel?: string;
42
+ }>;
17
43
  export declare function ComboboxPopup({ className, ...props }: ComponentProps<typeof Popup>): import("react").FunctionComponentElement<import("@base-ui/react").AutocompletePopupProps>;
18
44
  export declare function ComboboxInput({ className, ...props }: ComponentProps<typeof Input>): import("react").FunctionComponentElement<import("@base-ui/react").AutocompleteInputProps>;
19
45
  export declare function ComboboxTrigger({ className, ...props }: ComponentProps<typeof Trigger>): import("react").FunctionComponentElement<import("@base-ui/react").ComboboxTriggerProps>;
@@ -4,9 +4,9 @@ import type { TextGap } from '../structure';
4
4
  *
5
5
  * Not published from any entrypoint: applications use `ConfirmDialog` from
6
6
  * `themelia-react-ui/features/overlays`, which owns the decision lifecycle.
7
- * The surface shares the modal shell, region and typography geometry of the
8
- * internal Dialog wrapper; the heading sits inside the scrolling body because
9
- * a confirmation reads as one block above its pinned answers.
7
+ * The surface shares the modal shell, region, rule and typography geometry of
8
+ * the internal Dialog wrapper: a pinned heading region, an optional scrolling
9
+ * body and pinned answers, with one rule between adjacent visible regions.
10
10
  */
11
11
  import * as React from 'react';
12
12
  import { AlertDialog as AlertDialogPrimitive, AlertDialogOverlay, AlertDialogPortal } from '../../ui/alert-dialog';
@@ -17,10 +17,11 @@ export declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<im
17
17
  } & {
18
18
  container?: import("../../../lib/theme-scope").ThemePortalContainer;
19
19
  }, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
- export declare const AlertDialogHeader: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & {
20
+ export declare const AlertDialogHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
21
21
  textGap?: TextGap;
22
+ align?: "start" | "center";
22
23
  } & React.RefAttributes<HTMLDivElement>>;
23
- /** Scroll-owning region above the pinned answers; rules appear only on edges hiding content. */
24
+ /** Scroll-owning region between the pinned heading and the pinned answers. */
24
25
  export declare const AlertDialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
25
26
  export declare const AlertDialogFooter: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
26
27
  export declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").AlertDialogTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
@@ -5,9 +5,9 @@ import type { TextGap } from '../structure';
5
5
  * Not published from any entrypoint: applications use `ActionDialog` (or
6
6
  * `ConfirmDialog`) from `themelia-react-ui/features/overlays`, which owns the
7
7
  * lifecycle, focus, dismissal and action contract. This wrapper supplies the
8
- * modal geometry those features share: one framed popover surface whose shell
9
- * owns the block inset and the gap between header, scrolling body and footer,
10
- * as Card does, with no static rules between regions.
8
+ * modal geometry those features share: one framed popover surface whose
9
+ * header, scrolling body and footer each own their inset, with exactly one rule
10
+ * between adjacent visible regions (`modalRegionRecipes`).
11
11
  */
12
12
  import * as React from 'react';
13
13
  import { Dialog as DialogPrimitive, DialogOverlay, DialogPortal } from '../../ui/dialog';
@@ -24,11 +24,7 @@ export declare const DialogContent: React.ForwardRefExoticComponent<Omit<import(
24
24
  export declare const DialogHeader: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & {
25
25
  textGap?: TextGap;
26
26
  } & React.RefAttributes<HTMLDivElement>>;
27
- /**
28
- * Scroll-owning content region between the pinned dialog header and footer.
29
- * A rule appears on its top or bottom edge only while content is scrolled out
30
- * of view there.
31
- */
27
+ /** Scroll-owning content region between the pinned dialog header and footer. */
32
28
  export declare const DialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
33
29
  export declare const DialogFooter: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
34
30
  showCloseButton?: boolean;
@@ -4,7 +4,7 @@
4
4
  * coupon checks, conversation initials, search-result tones, AI-bot avatars.
5
5
  *
6
6
  * Tones reuse the shadcn semantic tokens, with the foreground colour picked
7
- * to read against a 10–15% background tint (e.g. `bg-success/15 text-success`).
7
+ * to read against its tone's shared tint (`toneRecipes`, contrast-tested).
8
8
  * For a fully-saturated mark (primary fill, inverse foreground), use
9
9
  * `tone="primary"` and pass `solid`.
10
10
  *
@@ -1,4 +1,10 @@
1
1
  import type { ComponentScale } from '../../../lib/component-vocabulary';
2
+ /** Ordinary heights for compound frames that retain auto-height and class overrides. */
3
+ export declare const formControlHeightClasses: {
4
+ sm: string;
5
+ md: string;
6
+ lg: string;
7
+ };
2
8
  export declare const formControlSizeClasses: {
3
9
  sm: string;
4
10
  md: string;
@@ -60,20 +66,23 @@ export declare const formControlMinHeightClasses: {
60
66
  lg: string;
61
67
  };
62
68
  /**
63
- * Canonical "input-shaped trigger" chrome — used by any control that
64
- * renders as a button-style trigger but visually has to read as a form
65
- * field (DatePicker, TimePicker, the inner Select inside composite
66
- * fields, etc.). Mirrors `Input`'s `border-input rounded-inner
67
- * bg-transparent focus-visible:ring` chrome (no shadow — the library
68
- * is intentionally flat) plus the size-driven height + horizontal
69
- * padding.
69
+ * The one field frame, drawn by `Input` on its native field and by
70
+ * `formFieldTriggerClasses` on button-shaped triggers: the `--input` boundary,
71
+ * inner radius, transparent fill (the library is intentionally flat), control
72
+ * height, editable text size, control padding and the shared focus, invalid and
73
+ * disabled states. Layout (`flex`, width) stays with each owner.
70
74
  *
71
75
  * The displayed value is the field's value, so it follows the editable text
72
- * recipe: on coarse pointers it matches the touch input size of an adjoining
73
- * `Input` instead of rendering a step smaller.
74
- *
75
- * Kept here so the chrome lives in exactly one place — when we tweak
76
- * the canonical input look, every trigger picks it up.
76
+ * recipe: on coarse pointers a trigger matches the touch input size of an
77
+ * adjoining `Input` instead of rendering a step smaller.
78
+ */
79
+ export declare function formFieldFrameClasses(size: ComponentScale): string;
80
+ /**
81
+ * Canonical "input-shaped trigger" chrome — used by any control that
82
+ * renders as a button-style trigger but visually has to read as a form
83
+ * field (DatePicker, TimePicker, Cascader, the inner Select inside composite
84
+ * fields, etc.). It is `Input`'s own frame plus button resets, so when the
85
+ * canonical input look changes every trigger picks it up.
77
86
  */
78
87
  export declare function formFieldTriggerClasses(size: ComponentScale): string;
79
88
  export declare const formTextareaSizeClasses: {
@@ -88,9 +97,9 @@ export declare const formTextareaSizeClasses: {
88
97
  * line height, so the inset follows the editable text size on every pointer.
89
98
  */
90
99
  export declare const formTextareaInsetClasses: {
91
- sm: string;
92
- md: string;
93
- lg: string;
100
+ readonly sm: "py-[calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)]";
101
+ readonly md: "py-[calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)]";
102
+ readonly lg: "py-[calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)]";
94
103
  };
95
104
  /**
96
105
  * Top offsets that centre multi-line field affordances on the first line, where a
@@ -114,5 +123,7 @@ export declare const formLabelSizeClasses: {
114
123
  md: string;
115
124
  lg: string;
116
125
  };
126
+ /** Field labels share one line box, so a label row lines up beside its field at every size. */
127
+ export declare const formLabelLineClass = "leading-6";
117
128
  export declare function resolveFormControlSize(sizeProp: ComponentScale | undefined, defaultScale: ComponentScale | undefined): ComponentScale;
118
129
  export declare function resolveFormLabelSize(sizeProp: ComponentScale | undefined, defaultScale: ComponentScale | undefined): ComponentScale;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * metadata-list — label/value facts about one entity.
3
+ *
4
+ * A base structure: it composes typography, primitives and base display parts,
5
+ * and any surface (Card, panel, drawer or block) places it. Previously
6
+ * published from `themelia-react-ui/blocks/data-display`, which re-exports it
7
+ * as a deprecated compatibility path.
8
+ */
9
+ export { MetadataList, defaultMetadataListStrings } from './metadata-list';
10
+ export type { MetadataDensity, MetadataInlineListItem, MetadataLayout, MetadataListItem, MetadataListProps, MetadataListStrings, } from './metadata-list';
11
+ export { MetadataValue } from './metadata-value';
12
+ export type { MetadataValueDescriptor, MetadataValueKind, MetadataValueProps, } from './metadata-value';
@@ -1,37 +1,28 @@
1
- /**
2
- * MetadataList — flexible label/value list for entity metadata.
3
- *
4
- * Three layouts:
5
- * - `grid` (default): label-on-top, value-below cells for entity details.
6
- * - `rows`: two-column definition rows with hairline separators.
7
- * - `inline`: label/separator/value pairs that wrap, suitable for
8
- * pill-style summaries (e.g. "Created Jan 4 · By Alice · v3.2").
9
- *
10
- * Each item supports an optional icon, tooltip, React-node value, custom
11
- * `render`, and per-item `emptyLabel`. Falls back to the shared `EMPTY` when
12
- * both are missing. Returns `null` when the list is empty so callers can render
13
- * unconditionally.
14
- */
15
- import { type LucideIcon } from 'lucide-react';
16
1
  import React from 'react';
17
- import { type ResponsiveValue } from '../../../base/structure';
18
- import { type StringsProp } from '../../../../lib/strings';
2
+ import { type ResponsiveValue } from '../structure';
3
+ import { type StringsProp } from '../../../lib/strings';
19
4
  import { defaultMetadataListStrings, type MetadataListStrings } from './metadata-list.strings';
20
5
  import { type MetadataValueDescriptor } from './metadata-value';
21
6
  export type { MetadataListStrings };
22
7
  export { defaultMetadataListStrings };
23
8
  export type MetadataListItem = {
24
- /** Stable identity for this entry. */
9
+ /** Stable identity for this entry. Without one the label and index stand in. */
25
10
  id?: string;
26
11
  /** Display label. */
27
12
  label: React.ReactNode;
13
+ /** A node, or a descriptor that names the fact's kind. */
28
14
  value?: React.ReactNode | MetadataValueDescriptor | null;
29
- /** Supporting copy shown under the label. */
15
+ /** Supporting copy shown under the value. */
30
16
  description?: React.ReactNode | null;
17
+ /** Shown from an info trigger beside the label, named after the label through `strings.formatInfoAriaLabel`. */
31
18
  tooltip?: React.ReactNode;
32
- /** Leading glyph. */
33
- icon?: LucideIcon;
19
+ /** Leading glyph. Any component that accepts `className`, including Lucide icons. */
20
+ icon?: React.ComponentType<{
21
+ className?: string;
22
+ }>;
23
+ /** Shown when this item's value is absent, in place of the list's `emptyLabel`. */
34
24
  emptyLabel?: React.ReactNode;
25
+ /** Takes over the value. The output sits in the value box, so it inherits the value's type role. */
35
26
  render?: (item: MetadataListItem) => React.ReactNode;
36
27
  };
37
28
  export type MetadataInlineListItem = Omit<MetadataListItem, 'description'> & {
@@ -54,7 +45,11 @@ type MetadataListSharedProps = {
54
45
  className?: string;
55
46
  /** Character placed between a label and its value. Defaults to a colon. */
56
47
  separator?: string;
57
- /** Divider between items — `true` for the default rule, or a character for inline layouts. */
48
+ /**
49
+ * Divider between items, off by default. In `rows`, any truthy value draws a
50
+ * rule between rows (never at the ends). In `inline`, `true` places a middle
51
+ * dot (`·`) and a string places that character.
52
+ */
58
53
  itemSeparator?: boolean | string;
59
54
  /** Per-instance string overrides (deep-merged over `defaultMetadataListStrings`). */
60
55
  strings?: StringsProp<MetadataListStrings>;
@@ -64,15 +59,23 @@ type MetadataGridRowsProps = MetadataListSharedProps & {
64
59
  items: MetadataListItem[];
65
60
  /** `grid` flows items into `columns`; `rows` stacks them one per line. Default: `grid`. */
66
61
  layout?: 'grid' | 'rows';
62
+ /**
63
+ * Rows layout only. `start` (default) places values and descriptions at the
64
+ * start of proportional label/value tracks; `end` pins them to the row's end
65
+ * edge, for figures that read down a column.
66
+ */
67
+ valueAlign?: 'start' | 'end';
67
68
  };
68
69
  type MetadataInlineProps = MetadataListSharedProps & {
69
- /** Values to render, without labels. */
70
+ /** Label/value pairs run together on wrapping lines. Inline items take no description. */
70
71
  items: MetadataInlineListItem[];
71
- /** Runs the values together on one line, separated by `itemSeparator`. */
72
+ /** Runs the label/value pairs together on one line, separated by `itemSeparator`. */
72
73
  layout: 'inline';
74
+ /** Not used by the inline layout. */
75
+ valueAlign?: never;
73
76
  };
74
77
  export type MetadataListProps = MetadataGridRowsProps | MetadataInlineProps;
75
- export declare function MetadataList({ items, columns, density, emptyLabel, title, titleSeparator, className, layout, separator, itemSeparator, strings: stringsProp, }: MetadataListProps): React.JSX.Element | null;
78
+ export declare function MetadataList({ items, columns, density, emptyLabel, title, titleSeparator, className, layout, separator, itemSeparator, valueAlign, strings: stringsProp, }: MetadataListProps): React.JSX.Element | null;
76
79
  export declare namespace MetadataList {
77
80
  var displayName: string;
78
81
  }
@@ -6,8 +6,8 @@
6
6
  */
7
7
  import type { ReactNode } from 'react';
8
8
  import type { Locale } from 'date-fns';
9
- import { type BadgeProps } from '../../../base/badge';
10
- import { type DateInput, type DatePreset, type MoneyProps, type TimeProps } from '../../../primitives';
9
+ import { type BadgeProps } from '../badge';
10
+ import { type DateInput, type DatePreset, type MoneyProps, type TimeProps } from '../../primitives';
11
11
  export type MetadataValueKind = 'text' | 'mono' | 'email' | 'phone' | 'url' | 'link' | 'date' | 'time' | 'datetime' | 'money' | 'badge' | 'node' | 'empty';
12
12
  type MetadataDisplayValue = Exclude<ReactNode, null | undefined>;
13
13
  type MetadataDateInput = Exclude<DateInput, null | undefined>;
@@ -16,6 +16,6 @@ export { LanguageSwitcher, type LanguageSwitcherProps } from './language-switche
16
16
  export { NavigationTabs, defaultNavigationTabsStrings, type NavigationTabItem, type NavigationTabsProps, type NavigationTabsStrings, type NavigationTabsVariant, } from './navigation-tabs';
17
17
  export { Tabs, TabsContent, TabsList, TabsTrigger, type TabsListProps } from './tabs';
18
18
  export { defaultTabsScrollStrings, type TabsScrollStrings } from './tab-scroll-viewport';
19
- export { PageHeading, type PageHeadingProps, type PageHeadingBadge, } from './page-header';
19
+ export { PageHeading, type PageHeadingProps, type PageHeadingBadge, type PageHeaderAction, type PageHeaderLinkRenderProps, type PageHeaderLinkRenderer, } from './page-header';
20
20
  export { OverflowTabBar, defaultOverflowTabBarStrings, type OverflowTabBarProps, type OverflowTabBarStrings, type OverflowTabItem, } from './overflow-tab-bar';
21
21
  export { PaginationPrimitive, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, defaultPaginationStrings, type PaginationContentProps, type PaginationEllipsisProps, type PaginationItemProps, type PaginationLinkProps, type PaginationNextProps, type PaginationPreviousProps, type PaginationProps, type PaginationStrings, } from './pagination';
@@ -1 +1,2 @@
1
1
  export { PageHeading, type PageHeadingProps, type PageHeadingBadge, } from './page-header';
2
+ export { type PageHeaderAction, type PageHeaderLinkRenderProps, type PageHeaderLinkRenderer, } from './page-header-commands';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * PageHeaderCommands — role-based commands for page and record headers.
3
+ *
4
+ * The role chooses each command's treatment and place: outline secondary
5
+ * commands, then one solid primary command, then the More actions menu for
6
+ * overflow and destructive commands, which always closes the row. Below `sm`,
7
+ * secondary commands collapse into that menu through CSS alone, so server and
8
+ * client markup agree. PageHeading owns the row, so every header that takes
9
+ * `primaryAction` and `secondaryActions` places its commands the same way.
10
+ */
11
+ import type { ComponentType, MouseEvent, ReactNode } from 'react';
12
+ /**
13
+ * A page command described by its role. `primaryAction` and `secondaryActions`
14
+ * choose the treatment, so a command carries no tone or button style.
15
+ */
16
+ export interface PageHeaderAction {
17
+ /** Stable key. Defaults to the command's position. */
18
+ id?: string;
19
+ /** Visible command text. */
20
+ label: ReactNode;
21
+ /** Runs the command. When both are set, `onClick` wins over `href`. */
22
+ onClick?: () => void;
23
+ /** Navigates through the header's `renderLink` instead of running a callback. */
24
+ href?: string;
25
+ target?: string;
26
+ rel?: string;
27
+ /** Marks the destination as leaving the app; forwarded to `renderLink`. */
28
+ external?: boolean;
29
+ /** Leading glyph. Pass a Lucide icon component. */
30
+ icon?: ComponentType<{
31
+ className?: string;
32
+ }>;
33
+ /** Shows the pending indicator and blocks activation. */
34
+ loading?: boolean;
35
+ /** Blocks activation while keeping the command visible. */
36
+ disabled?: boolean;
37
+ /** Set false to omit the command, for example without permission. */
38
+ visible?: boolean;
39
+ /**
40
+ * Irreversible or harmful command. A destructive secondary command moves to
41
+ * the More actions menu; a destructive primary command keeps its place with
42
+ * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.
43
+ */
44
+ destructive?: boolean;
45
+ }
46
+ /** What a header hands its link renderer for an `href` command. */
47
+ export interface PageHeaderLinkRenderProps {
48
+ href: string;
49
+ children: ReactNode;
50
+ className?: string;
51
+ target?: string;
52
+ rel?: string;
53
+ /** Marks the destination as leaving the app. */
54
+ external?: boolean;
55
+ onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
56
+ 'aria-label'?: string;
57
+ }
58
+ /** Renders framework links for `href` commands. Layout `renderLink` functions fit. */
59
+ export type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;
60
+ /** Native anchor fallback, matching the layout default: external links open a new tab. */
61
+ export declare const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer;
62
+ /** Secondary commands rendered as buttons from `sm` up; later ones overflow. */
63
+ export declare const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;
64
+ export interface PageHeaderCommandsProps {
65
+ primaryAction?: PageHeaderAction;
66
+ secondaryActions?: readonly PageHeaderAction[];
67
+ /** Accessible name of the More actions menu trigger. */
68
+ moreActionsLabel: string;
69
+ renderLink?: PageHeaderLinkRenderer;
70
+ }
71
+ /** Whether the header has any role-based command to render. */
72
+ export declare function hasPageHeaderCommands(primaryAction: PageHeaderAction | undefined, secondaryActions: readonly PageHeaderAction[] | undefined): boolean;
73
+ export declare function PageHeaderCommands({ primaryAction, secondaryActions, moreActionsLabel, renderLink, }: PageHeaderCommandsProps): import("react").JSX.Element | null;
@@ -2,12 +2,15 @@
2
2
  * PageHeading — reusable visual heading block for sections and resources.
3
3
  * Higher-level layout components add routing/back behavior around this base
4
4
  * visual primitive instead of reimplementing title, description, badge, and
5
- * action spacing.
5
+ * action spacing. `primaryAction` and `secondaryActions` describe commands by
6
+ * role; the heading owns their treatment and placement for every header built
7
+ * on it.
6
8
  */
7
9
  import type { Key, ReactNode } from 'react';
8
10
  import { type HeadingTag } from '../../../typography';
9
11
  import { type BadgeTone } from '../../badge';
10
12
  import { type TextGap } from '../../structure';
13
+ import { type PageHeaderAction, type PageHeaderLinkRenderer } from './page-header-commands';
11
14
  export interface PageHeadingBadge {
12
15
  label: ReactNode;
13
16
  tone?: BadgeTone;
@@ -58,8 +61,28 @@ export interface PageHeadingProps {
58
61
  titleSuffix?: ReactNode;
59
62
  /** Content directly beneath the description, sharing its alignment — a metadata line. */
60
63
  afterDescription?: ReactNode;
61
- /** Independent actions column beside the copy; follows it on narrow widths. */
64
+ /**
65
+ * Independent actions column beside the copy; follows it on narrow widths.
66
+ * Holds non-command controls such as a period select; they render before
67
+ * the role-based commands.
68
+ */
62
69
  actions?: ReactNode;
70
+ /**
71
+ * The header's one main command: a solid primary button after the secondary
72
+ * commands, visible at every width.
73
+ */
74
+ primaryAction?: PageHeaderAction;
75
+ /**
76
+ * Supporting commands in priority order. The first two render as outline
77
+ * buttons before the primary command; the rest, and every destructive
78
+ * command, move into the More actions menu, which always closes the row.
79
+ * Below `sm`, all secondary commands collapse into that menu.
80
+ */
81
+ secondaryActions?: readonly PageHeaderAction[];
82
+ /** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
83
+ moreActionsLabel?: string;
84
+ /** Renders `href` commands as framework links. Defaults to a native anchor. */
85
+ renderLink?: PageHeaderLinkRenderer;
63
86
  /** Content below the whole header block, above the separator. */
64
87
  children?: ReactNode;
65
88
  /** Merged onto the `<header>` root. */
@@ -85,7 +108,7 @@ export interface PageHeadingProps {
85
108
  */
86
109
  withSeparator?: boolean;
87
110
  }
88
- export declare function PageHeading({ eyebrow, title, description, textGap, headingTag, badge, badges, breadcrumbs, leading, beforeTitle, titlePrefix, titleSuffix, afterDescription, actions, children, className, contentClassName, eyebrowClassName, titleClassName, titleRowClassName, descriptionClassName, actionsClassName, withSeparator, }: PageHeadingProps): import("react").JSX.Element;
111
+ export declare function PageHeading({ eyebrow, title, description, textGap, headingTag, badge, badges, breadcrumbs, leading, beforeTitle, titlePrefix, titleSuffix, afterDescription, actions, primaryAction, secondaryActions, moreActionsLabel, renderLink, children, className, contentClassName, eyebrowClassName, titleClassName, titleRowClassName, descriptionClassName, actionsClassName, withSeparator, }: PageHeadingProps): import("react").JSX.Element;
89
112
  export declare namespace PageHeading {
90
113
  var displayName: string;
91
114
  }
@@ -2,6 +2,7 @@ import { type ComponentProps, type ReactNode } from 'react';
2
2
  import { Pagination as UIPagination, PaginationContent as UIPaginationContent, PaginationItem as UIPaginationItem } from '../../ui/pagination';
3
3
  import { type ButtonProps } from '../buttons';
4
4
  import { type StringsProp } from '../../../lib/strings';
5
+ import { type ComponentScale } from '../../../lib/ui-provider';
5
6
  export interface PaginationStrings {
6
7
  navigationLabel: string;
7
8
  morePages: string;
@@ -23,6 +24,8 @@ export interface PaginationProps extends ComponentProps<typeof UIPagination> {
23
24
  }
24
25
  export type PaginationContentProps = ComponentProps<typeof UIPaginationContent>;
25
26
  export type PaginationEllipsisProps = ComponentProps<'span'> & {
27
+ /** Matches page-link geometry; falls back to the provider scale. */
28
+ size?: ComponentScale;
26
29
  /** Copy for the control. */
27
30
  label?: string;
28
31
  /** Overrides the pagination copy. */
@@ -54,8 +57,8 @@ export type PaginationPreviousProps = PaginationLinkProps & {
54
57
  */
55
58
  export declare function PaginationPrimitive({ className, strings: stringsProp, children, 'aria-label': ariaLabel, ...props }: PaginationProps): import("react").JSX.Element;
56
59
  export declare function PaginationContent({ className, ...props }: PaginationContentProps): import("react").JSX.Element;
57
- export declare function PaginationEllipsis({ className, label, strings: stringsProp, ...props }: PaginationEllipsisProps): import("react").JSX.Element;
60
+ export declare function PaginationEllipsis({ className, label, size: sizeProp, strings: stringsProp, ...props }: PaginationEllipsisProps): import("react").JSX.Element;
58
61
  export declare function PaginationItem(props: PaginationItemProps): import("react").JSX.Element;
59
- export declare function PaginationLink({ className, children, active, ...props }: PaginationLinkProps): import("react").JSX.Element;
62
+ export declare function PaginationLink({ className, children, active, size: sizeProp, ...props }: PaginationLinkProps): import("react").JSX.Element;
60
63
  export declare function PaginationPrevious({ className, text, strings: stringsProp, children: _children, ...props }: PaginationPreviousProps): import("react").JSX.Element;
61
64
  export declare function PaginationNext({ className, text, strings: stringsProp, children: _children, ...props }: PaginationNextProps): import("react").JSX.Element;
@@ -1,7 +1,21 @@
1
1
  import { type RowDensity } from '../../../lib/row-recipes';
2
2
  /** Shared anchored-surface chrome; Menu and Popover retain their own accessible behavior. */
3
+ /**
4
+ * One width scale for anchored surfaces. Menus, pickers and popovers choose a
5
+ * step rather than a number; the viewport bound in `popoverRecipes.surface`
6
+ * still keeps every step clear of a narrow screen's edges.
7
+ */
8
+ export declare const popoverWidthRecipes: {
9
+ readonly xs: "w-48";
10
+ readonly sm: "w-56";
11
+ readonly md: "w-72";
12
+ readonly lg: "w-80";
13
+ readonly xl: "w-90";
14
+ /** Floor for a menu that otherwise follows its trigger's width. */
15
+ readonly menuMin: "min-w-40";
16
+ };
3
17
  export declare const popoverRecipes: {
4
- readonly surface: "box-border rounded-radius border border-border bg-popover text-popover-foreground shadow-md ring-0";
18
+ readonly surface: "box-border max-w-[calc(100vw-2rem)] rounded-radius border border-border bg-popover text-popover-foreground shadow-md ring-0";
5
19
  readonly display: "p-surface";
6
20
  readonly menu: "p-surface-xs";
7
21
  readonly menuRegion: "px-surface-xs py-space-md";
@@ -7,9 +7,9 @@ import type { TextGap } from '../structure';
7
7
  * which owns the lifecycle, focus, dismissal and action contract; the
8
8
  * `themelia-react-ui/base/sheet` entrypoint remains only as a deprecated
9
9
  * compatibility surface. The panel shares the modal geometry of the internal
10
- * Dialog wrapper: the shell owns the block inset and the gap between header,
11
- * scrolling body and footer, regions own their inline inset, and one edge rule
12
- * separates the panel from the page.
10
+ * Dialog wrapper: header, scrolling body and footer each own their inset, one
11
+ * rule separates adjacent visible regions, and one edge rule separates the
12
+ * panel from the page.
13
13
  */
14
14
  import * as React from 'react';
15
15
  import { Sheet as SheetPrimitive } from '../../ui/sheet';
@@ -29,11 +29,7 @@ export declare const SheetContent: React.ForwardRefExoticComponent<Omit<import("
29
29
  export declare const SheetHeader: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & {
30
30
  textGap?: TextGap;
31
31
  } & React.RefAttributes<HTMLDivElement>>;
32
- /**
33
- * Scroll-owning content region between the pinned sheet header and footer.
34
- * A rule appears on its top or bottom edge only while content is scrolled out
35
- * of view there.
36
- */
32
+ /** Scroll-owning content region between the pinned sheet header and footer. */
37
33
  export declare const SheetBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
38
34
  export declare const SheetFooter: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
39
35
  export declare const SheetTitle: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogTitleProps & {
@@ -54,7 +54,11 @@ export interface SignaturePadProps extends Omit<ComponentPropsWithoutRef<'div'>,
54
54
  name?: string;
55
55
  form?: string;
56
56
  required?: boolean;
57
- /** Shows the keyboard-accessible typed signature alternative. @default true */
57
+ /**
58
+ * Shows the keyboard-accessible typed signature alternative. The typed name is
59
+ * drawn and exported in the pad's font family: the theme sans unless a font is
60
+ * set on the pad through `className` or `style`. @default true
61
+ */
58
62
  allowTypedSignature?: boolean;
59
63
  /** Ink diameter in CSS drawing pixels; pen pressure varies it. @default 2 */
60
64
  strokeWidth?: number;