themelia-react-ui 2.0.5 → 2.0.6

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 (489) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/MIGRATION.md +119 -0
  3. package/README.md +13 -6
  4. package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
  5. package/dist/accordion-0tQUZ20r.js.map +1 -0
  6. package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
  7. package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
  8. package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
  9. package/dist/ai-artifact-CGGpQryR.js.map +1 -0
  10. package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
  11. package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
  12. package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
  13. package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
  14. package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
  15. package/dist/auth-B0girIk_.js.map +1 -0
  16. package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
  17. package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
  18. package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
  19. package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
  20. package/dist/base/accordion.js +1 -1
  21. package/dist/base/action-menu.js +1 -1
  22. package/dist/base/attachment.js +1 -1
  23. package/dist/base/avatar.js +1 -1
  24. package/dist/base/badge.js +1 -1
  25. package/dist/base/batch-action-bar.js +1 -1
  26. package/dist/base/buttons.js +1 -1
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +3 -3
  29. package/dist/base/cascader.js +1 -1
  30. package/dist/base/chart.js +1 -1
  31. package/dist/base/choice-inputs.js +2 -2
  32. package/dist/base/code-block.js +1 -1
  33. package/dist/base/combobox.js +1 -1
  34. package/dist/base/command.js +1 -1
  35. package/dist/base/copyable.js +1 -1
  36. package/dist/base/date-pickers.js +2 -2
  37. package/dist/base/display.js +6 -6
  38. package/dist/base/feedback.js +4 -4
  39. package/dist/base/forms-numeric.js +1 -1
  40. package/dist/base/forms.js +2 -2
  41. package/dist/base/inline-edit.js +8 -8
  42. package/dist/base/item.js +1 -1
  43. package/dist/base/media-gallery.js +1 -1
  44. package/dist/base/metadata-list.js +1 -1
  45. package/dist/base/navigation.js +6 -6
  46. package/dist/base/popover-menu.js +1 -1
  47. package/dist/base/popover.js +1 -1
  48. package/dist/base/qr-code.js +1 -1
  49. package/dist/base/repeaters.js +195 -188
  50. package/dist/base/repeaters.js.map +1 -1
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +2 -2
  53. package/dist/base/signature-pad.js +7 -7
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +5 -5
  56. package/dist/base/spinner.js.map +1 -1
  57. package/dist/base/structure.js +1 -1
  58. package/dist/base/table.js +1 -1
  59. package/dist/base/text-inputs.js +2 -2
  60. package/dist/base/toaster.js +1 -1
  61. package/dist/base/tree.js +1 -1
  62. package/dist/base/upload-queue.js +1 -1
  63. package/dist/base/upload.js +3 -3
  64. package/dist/base/value-inputs.js +1 -1
  65. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
  66. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
  67. package/dist/blocks/admin.js +17 -17
  68. package/dist/blocks/ai.js +227 -221
  69. package/dist/blocks/ai.js.map +1 -1
  70. package/dist/blocks/analytics/usage-card.js +1 -1
  71. package/dist/blocks/analytics.js +424 -449
  72. package/dist/blocks/analytics.js.map +1 -1
  73. package/dist/blocks/collaboration.js +1 -1
  74. package/dist/blocks/commerce/receipt.js +1 -1
  75. package/dist/blocks/commerce.js +225 -220
  76. package/dist/blocks/commerce.js.map +1 -1
  77. package/dist/blocks/data-display.js +2 -2
  78. package/dist/blocks/onboarding.js +5 -5
  79. package/dist/blocks/planning.js +11 -11
  80. package/dist/blocks/timelines.js +1 -1
  81. package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
  82. package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
  83. package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
  84. package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
  85. package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
  86. package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
  87. package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
  88. package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
  89. package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
  90. package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
  91. package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
  92. package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
  93. package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
  94. package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
  95. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
  96. package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
  97. package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
  98. package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
  99. package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
  100. package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
  101. package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
  102. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
  103. package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
  104. package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
  105. package/dist/combobox-C2JiSQPc.js +915 -0
  106. package/dist/combobox-C2JiSQPc.js.map +1 -0
  107. package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
  108. package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
  109. package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
  110. package/dist/comments-BsgErEqd.js.map +1 -0
  111. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  112. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  113. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  114. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  115. package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
  116. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  117. package/dist/components/base/feedback/state-display.d.ts +5 -1
  118. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  119. package/dist/components/base/forms/form-field.d.ts +7 -2
  120. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  121. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  122. package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
  123. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  124. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  125. package/dist/components/base/navigation/language-switcher.d.ts +12 -4
  126. package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
  127. package/dist/components/base/sidebar/sidebar.d.ts +2 -0
  128. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  129. package/dist/components/base/upload/image-upload.d.ts +2 -1
  130. package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
  131. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  132. package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
  133. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
  134. package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
  135. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  136. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  137. package/dist/components/blocks/analytics/types.d.ts +2 -2
  138. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  139. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
  140. package/dist/components/features/activities/activities.types.d.ts +18 -11
  141. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  142. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  143. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  144. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
  145. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  146. package/dist/components/features/combobox/combobox.d.ts +2 -2
  147. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
  148. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  149. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  150. package/dist/components/features/combobox/types.d.ts +37 -8
  151. package/dist/components/features/email-composer/types.d.ts +3 -1
  152. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  153. package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
  154. package/dist/components/features/filters/filters.types.d.ts +3 -3
  155. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  156. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  157. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  158. package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
  159. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  160. package/dist/components/features/media-library/media-library.d.ts +1 -1
  161. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  162. package/dist/components/features/media-library/media-library.types.d.ts +36 -8
  163. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  164. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  165. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
  166. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
  167. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  168. package/dist/components/features/products/products.types.d.ts +2 -2
  169. package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
  170. package/dist/components/features/resource/resource.d.ts +1 -1
  171. package/dist/components/features/resource/resource.types.d.ts +2 -0
  172. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  173. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
  174. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  175. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
  176. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  177. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
  178. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
  179. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  180. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  181. package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
  182. package/dist/components/features/table/data-table.d.ts +1 -1
  183. package/dist/components/features/table/index.d.ts +1 -0
  184. package/dist/components/features/table/table-body.d.ts +1 -1
  185. package/dist/components/features/table/table-helpers.d.ts +6 -3
  186. package/dist/components/features/table/table.strings.d.ts +3 -0
  187. package/dist/components/features/table/table.types.d.ts +17 -1
  188. package/dist/components/layout/header/header.types.d.ts +3 -2
  189. package/dist/components/layout/layout.types.d.ts +5 -3
  190. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  191. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  192. package/dist/components/layout/settings/settings.d.ts +1 -1
  193. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  194. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
  195. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  196. package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
  197. package/dist/components/primitives/link.d.ts +3 -2
  198. package/dist/components/primitives/money.d.ts +1 -1
  199. package/dist/components/primitives/number.d.ts +1 -1
  200. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  201. package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
  202. package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
  203. package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
  204. package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
  205. package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
  206. package/dist/data-display-Cmj-xZYl.js.map +1 -0
  207. package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
  208. package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
  209. package/dist/date-picker-CyQlFYsP.js +1617 -0
  210. package/dist/date-picker-CyQlFYsP.js.map +1 -0
  211. package/dist/date-pickers-tj2MXmXd.js +185 -0
  212. package/dist/date-pickers-tj2MXmXd.js.map +1 -0
  213. package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
  214. package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
  215. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
  216. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
  217. package/dist/features/activities.js +283 -270
  218. package/dist/features/activities.js.map +1 -1
  219. package/dist/features/ai-chat.js +40 -27
  220. package/dist/features/ai-chat.js.map +1 -1
  221. package/dist/features/appointment-calendar.js +126 -126
  222. package/dist/features/appointment-calendar.js.map +1 -1
  223. package/dist/features/async-preview.js +9 -9
  224. package/dist/features/combobox.js +1 -1
  225. package/dist/features/comments.js +1 -1
  226. package/dist/features/data-view.js +10 -10
  227. package/dist/features/email-composer.js +24 -19
  228. package/dist/features/email-composer.js.map +1 -1
  229. package/dist/features/event-calendar.js +129 -125
  230. package/dist/features/event-calendar.js.map +1 -1
  231. package/dist/features/filters.js +2 -2
  232. package/dist/features/global-search.js +16 -20
  233. package/dist/features/global-search.js.map +1 -1
  234. package/dist/features/kanban.js +18 -28
  235. package/dist/features/kanban.js.map +1 -1
  236. package/dist/features/map/style.css +15 -0
  237. package/dist/features/map.js +331 -314
  238. package/dist/features/map.js.map +1 -1
  239. package/dist/features/media-library.js +1044 -866
  240. package/dist/features/media-library.js.map +1 -1
  241. package/dist/features/mentions.js +2 -2
  242. package/dist/features/overlays.js +1 -1
  243. package/dist/features/products.js +978 -964
  244. package/dist/features/products.js.map +1 -1
  245. package/dist/features/questionnaire.js +159 -152
  246. package/dist/features/questionnaire.js.map +1 -1
  247. package/dist/features/resource-assignment.js +8 -8
  248. package/dist/features/resource.js +74 -71
  249. package/dist/features/resource.js.map +1 -1
  250. package/dist/features/rich-text-editor.js +28 -19
  251. package/dist/features/rich-text-editor.js.map +1 -1
  252. package/dist/features/schema-form.js +297 -256
  253. package/dist/features/schema-form.js.map +1 -1
  254. package/dist/features/suggestions.js +57 -50
  255. package/dist/features/suggestions.js.map +1 -1
  256. package/dist/features/sync.js +3 -3
  257. package/dist/features/table.js +1 -1
  258. package/dist/features/theme-tweaker.js +400 -399
  259. package/dist/features/theme-tweaker.js.map +1 -1
  260. package/dist/feedback-Dzo1xtAU.js +246 -0
  261. package/dist/feedback-Dzo1xtAU.js.map +1 -0
  262. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
  263. package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
  264. package/dist/field-control-attributes-B6i335wr.js +18 -0
  265. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  266. package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
  267. package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
  268. package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
  269. package/dist/filters-Dl80yYtN.js.map +1 -0
  270. package/dist/form-field-CAPdwdnZ.js +74 -0
  271. package/dist/form-field-CAPdwdnZ.js.map +1 -0
  272. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
  273. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
  274. package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
  275. package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
  276. package/dist/forms-numeric-CwjQJe-O.js +991 -0
  277. package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
  278. package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
  279. package/dist/header-ZIIsRKxP.js.map +1 -0
  280. package/dist/hooks/use-files.d.ts +2 -0
  281. package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
  282. package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
  283. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
  284. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
  285. package/dist/index.js +1 -1
  286. package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
  287. package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
  288. package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
  289. package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
  290. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
  291. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
  292. package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
  293. package/dist/item-FfWnaYST.js.map +1 -0
  294. package/dist/layout/app-shell.js +1 -1
  295. package/dist/layout/auth.js +1 -1
  296. package/dist/layout/containers.js +1 -1
  297. package/dist/layout/header.js +1 -1
  298. package/dist/layout/hooks.js +1 -1
  299. package/dist/layout/navigation.js +1 -1
  300. package/dist/layout/page.js +1 -1
  301. package/dist/layout/settings.js +1 -1
  302. package/dist/layout/sidebar.js +2 -2
  303. package/dist/layout/workspace.js +1 -1
  304. package/dist/layout.js +11 -11
  305. package/dist/layout.types-E_GAApzO.js +30 -0
  306. package/dist/layout.types-E_GAApzO.js.map +1 -0
  307. package/dist/lib/field-control-attributes.d.ts +11 -0
  308. package/dist/lib/field-state-recipes.d.ts +2 -0
  309. package/dist/lib/format.d.ts +1 -0
  310. package/dist/lib/surface-recipes.d.ts +1 -1
  311. package/dist/lib/token-merge.generated.d.ts +6 -6
  312. package/dist/lib/utils.js +1 -1
  313. package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
  314. package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
  315. package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
  316. package/dist/mentions-qOnedSt4.js.map +1 -0
  317. package/dist/message-BJHnn43M.js +135 -0
  318. package/dist/message-BJHnn43M.js.map +1 -0
  319. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
  320. package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
  321. package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
  322. package/dist/navigation-BgtPJAhi.js.map +1 -0
  323. package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
  324. package/dist/navigation-Bt-v7rWP.js.map +1 -0
  325. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  326. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  327. package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
  328. package/dist/number-CYqBcrSj.js.map +1 -0
  329. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
  330. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
  331. package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
  332. package/dist/overlays-CC8zI3Du.js.map +1 -0
  333. package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
  334. package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
  335. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
  336. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
  337. package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
  338. package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
  339. package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
  340. package/dist/popover-k8TdUcAt.js.map +1 -0
  341. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
  342. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
  343. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
  344. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
  345. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
  346. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
  347. package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
  348. package/dist/primitives-BkkQjYl7.js.map +1 -0
  349. package/dist/primitives.js +4 -4
  350. package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
  351. package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
  352. package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
  353. package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
  354. package/dist/rich-text-BnTzZjIo.js +45 -0
  355. package/dist/rich-text-BnTzZjIo.js.map +1 -0
  356. package/dist/rich-text-editor-CAurDwT5.js +1273 -0
  357. package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
  358. package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
  359. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
  360. package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
  361. package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
  362. package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
  363. package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
  364. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
  365. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
  366. package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
  367. package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
  368. package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
  369. package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
  370. package/dist/services/actions.js +1 -1
  371. package/dist/settings-DZPHgpx4.js +155 -0
  372. package/dist/settings-DZPHgpx4.js.map +1 -0
  373. package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
  374. package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
  375. package/dist/sidebar-C8BnDwTH.js +709 -0
  376. package/dist/sidebar-C8BnDwTH.js.map +1 -0
  377. package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
  378. package/dist/sidebar-CmD6a-HK.js.map +1 -0
  379. package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
  380. package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
  381. package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
  382. package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
  383. package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
  384. package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
  385. package/dist/style.css +1 -1
  386. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
  387. package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
  388. package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
  389. package/dist/table-CBonSdTp.js.map +1 -0
  390. package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
  391. package/dist/table-CXSPHH25.js.map +1 -0
  392. package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
  393. package/dist/tabs-C4Kr_hCr.js.map +1 -0
  394. package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
  395. package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
  396. package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
  397. package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
  398. package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
  399. package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
  400. package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
  401. package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
  402. package/dist/typography/rich-text.js +1 -1
  403. package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
  404. package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
  405. package/dist/typography.js +1 -1
  406. package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
  407. package/dist/upload-Hdm5gObf.js.map +1 -0
  408. package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
  409. package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
  410. package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
  411. package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
  412. package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
  413. package/dist/utils-DhuoqFy4.js.map +1 -0
  414. package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
  415. package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
  416. package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
  417. package/dist/value-typography-uSzzG9Gf.js.map +1 -0
  418. package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
  419. package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
  420. package/docs/consumer-skill/examples/edit.tsx +3 -3
  421. package/docs/consumer-skill/references/agents-md.md +19 -19
  422. package/docs/consumer-skill/references/analytics.md +15 -0
  423. package/docs/consumer-skill/references/component-contracts.json +14724 -13057
  424. package/docs/consumer-skill/references/composition.md +21 -4
  425. package/docs/consumer-skill/references/design-contract.md +1 -0
  426. package/docs/consumer-skill/references/installation.md +51 -8
  427. package/docs/consumer-skill/references/integration.md +24 -1
  428. package/docs/consumer-skill/references/public-api.json +172 -34
  429. package/docs/consumer-skill/references/review.md +51 -11
  430. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  431. package/docs/consumer-skill/references/theming.md +7 -2
  432. package/docs/consumer-skill/references/tokens.json +1 -1
  433. package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
  434. package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
  435. package/package.json +4 -2
  436. package/templates/admin-shell-template.tsx +1 -2
  437. package/templates/customers-template.tsx +18 -16
  438. package/dist/accordion-B9MHG0cT.js.map +0 -1
  439. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  440. package/dist/auth-DTkkshS8.js.map +0 -1
  441. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  442. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  443. package/dist/combobox-BwzoXFSG.js +0 -884
  444. package/dist/combobox-BwzoXFSG.js.map +0 -1
  445. package/dist/comments-Dmpp0YIc.js.map +0 -1
  446. package/dist/data-display-BdgCAw8T.js.map +0 -1
  447. package/dist/date-picker-RlIzKom_.js +0 -1551
  448. package/dist/date-picker-RlIzKom_.js.map +0 -1
  449. package/dist/date-pickers-DY-CpXS1.js +0 -179
  450. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  451. package/dist/feedback-Dm4izqFn.js +0 -240
  452. package/dist/feedback-Dm4izqFn.js.map +0 -1
  453. package/dist/filters-DzgSJpMK.js.map +0 -1
  454. package/dist/form-field-BriWAXyg.js +0 -63
  455. package/dist/form-field-BriWAXyg.js.map +0 -1
  456. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  457. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  458. package/dist/header-DMMxG__r.js.map +0 -1
  459. package/dist/item-DjCcM18E.js.map +0 -1
  460. package/dist/layout.types-Cn7aUzJp.js +0 -20
  461. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  462. package/dist/mentions-0_4nWuI-.js.map +0 -1
  463. package/dist/message-g8p7eVtN.js +0 -128
  464. package/dist/message-g8p7eVtN.js.map +0 -1
  465. package/dist/navigation-C90-oQFq.js.map +0 -1
  466. package/dist/navigation-DaRjthVk.js.map +0 -1
  467. package/dist/number-CRU3kGuk.js.map +0 -1
  468. package/dist/overlays-BSgCtM2v.js.map +0 -1
  469. package/dist/popover-B85RenIl.js.map +0 -1
  470. package/dist/primitives-ByWgGUgt.js.map +0 -1
  471. package/dist/rich-text-Dth5E882.js +0 -78
  472. package/dist/rich-text-Dth5E882.js.map +0 -1
  473. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  474. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  475. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  476. package/dist/safe-image-src-C6kQSMBZ.js +0 -17
  477. package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
  478. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  479. package/dist/settings-Bar5wiSo.js +0 -167
  480. package/dist/settings-Bar5wiSo.js.map +0 -1
  481. package/dist/sidebar-D-JYMMbY.js +0 -686
  482. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  483. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  484. package/dist/table-B4TE7iOV.js.map +0 -1
  485. package/dist/table-CFOWY9pQ.js.map +0 -1
  486. package/dist/tabs-e7ko9S2o.js.map +0 -1
  487. package/dist/upload-BOW6U2tI.js.map +0 -1
  488. package/dist/utils-B6kKb8jB.js.map +0 -1
  489. package/dist/value-typography-uAmWUAL1.js.map +0 -1
@@ -1,15 +1,23 @@
1
1
  import type { LocaleOption } from '../../../types/locale.types';
2
+ type LanguageSwitcherLocale = Omit<LocaleOption, 'active'> & {
3
+ active?: boolean;
4
+ };
2
5
  export interface LanguageSwitcherProps {
3
- /** Locales to offer, in order. The entry with `active: true` is marked as current. */
4
- locales: LocaleOption[];
6
+ /** Locales to offer, in order. Their active flags apply when value is omitted. */
7
+ locales: LanguageSwitcherLocale[];
8
+ /** Controlled current locale. Takes precedence over the option flags. */
9
+ value?: string;
10
+ /** Requests another locale. Takes precedence over onSelect. */
11
+ onValueChange?: (value: string) => void;
5
12
  /** Custom label for each locale. Defaults to `nativeLabel`. */
6
13
  onRenderLabel?: (options: LocaleOption) => string;
7
- /** Layout: `buttons` (default) for a row of buttons, `inline` for compact dot-separated text links. */
14
+ /** Layout: `buttons` (default) for a row of buttons, `inline` for compact dot-separated text buttons. */
8
15
  variant?: 'buttons' | 'inline';
9
16
  /** Called with the chosen locale's value. Not called for the current locale. */
10
17
  onSelect?: (value: string) => void;
11
18
  }
12
- export declare function LanguageSwitcher({ locales, onRenderLabel, variant, onSelect, }: LanguageSwitcherProps): import("react").JSX.Element | null;
19
+ export declare function LanguageSwitcher({ locales, value, onValueChange, onRenderLabel, variant, onSelect, }: LanguageSwitcherProps): import("react").JSX.Element | null;
13
20
  export declare namespace LanguageSwitcher {
14
21
  var displayName: string;
15
22
  }
23
+ export {};
@@ -1,3 +1,4 @@
1
+ import { type FieldControlAttributes } from '../../../lib/field-control-attributes';
1
2
  import { type StringsProp } from '../../../lib/strings';
2
3
  export type KeyValuePair = {
3
4
  key: string;
@@ -13,7 +14,7 @@ export interface KeyValueEditorStrings {
13
14
  emptyState: string;
14
15
  }
15
16
  export declare const defaultKeyValueEditorStrings: KeyValueEditorStrings;
16
- export interface KeyValueEditorProps {
17
+ export interface KeyValueEditorProps extends FieldControlAttributes {
17
18
  /** Current value. Controlled. */
18
19
  value?: Record<string, string>;
19
20
  onValueChange?: (val: Record<string, string>) => void;
@@ -152,6 +152,8 @@ declare function SidebarGroupLabel({ className, children, ...props }: SidebarGro
152
152
  export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRegion, SidebarRail, SidebarSeparator, SidebarTrigger, };
153
153
  /** Internal bridge for the layout layer; not part of the base package entrypoint. */
154
154
  export declare const useBaseSidebarContext: typeof useSidebarPrimitive;
155
+ /** Lets composed layouts omit a sidebar control when no provider is present. */
156
+ export declare function useHasSidebarProvider(): boolean;
155
157
  /** Internal density bridge for composed navigation; not a base entrypoint export. */
156
158
  export declare function useBaseSidebarMenuDensity(): SidebarMenuDensity | undefined;
157
159
  export type { SidebarPanelId, SidebarPresentation };
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type StringsProp } from '../../../lib/strings';
3
3
  import { type ComponentScale } from '../../../lib/ui-provider';
4
+ import { type FieldControlAttributes } from '../../../lib/field-control-attributes';
4
5
  export type AvatarUploadSize = ComponentScale;
5
6
  export interface AvatarUploadStrings {
6
7
  change: string;
@@ -15,7 +16,7 @@ export interface AvatarUploadStrings {
15
16
  customValidationFailed: (fileName: string) => string;
16
17
  }
17
18
  export declare const defaultAvatarUploadStrings: AvatarUploadStrings;
18
- export interface AvatarUploadProps {
19
+ export interface AvatarUploadProps extends FieldControlAttributes {
19
20
  /** Selected file. Controlled. */
20
21
  value?: File;
21
22
  onValueChange?: (file?: File) => void;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type StringsProp } from '../../../lib/strings';
3
+ import { type FieldControlAttributes } from '../../../lib/field-control-attributes';
3
4
  type ImageUploadAspectRatio = 'square' | 'standard' | 'widescreen' | 'portrait';
4
5
  type ImageUploadLayout = 'stacked' | 'inline';
5
6
  type ImageUploadFit = 'cover' | 'contain';
@@ -28,7 +29,7 @@ export interface ImageUploadStrings {
28
29
  moreFiles: (count: number) => string;
29
30
  }
30
31
  export declare const defaultImageUploadStrings: ImageUploadStrings;
31
- export interface ImageUploadProps {
32
+ export interface ImageUploadProps extends FieldControlAttributes {
32
33
  /** Accepted MIME types or extensions, as the native `accept` attribute. */
33
34
  accept?: string;
34
35
  /** Allows more than one file to be chosen. */
@@ -16,7 +16,9 @@ export interface AiCitationStrings {
16
16
  title: string;
17
17
  sourceCount: (n: number) => string;
18
18
  hiddenCount: (n: number) => string;
19
+ /** Supplied overrides describe how to open the source list. */
19
20
  expand: string;
21
+ /** Supplied overrides describe how to close the source list. */
20
22
  collapse: string;
21
23
  visit: string;
22
24
  relevance: string;
@@ -7,7 +7,9 @@ export interface AiReasoningStrings {
7
7
  thoughtFor: string;
8
8
  /** Header label when no duration is available. */
9
9
  thoughtDone: string;
10
+ /** Supplied overrides describe how to open the reasoning trace. */
10
11
  expandAria: string;
12
+ /** Supplied overrides describe how to close the reasoning trace. */
11
13
  collapseAria: string;
12
14
  }
13
15
  export declare const defaultAiReasoningStrings: AiReasoningStrings;
@@ -16,7 +16,9 @@ export interface AiSourceItem {
16
16
  export interface AiSourcesStrings {
17
17
  /** Header title — `{{count}}` placeholder for the source count. */
18
18
  title: string;
19
+ /** Supplied overrides describe how to open the source list. */
19
20
  expand: string;
21
+ /** Supplied overrides describe how to close the source list. */
20
22
  collapse: string;
21
23
  visit: string;
22
24
  }
@@ -7,7 +7,9 @@ export interface AiToolCallStrings {
7
7
  running: string;
8
8
  success: string;
9
9
  error: string;
10
+ /** Supplied overrides describe how to open the details. */
10
11
  expand: string;
12
+ /** Supplied overrides describe how to close the details. */
11
13
  collapse: string;
12
14
  args: string;
13
15
  result: string;
@@ -1,3 +1,4 @@
1
+ import type { SemanticTone } from '../../../../lib/component-vocabulary';
1
2
  import type { MetricColorScheme, MetricData, MetricSize, MetricVariant } from '../types';
2
3
  export interface MetricProps {
3
4
  /** Records to render. */
@@ -6,6 +7,9 @@ export interface MetricProps {
6
7
  variant?: MetricVariant;
7
8
  /** Size preset. */
8
9
  size?: MetricSize;
10
+ /** Tone for bordered surfaces and colored progress. Takes precedence over colorScheme. */
11
+ tone?: SemanticTone;
12
+ /** @deprecated Use tone. */
9
13
  colorScheme?: MetricColorScheme;
10
14
  /** Renders the sparkline. */
11
15
  showSparkline?: boolean;
@@ -6,6 +6,8 @@ export interface MetricComparisonStrings {
6
6
  currentLabel: string;
7
7
  previousLabel: string;
8
8
  suffix: string;
9
+ /** Copy shown when the relative change cannot be calculated. */
10
+ noBaseline?: string;
9
11
  /** Unit for the absolute change between two percentages. Additive; defaults to `pp`. */
10
12
  pointsUnit?: string;
11
13
  }
@@ -1,13 +1,12 @@
1
- import type { MetricColorScheme, MetricData, MetricSize, MetricVariant } from '../types';
2
- export interface MetricGridProps {
1
+ import { type MetricProps } from '../metric/metric';
2
+ import type { MetricData, MetricSize, MetricVariant } from '../types';
3
+ export interface MetricGridProps extends Pick<MetricProps, 'tone' | 'colorScheme'> {
3
4
  /** Metrics rendered as one responsive peer collection. */
4
5
  metrics: MetricData[];
5
6
  /** Cell variant. `card` composes the canonical Card surface. */
6
7
  variant?: Extract<MetricVariant, 'card' | 'compact' | 'bordered' | 'accent' | 'colored'>;
7
8
  /** Shared visual size forwarded to every metric. */
8
9
  size?: MetricSize;
9
- /** Shared semantic color recipe forwarded to every metric. */
10
- colorScheme?: MetricColorScheme;
11
10
  /** Maximum column count; narrower parents use fewer tracks. `auto` chooses from the cell count. */
12
11
  columns?: 'auto' | 1 | 2 | 3 | 4 | 6;
13
12
  /** Peer spacing. Defaults to `xl`; use denser gaps explicitly for compact lists. */
@@ -27,7 +26,7 @@ export interface MetricGridProps {
27
26
  */
28
27
  className?: string;
29
28
  }
30
- export declare function MetricGrid({ metrics, variant, size, colorScheme, columns, gap, showSparklines, showChanges, showIcons, loading, className, }: MetricGridProps): import("react").JSX.Element;
29
+ export declare function MetricGrid({ metrics, variant, size, tone, colorScheme, columns, gap, showSparklines, showChanges, showIcons, loading, className, }: MetricGridProps): import("react").JSX.Element;
31
30
  export declare namespace MetricGrid {
32
31
  var displayName: string;
33
32
  }
@@ -15,7 +15,7 @@ export type MetricDirection = 'up' | 'down' | 'neutral';
15
15
  * for some metrics "down" is good (e.g. churn), so consumers can override.
16
16
  */
17
17
  export type MetricTrend = 'positive' | 'negative' | 'neutral';
18
- /** Colour scheme used by Metric variants that support tinting. */
18
+ /** @deprecated Use the shared semantic tone through the tone prop. */
19
19
  export type MetricColorScheme = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
20
20
  /** Visual layout variant for the canonical `Metric` component. */
21
21
  export type MetricVariant =
@@ -27,7 +27,7 @@ export type MetricVariant =
27
27
  | 'compact'
28
28
  /** Inline `Label: value ↑12%` chip. Pure inline copy. */
29
29
  | 'minimal'
30
- /** Border + soft tint based on `colorScheme`. */
30
+ /** Border and soft tint based on `tone`. */
31
31
  | 'bordered'
32
32
  /** Dark surface card with bottom-aligned area sparkline. Hero-row variant. */
33
33
  | 'accent'
@@ -11,6 +11,10 @@ export interface OrderStatusEvent {
11
11
  export interface OrderStatusStrings {
12
12
  /** Surface title. */
13
13
  title: string;
14
+ /** Labels for each supported fulfilment stage. */
15
+ status?: Partial<Record<OrderStatusKind, string>>;
16
+ /** Formats the human-facing reference displayed below the title. */
17
+ formatOrderNumber?: (orderNumber: string) => string;
14
18
  /** Not rendered: the title badge states the status. Kept for existing overrides. */
15
19
  statusLabel: string;
16
20
  /** Label of the delivery-estimate fact. */
@@ -3,13 +3,14 @@ import type { ComponentScale } from '../../../../lib/component-vocabulary';
3
3
  import type { StringsProp } from '../../../../lib/strings';
4
4
  import type { EmptyStateStrings } from './empty-state.strings';
5
5
  /**
6
- * Vertical breathing room.
6
+ * Surface inset.
7
7
  *
8
+ * `none` — flush inside a parent that already owns the inset.
8
9
  * `sm` — compact cards, table cells, and side panels.
9
10
  * `md` — normal table, list, and card empty states.
10
11
  * `lg` — large page-level empty states.
11
12
  */
12
- export type EmptyStatePadding = ComponentScale;
13
+ export type EmptyStatePadding = ComponentScale | 'none';
13
14
  /**
14
15
  * How the `media` slot renders.
15
16
  *
@@ -66,7 +67,7 @@ export interface EmptyStateProps {
66
67
  * keyboard hints, etc.
67
68
  */
68
69
  footer?: ReactNode;
69
- /** Vertical breathing. Defaults to the provider density scale; tune values through CSS variables. */
70
+ /** Surface inset. Defaults to the provider density scale. Use `none` inside an already padded surface. */
70
71
  padding?: EmptyStatePadding;
71
72
  /**
72
73
  * `border` toggles the dashed-border look on/off. Defaults to `false`
@@ -61,26 +61,27 @@ export interface ActivityResourceConfig {
61
61
  /** Free-form note exposed via tooltip. */
62
62
  note?: string;
63
63
  }
64
- /** A single piece of the headline — blocks inline by the renderer. */
65
- export type ActivityHeadlineSegment = {
66
- type: 'text';
64
+ type ActivityHeadlineText = {
67
65
  text: string;
68
- } | {
66
+ /** React content rendered in place of the text fallback. */
67
+ content?: ReactNode;
68
+ };
69
+ /** A single inline piece of the headline. */
70
+ export type ActivityHeadlineSegment = ({
71
+ type: 'text';
72
+ } & ActivityHeadlineText) | {
69
73
  type: 'actor';
70
74
  text: string;
71
75
  actorId?: string;
72
76
  href?: string;
73
- } | {
77
+ } | ({
74
78
  type: 'field';
75
- text: string;
76
- } | {
79
+ } & ActivityHeadlineText) | ({
77
80
  type: 'value';
78
- text: string;
79
- } | {
81
+ } & ActivityHeadlineText) | ({
80
82
  type: 'status';
81
- text: string;
82
83
  tone?: ActivityTone;
83
- } | {
84
+ } & ActivityHeadlineText) | {
84
85
  type: 'resource';
85
86
  text?: string;
86
87
  resource: ActivityResourceRef;
@@ -106,6 +107,8 @@ export interface ActivityItem<TData = unknown> {
106
107
  event: string;
107
108
  /** Optional source bucket — drives the source-badge label. */
108
109
  source?: string;
110
+ /** React content for the source badge. Takes precedence over the source label. */
111
+ sourceContent?: ReactNode;
109
112
  actor?: ActivityActor;
110
113
  /** Pre-built segments — preferred over `headline`. */
111
114
  segments?: readonly ActivityHeadlineSegment[];
@@ -325,8 +328,11 @@ export interface ActivityLogActivityEntry<TResource extends string = string> {
325
328
  /** The action this surface performs. */
326
329
  action?: string;
327
330
  target?: ReactNode;
331
+ /** Status badge content. Takes precedence over the target value. */
332
+ status?: ReactNode;
328
333
  /** Display label. */
329
334
  label?: ReactNode;
335
+ /** Fallback headline when no action or target is supplied. Accepts inline React content. */
330
336
  headline?: ReactNode;
331
337
  /** Supporting copy shown under the label. */
332
338
  description?: ReactNode;
@@ -435,3 +441,4 @@ export interface ActivityLogProps<TUser extends CommentUser = CommentUser, TMeta
435
441
  className?: string;
436
442
  }
437
443
  export type ActivityLogSubmit<TResource extends string = string> = (values: CommentFormValues<TResource>, helpers: CommentSubmitHelpers) => void | Promise<void>;
444
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { ActivityResourceConfig, ActivityResourceRef } from '../activities.types';
2
2
  export type ActivityResourceRegistry = Readonly<Record<string, ActivityResourceConfig>>;
3
3
  export interface UseActivityResourcesOptions {
4
+ /** Registry seed. Equivalent resource values preserve local edits. */
4
5
  resources?: ActivityResourceRegistry;
5
6
  onResourcesChange?: (registry: ActivityResourceRegistry) => void;
6
7
  }
@@ -16,7 +17,7 @@ export interface UseActivityResourcesReturn {
16
17
  remove: (key: string) => void;
17
18
  /** Replace the entire registry. */
18
19
  setAll: (registry: ActivityResourceRegistry) => void;
19
- /** Reset to the original `resources` prop (or empty if none). */
20
+ /** Reset to the latest resource seed. */
20
21
  reset: () => void;
21
22
  }
22
23
  export declare function useActivityResources({ resources, onResourcesChange, }?: UseActivityResourcesOptions): UseActivityResourcesReturn;
@@ -1,7 +1,7 @@
1
1
  export interface UseAiChatScrollOptions {
2
2
  /** Distance (px) from bottom counted as "at bottom". */
3
3
  threshold?: number;
4
- /** Re-evaluate on these dependencies (typically the message count). */
4
+ /** Re-evaluate when content changes, including updates to existing messages. */
5
5
  dependency?: unknown;
6
6
  /** Disable auto-scroll-on-update behaviour. */
7
7
  disableAutoScroll?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { type Appointment, type AppointmentCalendarProps } from './appointment-calendar.types';
2
- export declare function AppointmentCalendar<T extends Appointment = Appointment>({ appointments, categories, staff: staffProp, title, date: dateProp, defaultDate, onDateChange, view: viewProp, defaultView, onViewChange, category: categoryProp, defaultCategory, onCategoryChange, staffId: staffIdProp, defaultStaffId, onStaffChange, onAppointmentClick, appointmentActions, renderAppointment, onRangeChange, onCreateAppointment, onConflictsDismiss, loading, error, onRetry, weekStartsOn: weekStartsOnProp, strings: stringsProp, className, }: AppointmentCalendarProps<T>): import("react").JSX.Element;
2
+ export declare function AppointmentCalendar<T extends Appointment = Appointment>({ appointments, categories, staff: staffProp, title, date: dateProp, defaultDate, onDateChange, view: viewProp, defaultView, onViewChange, category: categoryProp, defaultCategory, onCategoryChange, staffId: staffIdProp, defaultStaffId, onStaffIdChange, onStaffChange, onAppointmentClick, appointmentActions, renderAppointment, onRangeChange, onCreateAppointment, onConflictsDismiss, loading, error, onRetry, weekStartsOn: weekStartsOnProp, strings: stringsProp, className, }: AppointmentCalendarProps<T>): import("react").JSX.Element;
3
3
  export declare namespace AppointmentCalendar {
4
4
  var displayName: string;
5
5
  }
@@ -174,11 +174,13 @@ export interface AppointmentCalendarProps<T extends Appointment = Appointment> {
174
174
  defaultCategory?: string;
175
175
  /** Fired when a category chip is chosen. */
176
176
  onCategoryChange?: (category: string) => void;
177
- /** Staff filter: a staff id, or `all`. Controlled with `onStaffChange`. */
177
+ /** Staff filter: a staff id, or `all`. Controlled with `onStaffIdChange`. */
178
178
  staffId?: string;
179
179
  /** Staff filter for uncontrolled use. Defaults to `all`. */
180
180
  defaultStaffId?: string;
181
- /** Fired when the staff filter changes. */
181
+ /** Fired when the staff filter changes. Takes precedence over `onStaffChange`. */
182
+ onStaffIdChange?: (staffId: string) => void;
183
+ /** Legacy alias for `onStaffIdChange`. */
182
184
  onStaffChange?: (staffId: string) => void;
183
185
  /** Fired when an appointment is activated. Without it, rows are not interactive. */
184
186
  onAppointmentClick?: (appointment: T) => void;
@@ -21,7 +21,7 @@ export interface AsyncResourceComboboxRenderErrorContext {
21
21
  query: string;
22
22
  retry: () => void;
23
23
  }
24
- export interface AsyncResourceComboboxProps<T> extends Omit<ComboboxProps<T>, 'items' | 'selectedValue' | 'onSelectedValueChange' | 'clearSearchOnClose' | 'searchValue' | 'onSearchValueChange' | 'getItemLabel' | 'getItemKey' | 'loading' | 'showListContent' | 'renderItem' | 'strings' | 'error' | 'debounceMs'> {
24
+ export interface AsyncResourceComboboxProps<T> extends Omit<ComboboxProps<T>, 'items' | 'selectedValue' | 'onSelectedValueChange' | 'clearSearchOnClose' | 'getItemLabel' | 'getItemKey' | 'loading' | 'showListContent' | 'renderItem' | 'strings' | 'error' | 'debounceMs'> {
25
25
  /**
26
26
  * Loads options for the current query. This component owns the request
27
27
  * lifecycle: calls are debounced by `debounceMs`, the previous request is
@@ -88,7 +88,7 @@ export interface AsyncResourceComboboxProps<T> extends Omit<ComboboxProps<T>, 'i
88
88
  /** Trigger density. Falls back to `UIProvider.density.defaultScale`, then `md`. */
89
89
  size?: ComboboxSize;
90
90
  }
91
- export declare function AsyncResourceCombobox<T>({ fetcher, value, defaultValue, onValueChange, onAfterFetch, onError, getKey, getLabel, getDescription, getMeta, renderOption, limit, debounceMs, preload, minSearchLength, errorMessage, renderError, strings: stringsProp, disabled, size, ...props }: AsyncResourceComboboxProps<T>): import("react").JSX.Element;
91
+ export declare function AsyncResourceCombobox<T>({ fetcher, value, defaultValue, onValueChange, searchValue: controlledSearch, defaultSearchValue, onSearchValueChange, onAfterFetch, onError, getKey, getLabel, getDescription, getMeta, renderOption, limit, debounceMs, preload, minSearchLength, errorMessage, renderError, strings: stringsProp, disabled, size, ...props }: AsyncResourceComboboxProps<T>): import("react").JSX.Element;
92
92
  export declare namespace AsyncResourceCombobox {
93
93
  var displayName: string;
94
94
  }
@@ -10,11 +10,11 @@
10
10
  */
11
11
  import * as React from 'react';
12
12
  import type { ComboboxProps, MultiComboboxProps } from './types';
13
- export declare function Combobox<T>({ items, selectedValue, onSelectedValueChange, clearSearchOnClose, searchValue, onSearchValueChange, getItemLabel, getItemKey, loading, showListContent, minSearchLength, strings: stringsProp, disabled, className, clearable, renderItem, portalContainer, name, invalid, error, required, onBlur, onSearch, debounceMs, creatable, onCreate, getItemGroup, renderGroupLabel, hasMore, onLoadMore, loadingMore, getItemDisabled, highlightMatch, size: sizeProp, open, onOpenChange, }: ComboboxProps<T>): React.ReactElement;
13
+ export declare function Combobox<T>({ items, value, defaultValue, onValueChange, selectedValue: legacyValue, onSelectedValueChange: onLegacyValueChange, clearSearchOnClose, searchValue: controlledSearch, defaultSearchValue, onSearchValueChange: onSearchChange, getItemLabel, getItemKey, getItemValue, loading, showListContent, minSearchLength, strings: stringsProp, disabled, className, clearable, renderItem, portalContainer, id, ref, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, 'aria-required': ariaRequired, name, invalid, error, required, onBlur, onSearch, debounceMs, creatable, onCreate, getItemGroup, renderGroupLabel, hasMore, onLoadMore, loadingMore, getItemDisabled, highlightMatch, size: sizeProp, open, defaultOpen, onOpenChange, }: ComboboxProps<T>): React.ReactElement;
14
14
  export declare namespace Combobox {
15
15
  var displayName: string;
16
16
  }
17
- export declare function MultiCombobox<T>({ items, selectedValues, onSelectedValuesChange, searchValue, onSearchValueChange, getItemLabel, getItemKey, loading, showListContent, minSearchLength, strings: stringsProp, disabled, className, renderItem, portalContainer, name, invalid, error, required, onBlur, onSearch, debounceMs, creatable, onCreate, getItemGroup, renderGroupLabel, hasMore, onLoadMore, loadingMore, getItemDisabled, highlightMatch, size: sizeProp, open, onOpenChange, closeOnSelect, applyButton, onApply, onCancel, }: MultiComboboxProps<T>): React.ReactElement;
17
+ export declare function MultiCombobox<T>({ items, values, defaultValues, onValuesChange, selectedValues: legacyValues, onSelectedValuesChange: onLegacyValuesChange, searchValue: controlledSearch, defaultSearchValue, onSearchValueChange: onSearchChange, getItemLabel, getItemKey, getItemValue, loading, showListContent, minSearchLength, strings: stringsProp, disabled, className, renderItem, portalContainer, id, ref, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, 'aria-required': ariaRequired, name, invalid, error, required, onBlur, onSearch, debounceMs, creatable, onCreate, getItemGroup, renderGroupLabel, hasMore, onLoadMore, loadingMore, getItemDisabled, highlightMatch, size: sizeProp, open, defaultOpen, onOpenChange, closeOnSelect, applyButton, onApply, onCancel, }: MultiComboboxProps<T>): React.ReactElement;
18
18
  export declare namespace MultiCombobox {
19
19
  var displayName: string;
20
20
  }
@@ -24,7 +24,8 @@ export interface UseComboboxCoreReturn<T> {
24
24
  showCreateOption: boolean;
25
25
  renderItemContent: (item: T) => React.ReactNode;
26
26
  itemToStringLabel: (item: T) => string;
27
+ itemToStringValue: (item: T) => string;
27
28
  getItemReactKey: (item: T) => string;
28
29
  handleScroll: (event: Event) => void;
29
30
  }
30
- export declare function useComboboxCore<T>({ items, searchValue, getItemLabel, getItemKey, loading, showListContent, minSearchLength, strings: stringsProp, renderItem, onSearch, debounceMs, creatable, onCreate, getItemGroup, hasMore, onLoadMore, loadingMore, highlightMatch, ensuredItems, }: UseComboboxCoreOptions<T>): UseComboboxCoreReturn<T>;
31
+ export declare function useComboboxCore<T>({ items, searchValue, getItemLabel, getItemKey, getItemValue, loading, showListContent, minSearchLength, strings: stringsProp, renderItem, onSearch, debounceMs, creatable, onCreate, getItemGroup, hasMore, onLoadMore, loadingMore, highlightMatch, ensuredItems, }: UseComboboxCoreOptions<T>): UseComboboxCoreReturn<T>;
@@ -0,0 +1 @@
1
+ export declare function useComboboxState<T>(controlled: T | undefined, defaultValue: T, onChange?: (value: T) => void): readonly [T, (next: T) => void];
@@ -8,5 +8,6 @@ export interface UseLoadMoreOptions {
8
8
  }
9
9
  export interface UseLoadMoreReturn {
10
10
  handleScroll: (event: Event) => void;
11
+ cancelPendingLoad: () => void;
11
12
  }
12
13
  export declare function useLoadMore({ hasMore, onLoadMore, loadingMore, }: UseLoadMoreOptions): UseLoadMoreReturn;
@@ -22,7 +22,7 @@ export type ComboboxStrings = {
22
22
  apply: string;
23
23
  cancel: string;
24
24
  };
25
- export type ComboboxSharedProps<T> = {
25
+ export type ComboboxSharedProps<T> = Pick<React.AriaAttributes, 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-invalid' | 'aria-required'> & {
26
26
  /**
27
27
  * Options to display, in display order.
28
28
  *
@@ -87,8 +87,14 @@ export type ComboboxSharedProps<T> = {
87
87
  renderItem?: (item: T) => React.ReactNode;
88
88
  /** Mounts the dropdown inside this element instead of the default portal root. */
89
89
  portalContainer?: React.RefObject<HTMLElement | null>;
90
- /** Form field name, forwarded to the hidden input for uncontrolled submits. */
90
+ /** ID of the editable input, for an external label. */
91
+ id?: string;
92
+ /** Ref to the editable input, for focus management and form adapters. */
93
+ ref?: React.Ref<HTMLInputElement>;
94
+ /** Name for native form submission. Selected items submit their key, or their label if no key is supplied. */
91
95
  name?: string;
96
+ /** Overrides the serialized native form value without changing item identity or display. */
97
+ getItemValue?: (item: T) => string;
92
98
  /** Applies the invalid styling to the trigger. */
93
99
  invalid?: boolean;
94
100
  /** Validation message rendered beneath the trigger. */
@@ -134,6 +140,8 @@ export type ComboboxSharedProps<T> = {
134
140
  size?: ComboboxSize;
135
141
  /** Controls dropdown visibility. Pair with `onOpenChange`. */
136
142
  open?: boolean;
143
+ /** Initial dropdown visibility when `open` is omitted. Defaults to false. */
144
+ defaultOpen?: boolean;
137
145
  /** Fired when the dropdown wants to open or close. */
138
146
  onOpenChange?: (open: boolean) => void;
139
147
  /**
@@ -153,16 +161,30 @@ export type ComboboxSharedProps<T> = {
153
161
  /** Fired when the user clicks Cancel (closes without committing). */
154
162
  onCancel?: () => void;
155
163
  };
156
- export type ComboboxProps<T> = ComboboxSharedProps<T> & {
164
+ type ComboboxInteractiveProps<T> = Omit<ComboboxSharedProps<T>, 'searchValue' | 'onSearchValueChange'> & {
165
+ /** Controls the raw search text. Omit to let the component own the query. */
166
+ searchValue?: string;
167
+ /** Initial search text for uncontrolled use. Defaults to an empty string. */
168
+ defaultSearchValue?: string;
169
+ /** Reports raw search edits and resets in either mode. */
170
+ onSearchValueChange?: (value: string) => void;
171
+ };
172
+ export type ComboboxProps<T> = ComboboxInteractiveProps<T> & {
173
+ /** Selected item for controlled use. Takes precedence over `selectedValue`, including null. */
174
+ value?: T | null;
175
+ /** Initial selected item for uncontrolled use. Defaults to null. */
176
+ defaultValue?: T | null;
177
+ /** Reports the next selection. Takes precedence over `onSelectedValueChange`. */
178
+ onValueChange?: (value: T | null) => void;
157
179
  /**
158
180
  * The selected item, or `null` when empty. Controlled.
159
181
  *
160
182
  * Held as the item itself rather than a key, so a selection stays rendered
161
183
  * even after `items` is replaced by the next search result set.
162
184
  */
163
- selectedValue: T | null;
185
+ selectedValue?: T | null;
164
186
  /** Fired with the new selection, or `null` when cleared. */
165
- onSelectedValueChange: (value: T | null) => void;
187
+ onSelectedValueChange?: (value: T | null) => void;
166
188
  /**
167
189
  * Clears the typed query when the popup closes. Defaults to `true`.
168
190
  * Async wrappers disable this so focus can move to an external error or
@@ -170,19 +192,26 @@ export type ComboboxProps<T> = ComboboxSharedProps<T> & {
170
192
  */
171
193
  clearSearchOnClose?: boolean;
172
194
  };
173
- export type MultiComboboxProps<T> = ComboboxSharedProps<T> & {
195
+ export type MultiComboboxProps<T> = ComboboxInteractiveProps<T> & {
196
+ /** Selected items for controlled use. Takes precedence over `selectedValues`. */
197
+ values?: T[];
198
+ /** Initial selected items for uncontrolled use. Defaults to an empty array. */
199
+ defaultValues?: T[];
200
+ /** Reports the next committed selection. Takes precedence over `onSelectedValuesChange`. */
201
+ onValuesChange?: (values: T[]) => void;
174
202
  /**
175
203
  * The selected items. Controlled.
176
204
  *
177
205
  * These are merged ahead of `items` and de-duplicated by key, so selections
178
206
  * remain visible and checked even when absent from the current result set.
179
207
  */
180
- selectedValues: T[];
208
+ selectedValues?: T[];
181
209
  /**
182
210
  * Fired with the next selection array.
183
211
  *
184
212
  * With `applyButton`, edits accumulate in an internal draft and this fires
185
213
  * only on Apply; without it, each toggle commits immediately.
186
214
  */
187
- onSelectedValuesChange: (values: T[]) => void;
215
+ onSelectedValuesChange?: (values: T[]) => void;
188
216
  };
217
+ export {};
@@ -139,11 +139,13 @@ export type EmailComposerProps<C = Record<string, never>, K extends string = str
139
139
  onClose?: () => void;
140
140
  /** Immutable live context passed to pure variable resolvers; changing it does not edit the draft. */
141
141
  context: C;
142
- /** Authoritative controlled draft. onChange proposes changes for the parent to accept. */
142
+ /** Authoritative controlled draft. onValueChange proposes changes for the parent to accept. */
143
143
  value?: ComposerDraft<K>;
144
144
  /** Initial uncontrolled draft and discard baseline; remount with a new key for another message. */
145
145
  defaultValue?: Partial<ComposerDraft<K>>;
146
146
  /** Receives a detached draft proposal; treat it immutably when persisting controlled state. */
147
+ onValueChange?: (draft: ComposerDraft<K>) => void;
148
+ /** Legacy alias for onValueChange, used when onValueChange is omitted. */
147
149
  onChange?: (draft: ComposerDraft<K>) => void;
148
150
  /** Per-field editing mode and independent add/remove permissions. */
149
151
  recipients?: Partial<Record<"to" | "cc" | "bcc", RecipientOptions>>;
@@ -1,7 +1,9 @@
1
- import type { FilterConfig } from '../filters.types';
1
+ import type { FilterConfig, FilterOperator } from '../filters.types';
2
2
  export interface DateFacetProps {
3
3
  /** Definition of the filter this control edits. */
4
4
  filter: FilterConfig;
5
+ /** Active operator. When omitted, the standalone facet uses the filter configuration. */
6
+ operator?: FilterOperator;
5
7
  /** Current value. */
6
8
  value: {
7
9
  start?: Date;
@@ -15,4 +17,4 @@ export interface DateFacetProps {
15
17
  /** Merged onto the outermost node. */
16
18
  className?: string;
17
19
  }
18
- export declare function DateFacet({ filter, value, onValueChange, className, }: DateFacetProps): import("react").JSX.Element;
20
+ export declare function DateFacet({ filter, operator, value, onValueChange, className, }: DateFacetProps): import("react").JSX.Element;
@@ -1,3 +1,4 @@
1
+ import { type ChangeEvent } from 'react';
1
2
  import type { FilterConfig } from '../filters.types';
2
3
  export interface RangeFacetProps {
3
4
  /** Definition of the filter this control edits. */
@@ -28,3 +29,14 @@ export interface RangeFacetProps {
28
29
  * and provides a user-friendly interface for range selection.
29
30
  */
30
31
  export declare function RangeFacet({ filter, value, onValueChange, className, }: RangeFacetProps): import("react").JSX.Element;
32
+ interface RangeFacetFieldsProps {
33
+ min: string;
34
+ max: string;
35
+ onMinChange: (event: ChangeEvent<HTMLInputElement>) => void;
36
+ onMaxChange: (event: ChangeEvent<HTMLInputElement>) => void;
37
+ className?: string;
38
+ invalid?: boolean;
39
+ }
40
+ /** The public facet and the Confirm editor share the same field anatomy. */
41
+ export declare function RangeFacetFields({ min, max, onMinChange, onMaxChange, className, invalid }: RangeFacetFieldsProps): import("react").JSX.Element;
42
+ export {};
@@ -135,9 +135,9 @@ export interface AsyncSelectConfig<TItem = unknown> {
135
135
  preload?: boolean;
136
136
  /** Debounce delay in ms (default: 300) */
137
137
  debounceMs?: number;
138
- /** Freshness window in ms before a cached result refetches (default: 60_000). */
138
+ /** Freshness window in ms for cached results within one mounted editor (default: 60_000). */
139
139
  staleTime?: number;
140
- /** Retention window in ms before a cached result is discarded (default: 300_000). */
140
+ /** Retention window in ms within one mounted editor (default: 300_000). Closing the editor discards its cache. */
141
141
  gcTime?: number;
142
142
  }
143
143
  /**
@@ -196,7 +196,7 @@ export interface ActiveFilter {
196
196
  key: string;
197
197
  /** Comparison currently chosen. */
198
198
  operator: FilterOperator;
199
- /** Current value of the filter. */
199
+ /** Current value of the filter. RANGE uses [min, max], with an empty string for an open bound. */
200
200
  value: string[];
201
201
  }
202
202
  export interface FilterGroup {
@@ -1,7 +1,8 @@
1
- import type { FilterConfig, FilterTriggerSource } from '../filters.types';
1
+ import type { FilterConfig, FilterOperator, FilterTriggerSource } from '../filters.types';
2
2
  interface DateFilterContentProps {
3
3
  /** Definition of the filter this control edits. */
4
4
  filter: FilterConfig;
5
+ operator?: FilterOperator;
5
6
  /** Current value. */
6
7
  value: string[];
7
8
  /** Fired when the change filters change. */
@@ -10,5 +11,5 @@ interface DateFilterContentProps {
10
11
  /** Origin of the editor, which determines back-button behavior. */
11
12
  triggerSource?: FilterTriggerSource;
12
13
  }
13
- export declare function DateFilterContent({ filter, value, onFilterChange, onBackToFilterList, triggerSource, }: DateFilterContentProps): import("react").JSX.Element;
14
+ export declare function DateFilterContent({ filter, operator, value, onFilterChange, onBackToFilterList, triggerSource, }: DateFilterContentProps): import("react").JSX.Element;
14
15
  export {};