themelia-react-ui 2.0.4 → 2.0.5

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 (588) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/README.md +113 -18
  3. package/dist/{accordion-96o0pN62.js → accordion-B9MHG0cT.js} +11 -11
  4. package/dist/accordion-B9MHG0cT.js.map +1 -0
  5. package/dist/{action-menu-CHgs8vmj.js → action-menu-Dr8K-ghE.js} +48 -45
  6. package/dist/action-menu-Dr8K-ghE.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
  8. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  9. package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-C58tQcBy.js} +210 -174
  10. package/dist/ai-artifact-C58tQcBy.js.map +1 -0
  11. package/dist/app-shell-B_IuNWOo.js +321 -0
  12. package/dist/app-shell-B_IuNWOo.js.map +1 -0
  13. package/dist/{attachment-DkoqHPPl.js → attachment-Dg_69lPS.js} +9 -9
  14. package/dist/{attachment-DkoqHPPl.js.map → attachment-Dg_69lPS.js.map} +1 -1
  15. package/dist/{auth-D2FVZ1MH.js → auth-DTkkshS8.js} +43 -46
  16. package/dist/auth-DTkkshS8.js.map +1 -0
  17. package/dist/{avatar-DWO_HHhB.js → avatar-CeZaFmNH.js} +8 -8
  18. package/dist/avatar-CeZaFmNH.js.map +1 -0
  19. package/dist/{badge-DErMA7ul.js → badge-xIiV_E7f.js} +5 -5
  20. package/dist/{badge-DErMA7ul.js.map → badge-xIiV_E7f.js.map} +1 -1
  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 +1 -1
  27. package/dist/base/buttons.js +1 -1
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +3 -3
  30. package/dist/base/cascader.js +2 -372
  31. package/dist/base/chart.js +1 -1
  32. package/dist/base/choice-inputs.js +2 -2
  33. package/dist/base/code-block.js +1 -1
  34. package/dist/base/combobox.js +2 -2
  35. package/dist/base/command.js +1 -1
  36. package/dist/base/copyable.js +1 -1
  37. package/dist/base/date-pickers.js +2 -2
  38. package/dist/base/display.js +6 -6
  39. package/dist/base/feedback.js +3 -3
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +2 -2
  42. package/dist/base/inline-edit.js +10 -10
  43. package/dist/base/item.js +1 -1
  44. package/dist/base/media-gallery.js +1 -1
  45. package/dist/base/metadata-list.js +1 -1
  46. package/dist/base/navigation.js +7 -7
  47. package/dist/base/popover-menu.js +1 -1
  48. package/dist/base/popover.js +1 -1
  49. package/dist/base/qr-code.js +1 -1
  50. package/dist/base/repeaters.js +12 -12
  51. package/dist/base/repeaters.js.map +1 -1
  52. package/dist/base/sheet.js +1 -1
  53. package/dist/base/sidebar.js +2 -2
  54. package/dist/base/signature-pad.js +7 -7
  55. package/dist/base/signature-pad.js.map +1 -1
  56. package/dist/base/skeleton.js +1 -1
  57. package/dist/base/spinner.js +4 -4
  58. package/dist/base/structure.js +1 -1
  59. package/dist/base/table.js +1 -1
  60. package/dist/base/text-inputs.js +2 -2
  61. package/dist/base/toaster.js +36 -36
  62. package/dist/base/toaster.js.map +1 -1
  63. package/dist/base/tree.js +1 -1
  64. package/dist/base/upload-queue.js +1 -1
  65. package/dist/base/upload.js +3 -3
  66. package/dist/base/value-inputs.js +1 -1
  67. package/dist/{batch-action-bar-CdfIkCsV.js → batch-action-bar-Cb8cuvyy.js} +6 -6
  68. package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
  69. package/dist/blocks/admin.js +21 -21
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +230 -216
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +325 -306
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1259 -1184
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +2 -2
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +11 -11
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-B-WFKecD.js → breadcrumbs-J-K2kl4c.js} +6 -6
  86. package/dist/{breadcrumbs-B-WFKecD.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
  87. package/dist/{button-DkmK-z8E.js → button-S2Cubiiz.js} +3 -3
  88. package/dist/button-S2Cubiiz.js.map +1 -0
  89. package/dist/{buttons-BbfzgczK.js → buttons-BedGfygC.js} +16 -16
  90. package/dist/buttons-BedGfygC.js.map +1 -0
  91. package/dist/cards-rNX1M4Xn.js +69 -0
  92. package/dist/cards-rNX1M4Xn.js.map +1 -0
  93. package/dist/cascader-B1MiqkBq.js +439 -0
  94. package/dist/cascader-B1MiqkBq.js.map +1 -0
  95. package/dist/chart-Darg_0Kv.js +162 -0
  96. package/dist/chart-Darg_0Kv.js.map +1 -0
  97. package/dist/{checkbox-CzYUTPeJ.js → checkbox-fflqmODR.js} +2 -2
  98. package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-fflqmODR.js.map} +1 -1
  99. package/dist/{choice-inputs-JLtij2y4.js → choice-inputs-zUgBZfE4.js} +258 -257
  100. package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
  101. package/dist/{code-block-CGNaUtAE.js → code-block-BzmM9Eig.js} +8 -8
  102. package/dist/code-block-BzmM9Eig.js.map +1 -0
  103. package/dist/{collapsible-Do4G0zcC.js → collapsible-BkAI_XD4.js} +5 -5
  104. package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BkAI_XD4.js.map} +1 -1
  105. package/dist/{collection-content-C0e8SsTm.js → collection-content-gDh1v6O4.js} +3 -3
  106. package/dist/{collection-content-C0e8SsTm.js.map → collection-content-gDh1v6O4.js.map} +1 -1
  107. package/dist/combobox-BEx0vJgF.js +362 -0
  108. package/dist/combobox-BEx0vJgF.js.map +1 -0
  109. package/dist/{combobox-CBJDs6w_.js → combobox-BwzoXFSG.js} +254 -247
  110. package/dist/combobox-BwzoXFSG.js.map +1 -0
  111. package/dist/{command-D8NrBj-b.js → command-CrlPIL6m.js} +11 -11
  112. package/dist/command-CrlPIL6m.js.map +1 -0
  113. package/dist/{comments-Di4w0H_S.js → comments-Dmpp0YIc.js} +29 -29
  114. package/dist/{comments-Di4w0H_S.js.map → comments-Dmpp0YIc.js.map} +1 -1
  115. package/dist/components/base/action-menu/action-menu.d.ts +7 -1
  116. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  117. package/dist/components/base/cards/card.recipes.d.ts +6 -4
  118. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
  119. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
  120. package/dist/components/base/cards/smart-card.types.d.ts +3 -4
  121. package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
  122. package/dist/components/base/chart/chart.d.ts +6 -1
  123. package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
  124. package/dist/components/base/combobox/index.d.ts +4 -2
  125. package/dist/components/base/feedback/alert.d.ts +1 -1
  126. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  127. package/dist/components/base/forms/workflow.d.ts +7 -1
  128. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
  129. package/dist/components/base/metadata-list/metadata-list.d.ts +1 -1
  130. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  131. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  132. package/dist/components/base/navigation/page-header/page-header.d.ts +10 -3
  133. package/dist/components/base/popover/popover.d.ts +3 -3
  134. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  135. package/dist/components/base/sheet/sheet.d.ts +2 -0
  136. package/dist/components/base/sidebar/index.d.ts +1 -1
  137. package/dist/components/base/sidebar/sidebar.d.ts +27 -5
  138. package/dist/components/base/toaster/index.d.ts +1 -0
  139. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  140. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
  141. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  142. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  143. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  144. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  145. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  146. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  147. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  148. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  149. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  150. package/dist/components/blocks/commerce/index.d.ts +7 -6
  151. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  152. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  153. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  154. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  155. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  156. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  157. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  158. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  159. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  160. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  161. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  162. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  163. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  164. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  165. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  166. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  167. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  168. package/dist/components/features/activities/activities.types.d.ts +8 -2
  169. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  170. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  171. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  172. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  173. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  174. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  175. package/dist/components/features/filters/filters.types.d.ts +3 -0
  176. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  177. package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
  178. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  179. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  180. package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
  181. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  182. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  183. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  184. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  185. package/dist/components/features/media-library/media-library.types.d.ts +14 -4
  186. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  187. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  188. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  189. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  190. package/dist/components/features/products/products.strings.d.ts +9 -1
  191. package/dist/components/features/products/products.types.d.ts +43 -6
  192. package/dist/components/features/resource/resource.d.ts +5 -1
  193. package/dist/components/features/resource/resource.types.d.ts +12 -1
  194. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  195. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  196. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  197. package/dist/components/features/table/table.types.d.ts +1 -1
  198. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  199. package/dist/components/layout/app-shell/index.d.ts +1 -1
  200. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  201. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  202. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  203. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  204. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  205. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  206. package/dist/components/layout/header/header.types.d.ts +6 -6
  207. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  208. package/dist/components/layout/page/index.d.ts +2 -1
  209. package/dist/components/layout/page/page.d.ts +1 -0
  210. package/dist/components/layout/page/page.strings.d.ts +11 -0
  211. package/dist/components/layout/page/page.types.d.ts +69 -17
  212. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  213. package/dist/components/layout/settings/settings.d.ts +9 -2
  214. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  215. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  216. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  217. package/dist/components/layout/sidebar/index.d.ts +2 -1
  218. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
  219. package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
  220. package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
  221. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  222. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  223. package/dist/components/ui/alert-dialog.d.ts +2 -2
  224. package/dist/components/ui/combobox.d.ts +1 -1
  225. package/dist/components/ui/dialog.d.ts +2 -2
  226. package/dist/components/ui/overlay-layer.d.ts +18 -0
  227. package/dist/components/ui/sheet.d.ts +5 -1
  228. package/dist/components/ui/sidebar-state.d.ts +82 -0
  229. package/dist/components/ui/sidebar.d.ts +5 -17
  230. package/dist/{containers-CRmHf7GP.js → containers-CIxwbZt5.js} +26 -18
  231. package/dist/containers-CIxwbZt5.js.map +1 -0
  232. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  233. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  234. package/dist/{copyable-CnGCZdX4.js → copyable-DIznBqiT.js} +7 -7
  235. package/dist/{copyable-CnGCZdX4.js.map → copyable-DIznBqiT.js.map} +1 -1
  236. package/dist/{data-display-D4oujtx0.js → data-display-BdgCAw8T.js} +268 -277
  237. package/dist/data-display-BdgCAw8T.js.map +1 -0
  238. package/dist/{date-Q7jnXxpk.js → date-Cq8ioE4o.js} +5 -5
  239. package/dist/{date-Q7jnXxpk.js.map → date-Cq8ioE4o.js.map} +1 -1
  240. package/dist/{date-picker-zOt1oNss.js → date-picker-RlIzKom_.js} +446 -437
  241. package/dist/date-picker-RlIzKom_.js.map +1 -0
  242. package/dist/{date-pickers-cj8IXbDC.js → date-pickers-DY-CpXS1.js} +12 -12
  243. package/dist/{date-pickers-cj8IXbDC.js.map → date-pickers-DY-CpXS1.js.map} +1 -1
  244. package/dist/{display-BB4BL_-K.js → display-KsZLw9Ov.js} +9 -9
  245. package/dist/{display-BB4BL_-K.js.map → display-KsZLw9Ov.js.map} +1 -1
  246. package/dist/dropdown-menu-CLs8Lihj.js +194 -0
  247. package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
  248. package/dist/features/activities.js +302 -253
  249. package/dist/features/activities.js.map +1 -1
  250. package/dist/features/ai-chat.js +15 -14
  251. package/dist/features/ai-chat.js.map +1 -1
  252. package/dist/features/appointment-calendar.js +22 -22
  253. package/dist/features/appointment-calendar.js.map +1 -1
  254. package/dist/features/async-preview.js +11 -10
  255. package/dist/features/async-preview.js.map +1 -1
  256. package/dist/features/combobox.js +1 -1
  257. package/dist/features/comments.js +1 -1
  258. package/dist/features/data-view.js +13 -13
  259. package/dist/features/data-view.js.map +1 -1
  260. package/dist/features/email-composer.js +237 -238
  261. package/dist/features/email-composer.js.map +1 -1
  262. package/dist/features/event-calendar.js +140 -146
  263. package/dist/features/event-calendar.js.map +1 -1
  264. package/dist/features/filters.js +1 -1
  265. package/dist/features/global-search.js +167 -138
  266. package/dist/features/global-search.js.map +1 -1
  267. package/dist/features/kanban.js +6 -7
  268. package/dist/features/kanban.js.map +1 -1
  269. package/dist/features/map.js +269 -260
  270. package/dist/features/map.js.map +1 -1
  271. package/dist/features/media-library.js +375 -326
  272. package/dist/features/media-library.js.map +1 -1
  273. package/dist/features/mentions.js +1 -1
  274. package/dist/features/overlays.js +1 -1
  275. package/dist/features/products.js +1266 -1193
  276. package/dist/features/products.js.map +1 -1
  277. package/dist/features/questionnaire.js +13 -13
  278. package/dist/features/questionnaire.js.map +1 -1
  279. package/dist/features/resource-assignment.js +8 -8
  280. package/dist/features/resource.js +69 -66
  281. package/dist/features/resource.js.map +1 -1
  282. package/dist/features/rich-text-editor.js +2 -2
  283. package/dist/features/schema-form.js +13 -13
  284. package/dist/features/suggestions.js +3 -3
  285. package/dist/features/sync.js +3 -3
  286. package/dist/features/table.js +1 -1
  287. package/dist/features/theme-tweaker.js +94 -95
  288. package/dist/features/theme-tweaker.js.map +1 -1
  289. package/dist/{feedback-DZNL5Lg1.js → feedback-Dm4izqFn.js} +80 -79
  290. package/dist/feedback-Dm4izqFn.js.map +1 -0
  291. package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
  292. package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
  293. package/dist/{filters-BcT-uoFy.js → filters-DzgSJpMK.js} +693 -645
  294. package/dist/filters-DzgSJpMK.js.map +1 -0
  295. package/dist/{form-field-CsgRmdit.js → form-field-BriWAXyg.js} +6 -6
  296. package/dist/{form-field-CsgRmdit.js.map → form-field-BriWAXyg.js.map} +1 -1
  297. package/dist/{form-sizing-NXgjkmBG.js → form-sizing-Bs2qFUeE.js} +4 -4
  298. package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
  299. package/dist/{forms-BV5m5aQF.js → forms-C0RGnJTe.js} +17 -13
  300. package/dist/forms-C0RGnJTe.js.map +1 -0
  301. package/dist/{forms-numeric-Cd33AKbD.js → forms-numeric-DIhghX1Q.js} +86 -82
  302. package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
  303. package/dist/{header-BA697l4a.js → header-DMMxG__r.js} +67 -63
  304. package/dist/header-DMMxG__r.js.map +1 -0
  305. package/dist/header.recipes-BigdJjw1.js +6 -0
  306. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  307. package/dist/{hooks-BQ-L7Uu2.js → hooks-DB6CJ4MR.js} +26 -14
  308. package/dist/hooks-DB6CJ4MR.js.map +1 -0
  309. package/dist/{icon-badge-COWbCCWu.js → icon-badge-DZF-YjQp.js} +4 -4
  310. package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
  311. package/dist/index.js +4 -5
  312. package/dist/{input-Cdw4k0fb.js → input-CvyDQlY7.js} +8 -8
  313. package/dist/{input-Cdw4k0fb.js.map → input-CvyDQlY7.js.map} +1 -1
  314. package/dist/input-DMBwAZmr.js +21 -0
  315. package/dist/input-DMBwAZmr.js.map +1 -0
  316. package/dist/{item-BvZ2DR_x.js → item-DjCcM18E.js} +16 -16
  317. package/dist/item-DjCcM18E.js.map +1 -0
  318. package/dist/layout/app-shell.js +1 -1
  319. package/dist/layout/auth.js +1 -1
  320. package/dist/layout/containers.js +1 -1
  321. package/dist/layout/header.js +1 -1
  322. package/dist/layout/hooks.js +1 -1
  323. package/dist/layout/navigation.js +1 -1
  324. package/dist/layout/page.js +2 -2
  325. package/dist/layout/settings.js +1 -1
  326. package/dist/layout/sidebar.js +3 -3
  327. package/dist/layout/workspace.js +1 -1
  328. package/dist/layout.js +11 -11
  329. package/dist/lib/affordance-geometry.generated.d.ts +35 -35
  330. package/dist/lib/control-group-recipes.d.ts +5 -5
  331. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  332. package/dist/lib/motion-recipes.d.ts +3 -0
  333. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  334. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  335. package/dist/lib/portal-recipes.d.ts +3 -0
  336. package/dist/lib/token-merge.generated.d.ts +13 -10
  337. package/dist/lib/utils.js +1 -1
  338. package/dist/map-demo-tile.svg +1 -1
  339. package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C-vChPmE.js} +6 -6
  340. package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C-vChPmE.js.map} +1 -1
  341. package/dist/{mentions-RKOQaaIB.js → mentions-0_4nWuI-.js} +10 -10
  342. package/dist/{mentions-RKOQaaIB.js.map → mentions-0_4nWuI-.js.map} +1 -1
  343. package/dist/{message-INU2xsxu.js → message-g8p7eVtN.js} +7 -7
  344. package/dist/message-g8p7eVtN.js.map +1 -0
  345. package/dist/{metadata-list-qVV7AVxa.js → metadata-list-C3MkU-Om.js} +64 -64
  346. package/dist/metadata-list-C3MkU-Om.js.map +1 -0
  347. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  348. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  349. package/dist/navigation-C90-oQFq.js +255 -0
  350. package/dist/navigation-C90-oQFq.js.map +1 -0
  351. package/dist/{navigation-BQNcg1jT.js → navigation-DaRjthVk.js} +101 -82
  352. package/dist/navigation-DaRjthVk.js.map +1 -0
  353. package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  354. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  355. package/dist/{number-E_OiIfJz.js → number-CRU3kGuk.js} +5 -5
  356. package/dist/{number-E_OiIfJz.js.map → number-CRU3kGuk.js.map} +1 -1
  357. package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
  358. package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
  359. package/dist/overlays-BSgCtM2v.js +1013 -0
  360. package/dist/overlays-BSgCtM2v.js.map +1 -0
  361. package/dist/page-DUUKDAjo.js +331 -0
  362. package/dist/page-DUUKDAjo.js.map +1 -0
  363. package/dist/page-header-commands-7P3sfE9u.js +193 -0
  364. package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
  365. package/dist/{pagination-Ch8X_47u.js → pagination-CgCjElfu.js} +7 -7
  366. package/dist/{pagination-Ch8X_47u.js.map → pagination-CgCjElfu.js.map} +1 -1
  367. package/dist/popover-B85RenIl.js +201 -0
  368. package/dist/popover-B85RenIl.js.map +1 -0
  369. package/dist/{popover-menu-BYaCdFhf.js → popover-menu-DlnQ2zlR.js} +7 -7
  370. package/dist/{popover-menu-BYaCdFhf.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
  371. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
  372. package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
  373. package/dist/portal-recipes-BpsV_iRw.js +9 -0
  374. package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
  375. package/dist/{primitives-Du64iDbb.js → primitives-ByWgGUgt.js} +5 -5
  376. package/dist/{primitives-Du64iDbb.js.map → primitives-ByWgGUgt.js.map} +1 -1
  377. package/dist/primitives.js +4 -4
  378. package/dist/{progress-BvF2oCdV.js → progress-BJhQP9WX.js} +9 -9
  379. package/dist/{progress-BvF2oCdV.js.map → progress-BJhQP9WX.js.map} +1 -1
  380. package/dist/{receipt-D789Jwyy.js → receipt-tOc7B3hw.js} +7 -7
  381. package/dist/receipt-tOc7B3hw.js.map +1 -0
  382. package/dist/{rich-text-CLJEf76s.js → rich-text-Dth5E882.js} +3 -3
  383. package/dist/{rich-text-CLJEf76s.js.map → rich-text-Dth5E882.js.map} +1 -1
  384. package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-C1fOjBTd.js} +429 -430
  385. package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
  386. package/dist/{rich-text-editor-toolbar-L__e4x47.js → rich-text-editor-toolbar-laT3tpBT.js} +32 -28
  387. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
  388. package/dist/{scroll-area-La5RXsEk.js → scroll-area-B0dB2cBi.js} +2 -2
  389. package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
  390. package/dist/{separator-DAEV0w65.js → separator-Bb17I4pu.js} +2 -2
  391. package/dist/{separator-DAEV0w65.js.map → separator-Bb17I4pu.js.map} +1 -1
  392. package/dist/{separator-GNfPG-90.js → separator-Ct_WSWTJ.js} +3 -3
  393. package/dist/{separator-GNfPG-90.js.map → separator-Ct_WSWTJ.js.map} +1 -1
  394. package/dist/services/actions.js +1 -1
  395. package/dist/{settings-BA2iboic.js → settings-Bar5wiSo.js} +31 -38
  396. package/dist/settings-Bar5wiSo.js.map +1 -0
  397. package/dist/sheet-BGPERY55.js +250 -0
  398. package/dist/sheet-BGPERY55.js.map +1 -0
  399. package/dist/sidebar-D-JYMMbY.js +686 -0
  400. package/dist/sidebar-D-JYMMbY.js.map +1 -0
  401. package/dist/sidebar-f9gRWXIR.js +1001 -0
  402. package/dist/sidebar-f9gRWXIR.js.map +1 -0
  403. package/dist/skeleton-BapcJd9C.js +265 -0
  404. package/dist/skeleton-BapcJd9C.js.map +1 -0
  405. package/dist/smart-card-CW0hjetE.js +617 -0
  406. package/dist/smart-card-CW0hjetE.js.map +1 -0
  407. package/dist/{structure-C0V0_Fyf.js → structure-DuxKl954.js} +2 -2
  408. package/dist/{structure-C0V0_Fyf.js.map → structure-DuxKl954.js.map} +1 -1
  409. package/dist/style.css +1 -1
  410. package/dist/{table-CpvnzJn9.js → table-B4TE7iOV.js} +3 -3
  411. package/dist/{table-CpvnzJn9.js.map → table-B4TE7iOV.js.map} +1 -1
  412. package/dist/{table-DH7rozUv.js → table-CFOWY9pQ.js} +394 -388
  413. package/dist/table-CFOWY9pQ.js.map +1 -0
  414. package/dist/{tabs-eqVsJZWO.js → tabs-e7ko9S2o.js} +11 -11
  415. package/dist/tabs-e7ko9S2o.js.map +1 -0
  416. package/dist/{text-inputs-DXItiR0O.js → text-inputs-B1culiSK.js} +17 -17
  417. package/dist/text-inputs-B1culiSK.js.map +1 -0
  418. package/dist/theme.css +40 -37
  419. package/dist/{timelines-DmtztAY_.js → timelines-D3Sl9ueq.js} +13 -12
  420. package/dist/timelines-D3Sl9ueq.js.map +1 -0
  421. package/dist/tooltip-8wz5S_Zr.js +113 -0
  422. package/dist/tooltip-8wz5S_Zr.js.map +1 -0
  423. package/dist/{tree-CV11PURP.js → tree-CzUJHnFs.js} +8 -8
  424. package/dist/{tree-CV11PURP.js.map → tree-CzUJHnFs.js.map} +1 -1
  425. package/dist/typography/rich-text.js +1 -1
  426. package/dist/{typography-CSyJrh28.js → typography-BQnine1k.js} +12 -12
  427. package/dist/{typography-CSyJrh28.js.map → typography-BQnine1k.js.map} +1 -1
  428. package/dist/typography.js +1 -1
  429. package/dist/ui-provider-C-74NVLc.js +178 -0
  430. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  431. package/dist/ui-provider.js +2 -3
  432. package/dist/{upload-C9SA0X-8.js → upload-BOW6U2tI.js} +25 -24
  433. package/dist/upload-BOW6U2tI.js.map +1 -0
  434. package/dist/{upload-queue-DhQJiSRc.js → upload-queue-qUXn1ykN.js} +16 -14
  435. package/dist/upload-queue-qUXn1ykN.js.map +1 -0
  436. package/dist/{usage-card-DVTRDmGz.js → usage-card-BeSLY0i0.js} +24 -17
  437. package/dist/usage-card-BeSLY0i0.js.map +1 -0
  438. package/dist/{utils-CF3c95Io.js → utils-B6kKb8jB.js} +237 -141
  439. package/dist/utils-B6kKb8jB.js.map +1 -0
  440. package/dist/value-inputs-skdVB2zh.js +980 -0
  441. package/dist/value-inputs-skdVB2zh.js.map +1 -0
  442. package/dist/{value-typography-ClupF0Gz.js → value-typography-uAmWUAL1.js} +2 -2
  443. package/dist/{value-typography-ClupF0Gz.js.map → value-typography-uAmWUAL1.js.map} +1 -1
  444. package/dist/{workspace-9EFVXUyk.js → workspace-DHeHv0qw.js} +50 -49
  445. package/dist/workspace-DHeHv0qw.js.map +1 -0
  446. package/docs/consumer-skill/SKILL.md +4 -3
  447. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  448. package/docs/consumer-skill/examples/app-layout.tsx +52 -1
  449. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  450. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  451. package/docs/consumer-skill/examples/detail.tsx +5 -4
  452. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  453. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  454. package/docs/consumer-skill/examples/manifest.json +38 -1
  455. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  456. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  457. package/docs/consumer-skill/examples/rhf-edit-page.tsx +1 -1
  458. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
  459. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  460. package/docs/consumer-skill/references/agents-md.md +19 -17
  461. package/docs/consumer-skill/references/analytics.md +18 -1
  462. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  463. package/docs/consumer-skill/references/component-contracts.json +7131 -1754
  464. package/docs/consumer-skill/references/composition-mapping.md +17 -3
  465. package/docs/consumer-skill/references/composition.md +159 -31
  466. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  467. package/docs/consumer-skill/references/custom-composition.md +261 -0
  468. package/docs/consumer-skill/references/data-reading.md +79 -0
  469. package/docs/consumer-skill/references/design-contract.md +11 -9
  470. package/docs/consumer-skill/references/discovery.md +27 -3
  471. package/docs/consumer-skill/references/domain-structures.md +124 -0
  472. package/docs/consumer-skill/references/installation.md +15 -4
  473. package/docs/consumer-skill/references/integration.md +35 -0
  474. package/docs/consumer-skill/references/product-composition.md +94 -0
  475. package/docs/consumer-skill/references/public-api.json +2881 -420
  476. package/docs/consumer-skill/references/review.md +39 -2
  477. package/docs/consumer-skill/references/rhf-workflows.md +7 -0
  478. package/docs/consumer-skill/references/screen-archetypes.md +19 -7
  479. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  480. package/docs/consumer-skill/references/theming.md +17 -18
  481. package/docs/consumer-skill/references/tokens.json +9 -9
  482. package/docs/consumer-skill/references/view-craft.md +153 -0
  483. package/docs/consumer-skill/references/view-spec.md +73 -0
  484. package/docs/consumer-skill/references/workflows.md +7 -1
  485. package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
  486. package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
  487. package/docs/consumer-skill/scripts/composition.mjs +61 -5
  488. package/docs/consumer-skill/scripts/discovery.mjs +54 -0
  489. package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
  490. package/docs/consumer-skill/scripts/inspection.mjs +73 -18
  491. package/docs/consumer-skill/scripts/setup-skills.mjs +41 -6
  492. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  493. package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
  494. package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
  495. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  496. package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
  497. package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
  498. package/package.json +1 -1
  499. package/dist/accordion-96o0pN62.js.map +0 -1
  500. package/dist/action-menu-CHgs8vmj.js.map +0 -1
  501. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
  502. package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
  503. package/dist/app-shell-D63ATkIK.js +0 -237
  504. package/dist/app-shell-D63ATkIK.js.map +0 -1
  505. package/dist/auth-D2FVZ1MH.js.map +0 -1
  506. package/dist/avatar-DWO_HHhB.js.map +0 -1
  507. package/dist/base/cascader.js.map +0 -1
  508. package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
  509. package/dist/button-DkmK-z8E.js.map +0 -1
  510. package/dist/buttons-BbfzgczK.js.map +0 -1
  511. package/dist/cards-4JTWqvVe.js +0 -68
  512. package/dist/cards-4JTWqvVe.js.map +0 -1
  513. package/dist/chart-C19flDQb.js +0 -155
  514. package/dist/chart-C19flDQb.js.map +0 -1
  515. package/dist/choice-inputs-JLtij2y4.js.map +0 -1
  516. package/dist/code-block-CGNaUtAE.js.map +0 -1
  517. package/dist/combobox-CBJDs6w_.js.map +0 -1
  518. package/dist/combobox-hbhSS18O.js +0 -355
  519. package/dist/combobox-hbhSS18O.js.map +0 -1
  520. package/dist/command-D8NrBj-b.js.map +0 -1
  521. package/dist/containers-CRmHf7GP.js.map +0 -1
  522. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  523. package/dist/data-display-D4oujtx0.js.map +0 -1
  524. package/dist/date-picker-zOt1oNss.js.map +0 -1
  525. package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
  526. package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
  527. package/dist/feedback-DZNL5Lg1.js.map +0 -1
  528. package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
  529. package/dist/filters-BcT-uoFy.js.map +0 -1
  530. package/dist/form-sizing-NXgjkmBG.js.map +0 -1
  531. package/dist/forms-BV5m5aQF.js.map +0 -1
  532. package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
  533. package/dist/header-BA697l4a.js.map +0 -1
  534. package/dist/hooks-BQ-L7Uu2.js.map +0 -1
  535. package/dist/input-DOPL5_QE.js +0 -21
  536. package/dist/input-DOPL5_QE.js.map +0 -1
  537. package/dist/item-BvZ2DR_x.js.map +0 -1
  538. package/dist/message-INU2xsxu.js.map +0 -1
  539. package/dist/metadata-list-qVV7AVxa.js.map +0 -1
  540. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  541. package/dist/navigation-BQNcg1jT.js.map +0 -1
  542. package/dist/navigation-DLF3E1IC.js +0 -145
  543. package/dist/navigation-DLF3E1IC.js.map +0 -1
  544. package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
  545. package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
  546. package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
  547. package/dist/overlays-BlKynmde.js +0 -1004
  548. package/dist/overlays-BlKynmde.js.map +0 -1
  549. package/dist/page-CIwNUtGr.js +0 -227
  550. package/dist/page-CIwNUtGr.js.map +0 -1
  551. package/dist/page-header-commands-DFMlNYzN.js +0 -128
  552. package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
  553. package/dist/popover-uwzX2vo7.js +0 -198
  554. package/dist/popover-uwzX2vo7.js.map +0 -1
  555. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  556. package/dist/receipt-D789Jwyy.js.map +0 -1
  557. package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
  558. package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
  559. package/dist/settings-BA2iboic.js.map +0 -1
  560. package/dist/sheet-DoAxTb2J.js +0 -213
  561. package/dist/sheet-DoAxTb2J.js.map +0 -1
  562. package/dist/sidebar-ByqKR_W5.js +0 -512
  563. package/dist/sidebar-ByqKR_W5.js.map +0 -1
  564. package/dist/sidebar-D2iSnGJ7.js +0 -619
  565. package/dist/sidebar-D2iSnGJ7.js.map +0 -1
  566. package/dist/skeleton-CUj8O5Bd.js +0 -264
  567. package/dist/skeleton-CUj8O5Bd.js.map +0 -1
  568. package/dist/smart-card-CqkzQsK-.js +0 -614
  569. package/dist/smart-card-CqkzQsK-.js.map +0 -1
  570. package/dist/table-DH7rozUv.js.map +0 -1
  571. package/dist/tabs-eqVsJZWO.js.map +0 -1
  572. package/dist/text-inputs-DXItiR0O.js.map +0 -1
  573. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  574. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  575. package/dist/timelines-DmtztAY_.js.map +0 -1
  576. package/dist/tooltip-B4hjKtoV.js +0 -111
  577. package/dist/tooltip-B4hjKtoV.js.map +0 -1
  578. package/dist/ui-provider-CQCuCBcy.js +0 -136
  579. package/dist/ui-provider-CQCuCBcy.js.map +0 -1
  580. package/dist/upload-C9SA0X-8.js.map +0 -1
  581. package/dist/upload-queue-DhQJiSRc.js.map +0 -1
  582. package/dist/usage-card-DVTRDmGz.js.map +0 -1
  583. package/dist/use-mobile-vaLKwgyf.js +0 -15
  584. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  585. package/dist/utils-CF3c95Io.js.map +0 -1
  586. package/dist/value-inputs-C0o70p-U.js +0 -980
  587. package/dist/value-inputs-C0o70p-U.js.map +0 -1
  588. package/dist/workspace-9EFVXUyk.js.map +0 -1
@@ -17,7 +17,7 @@ import type { LucideIcon } from 'lucide-react';
17
17
  import React, { type ComponentType, type ReactElement, type ReactNode } from 'react';
18
18
  import { Button, type ButtonSize } from '../buttons';
19
19
  import { type CollectionDensity } from '../popover/popover.recipes';
20
- import { DropdownMenuTrigger } from '../navigation/dropdown-menu';
20
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '../navigation/dropdown-menu';
21
21
  import type { ActionPresentation } from '../../../lib/action-presentation';
22
22
  import { type StringsProp } from '../../../lib/strings';
23
23
  import { type ActionMenuContext } from './action-menu.recipes';
@@ -85,6 +85,12 @@ export interface ActionMenuAction extends ActionPresentation {
85
85
  render?: ReactNode;
86
86
  }
87
87
  export interface ActionMenuProps {
88
+ /** Controlled menu visibility. Omit to let the menu manage its own state. */
89
+ open?: boolean;
90
+ /** Reports native menu open/close requests, including their event details. */
91
+ onOpenChange?: React.ComponentProps<typeof DropdownMenu>['onOpenChange'];
92
+ /** Native focus destination when the menu closes; defaults to its trigger. */
93
+ finalFocus?: React.ComponentProps<typeof DropdownMenuContent>['finalFocus'];
88
94
  /**
89
95
  * Commands to offer. Destructive entries are moved last unless
90
96
  * `preserveOrder` is set.
@@ -1,6 +1,6 @@
1
1
  /** Private Tailwind recipes; public props and DOM hooks remain owned by the component. */
2
2
  export declare const buttonGroupRecipes: {
3
- readonly root: "inline-flex items-stretch rounded-inner box-border data-[orientation=vertical]:flex-col [&[data-orientation=horizontal]>:not(:last-child)]:rounded-e-none [&[data-orientation=horizontal]>:not(:first-child)]:rounded-s-none [&[data-orientation=horizontal]>:not(:first-child)]:border-s-0 [&[data-orientation=vertical]>:not(:last-child)]:rounded-b-none [&[data-orientation=vertical]>:not(:first-child)]:rounded-t-none [&[data-orientation=vertical]>:not(:first-child)]:border-t-0";
4
- readonly text: "inline-flex items-center rounded-inner px-control-sm py-0 bg-muted border border-input text-sm text-muted-foreground";
3
+ readonly root: "inline-flex items-stretch rounded-radius box-border data-[orientation=vertical]:flex-col [&[data-orientation=horizontal]>:not(:last-child)]:rounded-e-none [&[data-orientation=horizontal]>:not(:first-child)]:rounded-s-none [&[data-orientation=horizontal]>:not(:first-child)]:border-s-0 [&[data-orientation=vertical]>:not(:last-child)]:rounded-b-none [&[data-orientation=vertical]>:not(:first-child)]:rounded-t-none [&[data-orientation=vertical]>:not(:first-child)]:border-t-0";
4
+ readonly text: "inline-flex items-center rounded-radius px-control-sm py-0 bg-muted border border-input text-sm text-muted-foreground";
5
5
  readonly separator: "bg-border w-px self-stretch";
6
6
  };
@@ -14,8 +14,8 @@ export declare const cardRegionGapClasses: {
14
14
  };
15
15
  /** Private Tailwind recipes; public props and DOM hooks remain owned by the component. */
16
16
  export declare const cardRecipes: {
17
- readonly root: "flex flex-col w-full font-sans rounded-radius box-border overflow-hidden py-surface gap-[calc(var(--surface-y)*var(--space-scale))] transition-[background-color,border-color,box-shadow] duration-150";
18
- readonly shell: "@container/card flex flex-col w-full font-sans rounded-radius box-border overflow-hidden py-surface gap-[calc(var(--surface-y)*var(--space-scale))] transition-[background-color,border-color,box-shadow] duration-150";
17
+ readonly root: "flex flex-col w-full font-sans rounded-surface box-border overflow-hidden py-surface gap-[calc(var(--surface-y)*var(--space-scale))] transition-[background-color,border-color,box-shadow] duration-150";
18
+ readonly shell: "@container/card flex flex-col w-full font-sans rounded-surface box-border overflow-hidden py-surface gap-[calc(var(--surface-y)*var(--space-scale))] transition-[background-color,border-color,box-shadow] duration-150";
19
19
  readonly surfaceCard: "bg-card border border-border shadow-xs text-card-foreground";
20
20
  readonly surfaceDefault: "bg-card border border-border shadow-xs text-card-foreground";
21
21
  readonly surfaceFlat: "bg-transparent border-0 shadow-none text-inherit";
@@ -24,7 +24,9 @@ export declare const cardRecipes: {
24
24
  readonly surfaceSunken: "bg-muted border border-border text-foreground";
25
25
  readonly header: "flex flex-col gap-normal px-surface box-border";
26
26
  readonly headerRow: "flex-row flex-wrap items-start justify-between gap-space-lg pb-0";
27
- readonly headerRowSingle: "items-center";
27
+ readonly headerTrailingInline: "-my-space-sm self-center";
28
+ readonly headerLeadingInline: "self-center";
29
+ readonly tooltipTriggerInline: "-my-space-xs";
28
30
  readonly headerLeading: "min-w-0 max-w-full flex-1 basis-64";
29
31
  readonly headerLeadingSingle: "basis-36";
30
32
  readonly headerTrailing: `flex max-w-full flex-wrap shrink-0 items-center ${string}`;
@@ -33,7 +35,7 @@ export declare const cardRecipes: {
33
35
  readonly titleSm: "text-sm";
34
36
  readonly titleMd: "text-base";
35
37
  readonly titleLg: "text-lg";
36
- readonly content: "px-surface box-border min-w-0";
38
+ readonly content: `flex flex-col px-surface box-border min-w-0 ${string}`;
37
39
  readonly footer: "flex items-center px-surface box-border";
38
40
  readonly footerDivider: "border-t border-border [&.border-t]:!pt-surface";
39
41
  readonly alert: "px-surface";
@@ -8,12 +8,19 @@ import type { TextGap } from '../../structure';
8
8
  * applied here so the public DOM contract lives in one place.
9
9
  */
10
10
  import { type ComponentPropsWithRef, type ComponentPropsWithoutRef } from 'react';
11
- import type { CardTitleSize, SmartCardProps } from '../smart-card.types';
11
+ import type { CardTitleSize, SmartCardProps, SmartCardSurface } from '../smart-card.types';
12
12
  type CardRegionProps = ComponentPropsWithRef<'div'> & {
13
13
  /** Full surface inset. Omit to retain the established inline-only inset. */
14
14
  padding?: SmartCardProps['padding'];
15
15
  };
16
- export declare function CardShell({ className, ...props }: ComponentPropsWithRef<'div'>): import("react").JSX.Element;
16
+ export type CardShellProps = ComponentPropsWithRef<'div'> & {
17
+ /**
18
+ * Card's own surface chrome (fill, edge and elevation) for a hand-assembled
19
+ * card. Omit to draw only the layout shell and supply the chrome yourself.
20
+ */
21
+ surface?: SmartCardSurface;
22
+ };
23
+ export declare function CardShell({ className, surface, ...props }: CardShellProps): import("react").JSX.Element;
17
24
  export declare function CardHeader({ className, textGap, padding, ...props }: CardRegionProps & {
18
25
  textGap?: TextGap;
19
26
  }): import("react").JSX.Element;
@@ -27,7 +27,9 @@ interface HeaderProps {
27
27
  actionsLabel: string;
28
28
  /** Card title typography. */
29
29
  titleSize: CardTitleSize;
30
+ /** Pull an action-height command into the title line. Off for the framed header, which centres both in its own action-height row. */
31
+ inlineCommands?: boolean;
30
32
  className?: string;
31
33
  }
32
- export declare function SmartCardHeaderRow({ icon, title, titleSuffix, description, textGap, tooltip, tooltipLabel, headerStart, headerEnd, headerAction, actions, actionsLabel, titleSize, className, }: HeaderProps): import("react").JSX.Element;
34
+ export declare function SmartCardHeaderRow({ icon, title, titleSuffix, description, textGap, tooltip, tooltipLabel, headerStart, headerEnd, headerAction, actions, actionsLabel, titleSize, inlineCommands, className, }: HeaderProps): import("react").JSX.Element;
33
35
  export {};
@@ -74,10 +74,9 @@ export interface SmartCardProps extends Omit<ComponentPropsWithoutRef<'div'>, 'c
74
74
  /** Semantic gap between header, body and footer regions. Defaults to the selected surface block inset; explicit gaps use the spacing scale. */
75
75
  gap?: StructureGap;
76
76
  /**
77
- * Opt-in semantic gap between direct body children. Omitted leaves their
78
- * inline or caller-owned layout unchanged. Use `xl` for related siblings
79
- * and `2xl` for independent body sections; grids and single features own
80
- * their internal layout.
77
+ * Semantic gap between direct body children. Defaults to `xl` for related
78
+ * siblings. Use `2xl` for independent body sections or `none` for adjoining
79
+ * content; grids and single features own their internal layout.
81
80
  */
82
81
  contentGap?: StructureGap;
83
82
  /** Card title typography scale. Defaults to `UIProvider.density.defaultScale`. */
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Private cascader panel: the levels, path header, search and branch loading
3
+ * shared by the Cascader field and hosts that already own a popover surface,
4
+ * such as the filters editor. Not a public entrypoint: its header uses the
5
+ * popover anatomy, so it renders inside a PopoverContent.
6
+ */
7
+ import { type KeyboardEvent, type ReactNode } from 'react';
8
+ import type { RowDensity } from '../../../lib/row-recipes';
9
+ import type { CascaderChangeDetails, CascaderMode, CascaderNode, CascaderProps, CascaderStrings } from './cascader.types';
10
+ export declare const defaultCascaderStrings: CascaderStrings;
11
+ export declare const cascaderValues: (value: CascaderProps["value"]) => readonly string[];
12
+ type LoadState = {
13
+ status: 'loading' | 'error';
14
+ };
15
+ export interface CascaderControllerOptions<T> {
16
+ items: readonly CascaderNode<T>[];
17
+ /** Selected node values; the host owns the value. */
18
+ selected: readonly string[];
19
+ /** Receives the next value; the host stores it and decides whether to close. */
20
+ onChange: (value: string | string[] | null, details: CascaderChangeDetails<T>) => void;
21
+ /** Whether the panel is showing. Opening reveals the selected path; closing aborts pending loads. */
22
+ open: boolean;
23
+ multiple?: boolean;
24
+ mode?: CascaderMode;
25
+ selectable?: CascaderProps<T>['selectable'];
26
+ disabled?: boolean;
27
+ searchable?: boolean;
28
+ density?: RowDensity;
29
+ strings: CascaderStrings;
30
+ loadChildren?: CascaderProps<T>['loadChildren'];
31
+ }
32
+ /** State, branch loading and keyboard navigation for one cascader panel. */
33
+ export declare function useCascaderController<T>({ items, selected, onChange, open, multiple, mode, selectable, disabled, searchable, density, strings, loadChildren }: CascaderControllerOptions<T>): {
34
+ panel: import("react").RefObject<HTMLDivElement | null>;
35
+ path: string[];
36
+ query: string;
37
+ setQuery: import("react").Dispatch<import("react").SetStateAction<string>>;
38
+ direction: "forward" | "back" | null;
39
+ setDirection: import("react").Dispatch<import("react").SetStateAction<"forward" | "back" | null>>;
40
+ expanded: string[];
41
+ setExpanded: import("react").Dispatch<import("react").SetStateAction<string[]>>;
42
+ highlights: Map<string | undefined, string>;
43
+ setHighlights: import("react").Dispatch<import("react").SetStateAction<Map<string | undefined, string>>>;
44
+ loads: Map<string, LoadState>;
45
+ resolvedItems: CascaderNode<T>[];
46
+ index: Map<string, import("../tree/hierarchy").HierarchyEntry<T>>;
47
+ paths: import("../tree").TreeNode<T>[][];
48
+ activePath: string[];
49
+ current: import("../tree").TreeNode<T> | undefined;
50
+ results: import("../tree/hierarchy").HierarchyEntry<T>[] | null;
51
+ selected: readonly string[];
52
+ multiple: boolean;
53
+ mode: CascaderMode;
54
+ disabled: boolean;
55
+ searchable: boolean;
56
+ density: RowDensity;
57
+ strings: CascaderStrings;
58
+ canSelect: (node: CascaderNode<T>) => boolean;
59
+ commit: (node: CascaderNode<T> | null) => void;
60
+ load: (node: CascaderNode<T>, retry?: boolean) => Promise<void>;
61
+ enter: (node: CascaderNode<T>, level: number) => void;
62
+ goBack: (focusList?: boolean) => void;
63
+ levelKey: (event: KeyboardEvent<HTMLDivElement>, level: number) => void;
64
+ };
65
+ export type CascaderController<T> = ReturnType<typeof useCascaderController<T>>;
66
+ interface CascaderPanelProps<T> {
67
+ controller: CascaderController<T>;
68
+ className?: string;
69
+ /** The host's header at the root level; a drilled level replaces it with its own, so one back control shows at a time. */
70
+ header?: ReactNode;
71
+ /** Starts a drilled level's path with the root label, for hosts whose header names the root. */
72
+ rootInPath?: boolean;
73
+ }
74
+ /** The header, search and levels of a cascader, inside an existing popover surface. */
75
+ export declare function CascaderPanel<T>({ controller, className, header, rootInPath }: CascaderPanelProps<T>): import("react").JSX.Element;
76
+ export {};
@@ -69,6 +69,11 @@ export interface ChartTooltipContentProps extends React.ComponentPropsWithoutRef
69
69
  name: NonNullable<ChartPayloadItem['name']>, item: ChartPayloadItem, index: number,
70
70
  /** The raw data row for the hovered point. Supplied by Recharts. */
71
71
  payload?: Record<string, unknown>) => React.ReactNode;
72
+ /**
73
+ * Formats only each value, keeping the colour indicator and series label,
74
+ * for example to render currency. `formatter` replaces the whole row.
75
+ */
76
+ valueFormatter?: (value: NonNullable<ChartPayloadItem['value']>, name: NonNullable<ChartPayloadItem['name']>, item: ChartPayloadItem, index: number) => React.ReactNode;
72
77
  /** Overrides the colour of the tooltip indicator. */
73
78
  color?: string;
74
79
  /** Hides the tooltip label row. */
@@ -82,7 +87,7 @@ export interface ChartTooltipContentProps extends React.ComponentPropsWithoutRef
82
87
  /** Key in the payload holding the tooltip label. */
83
88
  labelKey?: string;
84
89
  }
85
- declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: ChartTooltipContentProps): React.JSX.Element | null;
90
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, valueFormatter, color, nameKey, labelKey, }: ChartTooltipContentProps): React.JSX.Element | null;
86
91
  declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
87
92
  export interface ChartLegendContentProps extends React.ComponentPropsWithoutRef<'div'> {
88
93
  hideIcon?: boolean;
@@ -61,7 +61,7 @@ export declare const choiceListSizeTokens: Record<ChoiceSize, string>;
61
61
  */
62
62
  export declare const choiceCardStateClasses: string;
63
63
  /** Optional option glyph: one neutral tile in every state, so colour stays for meaning. */
64
- export declare const choiceCardIconClasses = "inline-flex shrink-0 items-center justify-center rounded-inner bg-muted text-muted-foreground";
64
+ export declare const choiceCardIconClasses = "inline-flex shrink-0 items-center justify-center rounded-radius bg-muted text-muted-foreground";
65
65
  /**
66
66
  * A control track exactly one label line tall. Pair it with the label's own text
67
67
  * role (size and leading) and align the row to its start: a checkbox, radio,
@@ -10,9 +10,9 @@
10
10
  * The compound root is exported as `ComboboxRoot` so the canonical `Combobox`
11
11
  * name stays with the opinionated feature component.
12
12
  */
13
- export { Combobox as ComboboxRoot, ComboboxValue, ComboboxPortal, ComboboxPositioner, ComboboxList, ComboboxItemIndicator, ComboboxEmpty, ComboboxStatus, ComboboxGroup, ComboboxGroupLabel, ComboboxCollection, ComboboxChips, ComboboxChipsInput, ComboboxBackdrop, ComboboxArrow, useComboboxFilter, } from '../../ui/combobox';
13
+ export { Combobox as ComboboxRoot, ComboboxValue, ComboboxPortal, ComboboxPositioner, ComboboxItemIndicator, ComboboxEmpty, ComboboxStatus, ComboboxGroup, ComboboxGroupLabel, ComboboxCollection, ComboboxChips, ComboboxChipsInput, ComboboxBackdrop, ComboboxArrow, useComboboxFilter, } from '../../ui/combobox';
14
14
  import { type ComponentProps } from 'react';
15
- import { ComboboxItem as Item, ComboboxPopup as Popup, ComboboxInput as Input, ComboboxInputTrigger as InputTrigger, ComboboxClear as Clear, ComboboxChip as Chip, ComboboxTrigger as Trigger, ComboboxSeparator as Separator } from '../../ui/combobox';
15
+ import { ComboboxList as List, ComboboxItem as Item, ComboboxPopup as Popup, ComboboxInput as Input, ComboboxInputTrigger as InputTrigger, ComboboxClear as Clear, ComboboxChip as Chip, ComboboxTrigger as Trigger, ComboboxSeparator as Separator } from '../../ui/combobox';
16
16
  import { type CollectionDensity } from '../popover/popover.recipes';
17
17
  import { type StringsProp } from '../../../lib/strings';
18
18
  import { type ComboboxControlStrings } from './combobox.strings';
@@ -41,6 +41,8 @@ export declare function ComboboxChip({ strings: stringsProp, ...props }: Combobo
41
41
  removeLabel?: string;
42
42
  }>;
43
43
  export declare function ComboboxPopup({ className, ...props }: ComponentProps<typeof Popup>): import("react").FunctionComponentElement<import("@base-ui/react").AutocompletePopupProps>;
44
+ /** The list owns one compact collection inset inside the flush popup. */
45
+ export declare function ComboboxList({ className, ...props }: ComponentProps<typeof List>): import("react").FunctionComponentElement<import("@base-ui/react").AutocompleteListProps>;
44
46
  export declare function ComboboxInput({ className, ...props }: ComponentProps<typeof Input>): import("react").FunctionComponentElement<import("@base-ui/react").AutocompleteInputProps>;
45
47
  export declare function ComboboxTrigger({ className, ...props }: ComponentProps<typeof Trigger>): import("react").FunctionComponentElement<import("@base-ui/react").ComboboxTriggerProps>;
46
48
  export declare function ComboboxItem({ className, size, density, children, ...props }: ComponentProps<typeof Item> & {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Alert — base notice primitive with semantic variants and responsive actions.
2
+ * Alert — base notice primitive with semantic variants and container-driven actions.
3
3
  *
4
4
  * Package-owned notice inspired by ReUI's alert layout. Consumers import this
5
5
  * base alert for the library's typography, token, and DOM-hook contract.
@@ -68,7 +68,7 @@ export declare const formControlMinHeightClasses: {
68
68
  /**
69
69
  * The one field frame, drawn by `Input` on its native field and by
70
70
  * `formFieldTriggerClasses` on button-shaped triggers: the `--input` boundary,
71
- * inner radius, transparent fill (the library is intentionally flat), control
71
+ * default radius, transparent fill (the library is intentionally flat), control
72
72
  * height, editable text size, control padding and the shared focus, invalid and
73
73
  * disabled states. Layout (`flex`, width) stays with each owner.
74
74
  *
@@ -97,9 +97,9 @@ export declare const formTextareaSizeClasses: {
97
97
  * line height, so the inset follows the editable text size on every pointer.
98
98
  */
99
99
  export declare const formTextareaInsetClasses: {
100
- readonly sm: "py-[calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)]";
100
+ readonly sm: "py-[calc((var(--height-control)*7/8*var(--density-scale)-1lh)/2-1px)]";
101
101
  readonly md: "py-[calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)]";
102
- readonly lg: "py-[calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)]";
102
+ readonly lg: "py-[calc((var(--height-control)*9/8*var(--density-scale)-1lh)/2-1px)]";
103
103
  };
104
104
  /**
105
105
  * Top offsets that centre multi-line field affordances on the first line, where a
@@ -108,14 +108,14 @@ export declare const formTextareaInsetClasses: {
108
108
  */
109
109
  export declare const formTextareaAffordanceTopClasses: {
110
110
  readonly target: {
111
- readonly sm: "top-[calc((var(--height-control)*8/9-1.375rem)*var(--density-scale)/2)]";
111
+ readonly sm: "top-[calc((var(--height-control)*7/8-1.375rem)*var(--density-scale)/2)]";
112
112
  readonly md: "top-[calc((var(--height-control)-1.375rem)*var(--density-scale)/2)]";
113
- readonly lg: "top-[calc((var(--height-control)*10/9-1.375rem)*var(--density-scale)/2)]";
113
+ readonly lg: "top-[calc((var(--height-control)*9/8-1.375rem)*var(--density-scale)/2)]";
114
114
  };
115
115
  readonly icon: {
116
- readonly sm: "top-[calc((var(--height-control)*8/9*var(--density-scale)-var(--icon))/2)]";
116
+ readonly sm: "top-[calc((var(--height-control)*7/8*var(--density-scale)-var(--icon))/2)]";
117
117
  readonly md: "top-[calc((var(--height-control)*var(--density-scale)-var(--icon))/2)]";
118
- readonly lg: "top-[calc((var(--height-control)*10/9*var(--density-scale)-var(--icon))/2)]";
118
+ readonly lg: "top-[calc((var(--height-control)*9/8*var(--density-scale)-var(--icon))/2)]";
119
119
  };
120
120
  };
121
121
  export declare const formLabelSizeClasses: {
@@ -18,11 +18,17 @@ export interface FormSectionProps {
18
18
  surface?: SmartCardSurface;
19
19
  /** Card region insets. Defaults to Card's ordinary inset; use `none` when the parent already owns padding. */
20
20
  padding?: CardProps['padding'];
21
+ /**
22
+ * Section title size. Embedded `surface="flat" padding="none"` inside a padded
23
+ * Card defaults to the subordinate `sm` title, below the card's own title;
24
+ * otherwise Card's default applies.
25
+ */
26
+ titleSize?: CardProps['titleSize'];
21
27
  className?: string;
22
28
  /** Merged onto the section body. */
23
29
  contentClassName?: string;
24
30
  }
25
- export declare function FormSection({ title, description, actions, children, footer, surface, padding, className, contentClassName, }: FormSectionProps): import("react").JSX.Element;
31
+ export declare function FormSection({ title, description, actions, children, footer, surface, padding, titleSize, className, contentClassName, }: FormSectionProps): import("react").JSX.Element;
26
32
  export interface FormActionsBarProps {
27
33
  /** Action content used when `trailing` is not provided. */
28
34
  children?: ReactNode;
@@ -17,6 +17,10 @@ export interface CoordinatesInputStrings {
17
17
  lngPlaceholder: string;
18
18
  /** Anchor text for the Google Maps preview link. Empty string hides it. */
19
19
  previewLinkLabel: string;
20
+ /** Accessible name for the latitude input while `latLabel` is empty. */
21
+ latAccessibleLabel: string;
22
+ /** Accessible name for the longitude input while `lngLabel` is empty. */
23
+ lngAccessibleLabel: string;
20
24
  }
21
25
  export declare const defaultCoordinatesInputStrings: CoordinatesInputStrings;
22
26
  export interface CoordinatesInputProps {
@@ -33,7 +33,7 @@ export type MetadataDensity = 'default' | 'compact';
33
33
  type MetadataListSharedProps = {
34
34
  /** How many columns the grid layout uses. Accepts a per-breakpoint value. */
35
35
  columns?: ResponsiveValue<1 | 2 | 3 | 4>;
36
- /** Measure responsive grid columns against the viewport (default) or this list's own width. */
36
+ /** Measure responsive grid columns against this list's own width (default) or the viewport. */
37
37
  adaptTo?: 'viewport' | 'container';
38
38
  /** Row spacing. `compact` tightens the list for dense panels. */
39
39
  density?: MetadataDensity;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { Menu as MenuPrimitive } from '@base-ui/react/menu';
3
3
  import { type CollectionDensity } from '../popover/popover.recipes';
4
4
  declare function DropdownMenu({ ...props }: MenuPrimitive.Root.Props): React.JSX.Element;
5
- declare function DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props): React.JSX.Element;
5
+ declare function DropdownMenuPortal({ container, className, ...props }: MenuPrimitive.Portal.Props): React.JSX.Element;
6
6
  declare function DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props): React.JSX.Element;
7
7
  declare function DropdownMenuContent({ positionMethod, align, alignOffset, side, sideOffset, className, density: densityProp, ...props }: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset' | 'positionMethod'> & {
8
8
  /** Vertical row rhythm. Inherits in submenus; defaults to default. */
@@ -3,12 +3,12 @@
3
3
  *
4
4
  * The role chooses each command's treatment and place: outline secondary
5
5
  * commands, then one solid primary command, then the More actions menu for
6
- * overflow and destructive commands, which always closes the row. Below `sm`,
7
- * secondary commands collapse into that menu through CSS alone, so server and
8
- * client markup agree. PageHeading owns the row, so every header that takes
9
- * `primaryAction` and `secondaryActions` places its commands the same way.
6
+ * overflow and destructive commands, which always closes the row. Below the
7
+ * named header container breakpoint, every command collapses into that menu
8
+ * through CSS alone, so server and client markup agree. Both page and section
9
+ * headers use this owner for the same command behavior.
10
10
  */
11
- import type { ComponentType, MouseEvent, ReactNode } from 'react';
11
+ import { type ComponentType, type MouseEvent, type ReactNode } from 'react';
12
12
  /**
13
13
  * A page command described by its role. `primaryAction` and `secondaryActions`
14
14
  * choose the treatment, so a command carries no tone or button style.
@@ -59,15 +59,22 @@ export interface PageHeaderLinkRenderProps {
59
59
  export type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;
60
60
  /** Native anchor fallback, matching the layout default: external links open a new tab. */
61
61
  export declare const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer;
62
- /** Secondary commands rendered as buttons from `sm` up; later ones overflow. */
62
+ /** Secondary commands rendered as buttons on wide headers; later ones overflow. */
63
63
  export declare const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;
64
64
  export interface PageHeaderCommandsProps {
65
65
  primaryAction?: PageHeaderAction;
66
66
  secondaryActions?: readonly PageHeaderAction[];
67
+ /**
68
+ * How many routine secondary commands render as outline buttons on wide
69
+ * headers; later ones join the More actions menu. Use `1` or `0` when long
70
+ * labels beside the primary command would crowd the header; `Infinity`
71
+ * keeps every routine command inline. @default 2
72
+ */
73
+ maxVisibleSecondaryActions?: number;
67
74
  /** Accessible name of the More actions menu trigger. */
68
75
  moreActionsLabel: string;
69
76
  renderLink?: PageHeaderLinkRenderer;
70
77
  }
71
78
  /** Whether the header has any role-based command to render. */
72
79
  export declare function hasPageHeaderCommands(primaryAction: PageHeaderAction | undefined, secondaryActions: readonly PageHeaderAction[] | undefined): boolean;
73
- export declare function PageHeaderCommands({ primaryAction, secondaryActions, moreActionsLabel, renderLink, }: PageHeaderCommandsProps): import("react").JSX.Element | null;
80
+ export declare function PageHeaderCommands({ primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel, renderLink, }: PageHeaderCommandsProps): import("react").JSX.Element | null;
@@ -71,16 +71,23 @@ export interface PageHeadingProps {
71
71
  actions?: ReactNode;
72
72
  /**
73
73
  * The header's one main command: a solid primary button after the secondary
74
- * commands, visible at every width.
74
+ * commands, placed in the command menu below 40rem of header width.
75
75
  */
76
76
  primaryAction?: PageHeaderAction;
77
77
  /**
78
78
  * Supporting commands in priority order. The first two render as outline
79
79
  * buttons before the primary command; the rest, and every destructive
80
80
  * command, move into the More actions menu, which always closes the row.
81
- * Below `sm`, all secondary commands collapse into that menu.
81
+ * Below 40rem of header width, every command collapses into that menu.
82
82
  */
83
83
  secondaryActions?: readonly PageHeaderAction[];
84
+ /**
85
+ * How many routine secondary commands render as outline buttons on wide
86
+ * headers; later ones join the More actions menu. Use `1` or `0` when long
87
+ * labels beside the primary command would crowd the header; `Infinity`
88
+ * keeps every routine command inline. @default 2
89
+ */
90
+ maxVisibleSecondaryActions?: number;
84
91
  /** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
85
92
  moreActionsLabel?: string;
86
93
  /** Renders `href` commands as framework links. Defaults to a native anchor. */
@@ -110,7 +117,7 @@ export interface PageHeadingProps {
110
117
  */
111
118
  withSeparator?: boolean;
112
119
  }
113
- export declare function PageHeading({ eyebrow, title, description, textGap, headingTag, titleSize, badge, badges, breadcrumbs, leading, beforeTitle, titlePrefix, titleSuffix, afterDescription, actions, primaryAction, secondaryActions, moreActionsLabel, renderLink, children, className, contentClassName, eyebrowClassName, titleClassName, titleRowClassName, descriptionClassName, actionsClassName, withSeparator, }: PageHeadingProps): import("react").JSX.Element;
120
+ export declare function PageHeading({ eyebrow, title, description, textGap, headingTag, titleSize, badge, badges, breadcrumbs, leading, beforeTitle, titlePrefix, titleSuffix, afterDescription, actions, primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel, renderLink, children, className, contentClassName, eyebrowClassName, titleClassName, titleRowClassName, descriptionClassName, actionsClassName, withSeparator, }: PageHeadingProps): import("react").JSX.Element;
114
121
  export declare namespace PageHeading {
115
122
  var displayName: string;
116
123
  }
@@ -26,8 +26,8 @@ export type PopoverContentInset = 'default' | 'compact' | 'flush';
26
26
  export type PopoverContentProps = PopoverContentBaseProps & {
27
27
  /**
28
28
  * Surface inset role. `default` is for card-like or multi-content popovers,
29
- * `compact` for pure item/option collections, and `flush` when child regions
30
- * own their padding.
29
+ * `compact` for item collections (or the small surface tier with explicit
30
+ * type="display"), and `flush` when child regions own their padding.
31
31
  */
32
32
  inset?: PopoverContentInset;
33
33
  /** Anatomy role; supplies the inferred inset only when inset is omitted. */
@@ -47,7 +47,7 @@ declare function PopoverTitle({ children, className, ...props }: PopoverTitleBas
47
47
  type PopoverDescriptionBaseProps = React.ComponentProps<typeof PopoverDescriptionPrimitive>;
48
48
  declare function PopoverDescription({ children, className, ...props }: PopoverDescriptionBaseProps): React.JSX.Element;
49
49
  type PopoverFooterProps = React.ComponentProps<'div'> & {
50
- /** Leading supporting content, aligned with collection labels; children are trailing actions. */
50
+ /** Leading supporting content, one small step inside the region edge like the header; children are trailing actions. */
51
51
  caption?: React.ReactNode;
52
52
  };
53
53
  declare function PopoverFooter({ className, children, caption, ...props }: PopoverFooterProps): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { type RowDensity } from '../../../lib/row-recipes';
1
+ import type { RowDensity } from '../../../lib/row-recipes';
2
2
  /** Shared anchored-surface chrome; Menu and Popover retain their own accessible behavior. */
3
3
  /**
4
4
  * One width scale for anchored surfaces. Menus, pickers and popovers choose a
@@ -15,18 +15,22 @@ export declare const popoverWidthRecipes: {
15
15
  readonly menuMin: "min-w-40";
16
16
  };
17
17
  export declare const popoverRecipes: {
18
- readonly surface: "box-border max-w-[calc(100vw-2rem)] rounded-radius border border-border bg-popover text-popover-foreground shadow-md ring-0";
18
+ readonly surface: "box-border max-w-[calc(100vw-2rem)] rounded-surface border border-border bg-popover text-popover-foreground shadow-md ring-0";
19
19
  readonly display: "p-surface";
20
- readonly menu: "p-surface-xs";
21
- readonly menuRegion: "px-surface-xs py-space-md";
20
+ readonly displayCompact: "p-surface-xs";
21
+ readonly menu: "p-space-md";
22
+ readonly menuInline: "px-space-md";
23
+ readonly menuRegion: "px-space-md py-space-md";
24
+ readonly menuCopyInset: "px-space-xs";
25
+ readonly menuSearch: "[&_[data-slot=command-input-wrapper]]:p-space-md";
22
26
  readonly separator: "mx-0 my-space-xs h-px w-full shrink-0 bg-border/60";
23
- readonly row: "box-border min-h-control rounded-inner px-row-x gap-space-sm font-medium leading-tight";
27
+ readonly row: "box-border min-h-control rounded-radius px-row-x gap-space-sm font-medium leading-tight";
24
28
  };
25
29
  export type PopoverContentType = 'display' | 'menu';
26
30
  /** One surface inset vocabulary for Popover, Command and their collections. */
27
31
  export declare const surfaceInsetClasses: {
28
32
  readonly default: "p-surface";
29
- readonly compact: "p-surface-xs";
33
+ readonly compact: "p-space-md";
30
34
  readonly flush: "p-0";
31
35
  };
32
36
  /** Collection density changes vertical rhythm; inline room and primary text stay stable. */
@@ -23,6 +23,8 @@ export declare const SheetClose: React.ForwardRefExoticComponent<Omit<import("@b
23
23
  export declare const SheetContent: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogPopupProps & {
24
24
  side?: "top" | "right" | "bottom" | "left";
25
25
  showCloseButton?: boolean;
26
+ forceRenderBackdrop?: boolean;
27
+ backdropClassName?: string;
26
28
  } & {
27
29
  container?: import("../../../lib/theme-scope").ThemePortalContainer;
28
30
  }, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, defaultSidebarStrings, type SidebarProps, type SidebarInputProps, type SidebarMenuBadgeProps, type SidebarMenuButtonProps, type SidebarMenuDensity, type SidebarMenuProps, type SidebarMenuSkeletonProps, type SidebarMenuSubButtonProps, type SidebarProviderProps, type SidebarStrings, } from './sidebar';
1
+ 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, defaultSidebarStrings, type SidebarProps, type SidebarInputProps, type SidebarMenuBadgeProps, type SidebarMenuButtonProps, type SidebarMenuDensity, type SidebarMenuProps, type SidebarMenuSkeletonProps, type SidebarMenuSubButtonProps, type SidebarProviderProps, type SidebarRegionProps, type SidebarPanelId, type SidebarPresentation, type SidebarStrings, } from './sidebar';
2
2
  /**
3
3
  * @deprecated Use `useLayoutSidebar` from `themelia-react-ui/layout/sidebar`.
4
4
  * This vendored compatibility re-export remains available through 1.x.
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * base/sidebar — tokenized wrapper around the shadcn `Sidebar` compound component.
3
3
  *
4
- * The shadcn source stays untouched. This layer applies the package shell,
4
+ * The internal Base UI owner supplies shared state. This layer applies the package shell,
5
5
  * density, spacing, typography, focus, and stable DOM-hook contracts while
6
6
  * preserving every compound part and polymorphic `render` seam.
7
7
  */
8
8
  import * as React from 'react';
9
+ import { type SidebarPanelId, type SidebarPresentation, type SidebarStateProps } from '../../ui/sidebar-state';
9
10
  import { SidebarContent as SidebarContentPrimitive, SidebarFooter as SidebarFooterPrimitive, SidebarGroup as SidebarGroupPrimitive, SidebarGroupAction as SidebarGroupActionPrimitive, SidebarGroupContent as SidebarGroupContentPrimitive, SidebarGroupLabel as SidebarGroupLabelPrimitive, SidebarHeader as SidebarHeaderPrimitive, SidebarInput as SidebarInputPrimitive, SidebarInset as SidebarInsetPrimitive, SidebarMenu as SidebarMenuPrimitive, SidebarMenuAction as SidebarMenuActionPrimitive, SidebarMenuBadge as SidebarMenuBadgePrimitive, SidebarMenuButton as SidebarMenuButtonPrimitive, SidebarMenuItem as SidebarMenuItemPrimitive, SidebarMenuSub as SidebarMenuSubPrimitive, SidebarMenuSubButton as SidebarMenuSubButtonPrimitive, SidebarMenuSubItem as SidebarMenuSubItemPrimitive, SidebarRail as SidebarRailPrimitive, SidebarSeparator as SidebarSeparatorPrimitive, SidebarTrigger as SidebarTriggerPrimitive, useSidebar as useSidebarPrimitive } from '../../ui/sidebar';
10
11
  import type { ComponentScale } from '../../../lib/component-vocabulary';
11
12
  import { type StringsProp } from '../../../lib/strings';
@@ -15,6 +16,10 @@ export interface SidebarStrings {
15
16
  }
16
17
  export declare const defaultSidebarStrings: SidebarStrings;
17
18
  export interface SidebarProps extends React.ComponentProps<'div'> {
19
+ /** Explicit state identity; otherwise inherits the nearest shell region. */
20
+ panelId?: SidebarPanelId;
21
+ /** Desktop canvas treatment. Drawers always retain their opaque sidebar surface. */
22
+ surface?: 'default' | 'transparent';
18
23
  /** Edge where the desktop rail and mobile sheet are anchored. */
19
24
  side?: 'left' | 'right';
20
25
  /** Surface treatment and inset behavior for the desktop shell. */
@@ -27,7 +32,7 @@ export interface SidebarProps extends React.ComponentProps<'div'> {
27
32
  surfaceClassName?: string;
28
33
  /** Classes for the responsive positioning root. */
29
34
  rootClassName?: string;
30
- /** Copy for the visually hidden mobile sheet title and description. */
35
+ /** Copy for the mobile drawer heading and accessible description. */
31
36
  strings?: StringsProp<SidebarStrings>;
32
37
  }
33
38
  type SidebarContentProps = React.ComponentProps<typeof SidebarContentPrimitive>;
@@ -83,7 +88,7 @@ export interface SidebarMenuSubButtonProps extends Omit<React.ComponentProps<typ
83
88
  active?: boolean;
84
89
  }
85
90
  type SidebarMenuSubItemProps = React.ComponentProps<typeof SidebarMenuSubItemPrimitive>;
86
- export interface SidebarProviderProps extends React.ComponentProps<'div'> {
91
+ export interface SidebarProviderProps extends React.ComponentProps<'div'>, SidebarStateProps {
87
92
  /** Use the provider width for drawers in embedded workspaces; viewport remains the default. */
88
93
  adaptTo?: 'viewport' | 'container';
89
94
  /** Initial expanded state for uncontrolled sidebars. @default true */
@@ -105,8 +110,24 @@ type SidebarRailProps = React.ComponentProps<typeof SidebarRailPrimitive>;
105
110
  type SidebarSeparatorProps = React.ComponentProps<typeof SidebarSeparatorPrimitive>;
106
111
  type SidebarTriggerProps = React.ComponentProps<typeof SidebarTriggerPrimitive>;
107
112
  declare function SidebarProvider({ className, style, menuDensity, ...props }: SidebarProviderProps): React.JSX.Element;
113
+ export interface SidebarRegionProps extends Omit<React.ComponentProps<'div'>, 'ref'> {
114
+ /** Ref to the semantic aside boundary. */
115
+ ref?: React.Ref<HTMLElement>;
116
+ /** Named desktop/drawer state and descendant scope owned by this region. */
117
+ panelId: SidebarPanelId;
118
+ /** Minimum available width for docking; primary/secondary/aside default to 768/1024/1440. Zero stays docked. */
119
+ dockAt?: number;
120
+ /** Persistent region geometry, separate from docked/drawer presentation. */
121
+ presentation?: 'panel' | 'rail';
122
+ /** Physical edge inherited by the scoped Sidebar and its drawer. @default 'left' */
123
+ side?: 'left' | 'right';
124
+ /** Expanded CSS length; defaults to --shell-sidebar-width. Rail widths derive from existing density roots. */
125
+ width?: string;
126
+ }
127
+ /** A named state and width boundary. Shells can also use static content without a provider. */
128
+ declare function SidebarRegion({ panelId, dockAt, presentation, side, width, className, style, ref: forwardedRef, children, ...props }: SidebarRegionProps): React.JSX.Element;
108
129
  /** Tokenized responsive sidebar shell with contained and viewport-fixed modes. */
109
- declare function Sidebar({ side, variant, collapsible, contained, className, surfaceClassName, rootClassName, children, dir, strings: stringsProp, ...props }: SidebarProps): React.JSX.Element;
130
+ declare function Sidebar(props: SidebarProps): React.JSX.Element;
110
131
  declare function SidebarHeader({ className, ...props }: SidebarHeaderProps): React.JSX.Element;
111
132
  declare function SidebarFooter({ className, ...props }: SidebarFooterProps): React.JSX.Element;
112
133
  declare function SidebarContent({ className, ...props }: SidebarContentProps): React.JSX.Element;
@@ -128,8 +149,9 @@ declare function SidebarTrigger({ className, ...props }: SidebarTriggerProps): R
128
149
  declare function SidebarMenuButton({ className, render, size, tooltip, children, active, ...props }: SidebarMenuButtonProps): React.JSX.Element;
129
150
  declare function SidebarMenuSubButton({ className, children, active, ...props }: SidebarMenuSubButtonProps): React.JSX.Element;
130
151
  declare function SidebarGroupLabel({ className, children, ...props }: SidebarGroupLabelProps): React.JSX.Element;
131
- export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, };
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, };
132
153
  /** Internal bridge for the layout layer; not part of the base package entrypoint. */
133
154
  export declare const useBaseSidebarContext: typeof useSidebarPrimitive;
134
155
  /** Internal density bridge for composed navigation; not a base entrypoint export. */
135
156
  export declare function useBaseSidebarMenuDensity(): SidebarMenuDensity | undefined;
157
+ export type { SidebarPanelId, SidebarPresentation };
@@ -1 +1,2 @@
1
1
  export { Toaster, type ToasterProps } from './toaster';
2
+ export { toast } from 'sonner';
@@ -38,7 +38,7 @@ export interface AiFileTreeProps extends Omit<ComponentProps<'div'>, 'children'
38
38
  selectedId?: string;
39
39
  /** Click handler — fires for files only by default. */
40
40
  onSelect?: (node: AiFileTreeNode) => void;
41
- /** Hide diff status badges; semantic icon colors remain visible. */
41
+ /** Hide diff status badges; each file icon then takes its status colour instead. With badges shown, icons stay neutral. */
42
42
  hideStatusLabels?: boolean;
43
43
  /** Indent width per nesting level (px). Omit for the shared token-backed hierarchy inset. */
44
44
  indent?: number;