themelia-react-ui 1.0.2 → 2.0.1

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 (748) hide show
  1. package/CHANGELOG.md +632 -1
  2. package/README.md +31 -13
  3. package/dist/accordion-B6a3vVgA.js +207 -0
  4. package/dist/accordion-B6a3vVgA.js.map +1 -0
  5. package/dist/action-menu-TzCoSlwL.js +280 -0
  6. package/dist/action-menu-TzCoSlwL.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-B5iu-Mkr.js} +9 -3
  8. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-BMJdv-6q.js} +389 -391
  10. package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-ZK5RWdo6.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
  13. package/dist/attachment-BtfhGm8i.js +245 -0
  14. package/dist/attachment-BtfhGm8i.js.map +1 -0
  15. package/dist/{auth-CAQcasMV.js → auth-CYxKfo69.js} +239 -237
  16. package/dist/auth-CYxKfo69.js.map +1 -0
  17. package/dist/{avatar-Bu2HhitA.js → avatar-BBnEJIx8.js} +71 -68
  18. package/dist/avatar-BBnEJIx8.js.map +1 -0
  19. package/dist/badge-MrKVNzW9.js +93 -0
  20. package/dist/badge-MrKVNzW9.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/batch-action-bar.js +3 -0
  27. package/dist/base/buttons.js +2 -3
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +19 -19
  30. package/dist/base/carousel.js.map +1 -1
  31. package/dist/base/cascader.js +234 -224
  32. package/dist/base/cascader.js.map +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +3 -3
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +3 -3
  42. package/dist/base/forms-numeric.js +1 -1
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +81 -76
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +1 -1
  48. package/dist/base/metadata-list.js +3 -0
  49. package/dist/base/navigation.js +7 -7
  50. package/dist/base/popover-menu.js +1 -1
  51. package/dist/base/popover.js +1 -1
  52. package/dist/base/qr-code.js +7 -4
  53. package/dist/base/qr-code.js.map +1 -1
  54. package/dist/base/repeaters.js +175 -174
  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 +148 -138
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +1 -1
  62. package/dist/base/structure.js +1 -1
  63. package/dist/base/table.js +1 -1
  64. package/dist/base/text-inputs.js +2 -2
  65. package/dist/base/toaster.js +4 -4
  66. package/dist/base/toaster.js.map +1 -1
  67. package/dist/base/tree.js +1 -1
  68. package/dist/base/upload-queue.js +1 -1
  69. package/dist/base/upload.js +3 -3
  70. package/dist/base/value-inputs.js +2 -2
  71. package/dist/batch-action-bar-BZGDG-Si.js +104 -0
  72. package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
  73. package/dist/blocks/admin.js +264 -253
  74. package/dist/blocks/admin.js.map +1 -1
  75. package/dist/blocks/ai.js +293 -323
  76. package/dist/blocks/ai.js.map +1 -1
  77. package/dist/blocks/analytics/usage-card.js +1 -1
  78. package/dist/blocks/analytics.js +596 -587
  79. package/dist/blocks/analytics.js.map +1 -1
  80. package/dist/blocks/collaboration.js +1 -1
  81. package/dist/blocks/commerce/receipt.js +1 -1
  82. package/dist/blocks/commerce.js +2246 -1693
  83. package/dist/blocks/commerce.js.map +1 -1
  84. package/dist/blocks/data-display.js +3 -2
  85. package/dist/blocks/onboarding.js +50 -49
  86. package/dist/blocks/onboarding.js.map +1 -1
  87. package/dist/blocks/planning.js +82 -91
  88. package/dist/blocks/planning.js.map +1 -1
  89. package/dist/blocks/timelines.js +1 -1
  90. package/dist/breadcrumbs-D5t7I023.js +129 -0
  91. package/dist/breadcrumbs-D5t7I023.js.map +1 -0
  92. package/dist/{button-BZyfTvwm.js → button-QYwiyhD2.js} +15 -14
  93. package/dist/button-QYwiyhD2.js.map +1 -0
  94. package/dist/buttons-SbIcm1HJ.js +661 -0
  95. package/dist/buttons-SbIcm1HJ.js.map +1 -0
  96. package/dist/{cards-qGSErLw_.js → cards-CiiHpKYd.js} +8 -8
  97. package/dist/cards-CiiHpKYd.js.map +1 -0
  98. package/dist/{chart-Bsc5BICK.js → chart-QfrARkXl.js} +17 -15
  99. package/dist/chart-QfrARkXl.js.map +1 -0
  100. package/dist/checkbox-DhB6K0bK.js +36 -0
  101. package/dist/checkbox-DhB6K0bK.js.map +1 -0
  102. package/dist/choice-inputs-t6w3ATNz.js +766 -0
  103. package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
  104. package/dist/code-block-Dgbu-CU3.js +185 -0
  105. package/dist/code-block-Dgbu-CU3.js.map +1 -0
  106. package/dist/{collapsible-ClvC7Bj3.js → collapsible-D8AEGU1-.js} +4 -4
  107. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-D8AEGU1-.js.map} +1 -1
  108. package/dist/{collection-content-D6S8cv_n.js → collection-content-uK16Grv0.js} +3 -3
  109. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-uK16Grv0.js.map} +1 -1
  110. package/dist/{combobox-BFnbJJp3.js → combobox-2Ic8N9bL.js} +103 -98
  111. package/dist/combobox-2Ic8N9bL.js.map +1 -0
  112. package/dist/combobox-DLl0bfiq.js +867 -0
  113. package/dist/combobox-DLl0bfiq.js.map +1 -0
  114. package/dist/{command-BnmSchli.js → command-kNR20o7x.js} +34 -30
  115. package/dist/command-kNR20o7x.js.map +1 -0
  116. package/dist/{comments-u5L0OGip.js → comments-BpDuCUUu.js} +304 -301
  117. package/dist/comments-BpDuCUUu.js.map +1 -0
  118. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  119. package/dist/components/base/action-menu/action-menu.d.ts +27 -5
  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/avatar/stacked-avatars.d.ts +5 -4
  123. package/dist/components/base/badge/badge.d.ts +1 -1
  124. package/dist/components/base/badge/badge.recipes.d.ts +6 -6
  125. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  126. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  127. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  128. package/dist/components/base/buttons/base-button.d.ts +7 -0
  129. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  130. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  131. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  132. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  133. package/dist/components/base/buttons/text-button.d.ts +2 -2
  134. package/dist/components/base/carousel/carousel.d.ts +3 -1
  135. package/dist/components/base/chart/chart.d.ts +7 -7
  136. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  137. package/dist/components/base/choice-inputs/choice-types.d.ts +24 -3
  138. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  139. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  140. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  141. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  142. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  143. package/dist/components/base/display/alert-dialog.d.ts +10 -3
  144. package/dist/components/base/display/content-block.d.ts +4 -2
  145. package/dist/components/base/display/date-block.d.ts +1 -1
  146. package/dist/components/base/display/dialog.d.ts +8 -5
  147. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  148. package/dist/components/base/display/surface-title.d.ts +6 -1
  149. package/dist/components/base/feedback/alert.d.ts +1 -1
  150. package/dist/components/base/feedback/state-display.d.ts +5 -4
  151. package/dist/components/base/forms/form-sizing.d.ts +43 -8
  152. package/dist/components/base/forms/workflow.d.ts +2 -0
  153. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  154. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  155. package/dist/components/base/metadata-list/index.d.ts +12 -0
  156. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  157. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  158. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  159. package/dist/components/base/navigation/index.d.ts +1 -1
  160. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  161. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  162. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  163. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  164. package/dist/components/base/navigation/page-header/page-header.d.ts +30 -4
  165. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  166. package/dist/components/base/sheet/index.d.ts +29 -1
  167. package/dist/components/base/sheet/sheet.d.ts +10 -5
  168. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  169. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  170. package/dist/components/base/spinner/spinner.d.ts +3 -2
  171. package/dist/components/base/structure/structure.types.d.ts +1 -1
  172. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  173. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  174. package/dist/components/base/upload/upload.recipes.d.ts +33 -0
  175. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  176. package/dist/components/base/value-inputs/index.d.ts +5 -5
  177. package/dist/components/base/value-inputs/tags-input.d.ts +38 -12
  178. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  179. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  180. package/dist/components/blocks/analytics/index.d.ts +1 -1
  181. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  182. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  183. package/dist/components/blocks/commerce/address-card/types.d.ts +4 -1
  184. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  185. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  186. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  187. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  188. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  189. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  190. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  191. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  192. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  193. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  194. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
  195. package/dist/components/blocks/commerce/index.d.ts +13 -5
  196. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  197. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  198. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  199. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  200. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  201. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  202. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  203. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  204. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  205. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  206. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  207. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  208. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  209. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  210. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  211. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  212. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  213. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  214. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  215. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  216. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  217. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  218. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  219. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  220. package/dist/components/blocks/commerce/payment-method/types.d.ts +14 -1
  221. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  222. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  223. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  224. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  225. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  226. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  227. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  228. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  229. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  230. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  231. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  232. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  233. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  234. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  235. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  236. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  237. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  238. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  239. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  240. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  241. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  242. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  243. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  244. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  245. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  246. package/dist/components/features/kanban/kanban.d.ts +1 -1
  247. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  248. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  249. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  250. package/dist/components/features/media-library/index.d.ts +1 -1
  251. package/dist/components/features/media-library/media-library.d.ts +1 -1
  252. package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
  253. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  254. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  255. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  256. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  257. package/dist/components/features/overlays/dialog.d.ts +1 -1
  258. package/dist/components/features/overlays/drawer.d.ts +1 -1
  259. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  260. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  261. package/dist/components/features/overlays/index.d.ts +1 -1
  262. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  263. package/dist/components/features/overlays/overlays.types.d.ts +62 -19
  264. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  265. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  266. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  267. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  268. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  269. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  270. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  271. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  272. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  273. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  274. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  275. package/dist/components/features/products/partials/index.d.ts +1 -1
  276. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  277. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  278. package/dist/components/features/products/products.types.d.ts +11 -3
  279. package/dist/components/features/resource/index.d.ts +1 -1
  280. package/dist/components/features/resource/resource.d.ts +1 -1
  281. package/dist/components/features/resource/resource.types.d.ts +34 -6
  282. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  283. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  284. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  285. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  286. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  287. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  288. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
  289. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  290. package/dist/components/features/sync/index.d.ts +26 -3
  291. package/dist/components/features/table/data-table.d.ts +1 -1
  292. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  293. package/dist/components/features/table/table.types.d.ts +32 -7
  294. package/dist/components/layout/page/index.d.ts +1 -1
  295. package/dist/components/layout/page/page.types.d.ts +51 -4
  296. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  297. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  298. package/dist/components/layout/settings/settings.d.ts +16 -2
  299. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  300. package/dist/components/primitives/date.d.ts +16 -3
  301. package/dist/components/primitives/dimensions.d.ts +6 -0
  302. package/dist/components/primitives/duration.d.ts +6 -0
  303. package/dist/components/primitives/file-size.d.ts +6 -0
  304. package/dist/components/primitives/index.d.ts +1 -1
  305. package/dist/components/primitives/initials.d.ts +11 -2
  306. package/dist/components/primitives/link.d.ts +7 -0
  307. package/dist/components/primitives/money.d.ts +29 -7
  308. package/dist/components/primitives/number.d.ts +17 -0
  309. package/dist/components/primitives/value-typography.d.ts +54 -0
  310. package/dist/components/primitives/value.d.ts +31 -6
  311. package/dist/components/typography/heading.d.ts +9 -1
  312. package/dist/components/typography/label.d.ts +3 -0
  313. package/dist/components/typography/rich-text/index.d.ts +1 -1
  314. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  315. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  316. package/dist/components/typography/running-text.d.ts +12 -0
  317. package/dist/components/typography/text-link.d.ts +24 -1
  318. package/dist/components/typography/text.d.ts +12 -0
  319. package/dist/components/typography/text.styles.d.ts +35 -13
  320. package/dist/components/ui/button.d.ts +1 -1
  321. package/dist/components/ui/checkbox.d.ts +6 -0
  322. package/dist/components/ui/overlay.recipes.d.ts +6 -2
  323. package/dist/components/ui/select.d.ts +3 -1
  324. package/dist/components/ui/switch.d.ts +5 -0
  325. package/dist/{containers-DqB-bSYE.js → containers-DmWiJa2I.js} +36 -35
  326. package/dist/containers-DmWiJa2I.js.map +1 -0
  327. package/dist/{copyable-BTSByfmq.js → copyable-B3Gwgdqc.js} +6 -6
  328. package/dist/{copyable-BTSByfmq.js.map → copyable-B3Gwgdqc.js.map} +1 -1
  329. package/dist/data-display-DafIvCl5.js +960 -0
  330. package/dist/data-display-DafIvCl5.js.map +1 -0
  331. package/dist/date-BgK3bTdo.js +144 -0
  332. package/dist/date-BgK3bTdo.js.map +1 -0
  333. package/dist/date-picker-CF-DtUpF.js +1529 -0
  334. package/dist/date-picker-CF-DtUpF.js.map +1 -0
  335. package/dist/date-pickers-BmzxJl5l.js +174 -0
  336. package/dist/date-pickers-BmzxJl5l.js.map +1 -0
  337. package/dist/{display-CS6Hbk18.js → display-DsQTVzMz.js} +88 -87
  338. package/dist/display-DsQTVzMz.js.map +1 -0
  339. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-E2qmdC7o.js} +23 -16
  340. package/dist/dropdown-menu-E2qmdC7o.js.map +1 -0
  341. package/dist/features/activities.js +437 -521
  342. package/dist/features/activities.js.map +1 -1
  343. package/dist/features/ai-chat.js +174 -172
  344. package/dist/features/ai-chat.js.map +1 -1
  345. package/dist/features/async-preview.js +8 -8
  346. package/dist/features/async-preview.js.map +1 -1
  347. package/dist/features/combobox.js +1 -1
  348. package/dist/features/comments.js +1 -1
  349. package/dist/features/data-view.js +139 -138
  350. package/dist/features/data-view.js.map +1 -1
  351. package/dist/features/email-composer/engine.js +1 -1
  352. package/dist/features/email-composer.js +353 -352
  353. package/dist/features/email-composer.js.map +1 -1
  354. package/dist/features/event-calendar.js +262 -269
  355. package/dist/features/event-calendar.js.map +1 -1
  356. package/dist/features/filters.js +1 -1
  357. package/dist/features/global-search.js +307 -310
  358. package/dist/features/global-search.js.map +1 -1
  359. package/dist/features/kanban.js +95 -97
  360. package/dist/features/kanban.js.map +1 -1
  361. package/dist/features/map.js +56 -57
  362. package/dist/features/map.js.map +1 -1
  363. package/dist/features/media-library.js +914 -824
  364. package/dist/features/media-library.js.map +1 -1
  365. package/dist/features/mentions.js +1 -1
  366. package/dist/features/overlays.js +1 -1
  367. package/dist/features/products.js +1272 -1311
  368. package/dist/features/products.js.map +1 -1
  369. package/dist/features/questionnaire.js +204 -194
  370. package/dist/features/questionnaire.js.map +1 -1
  371. package/dist/features/resource-assignment.js +103 -95
  372. package/dist/features/resource-assignment.js.map +1 -1
  373. package/dist/features/resource.js +77 -69
  374. package/dist/features/resource.js.map +1 -1
  375. package/dist/features/rich-text-editor.js +30 -11
  376. package/dist/features/rich-text-editor.js.map +1 -1
  377. package/dist/features/schema-form.js +193 -189
  378. package/dist/features/schema-form.js.map +1 -1
  379. package/dist/features/suggestions.js +3 -3
  380. package/dist/features/sync.js +7 -7
  381. package/dist/features/sync.js.map +1 -1
  382. package/dist/features/table.js +1 -1
  383. package/dist/features/theme-tweaker.js +455 -455
  384. package/dist/features/theme-tweaker.js.map +1 -1
  385. package/dist/feedback-qNuMBtRH.js +233 -0
  386. package/dist/feedback-qNuMBtRH.js.map +1 -0
  387. package/dist/field-affordance-recipes-qQeIf4lG.js +48 -0
  388. package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
  389. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  390. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  391. package/dist/{filters-D6FF8L6s.js → filters-BkHH53uv.js} +414 -412
  392. package/dist/filters-BkHH53uv.js.map +1 -0
  393. package/dist/focus-recipes-B653VaLq.js +12 -0
  394. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  395. package/dist/{form-field-CZwrkP7m.js → form-field-DUt4UxSV.js} +7 -7
  396. package/dist/{form-field-CZwrkP7m.js.map → form-field-DUt4UxSV.js.map} +1 -1
  397. package/dist/form-sizing-By94KzXE.js +130 -0
  398. package/dist/form-sizing-By94KzXE.js.map +1 -0
  399. package/dist/{forms-B5NCbkSC.js → forms-Bzha-Y3B.js} +25 -25
  400. package/dist/forms-Bzha-Y3B.js.map +1 -0
  401. package/dist/forms-numeric-C0bvjRPZ.js +906 -0
  402. package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
  403. package/dist/{header-kxruN3RM.js → header-BOefOKd1.js} +38 -41
  404. package/dist/header-BOefOKd1.js.map +1 -0
  405. package/dist/{hooks-BrlnCwQd.js → hooks-9k_TtmKh.js} +2 -2
  406. package/dist/{hooks-BrlnCwQd.js.map → hooks-9k_TtmKh.js.map} +1 -1
  407. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  408. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  409. package/dist/icon-badge-CAuKupo9.js +55 -0
  410. package/dist/icon-badge-CAuKupo9.js.map +1 -0
  411. package/dist/index.js +7 -7
  412. package/dist/input-DWhBBBww.js +262 -0
  413. package/dist/input-DWhBBBww.js.map +1 -0
  414. package/dist/{input-vxcaNCYC.js → input-Ddi_LSYv.js} +3 -3
  415. package/dist/{input-vxcaNCYC.js.map → input-Ddi_LSYv.js.map} +1 -1
  416. package/dist/interaction-recipes-CHr0dJUs.js +24 -0
  417. package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
  418. package/dist/item-DEmDiTlD.js +265 -0
  419. package/dist/item-DEmDiTlD.js.map +1 -0
  420. package/dist/layer-recipes-CCpklYME.js +13 -0
  421. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  422. package/dist/layout/app-shell.js +1 -1
  423. package/dist/layout/auth.js +1 -1
  424. package/dist/layout/containers.js +1 -1
  425. package/dist/layout/header.js +1 -1
  426. package/dist/layout/hooks.js +1 -1
  427. package/dist/layout/navigation.js +1 -1
  428. package/dist/layout/page.js +1 -1
  429. package/dist/layout/settings.js +1 -1
  430. package/dist/layout/sidebar.js +2 -2
  431. package/dist/layout/workspace.js +1 -1
  432. package/dist/layout.js +10 -10
  433. package/dist/lib/affordance-geometry.generated.d.ts +7 -1
  434. package/dist/lib/field-affordance-recipes.d.ts +41 -1
  435. package/dist/lib/field-state-recipes.d.ts +9 -6
  436. package/dist/lib/focus-recipes.d.ts +24 -0
  437. package/dist/lib/format.d.ts +9 -0
  438. package/dist/lib/interaction-recipes.d.ts +35 -0
  439. package/dist/lib/layer-recipes.d.ts +19 -0
  440. package/dist/lib/money-format.d.ts +30 -0
  441. package/dist/lib/motion-recipes.d.ts +1 -0
  442. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -1
  443. package/dist/lib/safe-image-src.d.ts +10 -0
  444. package/dist/lib/sanitize-html.d.ts +15 -3
  445. package/dist/lib/surface-recipes.d.ts +48 -6
  446. package/dist/lib/token-merge.generated.d.ts +17 -14
  447. package/dist/lib/tone-recipes.d.ts +79 -0
  448. package/dist/lib/track-recipes.d.ts +1 -1
  449. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  450. package/dist/lib/ui-provider/index.d.ts +2 -2
  451. package/dist/lib/ui-provider/provider.d.ts +7 -2
  452. package/dist/lib/ui-provider/store.d.ts +6 -2
  453. package/dist/lib/ui-provider/types.d.ts +14 -2
  454. package/dist/lib/utils.js +1 -1
  455. package/dist/media-gallery-DcTtAaeC.js +203 -0
  456. package/dist/media-gallery-DcTtAaeC.js.map +1 -0
  457. package/dist/mentions-D-uyCh01.js +568 -0
  458. package/dist/mentions-D-uyCh01.js.map +1 -0
  459. package/dist/{message-SZUNB1eX.js → message-CdHgIWKf.js} +5 -5
  460. package/dist/{message-SZUNB1eX.js.map → message-CdHgIWKf.js.map} +1 -1
  461. package/dist/metadata-list-X5rYAKSB.js +394 -0
  462. package/dist/metadata-list-X5rYAKSB.js.map +1 -0
  463. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  464. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  465. package/dist/navigation-D3KwXmaq.js +145 -0
  466. package/dist/navigation-D3KwXmaq.js.map +1 -0
  467. package/dist/navigation-HJf5zxlH.js +268 -0
  468. package/dist/navigation-HJf5zxlH.js.map +1 -0
  469. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-BVowojQw.js} +2 -2
  470. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
  471. package/dist/number-DMhe-Vsk.js +352 -0
  472. package/dist/number-DMhe-Vsk.js.map +1 -0
  473. package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
  474. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
  475. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  476. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  477. package/dist/overlays-I0axtYA6.js +999 -0
  478. package/dist/overlays-I0axtYA6.js.map +1 -0
  479. package/dist/{page-hGmT4nWK.js → page-B5dTH9gE.js} +79 -68
  480. package/dist/page-B5dTH9gE.js.map +1 -0
  481. package/dist/page-header-commands-DjzFEq3E.js +126 -0
  482. package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
  483. package/dist/{pagination-NLGqRirf.js → pagination-3bPA_a6K.js} +19 -19
  484. package/dist/{pagination-NLGqRirf.js.map → pagination-3bPA_a6K.js.map} +1 -1
  485. package/dist/{popover-CghIYdQf.js → popover-Di55PyAI.js} +8 -8
  486. package/dist/popover-Di55PyAI.js.map +1 -0
  487. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-B71Tn2Qz.js} +6 -6
  488. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
  489. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-Bdyhj2db.js} +2 -2
  490. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
  491. package/dist/primitives-B-CkiEMU.js +379 -0
  492. package/dist/primitives-B-CkiEMU.js.map +1 -0
  493. package/dist/primitives.js +5 -5
  494. package/dist/{progress-BroqrAyV.js → progress-rnS8-uAW.js} +11 -11
  495. package/dist/progress-rnS8-uAW.js.map +1 -0
  496. package/dist/{receipt-BuJynLgf.js → receipt-D0oswZ0p.js} +6 -6
  497. package/dist/{receipt-BuJynLgf.js.map → receipt-D0oswZ0p.js.map} +1 -1
  498. package/dist/rich-text-DvGulsNJ.js +78 -0
  499. package/dist/rich-text-DvGulsNJ.js.map +1 -0
  500. package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
  501. package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
  502. package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
  503. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
  504. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  505. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  506. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  507. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  508. package/dist/sanitize-html-DsQmI48u.js +92 -0
  509. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  510. package/dist/scroll-area-Bt_vXY2b.js +48 -0
  511. package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
  512. package/dist/{separator-BNIgG3au.js → separator-C8DlRGwF.js} +4 -4
  513. package/dist/separator-C8DlRGwF.js.map +1 -0
  514. package/dist/{separator-BhtFyo4x.js → separator-CYHnjsAb.js} +2 -2
  515. package/dist/{separator-BhtFyo4x.js.map → separator-CYHnjsAb.js.map} +1 -1
  516. package/dist/services/actions/action-adapters.d.ts +22 -0
  517. package/dist/services/actions/index.d.ts +1 -1
  518. package/dist/services/actions.js +23 -6
  519. package/dist/services/actions.js.map +1 -1
  520. package/dist/settings-CQW3b-Cu.js +170 -0
  521. package/dist/settings-CQW3b-Cu.js.map +1 -0
  522. package/dist/sheet-4SEvVYzA.js +210 -0
  523. package/dist/sheet-4SEvVYzA.js.map +1 -0
  524. package/dist/{sidebar-CyR4XKwR.js → sidebar-C7WWR29L.js} +181 -180
  525. package/dist/sidebar-C7WWR29L.js.map +1 -0
  526. package/dist/sidebar-d7Dg80ln.js +511 -0
  527. package/dist/sidebar-d7Dg80ln.js.map +1 -0
  528. package/dist/{skeleton-3F0uhYn3.js → skeleton-Cz890JZF.js} +10 -10
  529. package/dist/skeleton-Cz890JZF.js.map +1 -0
  530. package/dist/smart-card-lFKxn5Hu.js +595 -0
  531. package/dist/smart-card-lFKxn5Hu.js.map +1 -0
  532. package/dist/{spinner-Cpf7oRkF.js → spinner-fa3h1Aif.js} +10 -8
  533. package/dist/spinner-fa3h1Aif.js.map +1 -0
  534. package/dist/{structure-CRdqVawd.js → structure-DC2dygdA.js} +3 -3
  535. package/dist/{structure-CRdqVawd.js.map → structure-DC2dygdA.js.map} +1 -1
  536. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  537. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  538. package/dist/style.css +1 -1
  539. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  540. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  541. package/dist/table-CIKyLUsy.js +163 -0
  542. package/dist/table-CIKyLUsy.js.map +1 -0
  543. package/dist/{table-CcRDZiLP.js → table-CrcLN9Io.js} +544 -530
  544. package/dist/table-CrcLN9Io.js.map +1 -0
  545. package/dist/tabs-DwBJfjxX.js +190 -0
  546. package/dist/tabs-DwBJfjxX.js.map +1 -0
  547. package/dist/{text-inputs-DsR56TR-.js → text-inputs-aaK9wcDT.js} +151 -155
  548. package/dist/text-inputs-aaK9wcDT.js.map +1 -0
  549. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  550. package/dist/text.styles-g4He6UIW.js.map +1 -0
  551. package/dist/theme.css +16 -12
  552. package/dist/themes/green.css +24 -0
  553. package/dist/{timelines-D1pkt3se.js → timelines-C_SBwHNP.js} +154 -164
  554. package/dist/timelines-C_SBwHNP.js.map +1 -0
  555. package/dist/tone-recipes-CPoExcTE.js +70 -0
  556. package/dist/tone-recipes-CPoExcTE.js.map +1 -0
  557. package/dist/tooltip-CsfgrfS7.js +111 -0
  558. package/dist/tooltip-CsfgrfS7.js.map +1 -0
  559. package/dist/track-recipes-CDcKmndW.js +10 -0
  560. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  561. package/dist/{tree-BtmYyMZV.js → tree-BiKhg8AY.js} +72 -70
  562. package/dist/tree-BiKhg8AY.js.map +1 -0
  563. package/dist/typography/rich-text.js +1 -1
  564. package/dist/typography-DTRkE9zL.js +117 -0
  565. package/dist/typography-DTRkE9zL.js.map +1 -0
  566. package/dist/typography.js +2 -2
  567. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-1D_NSYzO.js} +30 -23
  568. package/dist/ui-provider-1D_NSYzO.js.map +1 -0
  569. package/dist/ui-provider.js +3 -3
  570. package/dist/{upload-CDbYw1WN.js → upload-BO8-CLN6.js} +294 -293
  571. package/dist/upload-BO8-CLN6.js.map +1 -0
  572. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-EOC8g1gf.js} +133 -138
  573. package/dist/upload-queue-EOC8g1gf.js.map +1 -0
  574. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  575. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  576. package/dist/{usage-card-VyJLUwRr.js → usage-card-obRaBskq.js} +42 -43
  577. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-obRaBskq.js.map} +1 -1
  578. package/dist/{utils-BvH9PSmq.js → utils-l5LpDw2z.js} +264 -62
  579. package/dist/utils-l5LpDw2z.js.map +1 -0
  580. package/dist/value-inputs-TAYMX111.js +947 -0
  581. package/dist/value-inputs-TAYMX111.js.map +1 -0
  582. package/dist/value-typography-b8wpz1eX.js +116 -0
  583. package/dist/value-typography-b8wpz1eX.js.map +1 -0
  584. package/dist/workspace-DH0v0KcB.js +407 -0
  585. package/dist/workspace-DH0v0KcB.js.map +1 -0
  586. package/docs/consumer-skill/SKILL.md +62 -50
  587. package/docs/consumer-skill/examples/app-layout.tsx +3 -5
  588. package/docs/consumer-skill/examples/composition.tsx +3 -3
  589. package/docs/consumer-skill/examples/detail.tsx +59 -13
  590. package/docs/consumer-skill/examples/edit.tsx +2 -2
  591. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  592. package/docs/consumer-skill/examples/manifest.json +28 -6
  593. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  594. package/docs/consumer-skill/examples/scoped-directory.tsx +3 -3
  595. package/docs/consumer-skill/examples/website.tsx +1 -1
  596. package/docs/consumer-skill/references/agents-md.md +33 -0
  597. package/docs/consumer-skill/references/analytics.md +1 -1
  598. package/docs/consumer-skill/references/composition.md +139 -24
  599. package/docs/consumer-skill/references/design-contract.md +12 -3
  600. package/docs/consumer-skill/references/discovery.md +4 -0
  601. package/docs/consumer-skill/references/installation.md +33 -1
  602. package/docs/consumer-skill/references/integration.md +32 -1
  603. package/docs/consumer-skill/references/public-api.json +1051 -610
  604. package/docs/consumer-skill/references/review.md +44 -8
  605. package/docs/consumer-skill/references/theming.md +14 -4
  606. package/docs/consumer-skill/references/tokens.json +5 -2
  607. package/docs/consumer-skill/references/workflows.md +30 -9
  608. package/docs/consumer-skill/scripts/composition-policy.mjs +127 -6
  609. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  610. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  611. package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
  612. package/package.json +13 -3
  613. package/dist/accordion-BRTcsp8J.js +0 -205
  614. package/dist/accordion-BRTcsp8J.js.map +0 -1
  615. package/dist/action-menu-Drxw_vJk.js +0 -265
  616. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  617. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  618. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  619. package/dist/attachment-DbjUWsP0.js +0 -244
  620. package/dist/attachment-DbjUWsP0.js.map +0 -1
  621. package/dist/auth-CAQcasMV.js.map +0 -1
  622. package/dist/avatar-Bu2HhitA.js.map +0 -1
  623. package/dist/badge-CzId1Wlm.js +0 -92
  624. package/dist/badge-CzId1Wlm.js.map +0 -1
  625. package/dist/breadcrumbs-BuYz5SDU.js +0 -128
  626. package/dist/breadcrumbs-BuYz5SDU.js.map +0 -1
  627. package/dist/button-BZDasD04.js +0 -651
  628. package/dist/button-BZDasD04.js.map +0 -1
  629. package/dist/button-BZyfTvwm.js.map +0 -1
  630. package/dist/buttons-D_6KJvEE.js +0 -99
  631. package/dist/buttons-D_6KJvEE.js.map +0 -1
  632. package/dist/cards-qGSErLw_.js.map +0 -1
  633. package/dist/chart-Bsc5BICK.js.map +0 -1
  634. package/dist/checkbox-BQNDjUCh.js +0 -34
  635. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  636. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  637. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  638. package/dist/code-block-DzHKRybS.js +0 -183
  639. package/dist/code-block-DzHKRybS.js.map +0 -1
  640. package/dist/combobox-BFnbJJp3.js.map +0 -1
  641. package/dist/combobox-hozNwUcc.js +0 -847
  642. package/dist/combobox-hozNwUcc.js.map +0 -1
  643. package/dist/command-BnmSchli.js.map +0 -1
  644. package/dist/comments-u5L0OGip.js.map +0 -1
  645. package/dist/containers-DqB-bSYE.js.map +0 -1
  646. package/dist/data-display-Bihs9Ven.js +0 -1342
  647. package/dist/data-display-Bihs9Ven.js.map +0 -1
  648. package/dist/date-DOKhJPu7.js +0 -140
  649. package/dist/date-DOKhJPu7.js.map +0 -1
  650. package/dist/date-picker-DzP5HQq7.js +0 -1541
  651. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  652. package/dist/date-pickers-BpgGz7S-.js +0 -196
  653. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  654. package/dist/display-CS6Hbk18.js.map +0 -1
  655. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  656. package/dist/feedback-CJkUAapr.js +0 -233
  657. package/dist/feedback-CJkUAapr.js.map +0 -1
  658. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  659. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  660. package/dist/field-state-recipes-DQQpiLWC.js +0 -11
  661. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  662. package/dist/filters-D6FF8L6s.js.map +0 -1
  663. package/dist/form-sizing-QP8aIRaW.js +0 -103
  664. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  665. package/dist/format-iamDSqs2.js +0 -110
  666. package/dist/format-iamDSqs2.js.map +0 -1
  667. package/dist/forms-B5NCbkSC.js.map +0 -1
  668. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  669. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  670. package/dist/header-kxruN3RM.js.map +0 -1
  671. package/dist/icon-badge-Btc6pQrp.js +0 -53
  672. package/dist/icon-badge-Btc6pQrp.js.map +0 -1
  673. package/dist/input-SX9V0AL3.js +0 -255
  674. package/dist/input-SX9V0AL3.js.map +0 -1
  675. package/dist/item-DE4YnuJx.js +0 -258
  676. package/dist/item-DE4YnuJx.js.map +0 -1
  677. package/dist/media-gallery-DLp3HAz0.js +0 -201
  678. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  679. package/dist/mentions-Cl0Kt_Pd.js +0 -565
  680. package/dist/mentions-Cl0Kt_Pd.js.map +0 -1
  681. package/dist/navigation-DnQSNMT0.js +0 -276
  682. package/dist/navigation-DnQSNMT0.js.map +0 -1
  683. package/dist/navigation-DyytsLRB.js +0 -265
  684. package/dist/navigation-DyytsLRB.js.map +0 -1
  685. package/dist/number-DasMFWEG.js +0 -269
  686. package/dist/number-DasMFWEG.js.map +0 -1
  687. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  688. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  689. package/dist/overlays-DUbs1KEi.js +0 -1011
  690. package/dist/overlays-DUbs1KEi.js.map +0 -1
  691. package/dist/page-hGmT4nWK.js.map +0 -1
  692. package/dist/page-header-D8nERkn5.js +0 -112
  693. package/dist/page-header-D8nERkn5.js.map +0 -1
  694. package/dist/popover-CghIYdQf.js.map +0 -1
  695. package/dist/primitives-C7ff0QaI.js +0 -337
  696. package/dist/primitives-C7ff0QaI.js.map +0 -1
  697. package/dist/progress-BroqrAyV.js.map +0 -1
  698. package/dist/rich-text-DlxDOtf4.js +0 -32
  699. package/dist/rich-text-DlxDOtf4.js.map +0 -1
  700. package/dist/rich-text-editor-BKyG7rWz.js +0 -574
  701. package/dist/rich-text-editor-BKyG7rWz.js.map +0 -1
  702. package/dist/rich-text-editor.recipes-B72Nfuze.js +0 -81
  703. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +0 -1
  704. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  705. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  706. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  707. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  708. package/dist/scroll-area-D-pIhEKl.js +0 -47
  709. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  710. package/dist/separator-BNIgG3au.js.map +0 -1
  711. package/dist/settings-DOTOzeZ2.js +0 -161
  712. package/dist/settings-DOTOzeZ2.js.map +0 -1
  713. package/dist/sheet-BFhrNehm.js +0 -205
  714. package/dist/sheet-BFhrNehm.js.map +0 -1
  715. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  716. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  717. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  718. package/dist/skeleton-3F0uhYn3.js.map +0 -1
  719. package/dist/smart-card-DjGVV2xr.js +0 -584
  720. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  721. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  722. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  723. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  724. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  725. package/dist/table-CLtJTxoR.js +0 -147
  726. package/dist/table-CLtJTxoR.js.map +0 -1
  727. package/dist/table-CcRDZiLP.js.map +0 -1
  728. package/dist/tabs-BNgu7g0u.js +0 -188
  729. package/dist/tabs-BNgu7g0u.js.map +0 -1
  730. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  731. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  732. package/dist/timelines-D1pkt3se.js.map +0 -1
  733. package/dist/track-recipes-LLPNVwFg.js +0 -10
  734. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  735. package/dist/tree-BtmYyMZV.js.map +0 -1
  736. package/dist/typography-BxQgiZyw.js +0 -96
  737. package/dist/typography-BxQgiZyw.js.map +0 -1
  738. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  739. package/dist/upload-CDbYw1WN.js.map +0 -1
  740. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  741. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  742. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  743. package/dist/utils-BvH9PSmq.js.map +0 -1
  744. package/dist/value-inputs-D0KCrfVC.js +0 -840
  745. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  746. package/dist/workspace-CcR8r-Nt.js +0 -395
  747. package/dist/workspace-CcR8r-Nt.js.map +0 -1
  748. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -1,7 +1,17 @@
1
1
  import type { BadgeTone } from '../../../base/badge';
2
2
  import type { ProductTone } from '../products.types';
3
+ /**
4
+ * Badge tone for a product row value. Only status tones carry colour; neutral
5
+ * and primary (reserved for the main command) render as neutral badges.
6
+ */
3
7
  export declare const PRODUCT_TONE_BADGE: Record<ProductTone, BadgeTone>;
4
- export declare const PRODUCT_TONE_SURFACE: Record<ProductTone, string>;
8
+ /**
9
+ * Text colour for a figure whose tone states a status. Figures keep their width,
10
+ * so a flagged metric lines up with its plain siblings instead of growing a chip.
11
+ */
12
+ export declare const PRODUCT_TONE_TEXT: Record<ProductTone, string | undefined>;
13
+ /** Whether a tone states a status. Neutral and primary are presentation, not state. */
14
+ export declare function isProductStatusTone(tone: ProductTone | undefined): tone is ProductTone;
5
15
  export declare function clampProductPercent(value: number): number;
6
16
  export declare function ProductToneDot({ tone }: {
7
17
  tone?: ProductTone;
@@ -1,7 +1,8 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { CardProps } from '../../base/cards';
2
3
  import type { BadgeTone } from '../../base/badge';
3
4
  import type { ActionMenuAction } from '../../base/action-menu';
4
- import type { MetadataListItem } from '../../blocks/data-display/metadata';
5
+ import type { MetadataListItem } from '../../base/metadata-list';
5
6
  import type { StringsProp } from '../../../lib/strings';
6
7
  import type { SemanticTone } from '../../../lib/component-vocabulary';
7
8
  import type { ProductContractOverviewStrings, ProductDetailsCardStrings, ProductOperationsCardStrings, ProductOptionActionMenuStrings, ProductOptionsMatrixStrings, ProductOptionsSummaryStrings, ProductOverviewStrings, ProductPoliciesCardStrings, ProductQuotePreviewCardStrings, ProductReadinessCardStrings, ProductStructureCardStrings, ProductVariantActionMenuStrings, ProductVariantBulkTableStrings, ProductVariantDetailsStrings, ProductVariantEditorStrings, ProductVariantsManagerStrings, ProductVariantsTableStrings } from './products.strings';
@@ -719,12 +720,19 @@ export interface ProductVariantsBulkTableProps {
719
720
  onDuplicateVariant?: (variant: ProductVariantRow) => void;
720
721
  /** Fired when a variant is removed. */
721
722
  onDeleteVariant?: (variant: ProductVariantRow) => void;
723
+ /** Fired with the selected variants from the bulk bar's edit command. */
722
724
  onBulkEdit?: (variants: ProductVariantRow[]) => void;
725
+ /** Fired with the selected variants from the bulk bar's apply command, ordered before delete. */
723
726
  onBulkApply?: (variants: ProductVariantRow[]) => void;
727
+ /** Fired with the selected variants from the bulk bar's delete command, always last. */
724
728
  onBulkDelete?: (variants: ProductVariantRow[]) => void;
725
729
  /** Replaces the per-variant action controls. */
726
730
  renderVariantActions?: (variant: ProductVariantRow, context: ProductVariantActionContext) => ReactNode;
727
- /** Replaces the per-bulk action controls. */
731
+ /**
732
+ * Replaces the default bulk commands (edit, apply, delete) in the inline
733
+ * BatchActionBar, which shows only while variants are selected and keeps its
734
+ * own count and Clear. Returning `null` or `undefined` keeps the defaults.
735
+ */
728
736
  renderBulkActions?: (context: ProductVariantBulkActionContext) => ReactNode;
729
737
  /** Overflow menu for the surface as a whole. */
730
738
  actions?: ActionMenuAction[];
@@ -741,7 +749,7 @@ export interface ProductVariantsBulkTableProps {
741
749
  /** Overrides this surface’s own copy. */
742
750
  strings?: StringsProp<ProductVariantBulkTableStrings>;
743
751
  }
744
- export interface ProductVariantsManagerProps extends Pick<ProductOptionsMatrixProps, 'optionGroups' | 'collapsedOptionIds' | 'defaultCollapsedOptionIds' | 'onCollapsedOptionIdsChange' | 'editingOptionId' | 'defaultEditingOptionId' | 'onEditingOptionIdChange' | 'onCreateOption' | 'onEditOption' | 'onDeleteOption' | 'onAddValue' | 'onDeleteValue' | 'onOptionNameChange' | 'onValueLabelChange' | 'onDoneEditingOption' | 'onSaveEditingOption' | 'onCancelEditingOption' | 'onToggleUsedForVariants' | 'renderOptionActions' | 'renderValue'>, Pick<ProductVariantsBulkTableProps, 'variants' | 'groupByOptionId' | 'visibleColumns' | 'optionCombinationDisplay' | 'cellDisplay' | 'selectionMode' | 'renderOptionCombination' | 'renderCell' | 'selectedVariantIds' | 'defaultSelectedVariantIds' | 'onSelectedVariantIdsChange' | 'onVariantFieldChange' | 'onVariantFieldBlur' | 'onCreateVariant' | 'onGenerateVariants' | 'onSelectVariant' | 'onEditVariant' | 'onDuplicateVariant' | 'onDeleteVariant' | 'onBulkEdit' | 'onBulkApply' | 'onBulkDelete' | 'renderVariantActions' | 'renderBulkActions'> {
752
+ export interface ProductVariantsManagerProps extends Pick<CardProps, 'surface' | 'padding' | 'headerDivider' | 'footerDivider'>, Pick<ProductOptionsMatrixProps, 'optionGroups' | 'collapsedOptionIds' | 'defaultCollapsedOptionIds' | 'onCollapsedOptionIdsChange' | 'editingOptionId' | 'defaultEditingOptionId' | 'onEditingOptionIdChange' | 'onCreateOption' | 'onEditOption' | 'onDeleteOption' | 'onAddValue' | 'onDeleteValue' | 'onOptionNameChange' | 'onValueLabelChange' | 'onDoneEditingOption' | 'onSaveEditingOption' | 'onCancelEditingOption' | 'onToggleUsedForVariants' | 'renderOptionActions' | 'renderValue'>, Pick<ProductVariantsBulkTableProps, 'variants' | 'groupByOptionId' | 'visibleColumns' | 'optionCombinationDisplay' | 'cellDisplay' | 'selectionMode' | 'renderOptionCombination' | 'renderCell' | 'selectedVariantIds' | 'defaultSelectedVariantIds' | 'onSelectedVariantIdsChange' | 'onVariantFieldChange' | 'onVariantFieldBlur' | 'onCreateVariant' | 'onGenerateVariants' | 'onSelectVariant' | 'onEditVariant' | 'onDuplicateVariant' | 'onDeleteVariant' | 'onBulkEdit' | 'onBulkApply' | 'onBulkDelete' | 'renderVariantActions' | 'renderBulkActions'> {
745
753
  /** Groups rows under the values of this option. `null` leaves the list flat. */
746
754
  groupByOptionId?: string | null;
747
755
  /** Option group used for grouping on first render. */
@@ -1,3 +1,3 @@
1
1
  export { ResourceActionBar, ResourceDetailsSection, ResourceEmptyState, ResourceHeader, ResourceIndexShell, ResourceShowShell, TabbedResourceShell, } from './resource';
2
- export type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShellSlots, ResourceShowShellProps, TabbedResourceShellProps, } from './resource.types';
2
+ export type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderCommandProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShellSlots, ResourceShowShellProps, TabbedResourceShellProps, } from './resource.types';
3
3
  export { defaultResourceStrings, type ResourceStrings, } from './resource.strings';
@@ -1,5 +1,5 @@
1
1
  import type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShowShellProps, TabbedResourceShellProps } from './resource.types';
2
- export declare function ResourceHeader({ title, description, eyebrow, media, avatarUrl, avatarAlt, avatarFallback, icon, iconTone, badges, metadata, actions, className, contentClassName, mediaClassName, }: ResourceHeaderProps): import("react").JSX.Element;
2
+ export declare function ResourceHeader({ title, description, eyebrow, media, avatarUrl, avatarAlt, avatarFallback, icon, iconTone, badges, metadata, actions, primaryAction, secondaryActions, moreActionsLabel, renderLink, className, contentClassName, mediaClassName, }: ResourceHeaderProps): import("react").JSX.Element;
3
3
  export declare function ResourceActionBar({ children, leading, trailing, sticky, className }: ResourceActionBarProps): import("react").JSX.Element;
4
4
  export declare function ResourceEmptyState(props: ResourceEmptyStateProps): import("react").JSX.Element;
5
5
  export declare function ResourceIndexShell(props: ResourceIndexShellProps): import("react").JSX.Element;
@@ -1,8 +1,9 @@
1
1
  import type { ComponentType, ReactNode } from 'react';
2
2
  import type { IconBadgeTone } from '../../base/display';
3
- import type { EmptyStateProps, MetadataListItem } from '../../blocks/data-display';
3
+ import type { MetadataListItem } from '../../base/metadata-list';
4
+ import type { EmptyStateProps } from '../../blocks/data-display';
4
5
  import type { ActionMenuAction } from '../../base/action-menu';
5
- import type { OverflowTabItem } from '../../base/navigation';
6
+ import type { OverflowTabItem, PageHeaderAction, PageHeaderLinkRenderer } from '../../base/navigation';
6
7
  import type { StringsProp } from '../../../lib/strings';
7
8
  import type { CardSurface, ComponentScale } from '../../../lib/component-vocabulary';
8
9
  import type { ResourceStrings } from './resource.strings';
@@ -26,14 +27,37 @@ export interface ResourceShellSlots {
26
27
  /** Replaces the default error state. */
27
28
  error?: ReactNode;
28
29
  }
29
- export interface ResourceIndexShellProps {
30
+ /**
31
+ * Role-based header commands, placed and styled exactly as in Page headers:
32
+ * outline secondary commands, the solid primary command, then the More actions
33
+ * menu.
34
+ */
35
+ export interface ResourceHeaderCommandProps {
36
+ /** The resource's one main command: a solid primary button, visible at every width. */
37
+ primaryAction?: PageHeaderAction;
38
+ /**
39
+ * Supporting commands in priority order. The first two render as outline
40
+ * buttons before the primary command; the rest, and every destructive
41
+ * command, move into the More actions menu, which always closes the row.
42
+ */
43
+ secondaryActions?: readonly PageHeaderAction[];
44
+ /** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
45
+ moreActionsLabel?: string;
46
+ /** Renders `href` commands as framework links. Defaults to a native anchor. */
47
+ renderLink?: PageHeaderLinkRenderer;
48
+ }
49
+ export interface ResourceIndexShellProps extends ResourceHeaderCommandProps {
30
50
  /** Primary workspace content. Replaced by loading, error, or empty state when active. */
31
51
  children?: ReactNode;
32
52
  /** Generated header title. Omit when supplying `slots.header`. */
33
53
  title?: ReactNode;
34
54
  /** Generated header description. */
35
55
  description?: ReactNode;
36
- /** Generated header actions. */
56
+ /**
57
+ * Non-command controls in the generated header, such as a period select.
58
+ * They render before the role-based commands; pass commands as
59
+ * `primaryAction` and `secondaryActions`.
60
+ */
37
61
  actions?: ReactNode;
38
62
  /** Content between the header and primary workspace body. */
39
63
  toolbar?: ReactNode;
@@ -62,7 +86,7 @@ export interface ResourceShowShellProps extends ResourceIndexShellProps {
62
86
  /** Class name for `slots.aside`. */
63
87
  asideClassName?: string;
64
88
  }
65
- export interface ResourceHeaderProps {
89
+ export interface ResourceHeaderProps extends ResourceHeaderCommandProps {
66
90
  /** Primary resource identity. */
67
91
  title: ReactNode;
68
92
  /** Supporting resource summary. */
@@ -87,7 +111,11 @@ export interface ResourceHeaderProps {
87
111
  badges?: ReactNode;
88
112
  /** Compact resource facts rendered below the description. */
89
113
  metadata?: ReactNode;
90
- /** Primary and secondary header actions. */
114
+ /**
115
+ * Non-command controls, such as a period select. They render before the
116
+ * role-based commands; pass commands as `primaryAction` and
117
+ * `secondaryActions`.
118
+ */
91
119
  actions?: ReactNode;
92
120
  /** Class name for the page-header root. */
93
121
  className?: string;
@@ -1,5 +1,6 @@
1
1
  export { RichTextEditor } from './rich-text-editor';
2
2
  export { FormRichTextEditor, type FormRichTextEditorProps } from './form-rich-text-editor';
3
- export type { RichTextEditorProps, RichTextEditorHandle, RichTextEditorToolbarItem, RichTextCaretContext, ToolbarButtonConfig, } from './rich-text-editor.types';
3
+ export type { RichTextEditorProps, RichTextEditorHandle, RichTextEditorToolbarItem, RichTextCaretContext, ToolbarButtonConfig, RichTextEditorImages, RichTextImage, RichTextImageUploadContext, } from './rich-text-editor.types';
4
+ export { useRichTextImages } from './use-rich-text-images';
4
5
  export { defaultRichTextEditorStrings, type RichTextEditorStrings, } from './rich-text-editor.strings';
5
6
  export { RichTextEditorToolbar, type RichTextEditorToolbarProps, CountsFooterText, type CountsFooterTextProps, } from './partials';
@@ -0,0 +1,13 @@
1
+ import * as TiptapReact from '@tiptap/react';
2
+ /**
3
+ * An inline image whose source passes the package image policy; any other
4
+ * `<img>` in loaded or pasted content is dropped. Serializes as a plain
5
+ * `<img src alt width height>`, matching the contenteditable engine.
6
+ */
7
+ export declare function getImageNode(): TiptapReact.Node;
8
+ /**
9
+ * The placeholder an image occupies while it uploads. It is never parsed from
10
+ * HTML and the editor strips it from its value; the editor renders the
11
+ * upload status into its node view.
12
+ */
13
+ export declare function getImageUploadNode(): TiptapReact.Node;
@@ -0,0 +1,66 @@
1
+ import { type RefObject } from 'react';
2
+ import type { RichTextEditorStrings } from '../rich-text-editor.strings';
3
+ import type { RichTextEditorImages, RichTextEditorToolbarItem, RichTextImage } from '../rich-text-editor.types';
4
+ export declare const DEFAULT_IMAGE_ACCEPT = "image/png,image/jpeg,image/gif,image/webp";
5
+ /** Marks an upload placeholder in the editing surface; never part of the value. */
6
+ export declare const UPLOAD_ATTRIBUTE = "data-rte-upload";
7
+ /** The placeholder occupies a line of its own while its image uploads. */
8
+ export declare const UPLOAD_PLACEHOLDER_CLASS = "rich-text-editor--upload my-space-xs flex min-h-control items-center rounded-inner border border-dashed border-input bg-muted/30 px-row-x py-row-y";
9
+ /** Removes upload placeholders from serialized editor HTML. */
10
+ export declare function stripUploadPlaceholders(html: string): string;
11
+ export declare function acceptsImageFile(file: File, accept: string): boolean;
12
+ /** A readable default description from the file name: `team-offsite_2026.jpg` → `team offsite 2026`. */
13
+ export declare function altFromFileName(name: string): string;
14
+ /** Image files carried by a paste or drop. */
15
+ export declare function imageFilesFrom(data: DataTransfer | null | undefined): File[];
16
+ /** How each editor engine puts placeholders and images into its document. */
17
+ export interface ImageUploadAdapter {
18
+ /** Inserts an empty placeholder for `id` at the selection (or the drop point). */
19
+ insertPlaceholder: (id: string) => void;
20
+ /** Swaps the placeholder for the uploaded image and reports the change. */
21
+ resolvePlaceholder: (id: string, image: RichTextImage) => void;
22
+ /** Removes the placeholder and reports the change. */
23
+ removePlaceholder: (id: string) => void;
24
+ /** The placeholder's element, or null once the user has deleted it. */
25
+ findPlaceholder: (id: string) => HTMLElement | null;
26
+ }
27
+ export interface PendingImageUpload {
28
+ id: string;
29
+ name: string;
30
+ status: 'uploading' | 'error';
31
+ }
32
+ /**
33
+ * The engine-agnostic upload lifecycle: validate, insert a placeholder, call
34
+ * the consumer's `upload` with an abort signal, then swap in the image or keep
35
+ * the placeholder in its error state for Retry or Remove.
36
+ */
37
+ export declare function useImageUploadQueue(images: RichTextEditorImages | undefined, adapterRef: RefObject<ImageUploadAdapter | null>, strings: RichTextEditorStrings['images']): {
38
+ uploads: PendingImageUpload[];
39
+ notice: string | null;
40
+ dismissNotice: () => void;
41
+ addFiles: (files: readonly File[]) => void;
42
+ retry: (id: string) => void;
43
+ remove: (id: string) => void;
44
+ prune: () => void;
45
+ };
46
+ export type ImageUploadQueue = ReturnType<typeof useImageUploadQueue>;
47
+ /** Renders each pending upload's status into its placeholder in the editing surface. */
48
+ export declare function ImageUploadPortals({ queue, adapterRef, strings }: {
49
+ queue: ImageUploadQueue;
50
+ adapterRef: RefObject<ImageUploadAdapter | null>;
51
+ strings: RichTextEditorStrings['images'];
52
+ }): import("react").JSX.Element;
53
+ /** The Insert image toolbar control and its hidden file input. */
54
+ export declare function useImageInsertControl(images: RichTextEditorImages | undefined, strings: RichTextEditorStrings['images'], onFiles: (files: File[]) => void, beforeOpen?: () => void): {
55
+ item: RichTextEditorToolbarItem | null;
56
+ input: import("react").JSX.Element | null;
57
+ };
58
+ /** The description field for the image at the caret, and refused-file notices. */
59
+ export declare function ImageDetailsBar({ alt, onAltChange, onRemove, notice, onDismissNotice, strings }: {
60
+ alt: string | null;
61
+ onAltChange: (alt: string) => void;
62
+ onRemove: () => void;
63
+ notice: string | null;
64
+ onDismissNotice: () => void;
65
+ strings: RichTextEditorStrings['images'];
66
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,19 @@
1
+ import * as TiptapReact from '@tiptap/react';
2
+ /**
3
+ * Inline references (`@person`, `#booking`) as one atomic editor token.
4
+ *
5
+ * The serialized HTML is the mentions contract written by `buildMentionHtml`
6
+ * and read by `parseMentionsFromHtml`/`MentionContent`:
7
+ *
8
+ * <span class="rsc-mention" data-ref-id="…" data-ref-kind="…" data-ref-tone="…"
9
+ * contenteditable="false">@Label</span>
10
+ *
11
+ * Without this node the editor schema had no place for that span, so a picked
12
+ * mention collapsed into plain text. Inside the editor the token keeps the
13
+ * `.rsc-mention` hook, so mention-chip.css (the inline Badge utilities and
14
+ * shared tone tints) draws it exactly as it draws serialized chips; it is
15
+ * selectable as a unit, and Backspace/Delete remove it in one keystroke.
16
+ */
17
+ export declare const inlineReferenceChipClassName = "rsc-mention inline-reference--chip";
18
+ /** Created on first use, so the optional Tiptap runtime is only touched by the editor that needs it. */
19
+ export declare function getInlineReferenceNode(): TiptapReact.Node;
@@ -2,6 +2,6 @@
2
2
  export declare const richTextEditorRecipes: {
3
3
  readonly source: string;
4
4
  readonly frame: "min-w-0 overflow-hidden border-input bg-background rounded-inner border";
5
- readonly disabled: "opacity-70";
5
+ readonly disabled: "opacity-50";
6
6
  readonly content: "h-full [&_.ProseMirror]:h-full [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none";
7
7
  };
@@ -28,5 +28,19 @@ export interface RichTextEditorStrings {
28
28
  words: string;
29
29
  max: string;
30
30
  };
31
+ /** Image insertion, upload and description copy; `{{name}}` is the file name. */
32
+ images: {
33
+ insert: string;
34
+ uploading: string;
35
+ failed: string;
36
+ unsupported: string;
37
+ tooLarge: string;
38
+ cancel: string;
39
+ retry: string;
40
+ remove: string;
41
+ descriptionLabel: string;
42
+ descriptionHint: string;
43
+ removeImage: string;
44
+ };
31
45
  }
32
46
  export declare const defaultRichTextEditorStrings: RichTextEditorStrings;
@@ -1,6 +1,7 @@
1
1
  import type { ComponentType, ReactNode } from 'react';
2
2
  import type * as TiptapReact from '@tiptap/react';
3
3
  import type { StringsProp } from '../../../lib/strings';
4
+ import type { RichTextImageRendering } from '../../typography/rich-text';
4
5
  import type { RichTextEditorStrings } from './rich-text-editor.strings';
5
6
  export type TiptapEditor = NonNullable<ReturnType<typeof TiptapReact.useEditor>>;
6
7
  /**
@@ -52,9 +53,45 @@ export interface RichTextEditorToolbarItem {
52
53
  label: string;
53
54
  onClick: () => void;
54
55
  isActive?: () => boolean;
56
+ /**
57
+ * Whether the entry is an on/off toggle, announced with `aria-pressed`.
58
+ * Defaults to true when `isActive` is provided; set false for a command.
59
+ */
60
+ toggle?: boolean;
55
61
  /** Renders the entry as unselectable. */
56
62
  disabled?: boolean;
57
63
  }
64
+ /** Where an uploaded image now lives, as the consumer's `upload` resolves it. */
65
+ export interface RichTextImage {
66
+ /** Public URL of the stored image. Must pass the image policy: http(s), `blob:` or relative. */
67
+ src: string;
68
+ /** Text alternative. Defaults to the file name; the user can edit it in the editor. */
69
+ alt?: string;
70
+ /** Intrinsic width in CSS pixels, kept on the image to reserve its space. */
71
+ width?: number;
72
+ /** Intrinsic height in CSS pixels. */
73
+ height?: number;
74
+ }
75
+ export interface RichTextImageUploadContext {
76
+ /** Aborted when the user cancels or removes the pending image, or the editor unmounts. */
77
+ signal: AbortSignal;
78
+ }
79
+ /**
80
+ * Image support for `RichTextEditor` and read-only `RichText`. The consumer
81
+ * owns upload and storage; the editor owns insertion (toolbar, paste and drop),
82
+ * the uploading placeholder, error and retry, alt text and source policy.
83
+ * Create it with `useRichTextImages` so inline callbacks stay stable.
84
+ */
85
+ export interface RichTextEditorImages extends RichTextImageRendering {
86
+ /** Stores a file and resolves where it now lives. A rejection shows the error state with Retry. */
87
+ upload: (file: File, context: RichTextImageUploadContext) => Promise<RichTextImage>;
88
+ /** Accepted MIME types, comma-separated. Default: `'image/png,image/jpeg,image/gif,image/webp'`. */
89
+ accept?: string;
90
+ /** Largest accepted file in bytes. Larger files are refused before upload. */
91
+ maxSize?: number;
92
+ /** Receives upload failures and refused files, for reporting. */
93
+ onError?: (error: unknown, file: File) => void;
94
+ }
58
95
  export interface RichTextEditorProps {
59
96
  /** Editor content as HTML. Controlled. */
60
97
  value: string;
@@ -94,6 +131,12 @@ export interface RichTextEditorProps {
94
131
  onCaretChange?: () => void;
95
132
  /** Per-instance string overrides (deep-merged over `defaultRichTextEditorStrings`). */
96
133
  strings?: StringsProp<RichTextEditorStrings>;
134
+ /**
135
+ * Enables images: an Insert image toolbar control, pasted and dropped image
136
+ * files, an uploading placeholder with cancel, error and retry, and an image
137
+ * description field for the image at the caret. Omit to keep images out.
138
+ */
139
+ images?: RichTextEditorImages;
97
140
  }
98
141
  export interface ToolbarButtonConfig {
99
142
  /** Stable identity for this entry. */
@@ -106,6 +149,8 @@ export interface ToolbarButtonConfig {
106
149
  label: string;
107
150
  isActive: () => boolean;
108
151
  run: () => void;
152
+ /** An on/off format such as bold, announced with `aria-pressed`. Commands such as undo leave it unset. */
153
+ toggle?: boolean;
109
154
  /** Renders the entry as unselectable. */
110
155
  disabled?: boolean;
111
156
  }
@@ -0,0 +1,18 @@
1
+ import type { RichTextEditorImages } from './rich-text-editor.types';
2
+ /**
3
+ * Image support for `RichTextEditor` and read-only `RichText` from one place.
4
+ * The consumer supplies `upload` (and optionally `renderImage`, such as a
5
+ * framework image component); the returned object is stable across renders
6
+ * while always calling the latest callbacks, so inline functions are fine.
7
+ *
8
+ * const images = useRichTextImages({
9
+ * upload: async (file, { signal }) => {
10
+ * const stored = await api.uploadImage(file, { signal });
11
+ * return { src: stored.url, width: stored.width, height: stored.height };
12
+ * },
13
+ * renderImage: (image) => <Image {...image} />,
14
+ * });
15
+ * <RichTextEditor value={html} onValueChange={setHtml} images={images} />
16
+ * <RichText html={html} images={images} />
17
+ */
18
+ export declare function useRichTextImages(options: RichTextEditorImages): RichTextEditorImages;
@@ -1,3 +1,26 @@
1
- export { SyncRangeDialogForm } from './sync-range-dialog-form';
2
- export type { SyncRangeDialogFormProps, SyncRangeDialogFormSubmit, SyncRangeDialogFormValues, } from './sync.types';
3
- export { defaultSyncRangeDialogFormStrings, type SyncRangeDialogFormStrings, } from './sync.strings';
1
+ /**
2
+ * Deprecated compatibility entrypoint.
3
+ *
4
+ * `SyncRangeDialogForm` was one application's integration-repair form: a sync
5
+ * window radio group, optional record-family checkboxes and a numeric `hours`
6
+ * payload. It carries no behaviour beyond the public choice controls, so new
7
+ * code composes them directly: `SchemaForm` from
8
+ * `themelia-react-ui/features/schema-form` with `radio-cards` and
9
+ * `checkbox-cards` fields, inside an `ActionDialog` when it needs a dialog.
10
+ * Existing callers keep working through 2.x.
11
+ */
12
+ export {
13
+ /** @deprecated Use `SchemaForm` from `themelia-react-ui/features/schema-form` with a `radio-cards` field for the window and a `checkbox-cards` field for the options; map its values to your payload in `onSubmit`. */
14
+ SyncRangeDialogForm, } from './sync-range-dialog-form';
15
+ export type {
16
+ /** @deprecated Use `SchemaFormProps` from `themelia-react-ui/features/schema-form`. */
17
+ SyncRangeDialogFormProps,
18
+ /** @deprecated Map `SchemaFormValues` to your own payload in `SchemaForm`'s `onSubmit`. */
19
+ SyncRangeDialogFormSubmit,
20
+ /** @deprecated Use `SchemaFormValues` from `themelia-react-ui/features/schema-form`. */
21
+ SyncRangeDialogFormValues, } from './sync.types';
22
+ export {
23
+ /** @deprecated Supply labels and descriptions on the `SchemaForm` field definitions. */
24
+ defaultSyncRangeDialogFormStrings,
25
+ /** @deprecated Supply labels and descriptions on the `SchemaForm` field definitions. */
26
+ type SyncRangeDialogFormStrings, } from './sync.strings';
@@ -1,6 +1,6 @@
1
1
  export declare function useDataTableSize(): 'xs' | 'sm';
2
2
  import { type DataTableProps } from './table.types';
3
- export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
3
+ export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, selectionToolbarPlacement, totalRowCount: totalRowCountProp, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
4
4
  export declare namespace DataTable {
5
5
  var displayName: string;
6
6
  }
@@ -72,7 +72,7 @@ export interface DateCellProps {
72
72
  preset?: DateProps['preset'];
73
73
  /** date-fns locale override. Falls back to UIProvider dates. */
74
74
  locale?: DateProps['locale'];
75
- /** Renders the icon. */
75
+ /** Renders the leading glyph. Off by default: a repeated calendar glyph on every row adds no information. */
76
76
  showIcon?: boolean;
77
77
  /** Leading glyph. */
78
78
  icon?: ComponentType<{
@@ -76,10 +76,17 @@ export interface DataTableStrings {
76
76
  emptyState: {
77
77
  message: string;
78
78
  };
79
- /** Overflow menu for the surface as a whole. */
79
+ /** Row actions column and its overflow menu. */
80
80
  actions: {
81
+ /** Header of the row actions column. */
81
82
  triggerLabel: string;
82
83
  srLabel: string;
84
+ /**
85
+ * Accessible name of each row's More actions trigger. Defaults to "More
86
+ * actions"; an override that sets only `triggerLabel` keeps naming the
87
+ * trigger with it, as before 2.0.1.
88
+ */
89
+ menuLabel?: string;
83
90
  };
84
91
  filter: {
85
92
  searchPlaceholder: string;
@@ -156,6 +163,7 @@ export interface DataTableSelectionToolbarContext<TData extends object> {
156
163
  table: Table<TData>;
157
164
  selectedRows: TData[];
158
165
  selectedRowCount: number;
166
+ /** `totalRowCount` when supplied, else `pagination.total`, else the rows in `data`. */
159
167
  totalRowCount: number;
160
168
  rowSelection: RowSelectionState;
161
169
  clearSelection: () => void;
@@ -302,15 +310,32 @@ export interface DataTableProps<TData extends object, TValue> {
302
310
  /** Content below the table body, above the pagination footer. */
303
311
  footerContent?: React.ReactNode;
304
312
  /**
305
- * Custom selected-row toolbar. `undefined` renders the package default,
306
- * `null` / `false` suppresses it, and a function receives the selected row
307
- * context for a fully custom toolbar.
313
+ * Custom selected-row toolbar. `undefined` renders the package default, a
314
+ * `BatchActionBar` from `themelia-react-ui/base/batch-action-bar`; `null` /
315
+ * `false` suppresses it, and a node or a function receiving the selected row
316
+ * context replaces it while rows are selected.
308
317
  */
309
318
  selectionToolbar?: React.ReactNode | ((context: DataTableSelectionToolbarContext<TData>) => React.ReactNode);
310
- /** Optional bulk action slot rendered in the package default selection toolbar. */
319
+ /**
320
+ * Bulk actions rendered in the default selection toolbar, before its Clear
321
+ * button. The toolbar only shows while rows are selected, so these actions
322
+ * need no disabled state for an empty selection.
323
+ */
311
324
  bulkActions?: React.ReactNode | ((context: DataTableSelectionToolbarContext<TData>) => React.ReactNode);
312
- /** Merged onto the selection toolbar. */
325
+ /** Merged onto the default selection toolbar. */
313
326
  selectionToolbarClassName?: string;
327
+ /**
328
+ * Where the default selection toolbar sits. `floating` (default) docks it to
329
+ * the bottom centre of the viewport, so it stays reachable while a long table
330
+ * scrolls; `inline` keeps it in flow between the topbar and the table.
331
+ */
332
+ selectionToolbarPlacement?: 'floating' | 'inline';
333
+ /**
334
+ * Total rows in the whole result, for the selection summary ("3 of 1,250
335
+ * rows selected") and `DataTableSelectionToolbarContext.totalRowCount`.
336
+ * Defaults to `pagination.total`, else the rows in `data`.
337
+ */
338
+ totalRowCount?: number;
314
339
  /**
315
340
  * Row actions, as a static array or a factory receiving the row.
316
341
  *
@@ -439,7 +464,7 @@ export interface DataTableActionsProps<TData> {
439
464
  row: TData;
440
465
  /** static actions or a factory for per-row actions */
441
466
  actions: TableAction<TData>[] | ((row: TData) => TableAction<TData>[]);
442
- /** Optional menu label (defaults to strings.actions.triggerLabel) */
467
+ /** Accessible name of the More actions trigger. Defaults to `strings.actions.menuLabel`. */
443
468
  menuLabel?: string;
444
469
  /** Display mode: always menu, always inline, or auto by breakpoint (default: 'menu' to preserve behavior) */
445
470
  displayMode?: 'menu' | 'inline' | 'auto';
@@ -1,4 +1,4 @@
1
1
  export { Page } from './page';
2
2
  export { PageHeader } from './partials/page-header';
3
3
  export { PageActions } from './partials/page-actions';
4
- export { defaultPageActionsStrings, type PageHeaderProps, type PageHeaderSlots, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, } from './page.types';
4
+ export { defaultPageActionsStrings, type PageHeaderAction, type PageHeaderProps, type PageHeaderSlots, type PageHeaderTabs, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, } from './page.types';
@@ -11,6 +11,8 @@ import type { ContainerGutter, ContainerMaxWidth, ContainerProps } from '../cont
11
11
  import type { StringsProp } from '../../../lib/strings';
12
12
  import type { BadgeTone } from '../../base/badge';
13
13
  import type { ActionPresentation } from '../../../lib/action-presentation';
14
+ import type { PageHeaderAction } from '../../base/navigation/page-header';
15
+ import type { OverflowTabItem } from '../../base/navigation';
14
16
  export interface PageTitleBadge {
15
17
  /** Display label. */
16
18
  label: ReactNode;
@@ -18,6 +20,23 @@ export interface PageTitleBadge {
18
20
  tone?: BadgeTone;
19
21
  key?: Key;
20
22
  }
23
+ export type { PageHeaderAction } from '../../base/navigation/page-header';
24
+ /** Section tabs under a record's header. */
25
+ export interface PageHeaderTabs {
26
+ /** Sections in order. `badge` shows a count chip beside the label. */
27
+ items: OverflowTabItem[];
28
+ /** Id of the active section. */
29
+ value?: string;
30
+ /**
31
+ * Fired with the id of the chosen section. Switch the content or route here;
32
+ * an item `href` renders a native link.
33
+ */
34
+ onValueChange?: (id: string) => void;
35
+ /** Accessible name of the tab list. Default: `'Sections'`. */
36
+ label?: string;
37
+ /** Label of the trigger that holds tabs which do not fit. Default: `'More'`. */
38
+ moreLabel?: string;
39
+ }
21
40
  export interface PageHeaderSlots {
22
41
  /** Replaces the leading back control entirely. */
23
42
  back?: ReactNode;
@@ -25,7 +44,7 @@ export interface PageHeaderSlots {
25
44
  beforeTitle?: ReactNode;
26
45
  /** Additional content after the description. */
27
46
  afterDescription?: ReactNode;
28
- /** Replaces the trailing actions region. */
47
+ /** Replaces the trailing actions region, including role-based commands. */
29
48
  actions?: ReactNode;
30
49
  }
31
50
  export interface PageHeaderProps extends LayoutNavigationAdapter {
@@ -35,7 +54,7 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
35
54
  description?: ReactNode;
36
55
  /** Shared title/description rhythm. Defaults to dense for page copy. */
37
56
  textGap?: TextGap;
38
- /** Semantic heading level for the title. Defaults to `h3` for nested app pages. */
57
+ /** Semantic heading level for the title. Defaults to `h1`, the route's main heading; use `h2` when the page sits inside another titled page. */
39
58
  headingTag?: HeadingTag;
40
59
  /** Optional decorative icon rendered before the title. Pass a Lucide icon component. */
41
60
  titleIcon?: ComponentType<{
@@ -54,7 +73,30 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
54
73
  backLabel?: string;
55
74
  /** Chips shown beside the page title. */
56
75
  titleBadges?: PageTitleBadge[];
57
- /** Controls offered on the surface. */
76
+ /**
77
+ * The page's one main command: a solid primary button after the secondary
78
+ * commands, visible at every width.
79
+ */
80
+ primaryAction?: PageHeaderAction;
81
+ /**
82
+ * Supporting commands in priority order. The first two render as outline
83
+ * buttons before the primary command; the rest, and every destructive
84
+ * command, move into the More actions menu, which always closes the row.
85
+ * Below `sm`, all secondary commands collapse into that menu.
86
+ */
87
+ secondaryActions?: readonly PageHeaderAction[];
88
+ /** Accessible name of the More actions menu trigger. */
89
+ moreActionsLabel?: string;
90
+ /**
91
+ * Section tabs under the header, for a record split into sections such as
92
+ * documents and history. Tabs that do not fit move into a More menu, and
93
+ * the active tab stays visible.
94
+ */
95
+ tabs?: PageHeaderTabs;
96
+ /**
97
+ * Custom controls before the role-based commands, such as a period select.
98
+ * Prefer `primaryAction` and `secondaryActions` for commands.
99
+ */
58
100
  actions?: ReactNode;
59
101
  /** Replaces individual regions of the shell. */
60
102
  slots?: PageHeaderSlots;
@@ -71,6 +113,7 @@ export interface PageActionContext {
71
113
  isInline: boolean;
72
114
  renderLink: LayoutLinkRenderer;
73
115
  }
116
+ /** @deprecated Use PageHeaderAction with `primaryAction` and `secondaryActions`. */
74
117
  export interface PageAction extends ActionPresentation {
75
118
  id?: string;
76
119
  /** Display label. */
@@ -104,7 +147,11 @@ export interface PageActionsProps extends LayoutNavigationAdapter {
104
147
  actions?: PageAction[];
105
148
  /** How actions are presented — inline, menu, or responsive. */
106
149
  display?: PageActionsDisplay;
107
- /** Inline action button scale. Defaults to `sm`; set `md` for normal page-header buttons. */
150
+ /**
151
+ * Inline action button scale, which the More actions square beside them
152
+ * matches. Defaults to `sm`; set `md` for normal page-header buttons. A
153
+ * menu-only ribbon follows the provider scale.
154
+ */
108
155
  size?: ButtonSize;
109
156
  /** Width at which responsive actions collapse into a menu. */
110
157
  breakpoint?: number;
@@ -1,2 +1,3 @@
1
1
  import { type PageActionsProps } from '../page.types';
2
+ /** @deprecated Pass page commands as `primaryAction` and `secondaryActions`; use ActionButtons for a toolbar row. */
2
3
  export declare function PageActions({ actions, display, size, breakpoint, maxInlineActions, renderLink, strings: stringsProp, className, inlineClassName, menuClassName, renderAction, }: PageActionsProps): import("react").JSX.Element | null;