themelia-react-ui 2.0.3 → 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 (648) hide show
  1. package/CHANGELOG.md +185 -0
  2. package/README.md +168 -36
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-B9MHG0cT.js} +11 -11
  4. package/dist/accordion-B9MHG0cT.js.map +1 -0
  5. package/dist/action-menu-Dr8K-ghE.js +284 -0
  6. package/dist/action-menu-Dr8K-ghE.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-P-aVJisu.js} +42 -36
  8. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-C58tQcBy.js} +387 -350
  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-BxDfL2mw.js → attachment-Dg_69lPS.js} +9 -9
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-Dg_69lPS.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-DTkkshS8.js} +44 -47
  16. package/dist/auth-DTkkshS8.js.map +1 -0
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-CeZaFmNH.js} +8 -8
  18. package/dist/avatar-CeZaFmNH.js.map +1 -0
  19. package/dist/{badge-HpFqoqSY.js → badge-xIiV_E7f.js} +5 -5
  20. package/dist/{badge-HpFqoqSY.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 +3 -3
  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-DnUJ21NQ.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 +23 -23
  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 +326 -307
  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 +1247 -1169
  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-C-oqs1sQ.js → breadcrumbs-J-K2kl4c.js} +6 -6
  86. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
  87. package/dist/{button-DVzspB_G.js → button-S2Cubiiz.js} +3 -3
  88. package/dist/button-S2Cubiiz.js.map +1 -0
  89. package/dist/{buttons-DPZekJFu.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-AWIhNhmo.js → checkbox-fflqmODR.js} +9 -5
  98. package/dist/checkbox-fflqmODR.js.map +1 -0
  99. package/dist/choice-inputs-zUgBZfE4.js +777 -0
  100. package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
  101. package/dist/{code-block-DeneBJR_.js → code-block-BzmM9Eig.js} +9 -9
  102. package/dist/code-block-BzmM9Eig.js.map +1 -0
  103. package/dist/{collapsible-C-_l4hpy.js → collapsible-BkAI_XD4.js} +5 -5
  104. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-BkAI_XD4.js.map} +1 -1
  105. package/dist/{collection-content-By56pLog.js → collection-content-gDh1v6O4.js} +3 -3
  106. package/dist/{collection-content-By56pLog.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-Dxo2fAYQ.js → combobox-BwzoXFSG.js} +254 -247
  110. package/dist/combobox-BwzoXFSG.js.map +1 -0
  111. package/dist/{command-C25VMRII.js → command-CrlPIL6m.js} +12 -12
  112. package/dist/command-CrlPIL6m.js.map +1 -0
  113. package/dist/{comments-DD0DUPwJ.js → comments-Dmpp0YIc.js} +380 -379
  114. package/dist/comments-Dmpp0YIc.js.map +1 -0
  115. package/dist/components/base/action-menu/action-menu.d.ts +9 -1
  116. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  117. package/dist/components/base/cards/card.recipes.d.ts +16 -7
  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 +11 -7
  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/checkbox.d.ts +7 -2
  124. package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
  125. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  126. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  127. package/dist/components/base/combobox/index.d.ts +4 -2
  128. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  129. package/dist/components/base/feedback/alert.d.ts +1 -1
  130. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  131. package/dist/components/base/forms/form-field.d.ts +5 -3
  132. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  133. package/dist/components/base/forms/index.d.ts +1 -0
  134. package/dist/components/base/forms/server-errors.d.ts +16 -0
  135. package/dist/components/base/forms/workflow.d.ts +11 -2
  136. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
  137. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  138. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  139. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  140. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -4
  141. package/dist/components/base/popover/popover.d.ts +3 -3
  142. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  143. package/dist/components/base/sheet/sheet.d.ts +2 -0
  144. package/dist/components/base/sidebar/index.d.ts +1 -1
  145. package/dist/components/base/sidebar/sidebar.d.ts +27 -5
  146. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  147. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  148. package/dist/components/base/text-inputs/input.d.ts +4 -2
  149. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  150. package/dist/components/base/toaster/index.d.ts +1 -0
  151. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  152. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  153. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  154. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  155. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
  156. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  157. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  158. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  159. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  160. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  161. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  162. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  163. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  164. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  165. package/dist/components/blocks/commerce/index.d.ts +7 -6
  166. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  168. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  169. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  170. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  171. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  172. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  173. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  174. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  175. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  176. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  177. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  178. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  180. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  181. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  182. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  183. package/dist/components/features/activities/activities.types.d.ts +8 -2
  184. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  185. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  186. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  187. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  188. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  189. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  190. package/dist/components/features/filters/filters.types.d.ts +3 -0
  191. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  192. package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
  193. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  194. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  195. package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
  196. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  197. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  198. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  199. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  200. package/dist/components/features/media-library/media-library.types.d.ts +14 -4
  201. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  202. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  203. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  204. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  205. package/dist/components/features/products/products.strings.d.ts +9 -1
  206. package/dist/components/features/products/products.types.d.ts +43 -6
  207. package/dist/components/features/resource/resource.d.ts +5 -1
  208. package/dist/components/features/resource/resource.types.d.ts +12 -1
  209. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  210. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  211. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  212. package/dist/components/features/table/table.types.d.ts +1 -1
  213. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  214. package/dist/components/layout/app-shell/index.d.ts +1 -1
  215. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  216. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  217. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  218. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  219. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  220. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  221. package/dist/components/layout/header/header.types.d.ts +6 -6
  222. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  223. package/dist/components/layout/page/index.d.ts +2 -1
  224. package/dist/components/layout/page/page.d.ts +1 -0
  225. package/dist/components/layout/page/page.strings.d.ts +11 -0
  226. package/dist/components/layout/page/page.types.d.ts +69 -17
  227. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  228. package/dist/components/layout/settings/settings.d.ts +9 -2
  229. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  230. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  231. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  232. package/dist/components/layout/sidebar/index.d.ts +2 -1
  233. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
  234. package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
  235. package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
  236. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  237. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  238. package/dist/components/typography/text.styles.d.ts +26 -1
  239. package/dist/components/ui/alert-dialog.d.ts +2 -2
  240. package/dist/components/ui/combobox.d.ts +1 -1
  241. package/dist/components/ui/dialog.d.ts +2 -2
  242. package/dist/components/ui/overlay-layer.d.ts +18 -0
  243. package/dist/components/ui/sheet.d.ts +5 -1
  244. package/dist/components/ui/sidebar-state.d.ts +82 -0
  245. package/dist/components/ui/sidebar.d.ts +5 -17
  246. package/dist/composition.recipes-COdiFhxB.js +19 -0
  247. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  248. package/dist/containers-CIxwbZt5.js +112 -0
  249. package/dist/containers-CIxwbZt5.js.map +1 -0
  250. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  251. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  252. package/dist/{copyable-ClBuk_UK.js → copyable-DIznBqiT.js} +7 -7
  253. package/dist/{copyable-ClBuk_UK.js.map → copyable-DIznBqiT.js.map} +1 -1
  254. package/dist/{data-display-DT_khPl_.js → data-display-BdgCAw8T.js} +277 -285
  255. package/dist/data-display-BdgCAw8T.js.map +1 -0
  256. package/dist/{date-DCrsDTZc.js → date-Cq8ioE4o.js} +5 -5
  257. package/dist/{date-DCrsDTZc.js.map → date-Cq8ioE4o.js.map} +1 -1
  258. package/dist/{date-picker-B2K3ucWn.js → date-picker-RlIzKom_.js} +501 -480
  259. package/dist/date-picker-RlIzKom_.js.map +1 -0
  260. package/dist/date-pickers-DY-CpXS1.js +179 -0
  261. package/dist/date-pickers-DY-CpXS1.js.map +1 -0
  262. package/dist/{display-hAc1HjpI.js → display-KsZLw9Ov.js} +9 -9
  263. package/dist/{display-hAc1HjpI.js.map → display-KsZLw9Ov.js.map} +1 -1
  264. package/dist/dropdown-menu-CLs8Lihj.js +194 -0
  265. package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
  266. package/dist/features/activities.js +302 -253
  267. package/dist/features/activities.js.map +1 -1
  268. package/dist/features/ai-chat.js +15 -14
  269. package/dist/features/ai-chat.js.map +1 -1
  270. package/dist/features/appointment-calendar.js +222 -220
  271. package/dist/features/appointment-calendar.js.map +1 -1
  272. package/dist/features/async-preview.js +11 -10
  273. package/dist/features/async-preview.js.map +1 -1
  274. package/dist/features/combobox.js +1 -1
  275. package/dist/features/comments.js +1 -1
  276. package/dist/features/data-view.js +13 -13
  277. package/dist/features/data-view.js.map +1 -1
  278. package/dist/features/email-composer.js +249 -249
  279. package/dist/features/email-composer.js.map +1 -1
  280. package/dist/features/event-calendar.js +264 -269
  281. package/dist/features/event-calendar.js.map +1 -1
  282. package/dist/features/filters.js +1 -1
  283. package/dist/features/global-search.js +167 -138
  284. package/dist/features/global-search.js.map +1 -1
  285. package/dist/features/kanban.js +6 -7
  286. package/dist/features/kanban.js.map +1 -1
  287. package/dist/features/map.js +269 -260
  288. package/dist/features/map.js.map +1 -1
  289. package/dist/features/media-library.js +827 -777
  290. package/dist/features/media-library.js.map +1 -1
  291. package/dist/features/mentions.js +1 -1
  292. package/dist/features/overlays.js +1 -1
  293. package/dist/features/products.js +1246 -1169
  294. package/dist/features/products.js.map +1 -1
  295. package/dist/features/questionnaire.js +13 -13
  296. package/dist/features/questionnaire.js.map +1 -1
  297. package/dist/features/resource-assignment.js +8 -8
  298. package/dist/features/resource.js +127 -123
  299. package/dist/features/resource.js.map +1 -1
  300. package/dist/features/rich-text-editor.js +2 -2
  301. package/dist/features/schema-form.js +254 -253
  302. package/dist/features/schema-form.js.map +1 -1
  303. package/dist/features/suggestions.js +3 -3
  304. package/dist/features/sync.js +3 -3
  305. package/dist/features/table.js +1 -1
  306. package/dist/features/theme-tweaker.js +95 -96
  307. package/dist/features/theme-tweaker.js.map +1 -1
  308. package/dist/{feedback-BYIhtitP.js → feedback-Dm4izqFn.js} +81 -80
  309. package/dist/feedback-Dm4izqFn.js.map +1 -0
  310. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
  311. package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
  312. package/dist/{filters-DJVAveHA.js → filters-DzgSJpMK.js} +693 -645
  313. package/dist/filters-DzgSJpMK.js.map +1 -0
  314. package/dist/{form-field-CwH9y77i.js → form-field-BriWAXyg.js} +14 -8
  315. package/dist/form-field-BriWAXyg.js.map +1 -0
  316. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-Bs2qFUeE.js} +4 -4
  317. package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
  318. package/dist/forms-C0RGnJTe.js +216 -0
  319. package/dist/forms-C0RGnJTe.js.map +1 -0
  320. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-DIhghX1Q.js} +295 -291
  321. package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
  322. package/dist/{header-BSfIEWbI.js → header-DMMxG__r.js} +67 -63
  323. package/dist/header-DMMxG__r.js.map +1 -0
  324. package/dist/header.recipes-BigdJjw1.js +6 -0
  325. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  326. package/dist/hooks/useFormErrors.d.ts +1 -1
  327. package/dist/{hooks-ClH9thn4.js → hooks-DB6CJ4MR.js} +26 -14
  328. package/dist/hooks-DB6CJ4MR.js.map +1 -0
  329. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-DZF-YjQp.js} +4 -4
  330. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
  331. package/dist/index.js +4 -5
  332. package/dist/input-CvyDQlY7.js +289 -0
  333. package/dist/input-CvyDQlY7.js.map +1 -0
  334. package/dist/input-DMBwAZmr.js +21 -0
  335. package/dist/input-DMBwAZmr.js.map +1 -0
  336. package/dist/item-DjCcM18E.js +277 -0
  337. package/dist/item-DjCcM18E.js.map +1 -0
  338. package/dist/layout/app-shell.js +1 -1
  339. package/dist/layout/auth.js +1 -1
  340. package/dist/layout/containers.js +1 -1
  341. package/dist/layout/header.js +1 -1
  342. package/dist/layout/hooks.js +1 -1
  343. package/dist/layout/navigation.js +1 -1
  344. package/dist/layout/page.js +2 -2
  345. package/dist/layout/settings.js +1 -1
  346. package/dist/layout/sidebar.js +3 -3
  347. package/dist/layout/workspace.js +1 -1
  348. package/dist/layout.js +11 -11
  349. package/dist/lib/affordance-geometry.generated.d.ts +41 -35
  350. package/dist/lib/control-group-recipes.d.ts +5 -5
  351. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  352. package/dist/lib/motion-recipes.d.ts +3 -0
  353. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  354. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  355. package/dist/lib/portal-recipes.d.ts +3 -0
  356. package/dist/lib/token-merge.generated.d.ts +13 -10
  357. package/dist/lib/ui-provider/types.d.ts +1 -1
  358. package/dist/lib/utils.js +1 -1
  359. package/dist/map-demo-tile.svg +1 -1
  360. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-C-vChPmE.js} +6 -6
  361. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-C-vChPmE.js.map} +1 -1
  362. package/dist/{mentions-CGlEJ15c.js → mentions-0_4nWuI-.js} +10 -10
  363. package/dist/{mentions-CGlEJ15c.js.map → mentions-0_4nWuI-.js.map} +1 -1
  364. package/dist/{message-DZ_ruyUV.js → message-g8p7eVtN.js} +7 -7
  365. package/dist/message-g8p7eVtN.js.map +1 -0
  366. package/dist/metadata-list-C3MkU-Om.js +443 -0
  367. package/dist/metadata-list-C3MkU-Om.js.map +1 -0
  368. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  369. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  370. package/dist/navigation-C90-oQFq.js +255 -0
  371. package/dist/navigation-C90-oQFq.js.map +1 -0
  372. package/dist/{navigation-BzhHI3lo.js → navigation-DaRjthVk.js} +101 -82
  373. package/dist/navigation-DaRjthVk.js.map +1 -0
  374. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  375. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  376. package/dist/{number-DbV1Dija.js → number-CRU3kGuk.js} +5 -5
  377. package/dist/{number-DbV1Dija.js.map → number-CRU3kGuk.js.map} +1 -1
  378. package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
  379. package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
  380. package/dist/overlays-BSgCtM2v.js +1013 -0
  381. package/dist/overlays-BSgCtM2v.js.map +1 -0
  382. package/dist/page-DUUKDAjo.js +331 -0
  383. package/dist/page-DUUKDAjo.js.map +1 -0
  384. package/dist/page-header-commands-7P3sfE9u.js +193 -0
  385. package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
  386. package/dist/{pagination-BL25hu2s.js → pagination-CgCjElfu.js} +7 -7
  387. package/dist/{pagination-BL25hu2s.js.map → pagination-CgCjElfu.js.map} +1 -1
  388. package/dist/popover-B85RenIl.js +201 -0
  389. package/dist/popover-B85RenIl.js.map +1 -0
  390. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-DlnQ2zlR.js} +7 -7
  391. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
  392. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
  393. package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
  394. package/dist/portal-recipes-BpsV_iRw.js +9 -0
  395. package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
  396. package/dist/{primitives-BFK08r9M.js → primitives-ByWgGUgt.js} +6 -6
  397. package/dist/{primitives-BFK08r9M.js.map → primitives-ByWgGUgt.js.map} +1 -1
  398. package/dist/primitives.js +4 -4
  399. package/dist/{progress-B1VnCT0K.js → progress-BJhQP9WX.js} +9 -9
  400. package/dist/{progress-B1VnCT0K.js.map → progress-BJhQP9WX.js.map} +1 -1
  401. package/dist/{receipt-BVSOH3Xo.js → receipt-tOc7B3hw.js} +7 -7
  402. package/dist/receipt-tOc7B3hw.js.map +1 -0
  403. package/dist/{rich-text-GOUyKQ-s.js → rich-text-Dth5E882.js} +4 -4
  404. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-Dth5E882.js.map} +1 -1
  405. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-C1fOjBTd.js} +429 -430
  406. package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
  407. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-laT3tpBT.js} +33 -29
  408. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
  409. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-B0dB2cBi.js} +2 -2
  410. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
  411. package/dist/{separator-Bom7NsGO.js → separator-Bb17I4pu.js} +2 -2
  412. package/dist/{separator-Bom7NsGO.js.map → separator-Bb17I4pu.js.map} +1 -1
  413. package/dist/{separator-BDV-Y648.js → separator-Ct_WSWTJ.js} +3 -3
  414. package/dist/{separator-BDV-Y648.js.map → separator-Ct_WSWTJ.js.map} +1 -1
  415. package/dist/services/actions.js +1 -1
  416. package/dist/settings-Bar5wiSo.js +167 -0
  417. package/dist/settings-Bar5wiSo.js.map +1 -0
  418. package/dist/sheet-BGPERY55.js +250 -0
  419. package/dist/sheet-BGPERY55.js.map +1 -0
  420. package/dist/sidebar-D-JYMMbY.js +686 -0
  421. package/dist/sidebar-D-JYMMbY.js.map +1 -0
  422. package/dist/sidebar-f9gRWXIR.js +1001 -0
  423. package/dist/sidebar-f9gRWXIR.js.map +1 -0
  424. package/dist/skeleton-BapcJd9C.js +265 -0
  425. package/dist/skeleton-BapcJd9C.js.map +1 -0
  426. package/dist/smart-card-CW0hjetE.js +617 -0
  427. package/dist/smart-card-CW0hjetE.js.map +1 -0
  428. package/dist/{structure-BmisBK-3.js → structure-DuxKl954.js} +3 -3
  429. package/dist/{structure-BmisBK-3.js.map → structure-DuxKl954.js.map} +1 -1
  430. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  431. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  432. package/dist/style.css +1 -1
  433. package/dist/{table-DsfzoUia.js → table-B4TE7iOV.js} +3 -3
  434. package/dist/{table-DsfzoUia.js.map → table-B4TE7iOV.js.map} +1 -1
  435. package/dist/{table-BweFy_P9.js → table-CFOWY9pQ.js} +394 -388
  436. package/dist/table-CFOWY9pQ.js.map +1 -0
  437. package/dist/{tabs-CDocW5D1.js → tabs-e7ko9S2o.js} +11 -11
  438. package/dist/tabs-e7ko9S2o.js.map +1 -0
  439. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-B1culiSK.js} +107 -104
  440. package/dist/text-inputs-B1culiSK.js.map +1 -0
  441. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  442. package/dist/text.styles-B64My8RZ.js.map +1 -0
  443. package/dist/theme.css +192 -149
  444. package/dist/{timelines-CwM_9IhD.js → timelines-D3Sl9ueq.js} +13 -12
  445. package/dist/timelines-D3Sl9ueq.js.map +1 -0
  446. package/dist/tooltip-8wz5S_Zr.js +113 -0
  447. package/dist/tooltip-8wz5S_Zr.js.map +1 -0
  448. package/dist/{tree-WnKQzwbq.js → tree-CzUJHnFs.js} +9 -9
  449. package/dist/{tree-WnKQzwbq.js.map → tree-CzUJHnFs.js.map} +1 -1
  450. package/dist/typography/rich-text.js +1 -1
  451. package/dist/typography-BQnine1k.js +117 -0
  452. package/dist/typography-BQnine1k.js.map +1 -0
  453. package/dist/typography.js +1 -1
  454. package/dist/ui-provider-C-74NVLc.js +178 -0
  455. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  456. package/dist/ui-provider.js +2 -3
  457. package/dist/{upload-CXyxmQBP.js → upload-BOW6U2tI.js} +25 -24
  458. package/dist/upload-BOW6U2tI.js.map +1 -0
  459. package/dist/{upload-queue-Boscubn9.js → upload-queue-qUXn1ykN.js} +16 -14
  460. package/dist/upload-queue-qUXn1ykN.js.map +1 -0
  461. package/dist/{usage-card-BhO5eqkX.js → usage-card-BeSLY0i0.js} +145 -137
  462. package/dist/usage-card-BeSLY0i0.js.map +1 -0
  463. package/dist/{utils-BRhFDwuU.js → utils-B6kKb8jB.js} +303 -144
  464. package/dist/utils-B6kKb8jB.js.map +1 -0
  465. package/dist/value-inputs-skdVB2zh.js +980 -0
  466. package/dist/value-inputs-skdVB2zh.js.map +1 -0
  467. package/dist/{value-typography-BP8OG6h5.js → value-typography-uAmWUAL1.js} +2 -2
  468. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-uAmWUAL1.js.map} +1 -1
  469. package/dist/workspace-DHeHv0qw.js +411 -0
  470. package/dist/workspace-DHeHv0qw.js.map +1 -0
  471. package/docs/consumer-skill/SKILL.md +15 -129
  472. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  473. package/docs/consumer-skill/examples/app-layout.tsx +74 -13
  474. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  475. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  476. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  477. package/docs/consumer-skill/examples/detail.tsx +5 -4
  478. package/docs/consumer-skill/examples/edit.tsx +30 -38
  479. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  480. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  481. package/docs/consumer-skill/examples/manifest.json +88 -1
  482. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  483. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  484. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  485. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  486. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +105 -0
  487. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  488. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  489. package/docs/consumer-skill/references/agents-md.md +23 -11
  490. package/docs/consumer-skill/references/analytics.md +18 -1
  491. package/docs/consumer-skill/references/authentication.md +42 -0
  492. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  493. package/docs/consumer-skill/references/component-contracts.json +325201 -0
  494. package/docs/consumer-skill/references/composition-mapping.md +106 -0
  495. package/docs/consumer-skill/references/composition.md +198 -46
  496. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  497. package/docs/consumer-skill/references/custom-composition.md +261 -0
  498. package/docs/consumer-skill/references/data-reading.md +79 -0
  499. package/docs/consumer-skill/references/design-contract.md +43 -9
  500. package/docs/consumer-skill/references/discovery.md +109 -8
  501. package/docs/consumer-skill/references/domain-structures.md +124 -0
  502. package/docs/consumer-skill/references/installation.md +51 -36
  503. package/docs/consumer-skill/references/integration.md +41 -2
  504. package/docs/consumer-skill/references/product-composition.md +94 -0
  505. package/docs/consumer-skill/references/public-api.json +4390 -475
  506. package/docs/consumer-skill/references/review.md +47 -5
  507. package/docs/consumer-skill/references/rhf-workflows.md +93 -0
  508. package/docs/consumer-skill/references/screen-archetypes.md +34 -0
  509. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  510. package/docs/consumer-skill/references/theming.md +25 -27
  511. package/docs/consumer-skill/references/tokens.json +20 -11
  512. package/docs/consumer-skill/references/view-craft.md +153 -0
  513. package/docs/consumer-skill/references/view-spec.md +73 -0
  514. package/docs/consumer-skill/references/workflows.md +9 -2
  515. package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
  516. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  517. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  518. package/docs/consumer-skill/scripts/composition.mjs +254 -0
  519. package/docs/consumer-skill/scripts/discovery.mjs +96 -10
  520. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  521. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  522. package/docs/consumer-skill/scripts/inspection.mjs +193 -0
  523. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  524. package/docs/consumer-skill/scripts/setup-skills.mjs +111 -0
  525. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  526. package/docs/consumer-skills/themelia-components/SKILL.md +31 -0
  527. package/docs/consumer-skills/themelia-composition/SKILL.md +34 -0
  528. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  529. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  530. package/docs/consumer-skills/themelia-foundation/SKILL.md +15 -0
  531. package/docs/consumer-skills/themelia-tokenization/SKILL.md +42 -0
  532. package/package.json +4 -2
  533. package/templates/README.md +39 -0
  534. package/templates/admin-shell-template.tsx +382 -0
  535. package/templates/analytics-operations-template.tsx +376 -0
  536. package/templates/customers-template.tsx +509 -0
  537. package/templates/index.ts +29 -0
  538. package/templates/orders-template.tsx +1102 -0
  539. package/templates/products-template.tsx +834 -0
  540. package/templates/user-permissions-template.tsx +450 -0
  541. package/dist/accordion-Cjb6sx0G.js.map +0 -1
  542. package/dist/action-menu-CllU52Mm.js +0 -280
  543. package/dist/action-menu-CllU52Mm.js.map +0 -1
  544. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  545. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  546. package/dist/app-shell-C4FhvCqF.js +0 -236
  547. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  548. package/dist/auth-BGua8ouh.js.map +0 -1
  549. package/dist/avatar-DAPlDvhJ.js.map +0 -1
  550. package/dist/base/cascader.js.map +0 -1
  551. package/dist/batch-action-bar-DnUJ21NQ.js.map +0 -1
  552. package/dist/button-DVzspB_G.js.map +0 -1
  553. package/dist/buttons-DPZekJFu.js.map +0 -1
  554. package/dist/cards-BaBZR-AU.js +0 -68
  555. package/dist/cards-BaBZR-AU.js.map +0 -1
  556. package/dist/chart-ZOYyK2xG.js +0 -155
  557. package/dist/chart-ZOYyK2xG.js.map +0 -1
  558. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  559. package/dist/choice-inputs-CNHvARCJ.js +0 -770
  560. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  561. package/dist/code-block-DeneBJR_.js.map +0 -1
  562. package/dist/combobox-DaHESuiL.js +0 -355
  563. package/dist/combobox-DaHESuiL.js.map +0 -1
  564. package/dist/combobox-Dxo2fAYQ.js.map +0 -1
  565. package/dist/command-C25VMRII.js.map +0 -1
  566. package/dist/comments-DD0DUPwJ.js.map +0 -1
  567. package/dist/containers-Mu1LMGV1.js +0 -103
  568. package/dist/containers-Mu1LMGV1.js.map +0 -1
  569. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  570. package/dist/data-display-DT_khPl_.js.map +0 -1
  571. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  572. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  573. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  574. package/dist/dropdown-menu-Cl4X7L5S.js +0 -193
  575. package/dist/dropdown-menu-Cl4X7L5S.js.map +0 -1
  576. package/dist/feedback-BYIhtitP.js.map +0 -1
  577. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +0 -1
  578. package/dist/filters-DJVAveHA.js.map +0 -1
  579. package/dist/form-field-CwH9y77i.js.map +0 -1
  580. package/dist/form-sizing-BdP_Mf5p.js.map +0 -1
  581. package/dist/forms-B9G_xwzi.js +0 -194
  582. package/dist/forms-B9G_xwzi.js.map +0 -1
  583. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  584. package/dist/header-BSfIEWbI.js.map +0 -1
  585. package/dist/hooks-ClH9thn4.js.map +0 -1
  586. package/dist/input-CZw8iU99.js +0 -21
  587. package/dist/input-CZw8iU99.js.map +0 -1
  588. package/dist/input-DQdEd0YD.js +0 -263
  589. package/dist/input-DQdEd0YD.js.map +0 -1
  590. package/dist/item-K5_ghvze.js +0 -275
  591. package/dist/item-K5_ghvze.js.map +0 -1
  592. package/dist/message-DZ_ruyUV.js.map +0 -1
  593. package/dist/metadata-list-8N16ZMW_.js +0 -405
  594. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  595. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  596. package/dist/navigation-Bnotn4AQ.js +0 -145
  597. package/dist/navigation-Bnotn4AQ.js.map +0 -1
  598. package/dist/navigation-BzhHI3lo.js.map +0 -1
  599. package/dist/navigation-row-recipes-BFLCk_Aq.js.map +0 -1
  600. package/dist/overflow-tab-bar-CWY7Nogn.js +0 -282
  601. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  602. package/dist/overlays-tMkF-VAN.js +0 -1003
  603. package/dist/overlays-tMkF-VAN.js.map +0 -1
  604. package/dist/page-CL9YeH_V.js +0 -224
  605. package/dist/page-CL9YeH_V.js.map +0 -1
  606. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  607. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  608. package/dist/popover-gnTOhbFM.js +0 -198
  609. package/dist/popover-gnTOhbFM.js.map +0 -1
  610. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  611. package/dist/receipt-BVSOH3Xo.js.map +0 -1
  612. package/dist/rich-text-editor-cRLC-eBK.js.map +0 -1
  613. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +0 -1
  614. package/dist/settings-ybnjVwbd.js +0 -171
  615. package/dist/settings-ybnjVwbd.js.map +0 -1
  616. package/dist/sheet-ijlsjq-n.js +0 -213
  617. package/dist/sheet-ijlsjq-n.js.map +0 -1
  618. package/dist/sidebar-Db6gkh3U.js +0 -619
  619. package/dist/sidebar-Db6gkh3U.js.map +0 -1
  620. package/dist/sidebar-DkTO4VTO.js +0 -512
  621. package/dist/sidebar-DkTO4VTO.js.map +0 -1
  622. package/dist/skeleton-Byjnt7qr.js +0 -264
  623. package/dist/skeleton-Byjnt7qr.js.map +0 -1
  624. package/dist/smart-card-DiC5aac3.js +0 -604
  625. package/dist/smart-card-DiC5aac3.js.map +0 -1
  626. package/dist/table-BweFy_P9.js.map +0 -1
  627. package/dist/tabs-CDocW5D1.js.map +0 -1
  628. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  629. package/dist/text.styles-g4He6UIW.js.map +0 -1
  630. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  631. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  632. package/dist/timelines-CwM_9IhD.js.map +0 -1
  633. package/dist/tooltip-yiRJUFjp.js +0 -111
  634. package/dist/tooltip-yiRJUFjp.js.map +0 -1
  635. package/dist/typography-UTnveOEy.js +0 -117
  636. package/dist/typography-UTnveOEy.js.map +0 -1
  637. package/dist/ui-provider-C_U0Xma4.js +0 -136
  638. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  639. package/dist/upload-CXyxmQBP.js.map +0 -1
  640. package/dist/upload-queue-Boscubn9.js.map +0 -1
  641. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  642. package/dist/use-mobile-vaLKwgyf.js +0 -15
  643. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  644. package/dist/utils-BRhFDwuU.js.map +0 -1
  645. package/dist/value-inputs-TaX4OjNk.js +0 -963
  646. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  647. package/dist/workspace-B-OEm3Kf.js +0 -408
  648. package/dist/workspace-B-OEm3Kf.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,190 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.5 — 2026-10-31
4
+
5
+ - Modal scrims render again under `SidebarProvider`/`AppSidebar`. The sidebar
6
+ drawer owner is a Dialog root around the app, so Base UI treated every dialog
7
+ inside as nested and skipped its backdrop. A modal now draws its backdrop
8
+ unless it opens from inside another modal's content.
9
+ - Collection rows (menus, Command, Select, Combobox, cascader, global search) are
10
+ sized by their height role: block padding steps one tier below Item's, so a
11
+ single line is exactly 32/28/36px at default/compact/comfortable instead of
12
+ 1.5px taller. DataTable menus, kanban and activities drop the legacy 24px
13
+ `density="table"` rows.
14
+ - Skeletons use the translucent neutral chip fill, so they keep one contrast on
15
+ every surface, including a `--muted` sidebar where they used to disappear.
16
+ - `StackedLayout`, `TopbarSidebarLayout` and `AppLayout` with no variant follow
17
+ the active theme; `headerTheme`/`light-header`/`dark-header` still scope the
18
+ header. Header controls (sidebar trigger, search, tools, notifications, a
19
+ one-line user trigger) share the 32px action height.
20
+ - The dual navigation cluster docks its contextual panel from 768px beside a
21
+ primary rail and opens it as a drawer below that; `mobileSidebarMode="inline"`
22
+ keeps the previous docked cluster.
23
+ - `GlobalSearch` input is a combobox with `aria-activedescendant`; results are
24
+ options reached with the arrow keys rather than Tab.
25
+ - Filter editors focus their primary input when opened and share one editor
26
+ header; selection captions read "2 status selected" in running text.
27
+ - Additive: `CardShell surface`, `FormSection titleSize`, CoordinatesInput
28
+ latitude/longitude accessible-label strings, MetricComparison `pointsUnit`,
29
+ UsageCard average-unavailable string, AI tool-call `elapsedLabel`, AI summary
30
+ `confidenceLabel`, ActivityRow `reserveDisclosure`/`reserveMenu`,
31
+ MediaLibraryToolbar `summary`/`disabled`, `useMediaLibrary().retry` and
32
+ `strings.retry`.
33
+ - Alert places its action beside the copy only when the alert itself is wide
34
+ enough (container query), otherwise below it. PageHeader wraps its commands
35
+ below the copy before the copy column gets cramped.
36
+
37
+ - `--height-action` and `--height-control` default to 2rem (32px) instead of
38
+ 2.25rem. Their size steps are eighths of the root (¾, ⅞, 9⁄8), so the scale is
39
+ 24/28/32/36px in whole pixels; it was 28/32/36/40px in ninths. Set the roots
40
+ back to 2.25rem to restore the previous heights (steps become 27/31.5/36/40.5px).
41
+ - Corner roles: `rounded-radius` (`--radius`, 12px by default) is now the
42
+ default corner for buttons, inputs, select and facet triggers, badges,
43
+ collection and navigation rows and nested bodies. The new `rounded-surface`
44
+ (4/3 × `--radius`, 16px) is the larger corner of cards, popups, dialogs,
45
+ command shells and other outer surfaces. `rounded-inner` and its bounded
46
+ formula are removed. Migration: replace an app's `rounded-radius` on outer
47
+ shells with `rounded-surface`, and `rounded-inner` with `rounded-radius`.
48
+ - `Alert` and the `Toaster` toast take Item's row geometry: the row insets
49
+ (`px-row-x`, `py-row-y`, 12px and 8px by default) and Item's 12px
50
+ media/actions gap, instead of the 24px card surface inset. A two-line notice
51
+ is about 60px tall instead of 94px. Overlay tone notices, which are Alerts,
52
+ follow the same row roles.
53
+ - `PopoverTitle` and `PopoverDescription` no longer wrap plain text in the
54
+ popover's inherited line box, and `Cascader` keeps "Select current" beside
55
+ its title and path instead of inside the title row. A drilled level's title
56
+ and parent path now sit 4px apart instead of 11px.
57
+ - Menu surfaces (popover menus and their header and footer bands, dropdown
58
+ menus, Select and Combobox lists, Command and its search row, global search,
59
+ mentions and the cascader) inset by md (8px) on both axes instead of xs
60
+ (4px) inline, so rows and the search field sit further from the edge, and
61
+ header and footer copy sit one small xs step (4px) inside that edge instead
62
+ of adding the full row inset (shared `popoverRecipes.menuCopyInset`).
63
+ - Filters support nested options. `FilterOption.children` was declared but
64
+ ignored; `SELECT` and `MULTI_SELECT` editors now show nested options one level
65
+ at a time through the Cascader's panel (path search, Back, multi-select across
66
+ levels, `closeOnSelect`), and `SelectFacet` uses the `Cascader` field. A chosen
67
+ nested option reads as its path ("Europe / Greece / Athens") in chips and
68
+ facets. `FilterConfig.selectableOptions: 'any'` lets a branch be chosen, and
69
+ the filter strings add `previousLevel` and `selectCurrentLevel`. The panel is
70
+ a private part shared by `Cascader` and filters; `Cascader` behaviour is
71
+ unchanged.
72
+ - `Cascader` moves between levels with motion: a drilled level or a new column
73
+ enters from the side it was reached from (shared `motionRecipes.level`,
74
+ `@starting-style`, reduced-motion aware). Opening and searching do not
75
+ animate the list.
76
+ - `LayoutSidebarProvider` (and so `AppSidebar`) defaults to
77
+ `menuDensity="default"`: 28px primary rows and 24px nested rows on a 4px gap
78
+ (with the 2rem action height below), instead of comfortable 36px and 32px
79
+ rows. Pass `menuDensity="comfortable"` for 32px rows. Sidebar navigation
80
+ labels are medium weight throughout; the current entry is marked by its fill.
81
+ An unscoped base `SidebarMenuButton` falls back to the default density like
82
+ the rest of the menu, and a collapsed icon-rail row is the square of its own
83
+ height.
84
+ - Remove the leftover `active:translate-y-0!` press overrides from Collapsible
85
+ and Tooltip triggers, dialog and sheet close buttons, popover buttons and the
86
+ sidebar trigger. Nothing translates on press any more, and the overrides made
87
+ triggers centred with a translate, such as the sidebar disclosure chevron,
88
+ jump down while pressed.
89
+ - Add a fourth consumer skill, `themelia-design`, for the designer's part of a
90
+ view: a data brief read from real records, a view spec with ranked
91
+ information, wireframes and encodings, and a scored critique rubric with a
92
+ browser census for rendered screens. A `themelia-ui-designer` agent
93
+ definition applies it to whole views (design mode builds, renders and fixes;
94
+ review mode critiques read-only). `setup-skills.mjs --agents <directory>`
95
+ copies the agent without overwriting an existing file, and `--check`
96
+ compares it. The project-instructions block lists the new skill.
97
+ - `ResourceCell` draws its media circle only when `imageUrl`, `icon` or
98
+ `fallback` is passed, and no longer falls back to a decorative mail glyph, so
99
+ order and invoice identifiers read as plain text. To keep a monogram for a
100
+ person or organization, pass `fallback={<Initials value={name} />}` (on every
101
+ row of a column where only some rows have a photo). An explicit `fallback`
102
+ still wins over `icon`, and `icon` now wins over title initials.
103
+ - `InvoiceLineItems` states quantity and unit price once per narrow row instead
104
+ of repeating column labels, aligns header and rows on one subgrid with
105
+ content-sized numeric tracks, top-aligns custom cells, scrolls custom columns
106
+ horizontally (or drops columns marked `wideOnly` below its `@lg` width), and
107
+ adds `surface="flat"` for use inside a Card. Header and
108
+ rows now sit in `.invoice-line-items--body`, which carries the grid template
109
+ that each row used to repeat. The family
110
+ index now exports `InvoiceColumn`, `InvoiceLineItemsFooterRow`,
111
+ `InvoiceLineItemsStrings` and `defaultInvoiceLineItemsStrings`.
112
+ - Commerce owners that hard-coded their frame accept `surface`/`padding`:
113
+ `FulfillmentGroup` (framed by default) and `InvoiceHeader`,
114
+ `DiscountStackPreview`, `TaxBreakdownCard`, `RefundStatusCard`,
115
+ `CartSummaryCard`, `ShipmentTracking` and `InventorySectionCard` (unframed by
116
+ default). Defaults are unchanged.
117
+ - Add `maxVisibleSecondaryActions` to page, record, settings, workspace and
118
+ resource headers (default 2), `visibleFields` and `children` to
119
+ `ProductVariantEditor`, and `showGroupBy` to `ProductVariantsManager`
120
+ (default true).
121
+ - Consumer gaps from the round-2 rebuilds: `InvoiceStatus` adds `draft` and
122
+ `disputed`; `InvoiceHeader.status` is optional and parties take `details`;
123
+ `OrderCustomer` adds `shippingMethod` and `showShippingAddress`;
124
+ `FulfillmentGroup` adds `count`; `MetricComparison` honours `current.trend`;
125
+ `ChartTooltipContent` adds `valueFormatter`; `ProductVariantEditor` adds
126
+ `errors`, `formId` and `showHeader`; `ResourceCell` adds `mediaShape` and a
127
+ full-title hover; `MediaResourceGallery` grid shows whole images and omits a
128
+ missing file size; an explicit DataTable column `size` sets its width without
129
+ resizing; `base/toaster` re-exports `toast`; `blocks/commerce` exports its
130
+ status tone maps and invoice strings. `ProductOptionsMatrix` focuses a value
131
+ added in its option editor so it can be typed at once.
132
+ - Discovery resolves near-miss import paths with `importResolution`, the mapper
133
+ knows 139 roles across commerce, products, media, charts and analytics and
134
+ suggests nearby roles for unmatched phrases, and the inspector reads several
135
+ props at once and points hooks to their declaration. A new order and invoice
136
+ composition reference ships with executable recipes.
137
+
138
+ ## 2.0.4 — 2026-10-28
139
+
140
+ Shared composition roles, stronger consumer guidance and executable component
141
+ mapping. Existing public imports remain available; no structural token root or
142
+ runtime dependency is added.
143
+
144
+ - Restore shadcn neutral resting input borders in light and dark themes. Keep
145
+ the existing border/input/ring roles, focus and invalid indicators, sizing and
146
+ radius defaults; remove the blanket resting-border contrast override and its
147
+ enforcement. No CSS variable or public API is added.
148
+ - Complete the implementation-guide corrections at shared owners: Card defaults
149
+ to the calm `card` surface, with an unruled header and a ruled footer. Explicit
150
+ `framed`, divider and provider overrides remain available. Surface roles use
151
+ the existing 12/16/24/32px scale; Card's supported padding and regional-gap tiers
152
+ are 12/24/32px. Control heights and radius defaults stay unchanged.
153
+ - Centralize command, related-content, subject and page rhythm across layouts,
154
+ blocks and features. Page body and TwoColumnLayout columns space direct
155
+ sections consistently; resource headers and toolbars span above their grid.
156
+ Shared route, subject and subsection typography uses the existing scale.
157
+ - Add `MetadataList adaptTo="container"` for narrow parent regions, retaining
158
+ viewport adaptation as the default. Resource and product/giftcard metadata
159
+ opt in. FormSection forwards Card's `padding`; PageHeading adds `titleSize`.
160
+ - Simplify the RHF edit recipe with `Page render={<form />}` and automatic IDs
161
+ on direct controls. Preserve compound-control focus refs and forward Slider's
162
+ visible label/supporting descriptions to its native range input.
163
+ - Split shell and example-page ownership, preventing duplicated route headers
164
+ and gutters. Repair responsive command-menu separator visibility with additive
165
+ `ActionMenuAction.groupClassName`. Clarify Card's opt-in `contentGap` without
166
+ changing its raw-child layout contract.
167
+ - Ship `themelia-components`, `themelia-tokenization` and
168
+ `themelia-composition`, backed by one complete shared bundle of references,
169
+ typed recipes and domain templates. Foundation/forms paths and the shared
170
+ consumer skill remain compatibility routers; existing global skills are
171
+ preserved.
172
+ - Add Node-only component/token inspectors with qualified API contracts,
173
+ generic/overload and callback detail, explicit omissions and unknown defaults.
174
+ Discovery retains exact/strict matching and adds qualified partial suggestions
175
+ with matched and missing terms when natural-language searches have no full match.
176
+ - Add the advisory composition mapper: 36 exact components expose 40 roles,
177
+ supported slots, surface decisions, peers and unresolved needs. Authored
178
+ recommendations are validated against public TypeScript contracts; copied
179
+ and installed tools share the same metadata.
180
+ - Document contextual component/parent ownership, complete-bundle copying and
181
+ template discovery. Restore static reference spacing from existing roots
182
+ instead of reading unshipped Tailwind aliases.
183
+
184
+ When upgrading, refresh the complete copied skill bundle from the matching
185
+ installed package. Card's calmer defaults remain overridable through explicit
186
+ surface/divider props or UIProvider defaults; no consumer prop is removed.
187
+
3
188
  ## 2.0.3 — 2026-10-24
4
189
 
5
190
  Patch release of the audited UI and official Base UI compatibility fixes.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A publishable React UI package built on Base UI and Tailwind, with shadcn-compatible themes and Themelia's public APIs. Routing, persistence, permissions and translations remain consumer-owned.
4
4
 
5
- Package: **`themelia-react-ui`** · current version: **`2.0.3`** · MIT licensed.
5
+ Package: **`themelia-react-ui`** · current version: **`2.0.5`** · MIT licensed.
6
6
  The GitHub repository is `themelia-react-ui`; npm imports use `themelia-react-ui`.
7
7
 
8
8
  Consuming apps start with [consumer setup](#consumer-setup) and the packaged
@@ -25,6 +25,14 @@ npm run check:all
25
25
 
26
26
  The Vite React playground has foundations, a complete searchable catalogue, and an interactive products workspace. The catalogue groups Foundations (including semantic primitives and composition structures), Base components, Layouts, Blocks, and domain Features. Layouts includes five composed AppLayout presets (light header, dark header, sidebar, inset canvas and stacked navigation), plus a responsive composition guide for viewport grids, parent-driven grids, wrapping actions and stable content order. Navigation uses actual package families, static domain headings above Features, padded disclosures and a single Skeletons family page. Expansion persists across page changes and mobile drawer closure; search shows the same group context. `/` opens the full catalogue with preview-only hash navigation (`/?page=catalog` also works); `/?page=products` exercises options, generation, validation, async save/retry and bulk actions. React Router is not a dependency.
27
27
 
28
+ For the application shell at its actual viewport size, open
29
+ `/?page=shells&layout=header`, `/?page=shells&layout=sidebar` or
30
+ `/?page=shells&layout=inset`; append `&theme=dark`
31
+ for the dark theme. This preview-only mode removes catalogue chrome from the
32
+ composition. The [shell architecture verification report](docs/verification/2026-10-29-shell-architecture-catalogue.md)
33
+ records source ownership, rendered measurements and executed interactions for
34
+ the three catalogue structures.
35
+
28
36
  `build` emits ESM entrypoints, TypeScript declarations, compiled component CSS, editable Tailwind theme source and optional map styles. Playground files stay outside the tarball. `check:contract` enforces exact exports, retained source symbols, component layers, dependencies and token ownership. `check:preview` verifies ready routes, example files, exact current public symbols, published imports and public family coverage. `check:docs` verifies local props for source-origin-qualified public callable owners, including all static displayed PropsTables. `check:package` requires a fresh `npm run build`. It installs the tarball into an isolated consumer, checks strict declarations for every family and matches installed declaration exports to the source-backed skill index. Its installed basic fixture checks SSR/hydration and executes provider defaults, controlled Input/Select/Checkbox state, form submission/validation/reset, scoped overlay portals and async confirmation/retry. Native links retain a separate strict typecheck and Vite-build smoke. The optional fixture exercises controlled table sorting/selection/visibility and client module initialization for specialist peers. Initialization does not establish specialist workflow or server-rendering support. It uses the configured npm cache, or `THEMELIA_NPM_CACHE`; a fresh `npm ci` cache may lack fixture registry metadata. Use `THEMELIA_FIXTURE_INSTALL=online` explicitly for cold temporary consumers, or supply a prepared cache for the default offline install. See [release readiness](docs/releasing.md).
29
37
 
30
38
  `lint` runs development-only `@shadcn/lint` through Oxlint: semantic colors across components, shared recipes and preview TSX and fixed typography contracts in preview examples. `check:design-lint` proves rule recognition, package stylesheet discovery and permitted customization. Both run inside `check`; `.oxlintrc.json` owns the staged policy. See [typography and lint guidance](docs/typography-and-design-lint.md).
@@ -48,17 +56,17 @@ Chromium 111+, Safari 18.1+ or Firefox 151+ for this theme behavior. The nearest
48
56
  mode class governs nested components and their scoped portals; see the
49
57
  [theme guide](docs/consumer-skill/references/theming.md) for partial overrides.
50
58
 
51
- Version 2.0.3 uses official `@base-ui/react ^1.9.0` from npm. Themelia's
59
+ Version 2.0.5 uses official `@base-ui/react ^1.9.0` from npm. Themelia's
52
60
  `ComboboxRoot.dismissLabel` and feature `strings.dismiss` name both screen-reader
53
61
  dismissal controls. Shared popup owners preserve focus restored to a child
54
62
  trigger during deferred parent recovery. These behaviors are library-owned;
55
63
  consumers install the unmodified official Base UI package.
56
64
 
57
65
  ```sh
58
- npm install ./themelia-react-ui-2.0.3.tgz '@base-ui/react@^1.9.0' lucide-react
66
+ npm install ./themelia-react-ui-2.0.5.tgz '@base-ui/react@^1.9.0' lucide-react
59
67
  ```
60
68
 
61
- After the initial registry release, install into a React 19 application with:
69
+ For a registry release, install into a React 19 application with:
62
70
 
63
71
  ```sh
64
72
  npm install themelia-react-ui '@base-ui/react@^1.9.0' lucide-react
@@ -92,7 +100,30 @@ export function Example() {
92
100
 
93
101
  The default primary is near-black, so status colors never compete with it. For the Themelia green brand, also import `themelia-react-ui/themes/green.css` after `style.css`. For your own brand, set `--primary` and `--primary-foreground` (light and `.dark`) at the root or a `ThemeScope`; `--primary-accent` follows `--primary`.
94
102
 
95
- Compiled `style.css` requires no source scanning and includes no global preflight. Your app supplies its reset. Load library CSS before app overrides. A Tailwind v4 application can additionally import `theme.css` after Tailwind to use the same mappings in its own classes; this editable file contains Tailwind directives and needs processing.
103
+ Compiled `style.css` requires no source scanning and includes no global preflight.
104
+ Components own their essential font and box model; the host may supply a reset
105
+ for its own markup. Keep resets in a lower-priority CSS layer and load deliberate
106
+ app overrides after library CSS. A Tailwind v4 application can additionally
107
+ import `theme.css` after Tailwind to generate app-owned utilities from the same
108
+ mappings; this editable file contains Tailwind directives and needs processing.
109
+
110
+ The package ships four focused agent capabilities:
111
+ [components](docs/consumer-skills/themelia-components/SKILL.md) for installed setup,
112
+ search and typed component/form integration;
113
+ [tokenization](docs/consumer-skills/themelia-tokenization/SKILL.md) for domain
114
+ structures combining public parts with semantic JSX and token-backed Tailwind,
115
+ plus shared themes, typography and geometry;
116
+ [composition](docs/consumer-skills/themelia-composition/SKILL.md) for business
117
+ hierarchy, responsive screens and visual repair; and
118
+ [design](docs/consumer-skills/themelia-design/SKILL.md) for reading records into
119
+ view specs and scoring rendered views against a critique rubric. A
120
+ [designer agent](docs/consumer-skill/agents/themelia-ui-designer.md) applies the
121
+ design skill to whole views. Their shared assets and
122
+ the compatible original entrypoint remain in `docs/consumer-skill`. The previous
123
+ foundation/forms paths remain package compatibility routes; fresh skill copying
124
+ installs the four canonical capabilities. Follow the
125
+ [installed setup and copying guide](docs/consumer-skill/references/installation.md)
126
+ to preserve all references; npm installation does not modify global agent skills.
96
127
 
97
128
  React component chunks preserve `"use client"` boundaries for frameworks such as Next App Router. Pure utilities remain server-usable. Navigation uses native links, callbacks and render composition supplied by the consuming app.
98
129
 
@@ -145,7 +176,8 @@ defines application freedom and library-owned anatomy; the
145
176
  and verification gate. Shipped consumer examples receive the same design lint as
146
177
  library compositions. Those repository checks do not run automatically in apps.
147
178
  Popover display/menu anatomy and default/compact insets are separate from collection
148
- row density and control size. Flush delegates padding to owned regions. Command
179
+ row density and control size. Rich display surfaces keep 24px default insets;
180
+ compact menu/list shells use 4px around their already-padded rows. Flush delegates padding to owned regions. Command
149
181
  search composes the public Input; features inherit these base recipes rather than
150
182
  rebuilding menu chrome or passing local padding overrides.
151
183
 
@@ -164,8 +196,8 @@ The common geometry controls are:
164
196
  --control-x: 0.75rem;
165
197
  --row-x: 0.75rem;
166
198
  --row-y: 0.5rem;
167
- --surface-x: 1.25rem;
168
- --surface-y: 1.25rem;
199
+ --surface-x: 1.5rem;
200
+ --surface-y: 1.5rem;
169
201
  }
170
202
  ```
171
203
 
@@ -173,10 +205,11 @@ The remaining roots cover icons/avatars, shell dimensions, content widths and ad
173
205
 
174
206
  Each default has one owner. There is no legacy token pipeline, JavaScript style engine, underscore prefix, or button-specific palette. Shared action/control, row, surface and text recipes prevent components from acquiring unrelated spacing or color systems.
175
207
 
176
- The additive copy-gap contract replaces scattered title/description gaps with
177
- `--gap-normal` (4px) and `--gap-dense` (2px), scaled once by `--space-scale`.
178
- Headed surfaces accept `textGap`, and Stack/Grid accept the same semantic gap
179
- values. Existing spacing tiers and public roots remain available.
208
+ The [shared semantic-role contract](docs/consumer-skill/references/design-contract.md#semantic-roles)
209
+ assigns copy, command, related-content, independent-subject and page rhythm to
210
+ existing spacing tiers. It also names route/subject/subsection typography while
211
+ preserving explicit sizes, semantic tags and provider scaling. Surface regional
212
+ gaps remain derived from their insets; generic Stack/Grid defaults stay stable.
180
213
 
181
214
  ## Deliberate migration changes
182
215
 
@@ -216,17 +249,19 @@ The default development URL opens the full component catalogue. The focused foun
216
249
 
217
250
  `Button` separates `tone` from `buttonStyle` (`solid`, `outline`, `ghost`); the catalogue shows their matrix, sizes and loading/disabled states. Icon-only controls may omit children when an accessible label or tooltip is supplied. Badges use compact typography and insets rather than inheriting action geometry.
218
251
 
219
- Use `titleSuffix` for card status, count and version badges. `headerStart` is full-width pre-title context, and `headerAction`/`actions` own controls. Card owns token-spaced title/suffix wrapping for all surface modes. Give a card one quick control in `headerAction`, a command list in `actions` (its More actions menu) and the commit action in `footerSlot`; a framed card rules the footer off by default. Reserve body actions for a specific content step. Card owns aligned card insets, frames and expand/collapse behavior; Use `Card surface="flat" padding="none"` for card-free content hierarchy. ChartCard exposes `titleSuffix` too. Use `headerPlacement="frame"` for a header above an inset body. SmartCard and ContentBlock remain deprecated migration adapters; new code uses Card.
252
+ Use `titleSuffix` for card status, count and version badges. `headerStart` is full-width pre-title context, and `headerAction`/`actions` own controls. Card owns token-spaced title/suffix wrapping for all surface modes. Give a card one quick control in `headerAction`, a command list in `actions` (its More actions menu) and the commit action in `footerSlot`; a framed card keeps its footer rule by default. Reserve body actions for a specific content step. Card owns aligned card insets, frames and expand/collapse behavior; Use `Card surface="flat" padding="none"` for card-free content hierarchy. ChartCard exposes `titleSuffix` too. Use `headerPlacement="frame"` for a header above an inset body. SmartCard and ContentBlock remain deprecated migration adapters; new code uses Card.
220
253
 
221
254
  Application drawers use `ActionDrawer` and `useOverlayVisibility` from `themelia-react-ui/features/overlays`. Sheet is the structural foundation and remains available for lower-layer infrastructure and compatibility.
222
255
 
223
256
  Header commands are role-based: one `primaryAction` and ordered
224
- `secondaryActions` render as `[secondary…] [primary] [⋯]`, with overflow,
225
- destructive commands and narrow widths moved into the More actions menu that
226
- ends the row. Page, PageHeader, PageHeading, the resource shells,
257
+ `secondaryActions` render as `[secondary…] [primary] [⋯]`, with overflow
258
+ and destructive commands moved into the More actions menu that ends the row.
259
+ Below 40rem of actual header width, one More actions trigger contains all commands,
260
+ including primary. Page, PageHeader, PageHeading, the resource shells,
227
261
  WorkspaceRecordHeader and SettingsShell share that row; keep `actions` for
228
- non-command controls. `header.tabs` puts a record's section tabs, with counts,
229
- under its header.
262
+ non-command controls. Use `header.tabs` for separately selected or routed record
263
+ sections, with counts when useful. Continuous detail documents keep their
264
+ sections in the body.
230
265
 
231
266
  Every overflow menu shares one `ActionMenu` trigger: the `⋯` glyph named "More
232
267
  actions", a quiet ghost square in rows and cards (`context="inline"`, the
@@ -236,22 +271,107 @@ scale. The menu comes after any primary command in its row, and destructive
236
271
  entries stay last.
237
272
  Page owns inline and block padding, defaulting to the large surface role;
238
273
  PageViewport owns scrolling and supplies no inset. Use `Page narrow` for a
239
- centered single resource; explicit `maxWidth` wins. Page headers use dense copy
240
- gaps. Ordinary framed cards retain default `md` padding and rule header, body and
241
- footer apart by default; flat, card-free structure draws no rule unless asked. Set
242
- `card.defaultHeaderDivider` and `card.defaultFooterDivider` to `false` for an app
243
- that separates card regions by spacing alone.
274
+ centered single resource. An `aside` selects the `xl` (80rem) measure unless
275
+ `narrow` or an explicit `maxWidth` wins. Page owns `toolbar`, body lifecycle
276
+ states (`loading`, `error`, `empty`, `onRetry`) and the route header.
277
+ Its four header content slots are `beforeTitle`, `titleSuffix`, `afterDescription`
278
+ and `actions`: pass React content or a callback receiving `{ renderLink, defaultContent }`.
279
+ Compose Badge or MetadataList in those slots; the header adds no avatar or automatic
280
+ metadata shape. `slots.actions` can wrap or return its default responsive command
281
+ row through `defaultContent`; replacing it makes command behavior caller-owned.
282
+ Legacy `slots.back`, `titleBadges`, `titleIcon` and direct `actions` remain supported.
283
+ ResourceHeader, ResourceIndexShell, ResourceShowShell and TabbedResourceShell
284
+ are deprecated; replace them with Page rather than nesting route owners. Their
285
+ existing embedded geometry remains supported. Page headers use dense copy
286
+ gaps. Ordinary cards default to `surface="card"` and `md` padding (24px), with
287
+ an unruled header and a ruled footer. Explicit divider props override provider
288
+ defaults. Use `surface="framed"` for grouped emphasis and `surface="flat"`
289
+ inside an existing boundary. Card padding supports `none`, `sm` (12px), `md`
290
+ (24px) and `lg` (32px); its default regional gap follows the same surface tier
291
+ (`none` retains the 24px gap). The general surface scale also includes 16px. All
292
+ are scaled once by `--space-scale`; control heights and corners remain separate.
293
+
294
+ AppLayout keeps its five variant choices. The shared header-height root now
295
+ defaults to `4rem`. Header-first
296
+ `light-header`/`dark-header` layouts can opt into `contentSurface="inset"`: a
297
+ quiet secondary canvas around the card-colored main surface. Sidebar-first
298
+ `sidebar`/`inset` presets keep their existing flush/inset behavior. Shells own
299
+ one PageViewport; Page supplies the page padding, and header partials occupy the
300
+ shell's single header owner.
301
+
302
+ The catalogue leads with three structures: a global Header shell, the shared
303
+ App sidebar shell and a shadcn-style Inset shell. Single/dual navigation,
304
+ attached/floating framing and collapse behavior configure these structures.
305
+ They reuse the five presets. Full-size previews use
306
+ `?page=shells&layout=header`, `sidebar` or `inset`, optionally with `&theme=dark`.
307
+ The focused `grouped`, `dual`, `dual-inset`, `floating` and `stacked` views remain
308
+ available for comparison.
309
+
310
+ The featured layouts use grouped left navigation or a static left area rail
311
+ beside a full navigation panel. Collapse is a caller choice on
312
+ `AppSidebar`/`LayoutSidebar`, independent of the shell or sidebar skin:
313
+ `collapsible="icon"` minimizes the full panel to icons, `"offcanvas"` hides it,
314
+ and `"none"` keeps it expanded. Current examples default to `icon` and expose
315
+ a preview selector for these modes. In a dual layout the primary area rail
316
+ remains static: icon mode leaves a second compact column, while offcanvas
317
+ leaves only the original rail. One explicit trigger controls the contextual
318
+ panel; selecting an area opens it. Keep the primary rail's `collapsible="none"`
319
+ policy independent of the adjacent panel's policy.
320
+ At narrow widths the inline cluster pans a minimum page canvas while its area
321
+ rail stays pinned; resizing does not silently minimize navigation.
322
+ Both header-first and sidebar-first shells expose `mobileSidebarMode`; choose
323
+ `inline` for this persistent cluster, or retain the default drawer policy.
324
+ Sidebar shells accept
325
+ `slots.sidebar` (primary) and `slots.secondarySidebar` (contextual), with named
326
+ state inherited under one LayoutSidebarProvider. `openPanels` controls expansion and
327
+ `mobilePanel` selects one shared undocked drawer while preserving desktop state.
328
+ `navigationPanel` selects the untargeted trigger/shortcut destination. Existing
329
+ primary `open`/`onOpenChange` remain supported; controlled `openPanels` takes
330
+ precedence. Independent width props and `sidebarPresentation="rail"` use existing
331
+ shell geometry, with no new public theme roots. SidebarNavigationRail supplies
332
+ area navigation on its own background surface with one divider. Its dedicated
333
+ width is 52px at the default roots (a 36px action plus 8px on each side); the
334
+ existing full-sidebar icon-collapse width remains 60px. These are derived
335
+ recipes, not new public settings. SidebarRail remains the collapse affordance.
336
+
244
337
  AppSidebar offers pinned `slots.headerStart`/`headerEnd` around its workspace
245
- region, compact navigation and a separated footer. The
338
+ region, grouped navigation and a separated footer. The four `header`,
339
+ `beforeNavigation`, `afterNavigation` and `footer` slots accept content or a
340
+ callback with named state, renderLink and defaultContent. A header node preserves
341
+ its legacy full replacement behavior; callback header content and either footer
342
+ form retain library-owned insets. Before/after navigation content scrolls.
343
+ Ordered `{ id, label?, items }` groups supplement the existing Record form, and
344
+ `renderItemContent` customizes label content inside the accessible row. Use
345
+ `currentUrl` for most-specific destination matching; render contexts distinguish
346
+ the current item from its `ancestor`. In icon mode, searchable sidebars retain
347
+ their search band as an icon that expands and focuses the field. Compact rows
348
+ keep a small gap; default and comfortable density share a roomier row gap,
349
+ with separate caption and group spacing. SidebarNavigationRail also exposes
350
+ `header`, `beforeNavigation`, `afterNavigation` and `footer` slots: header/footer
351
+ stay pinned and before/after content scrolls with navigation. Use
352
+ `surface="transparent"` for navigation that shares a docked shell canvas;
353
+ drawers remain opaque. `adaptTo="container"` keeps an embedded drawer and its
354
+ backdrop inside the provider for compositions that use drawers. Omit a contextual
355
+ group label when its header already supplies that same label. KPI peers use MetricGrid. The
246
356
  [complete shell recipe](docs/consumer-skill/examples/app-layout.tsx) demonstrates
247
- public workspace/account controls and application-owned callbacks.
357
+ single- and multiple-region composition with public workspace/account controls
358
+ and hosts route children directly. Its `contextualCollapsible` option defaults
359
+ to `icon`; a supplied `secondarySidebar` can choose its own collapse mode. Its separate
360
+ `WorkspaceExamplePage` owns the illustrative title, Create callback and narrow
361
+ measure; a real route such as `AccountDetailPage` replaces that example.
248
362
 
249
363
  Choose one ordinary card surface through `card.defaultSurface`; explicit per-card
250
364
  surfaces win. Leave Card's `icon` slot for a glyph that carries state or a
251
365
  brand; titles name the subject. `headerPlacement` chooses inside/frame
252
366
  composition independently. Independent framed peers use `gap="2xl"`, matching
253
367
  Page and TwoColumnLayout's rhythm, since outer rings consume a smaller DOM gap.
254
- MetadataList (`themelia-react-ui/base/metadata-list`) keeps semibold labels and normal primary values in both densities.
368
+ Card body children use the related (`xl`, 16px) gap by default; explicit
369
+ `contentGap` remains authoritative. SettingsShell spaces direct sections by the
370
+ subjects (`2xl`, 24px) role. MetadataList (`themelia-react-ui/base/metadata-list`)
371
+ keeps semibold labels and normal primary values in both densities. It now adapts
372
+ to its own container by default, with 22/28/38/52/64rem thresholds; pass
373
+ `adaptTo="viewport"` to retain viewport breakpoints. DataTable owns its surface
374
+ and topbar insets; place compact FilterLayout in `topbarContent`, or use DataView.
255
375
  Dashboard KPIs use Metric/MetricGrid/MetricBar; quotas use the focused UsageCard
256
376
  owner. See [analytics selection](docs/consumer-skill/references/analytics.md) and
257
377
  the [resource page recipe](docs/consumer-skill/examples/detail.tsx).
@@ -268,7 +388,7 @@ and ordinary Card subjects without app chrome. The packaged
268
388
  offers and real navigation links using the same theme and inset owners.
269
389
 
270
390
 
271
- Popover content uses `type="display"` for substantive content and `type="menu"` for collections. Mixed searchable menus use flush shells and compact region insets. `--radius` defaults to 12px. Cards and popup/command shells use `rounded-radius`; controls, collection/navigation rows and nested bodies use the shared, height-bounded `rounded-inner` role (normally 9px). Both derive from the same public root. Consumers inherit these recipes; see the [theme contract](docs/consumer-skill/references/theming.md) for scaling and custom roots. No separate surface/control radius setting is introduced.
391
+ Popover content uses `type="display"` for substantive content and `type="menu"` for collections. Mixed searchable menus use flush shells and compact region insets. `--radius` defaults to 12px. Cards and popup/command shells use `rounded-surface`; controls, collection/navigation rows and nested bodies use the shared, height-bounded `rounded-radius` role (normally 9px). Both derive from the same public root. Consumers inherit these recipes; see the [theme contract](docs/consumer-skill/references/theming.md) for scaling and custom roots. No separate surface/control radius setting is introduced.
272
392
 
273
393
 
274
394
  ## Agent skill and consumer references
@@ -281,15 +401,17 @@ After installing the package, find a family using its real portable script:
281
401
  node node_modules/themelia-react-ui/docs/consumer-skill/scripts/find-components.mjs form validation --limit 5
282
402
  ```
283
403
 
284
- Resolve the installed package and compare copied guidance using the [installed setup reference](docs/consumer-skill/references/installation.md). Copy its `docs/consumer-skill/` folder into your agent's skills directory as `themelia-react-ui-consumer/` to install the skill manually. For Codex, the default destination is `~/.codex/skills/themelia-react-ui-consumer/`. Preserve every subfolder; invoke `$themelia-react-ui-consumer` or let the agent select it. Refresh the copied skill when upgrading. Package installation, skill copying and registry publication are separate actions; none happens globally or automatically.
404
+ Resolve the installed package and compare copied guidance using the [installed setup reference](docs/consumer-skill/references/installation.md). When skill installation is requested, use the bundled `setup-skills.mjs --copy --destination <agent skills directory>` helper. It copies the three focused skills and the compatibility/shared directory as a complete bundle, rebases links and includes templates. For Codex the usual destination is `~/.codex/skills`; preserve existing/customized skills and refresh the entire bundle together. Package installation, skill copying and registry publication are separate actions; none happens globally or automatically.
285
405
 
286
406
  Repository work uses the scoped [maintainer](docs/maintainer-skills/themelia-cn-maintainer/SKILL.md), [tokens](docs/maintainer-skills/themelia-cn-tokens/SKILL.md) and [quality](docs/maintainer-skills/themelia-cn-quality/SKILL.md) skills routed by [AGENTS.md](AGENTS.md). These repo-owned guides are excluded from the consumer package and do not replace separately installed skills.
287
407
 
288
- There is one packaged consumer skill with nine focused prose references, two
289
- generated indexes, fourteen typed recipe files and five helper scripts. Repository
290
- maintainer skills remain separate. The consumer entrypoint starts from task,
291
- context, information priority and command ownership and routes typography,
292
- layouts, theming, state/integration and verification detail to the relevant owner.
408
+ The packaged consumer bundle contains `themelia-components`,
409
+ `themelia-tokenization` and `themelia-composition`, plus one concise
410
+ compatibility/shared entrypoint, API/component-contract/token metadata, typed
411
+ recipes, helper scripts and references. The recipe manifest and copy helper own
412
+ the current asset inventory; avoid copying an isolated skill file. Repository
413
+ maintainer skills remain separate. The focused entrypoints route setup,
414
+ composition and typed form work to their shared owners.
293
415
  Its [scoped directory recipe](docs/consumer-skill/examples/scoped-directory.tsx)
294
416
  shows one route heading, fixed parent context, integrated queries and record
295
417
  navigation. [Review and checks](docs/consumer-skill/references/review.md) describes
@@ -300,12 +422,22 @@ deterministic guidance infrastructure, not aesthetic judgment or new-task agent
300
422
  performance. Keep app-specific policy separate from the versioned package skill.
301
423
 
302
424
  Finder results include relevant symbols and focused next reads for declarations,
303
- references and exported recipes. This reduces the need to infer a component's
304
- purpose from its name or read every document before starting a screen.
425
+ references and exported recipes. Zero-match natural-language searches can return
426
+ qualified related suggestions with matched/missing terms. The Node-only
427
+ `inspect-component.mjs` and `inspect-tokens.mjs` helpers retrieve bounded exact API
428
+ contracts and distinguish public token roots from derived utilities. This reduces
429
+ guessing without replacing the installed declarations for omitted or named types.
430
+
431
+ The bundled [composition mapper](docs/consumer-skill/references/composition-mapping.md)
432
+ uses per-symbol catalogue roles and supported regions to propose an advisory tree:
433
+ `map-composition.mjs --pattern record-detail --main invoice-lines --aside facts`.
434
+ It reports exact owners, surface decisions, peers and unresolved needs. Query
435
+ `--roles` for the initial 36-component/40-role coverage; app implementation and
436
+ visual review remain separate.
305
437
 
306
438
  Maintainers run `npm run docs:sync-skill` after changes to exports, types, selection guidance, peers or tokens. `npm run check:skill` requires a fresh library build and rejects stale source-backed references, built declaration exports and broken reference links. `prepack` checks source-backed references without rebuilding; `prepublishOnly` builds fresh assets and verifies built guidance. `check:package` verifies the complete shipped skill, strictly compiles the basic recipes without optional peers and every recipe with its required peers, and executes installed shell/resource-page and workflow checks.
307
439
 
308
- Build portable consumer documentation with `npm run build` followed by `npm run build:docs`. The generated [static entry](dist-docs/index.html) links to `dist-docs/2.0.3/` for the current version. Each version preserves the complete skill and all declaration files, supports search with the same finder, and uses relative links under any hosting subdirectory. Serve the entire artifact over HTTP; it needs no external CDN. Run `npm run check:static-docs` to check generated asset paths. The future hosting destination remains pending.
440
+ Build portable consumer documentation with `npm run build` followed by `npm run build:docs`. The generated [static entry](dist-docs/index.html) links to `dist-docs/2.0.5/` for the current version. Each version preserves the complete skill and all declaration files, supports search with the same finder, and uses relative links under any hosting subdirectory. Serve the entire artifact over HTTP; it needs no external CDN. Run `npm run check:static-docs` to check generated asset paths. The future hosting destination remains pending.
309
441
 
310
442
  `npm run check:agent` runs focused agent-consumption fixtures and built skill alignment. `npm run check:release` performs the real serial local build/package/browser/agent/static-documentation gate; it does not publish or deploy. `npm run check:quick` runs the everyday core (contract, lint, design lint, typecheck, unit tests, build). See the [release guide](docs/releasing.md) and [draft changelog](CHANGELOG.md). There is no hosted CI; every check runs locally, when you choose. These commands verify locally; publication and deployment remain separate actions.
311
443
 
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "./lib/strings.js";
3
- import { t } from "./utils-BRhFDwuU.js";
4
- import { c as n } from "./typography-UTnveOEy.js";
3
+ import { t } from "./utils-B6kKb8jB.js";
4
+ import { c as n } from "./typography-BQnine1k.js";
5
5
  import { t as r } from "./focus-recipes-B653VaLq.js";
6
- import { t as i } from "./motion-recipes-ChBg4HBq.js";
7
- import { t as a } from "./structure-BmisBK-3.js";
6
+ import { t as i } from "./motion-recipes-DitYv6P2.js";
7
+ import { t as a } from "./structure-DuxKl954.js";
8
8
  import { t as o } from "./interaction-recipes-XR9ZpVYL.js";
9
9
  import { t as s } from "./disclosure-panel-B0HFNZ9x.js";
10
- import { t as c } from "./icon-badge-DYKIwvOV.js";
10
+ import { t as c } from "./icon-badge-DZF-YjQp.js";
11
11
  import * as l from "react";
12
12
  import { forwardRef as u } from "react";
13
13
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
@@ -61,7 +61,7 @@ function v({ className: e, children: n, render: r, ...a }) {
61
61
  var y = l.forwardRef(function({ className: e, ...n }, r) {
62
62
  return /* @__PURE__ */ d(h, {
63
63
  ref: r,
64
- className: t("accordion--component rounded-radius border-border bg-card text-card-foreground", e),
64
+ className: t("accordion--component rounded-surface border-border bg-card text-card-foreground", e),
65
65
  ...n
66
66
  });
67
67
  });
@@ -111,12 +111,12 @@ S.displayName = "AccordionContent";
111
111
  //#region src/components/base/accordion/accordion-variants.ts
112
112
  var C = {
113
113
  card: "gap-space-md border-0 rounded-none bg-transparent text-inherit overflow-visible",
114
- bordered: "rounded-radius border border-border bg-card text-card-foreground overflow-hidden",
115
- flat: "border-0 rounded-none bg-transparent text-inherit overflow-visible"
114
+ bordered: "rounded-surface border border-border bg-card text-card-foreground overflow-hidden",
115
+ flat: "-mx-row-x w-auto border-0 rounded-none bg-transparent text-inherit overflow-visible"
116
116
  }, w = {
117
- card: "border border-border bg-card text-card-foreground rounded-radius overflow-hidden",
117
+ card: "border border-border bg-card text-card-foreground rounded-surface overflow-hidden",
118
118
  bordered: "bg-transparent not-last:border-b border-border",
119
- flat: "border-0 not-last:border-b-0 bg-transparent rounded-radius overflow-hidden"
119
+ flat: "border-0 not-last:border-b-0 bg-transparent rounded-surface overflow-hidden"
120
120
  }, T = "items-center gap-space-lg px-row-x py-row-y text-start hover:no-underline", E = {
121
121
  withMedallion: "ps-[calc(var(--row-x)*var(--space-scale)+var(--avatar)+0.75rem*var(--space-scale))] pe-row-x pt-0",
122
122
  withInline: "ps-[calc(var(--row-x)*var(--space-scale)+var(--icon)*1.25+0.75rem*var(--space-scale))] pe-row-x pt-0",
@@ -205,4 +205,4 @@ function A({ iconStyle: e, icon: n, reserveSpace: r }) {
205
205
  //#endregion
206
206
  export { C as a, S as c, w as i, b as l, D as n, T as o, E as r, y as s, O as t, x as u };
207
207
 
208
- //# sourceMappingURL=accordion-Cjb6sx0G.js.map
208
+ //# sourceMappingURL=accordion-B9MHG0cT.js.map