themelia-react-ui 1.0.1 → 2.0.0

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 (640) hide show
  1. package/CHANGELOG.md +417 -0
  2. package/README.md +67 -16
  3. package/dist/{accordion-B-5Focs8.js → accordion-CQXVcd7Q.js} +15 -15
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CCIXb2A1.js +68 -0
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-B5tPpXnS.js → ai-artifact-2PQ2fItc.js} +206 -215
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-at8Kt4l_.js → app-shell-BE_j8-AT.js} +11 -10
  12. package/dist/app-shell-BE_j8-AT.js.map +1 -0
  13. package/dist/{attachment-BO2R47wn.js → attachment-q69dlt5Y.js} +14 -14
  14. package/dist/attachment-q69dlt5Y.js.map +1 -0
  15. package/dist/auth-M3vGMgDR.js +723 -0
  16. package/dist/auth-M3vGMgDR.js.map +1 -0
  17. package/dist/{avatar-Bpzty83c.js → avatar-djdaaQ_s.js} +15 -13
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-BZXZT9wd.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +3 -2
  27. package/dist/base/cards.js +3 -3
  28. package/dist/base/carousel.js +33 -35
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +246 -222
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +3 -3
  39. package/dist/base/display.js +7 -7
  40. package/dist/base/feedback.js +4 -4
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +94 -92
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +53 -53
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +84 -82
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +7 -7
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +228 -219
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +182 -212
  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 +665 -620
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +2 -2
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1439 -1553
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +88 -97
  84. package/dist/blocks/planning.js.map +1 -1
  85. package/dist/blocks/timelines.js +1 -1
  86. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BG_FfMK4.js} +10 -9
  87. package/dist/breadcrumbs-BG_FfMK4.js.map +1 -0
  88. package/dist/button-BS3KDg00.js +674 -0
  89. package/dist/button-BS3KDg00.js.map +1 -0
  90. package/dist/{button-BS6l5JUw.js → button-R9CCoH7A.js} +3 -3
  91. package/dist/button-R9CCoH7A.js.map +1 -0
  92. package/dist/buttons-DS0ZIwJ_.js +99 -0
  93. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  94. package/dist/{cards-Cum56XOF.js → cards-QoJ4syG9.js} +12 -12
  95. package/dist/{cards-Cum56XOF.js.map → cards-QoJ4syG9.js.map} +1 -1
  96. package/dist/chart-DwYRKKc-.js +152 -0
  97. package/dist/chart-DwYRKKc-.js.map +1 -0
  98. package/dist/checkbox-B7ygNTYp.js +35 -0
  99. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  100. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  101. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  102. package/dist/{code-block-xHKbAJDj.js → code-block-CD0B7M93.js} +27 -27
  103. package/dist/code-block-CD0B7M93.js.map +1 -0
  104. package/dist/{collapsible-DsnktFNv.js → collapsible-oMUGM4tr.js} +3 -3
  105. package/dist/{collapsible-DsnktFNv.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  106. package/dist/{collection-content-C4fthJV_.js → collection-content-Ys-OZOkY.js} +3 -3
  107. package/dist/{collection-content-C4fthJV_.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  108. package/dist/combobox-6dvVny2q.js +272 -0
  109. package/dist/combobox-6dvVny2q.js.map +1 -0
  110. package/dist/combobox-CB7039j7.js +865 -0
  111. package/dist/combobox-CB7039j7.js.map +1 -0
  112. package/dist/{command-C0xe7u9B.js → command-kPMPjIxJ.js} +35 -31
  113. package/dist/command-kPMPjIxJ.js.map +1 -0
  114. package/dist/{comments-DviPLnwy.js → comments-You0Bzbr.js} +434 -409
  115. package/dist/comments-You0Bzbr.js.map +1 -0
  116. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  117. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  118. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  119. package/dist/components/base/badge/badge.d.ts +1 -1
  120. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  121. package/dist/components/base/buttons/base-button.d.ts +7 -0
  122. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  123. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  124. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  125. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  126. package/dist/components/base/buttons/text-button.d.ts +2 -2
  127. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  128. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  129. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  130. package/dist/components/base/cards/smart-card.types.d.ts +1 -1
  131. package/dist/components/base/carousel/carousel.d.ts +3 -1
  132. package/dist/components/base/chart/chart.d.ts +7 -7
  133. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  134. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  135. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  136. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  137. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  138. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  139. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  140. package/dist/components/base/date-pickers/datepicker.types.d.ts +16 -3
  141. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  142. package/dist/components/base/display/content-block.d.ts +4 -2
  143. package/dist/components/base/display/date-block.d.ts +1 -1
  144. package/dist/components/base/display/dialog.d.ts +12 -5
  145. package/dist/components/base/display/surface-title.d.ts +6 -1
  146. package/dist/components/base/feedback/alert.d.ts +1 -1
  147. package/dist/components/base/feedback/state-display.d.ts +5 -4
  148. package/dist/components/base/forms/form-field.d.ts +1 -0
  149. package/dist/components/base/forms/form-sizing.d.ts +35 -3
  150. package/dist/components/base/forms/workflow.d.ts +2 -0
  151. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  152. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  153. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  154. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  155. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  156. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  157. package/dist/components/base/navigation/tabs.d.ts +3 -5
  158. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  159. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  160. package/dist/components/base/sheet/index.d.ts +29 -1
  161. package/dist/components/base/sheet/sheet.d.ts +14 -5
  162. package/dist/components/base/spinner/spinner.d.ts +3 -2
  163. package/dist/components/base/structure/structure.types.d.ts +1 -1
  164. package/dist/components/base/table/index.d.ts +1 -1
  165. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  166. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  167. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  168. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  169. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  170. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  171. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  172. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  173. package/dist/components/blocks/analytics/index.d.ts +1 -1
  174. package/dist/components/blocks/analytics/types.d.ts +1 -1
  175. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  176. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  177. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  178. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  180. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  181. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  182. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  183. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  184. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  185. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  186. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  187. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  188. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  189. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  190. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  191. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  192. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  193. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  194. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  195. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  196. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  197. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  198. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  199. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  200. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  201. package/dist/components/features/media-library/media-library.d.ts +1 -1
  202. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  203. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  204. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  205. package/dist/components/features/overlays/drawer.d.ts +1 -1
  206. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  207. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  208. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  209. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  210. package/dist/components/features/overlays/overlays.types.d.ts +46 -22
  211. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  212. package/dist/components/features/products/partials/index.d.ts +1 -1
  213. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  214. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  215. package/dist/components/features/products/products.types.d.ts +2 -1
  216. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  217. package/dist/components/features/table/data-table.d.ts +1 -1
  218. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  219. package/dist/components/features/table/table.types.d.ts +1 -1
  220. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  221. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  222. package/dist/components/layout/page/index.d.ts +1 -1
  223. package/dist/components/layout/page/page.d.ts +0 -1
  224. package/dist/components/layout/page/page.types.d.ts +62 -6
  225. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  226. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  227. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  228. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  229. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  230. package/dist/components/primitives/date.d.ts +16 -3
  231. package/dist/components/primitives/dimensions.d.ts +6 -0
  232. package/dist/components/primitives/duration.d.ts +6 -0
  233. package/dist/components/primitives/file-size.d.ts +6 -0
  234. package/dist/components/primitives/index.d.ts +1 -1
  235. package/dist/components/primitives/initials.d.ts +11 -2
  236. package/dist/components/primitives/link.d.ts +7 -0
  237. package/dist/components/primitives/money.d.ts +29 -7
  238. package/dist/components/primitives/number.d.ts +17 -0
  239. package/dist/components/primitives/value-typography.d.ts +54 -0
  240. package/dist/components/primitives/value.d.ts +31 -6
  241. package/dist/components/typography/heading.d.ts +13 -2
  242. package/dist/components/typography/index.d.ts +1 -1
  243. package/dist/components/typography/label.d.ts +3 -0
  244. package/dist/components/typography/running-text.d.ts +12 -0
  245. package/dist/components/typography/text-link.d.ts +23 -1
  246. package/dist/components/typography/text.d.ts +12 -0
  247. package/dist/components/typography/text.styles.d.ts +37 -5
  248. package/dist/components/ui/button.d.ts +1 -1
  249. package/dist/components/ui/checkbox.d.ts +5 -0
  250. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  251. package/dist/components/ui/popover.d.ts +1 -1
  252. package/dist/components/ui/select.d.ts +3 -1
  253. package/dist/components/ui/sidebar.d.ts +1 -1
  254. package/dist/components/ui/switch.d.ts +5 -0
  255. package/dist/components/ui/table.d.ts +2 -1
  256. package/dist/container.recipes-D9t8MHR3.js +27 -0
  257. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  258. package/dist/{containers-6s-ucRQQ.js → containers-D_L4mTVb.js} +34 -57
  259. package/dist/containers-D_L4mTVb.js.map +1 -0
  260. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  261. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  262. package/dist/{copyable-B7SBXJMr.js → copyable-DDjTeW_j.js} +6 -6
  263. package/dist/{copyable-B7SBXJMr.js.map → copyable-DDjTeW_j.js.map} +1 -1
  264. package/dist/data-display-3xWQUnMA.js +1335 -0
  265. package/dist/data-display-3xWQUnMA.js.map +1 -0
  266. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  267. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  268. package/dist/date-pickers-CnFCb0n2.js +174 -0
  269. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  270. package/dist/date-uf3z37Nm.js +144 -0
  271. package/dist/date-uf3z37Nm.js.map +1 -0
  272. package/dist/{display-CFM5myut.js → display-DrdvPwF0.js} +25 -25
  273. package/dist/display-DrdvPwF0.js.map +1 -0
  274. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-CURh59jb.js} +22 -15
  275. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  276. package/dist/features/activities.js +177 -163
  277. package/dist/features/activities.js.map +1 -1
  278. package/dist/features/ai-chat.js +187 -183
  279. package/dist/features/ai-chat.js.map +1 -1
  280. package/dist/features/async-preview.js +9 -9
  281. package/dist/features/async-preview.js.map +1 -1
  282. package/dist/features/combobox.js +1 -1
  283. package/dist/features/comments.js +1 -1
  284. package/dist/features/data-view.js +25 -23
  285. package/dist/features/data-view.js.map +1 -1
  286. package/dist/features/email-composer/engine.js +1 -1
  287. package/dist/features/email-composer.js +353 -355
  288. package/dist/features/email-composer.js.map +1 -1
  289. package/dist/features/event-calendar.js +346 -354
  290. package/dist/features/event-calendar.js.map +1 -1
  291. package/dist/features/filters.js +1 -1
  292. package/dist/features/global-search.js +225 -227
  293. package/dist/features/global-search.js.map +1 -1
  294. package/dist/features/kanban.js +29 -29
  295. package/dist/features/kanban.js.map +1 -1
  296. package/dist/features/map.js +59 -58
  297. package/dist/features/map.js.map +1 -1
  298. package/dist/features/media-library.js +898 -900
  299. package/dist/features/media-library.js.map +1 -1
  300. package/dist/features/mentions.js +1 -1
  301. package/dist/features/overlays.js +1 -1
  302. package/dist/features/products.js +1412 -1444
  303. package/dist/features/products.js.map +1 -1
  304. package/dist/features/questionnaire.js +51 -49
  305. package/dist/features/questionnaire.js.map +1 -1
  306. package/dist/features/resource-assignment.js +103 -97
  307. package/dist/features/resource-assignment.js.map +1 -1
  308. package/dist/features/resource.js +13 -13
  309. package/dist/features/resource.js.map +1 -1
  310. package/dist/features/rich-text-editor.js +2 -2
  311. package/dist/features/schema-form.js +187 -183
  312. package/dist/features/schema-form.js.map +1 -1
  313. package/dist/features/suggestions.js +3 -3
  314. package/dist/features/sync.js +7 -7
  315. package/dist/features/sync.js.map +1 -1
  316. package/dist/features/table.js +1 -1
  317. package/dist/features/theme-tweaker.js +508 -503
  318. package/dist/features/theme-tweaker.js.map +1 -1
  319. package/dist/{feedback-DWUkgEjR.js → feedback-C7nR0UtT.js} +30 -31
  320. package/dist/feedback-C7nR0UtT.js.map +1 -0
  321. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  322. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  323. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-C-MFBX_8.js} +5 -5
  324. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  325. package/dist/{filters-BhsUtsxW.js → filters-Da-gNPsE.js} +760 -765
  326. package/dist/filters-Da-gNPsE.js.map +1 -0
  327. package/dist/{form-field-Bn7ZH1rA.js → form-field-VZRULhUK.js} +20 -12
  328. package/dist/form-field-VZRULhUK.js.map +1 -0
  329. package/dist/form-sizing-uWP4lzVh.js +126 -0
  330. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  331. package/dist/{forms-B7pzS25o.js → forms-DDeEnXSY.js} +38 -38
  332. package/dist/forms-DDeEnXSY.js.map +1 -0
  333. package/dist/forms-numeric-D3CO60IF.js +905 -0
  334. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  335. package/dist/{header-C59QZyxV.js → header-2ycNqGOR.js} +42 -37
  336. package/dist/header-2ycNqGOR.js.map +1 -0
  337. package/dist/{hooks-CM1Vp9Pe.js → hooks-DQ5SPwZw.js} +2 -2
  338. package/dist/{hooks-CM1Vp9Pe.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  339. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  340. package/dist/http-CdEIHyQf.js.map +1 -0
  341. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-DKlaKXoo.js} +4 -4
  342. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  343. package/dist/index.js +2 -2
  344. package/dist/input-BoLm9Hks.js +20 -0
  345. package/dist/input-BoLm9Hks.js.map +1 -0
  346. package/dist/input-DhQdBnV3.js +255 -0
  347. package/dist/input-DhQdBnV3.js.map +1 -0
  348. package/dist/item-xzh8Df65.js +264 -0
  349. package/dist/item-xzh8Df65.js.map +1 -0
  350. package/dist/layout/app-shell.js +1 -1
  351. package/dist/layout/auth.js +1 -1
  352. package/dist/layout/containers.js +1 -1
  353. package/dist/layout/header.js +1 -1
  354. package/dist/layout/hooks.js +1 -1
  355. package/dist/layout/navigation.js +1 -1
  356. package/dist/layout/page.js +1 -1
  357. package/dist/layout/settings.js +1 -1
  358. package/dist/layout/sidebar.js +2 -2
  359. package/dist/layout/workspace.js +1 -1
  360. package/dist/layout.js +10 -10
  361. package/dist/lib/affordance-geometry.generated.d.ts +46 -10
  362. package/dist/lib/control-group-recipes.d.ts +22 -0
  363. package/dist/lib/field-affordance-recipes.d.ts +70 -2
  364. package/dist/lib/field-state-recipes.d.ts +6 -4
  365. package/dist/lib/format.d.ts +9 -0
  366. package/dist/lib/money-format.d.ts +30 -0
  367. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  368. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -2
  369. package/dist/lib/surface-recipes.d.ts +13 -8
  370. package/dist/lib/token-merge.generated.d.ts +144 -2
  371. package/dist/lib/track-recipes.d.ts +1 -1
  372. package/dist/lib/ui-provider/provider.d.ts +7 -2
  373. package/dist/lib/ui-provider/store.d.ts +6 -2
  374. package/dist/lib/ui-provider/types.d.ts +9 -4
  375. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  376. package/dist/lib/utils.js +1 -1
  377. package/dist/media-gallery-DQUQ0m3O.js +201 -0
  378. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  379. package/dist/{mentions-B8Ko-fhS.js → mentions-DwnO1hh4.js} +40 -39
  380. package/dist/{mentions-B8Ko-fhS.js.map → mentions-DwnO1hh4.js.map} +1 -1
  381. package/dist/message-YfFmbXNP.js +127 -0
  382. package/dist/message-YfFmbXNP.js.map +1 -0
  383. package/dist/{navigation-BUIn2Qxx.js → navigation-Cbp5V8gG.js} +27 -28
  384. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  385. package/dist/navigation-Cs1npsPm.js +300 -0
  386. package/dist/navigation-Cs1npsPm.js.map +1 -0
  387. package/dist/{navigation-row-recipes-GVh11KiT.js → navigation-row-recipes-DlU-4QYO.js} +3 -3
  388. package/dist/navigation-row-recipes-DlU-4QYO.js.map +1 -0
  389. package/dist/number-CKRBYmZK.js +352 -0
  390. package/dist/number-CKRBYmZK.js.map +1 -0
  391. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  392. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  393. package/dist/overlays-DhZO7N-I.js +994 -0
  394. package/dist/overlays-DhZO7N-I.js.map +1 -0
  395. package/dist/page-C6R_8jFt.js +325 -0
  396. package/dist/page-C6R_8jFt.js.map +1 -0
  397. package/dist/{page-header-DQRa0jug.js → page-header-hUTzcRZX.js} +12 -12
  398. package/dist/page-header-hUTzcRZX.js.map +1 -0
  399. package/dist/{pagination-C29vvt3I.js → pagination-Cm0jqa3I.js} +21 -21
  400. package/dist/pagination-Cm0jqa3I.js.map +1 -0
  401. package/dist/{popover-CoLDEg19.js → popover-Dcv_9jxr.js} +23 -22
  402. package/dist/popover-Dcv_9jxr.js.map +1 -0
  403. package/dist/{popover-menu-GLIQTJTx.js → popover-menu-DnRFKnHP.js} +6 -6
  404. package/dist/{popover-menu-GLIQTJTx.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  405. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-wmbvL8Ah.js} +5 -5
  406. package/dist/popover.recipes-wmbvL8Ah.js.map +1 -0
  407. package/dist/primitives-BHrwQXFC.js +379 -0
  408. package/dist/primitives-BHrwQXFC.js.map +1 -0
  409. package/dist/primitives.js +5 -5
  410. package/dist/{progress-BOe8l_FZ.js → progress-Br9WTFya.js} +12 -11
  411. package/dist/progress-Br9WTFya.js.map +1 -0
  412. package/dist/{receipt-BM8xsGFy.js → receipt-CV89q1fs.js} +8 -8
  413. package/dist/{receipt-BM8xsGFy.js.map → receipt-CV89q1fs.js.map} +1 -1
  414. package/dist/rich-text-editor-CF8QYt5p.js +574 -0
  415. package/dist/rich-text-editor-CF8QYt5p.js.map +1 -0
  416. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-CnrbmTS1.js} +35 -26
  417. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +1 -0
  418. package/dist/{rich-text-B7sBAdDG.js → rich-text-j-FGAeZW.js} +4 -4
  419. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  420. package/dist/{scroll-area-BheMQ270.js → scroll-area-DRdr16Pt.js} +3 -3
  421. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  422. package/dist/{separator-DO0EbCEm.js → separator-BMEvwnSX.js} +2 -2
  423. package/dist/{separator-DO0EbCEm.js.map → separator-BMEvwnSX.js.map} +1 -1
  424. package/dist/{separator-Gk_WXH-l.js → separator-Do5GWDYi.js} +4 -4
  425. package/dist/separator-Do5GWDYi.js.map +1 -0
  426. package/dist/services/actions/action-adapters.d.ts +4 -0
  427. package/dist/services/actions.js +8 -3
  428. package/dist/services/actions.js.map +1 -1
  429. package/dist/{settings-BnCyyPOJ.js → settings-DHk0L2MF.js} +20 -19
  430. package/dist/settings-DHk0L2MF.js.map +1 -0
  431. package/dist/sheet-DRFNY1_D.js +207 -0
  432. package/dist/sheet-DRFNY1_D.js.map +1 -0
  433. package/dist/sidebar-Cb8WzOvE.js +511 -0
  434. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  435. package/dist/{sidebar-DPR7fmqN.js → sidebar-Crc9M9JV.js} +220 -201
  436. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  437. package/dist/{skeleton-CmT1ppqb.js → skeleton-DVMXr15h.js} +5 -5
  438. package/dist/{skeleton-CmT1ppqb.js.map → skeleton-DVMXr15h.js.map} +1 -1
  439. package/dist/smart-card-Bek-TwUp.js +599 -0
  440. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  441. package/dist/{spinner-BY9HbUEh.js → spinner-CmTAbEp0.js} +8 -6
  442. package/dist/spinner-CmTAbEp0.js.map +1 -0
  443. package/dist/{structure-MvKVq-oL.js → structure-hzCW-XsV.js} +3 -3
  444. package/dist/{structure-MvKVq-oL.js.map → structure-hzCW-XsV.js.map} +1 -1
  445. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  446. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  447. package/dist/style.css +1 -1
  448. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  449. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  450. package/dist/table-D6zKeYQX.js +162 -0
  451. package/dist/table-D6zKeYQX.js.map +1 -0
  452. package/dist/table-Dn4XSrSB.js +1444 -0
  453. package/dist/table-Dn4XSrSB.js.map +1 -0
  454. package/dist/tabs-Dk8E_knt.js +189 -0
  455. package/dist/tabs-Dk8E_knt.js.map +1 -0
  456. package/dist/text-inputs-BFpku0Qd.js +331 -0
  457. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  458. package/dist/{text.styles-BwB7vAF2.js → text.styles-g4He6UIW.js} +26 -15
  459. package/dist/text.styles-g4He6UIW.js.map +1 -0
  460. package/dist/theme.css +90 -124
  461. package/dist/themes/green.css +24 -0
  462. package/dist/{timelines-B9ICkQcV.js → timelines-CxuAFIc2.js} +97 -104
  463. package/dist/timelines-CxuAFIc2.js.map +1 -0
  464. package/dist/track-recipes-CDcKmndW.js +10 -0
  465. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  466. package/dist/{tree-BdWSaoFT.js → tree-BotPlyiD.js} +13 -13
  467. package/dist/{tree-BdWSaoFT.js.map → tree-BotPlyiD.js.map} +1 -1
  468. package/dist/typography/rich-text.js +1 -1
  469. package/dist/typography-CAr3dQhX.js +116 -0
  470. package/dist/typography-CAr3dQhX.js.map +1 -0
  471. package/dist/typography.js +2 -2
  472. package/dist/{ui-provider-CftIB6TY.js → ui-provider-D2_TeLqw.js} +22 -22
  473. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  474. package/dist/ui-provider.js +1 -1
  475. package/dist/{upload-D8Za5x_c.js → upload-B0WHW7ak.js} +278 -274
  476. package/dist/upload-B0WHW7ak.js.map +1 -0
  477. package/dist/{upload-queue-hIIYBLS7.js → upload-queue-BHZ_wBfd.js} +72 -75
  478. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  479. package/dist/{usage-card-DnmnJ58D.js → usage-card-U0YBLTNT.js} +31 -33
  480. package/dist/usage-card-U0YBLTNT.js.map +1 -0
  481. package/dist/utils-Cospvlj1.js +4445 -0
  482. package/dist/utils-Cospvlj1.js.map +1 -0
  483. package/dist/value-inputs-CjfzGMsN.js +854 -0
  484. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  485. package/dist/value-typography-Deb3yQZg.js +116 -0
  486. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  487. package/dist/{workspace-C1PZmk8L.js → workspace-YoFjXi6i.js} +97 -105
  488. package/dist/workspace-YoFjXi6i.js.map +1 -0
  489. package/docs/consumer-skill/SKILL.md +123 -119
  490. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  491. package/docs/consumer-skill/examples/app-layout.tsx +42 -14
  492. package/docs/consumer-skill/examples/detail.tsx +20 -5
  493. package/docs/consumer-skill/examples/edit.tsx +1 -1
  494. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  495. package/docs/consumer-skill/examples/manifest.json +37 -3
  496. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  497. package/docs/consumer-skill/examples/website.tsx +56 -0
  498. package/docs/consumer-skill/references/analytics.md +70 -0
  499. package/docs/consumer-skill/references/composition.md +195 -9
  500. package/docs/consumer-skill/references/design-contract.md +33 -7
  501. package/docs/consumer-skill/references/discovery.md +80 -5
  502. package/docs/consumer-skill/references/installation.md +22 -0
  503. package/docs/consumer-skill/references/integration.md +46 -1
  504. package/docs/consumer-skill/references/public-api.json +2083 -237
  505. package/docs/consumer-skill/references/review.md +74 -6
  506. package/docs/consumer-skill/references/theming.md +59 -8
  507. package/docs/consumer-skill/references/tokens.json +180 -9
  508. package/docs/consumer-skill/references/workflows.md +34 -0
  509. package/docs/consumer-skill/scripts/check-composition.mjs +1 -1
  510. package/docs/consumer-skill/scripts/composition-policy.mjs +271 -18
  511. package/docs/consumer-skill/scripts/discovery.mjs +69 -9
  512. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  513. package/docs/consumer-skill/scripts/surface-policy.mjs +44 -0
  514. package/package.json +11 -6
  515. package/dist/accordion-B-5Focs8.js.map +0 -1
  516. package/dist/action-menu-Cx3SdfbN.js +0 -265
  517. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  518. package/dist/affordance-geometry.generated-D8Jcfb0G.js +0 -32
  519. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +0 -1
  520. package/dist/ai-artifact-B5tPpXnS.js.map +0 -1
  521. package/dist/app-shell-at8Kt4l_.js.map +0 -1
  522. package/dist/attachment-BO2R47wn.js.map +0 -1
  523. package/dist/auth-OFwWSAap.js +0 -704
  524. package/dist/auth-OFwWSAap.js.map +0 -1
  525. package/dist/avatar-Bpzty83c.js.map +0 -1
  526. package/dist/badge-BZXZT9wd.js.map +0 -1
  527. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  528. package/dist/button-BS6l5JUw.js.map +0 -1
  529. package/dist/buttons-Co6GavvM.js +0 -674
  530. package/dist/buttons-Co6GavvM.js.map +0 -1
  531. package/dist/chart-DVfcwQu6.js +0 -149
  532. package/dist/chart-DVfcwQu6.js.map +0 -1
  533. package/dist/checkbox-BavDRjF7.js +0 -34
  534. package/dist/checkbox-BavDRjF7.js.map +0 -1
  535. package/dist/choice-inputs-CC7XqPQO.js +0 -619
  536. package/dist/choice-inputs-CC7XqPQO.js.map +0 -1
  537. package/dist/code-block-xHKbAJDj.js.map +0 -1
  538. package/dist/combobox-DEbdr-3u.js +0 -273
  539. package/dist/combobox-DEbdr-3u.js.map +0 -1
  540. package/dist/combobox-xv3yJbzl.js +0 -850
  541. package/dist/combobox-xv3yJbzl.js.map +0 -1
  542. package/dist/command-C0xe7u9B.js.map +0 -1
  543. package/dist/comments-DviPLnwy.js.map +0 -1
  544. package/dist/containers-6s-ucRQQ.js.map +0 -1
  545. package/dist/data-display-cWIRdeaf.js +0 -1129
  546. package/dist/data-display-cWIRdeaf.js.map +0 -1
  547. package/dist/date-BFNMnrS5.js +0 -140
  548. package/dist/date-BFNMnrS5.js.map +0 -1
  549. package/dist/date-picker-CA6ogMQB.js +0 -1521
  550. package/dist/date-picker-CA6ogMQB.js.map +0 -1
  551. package/dist/date-pickers-BPIKLdsD.js +0 -224
  552. package/dist/date-pickers-BPIKLdsD.js.map +0 -1
  553. package/dist/display-CFM5myut.js.map +0 -1
  554. package/dist/dropdown-menu-BlnyHr-9.js.map +0 -1
  555. package/dist/feedback-DWUkgEjR.js.map +0 -1
  556. package/dist/field-affordance-recipes-IjzPrCTw.js +0 -17
  557. package/dist/field-affordance-recipes-IjzPrCTw.js.map +0 -1
  558. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  559. package/dist/filters-BhsUtsxW.js.map +0 -1
  560. package/dist/form-field-Bn7ZH1rA.js.map +0 -1
  561. package/dist/form-sizing-BWs70_a2.js +0 -100
  562. package/dist/form-sizing-BWs70_a2.js.map +0 -1
  563. package/dist/format-iamDSqs2.js +0 -110
  564. package/dist/format-iamDSqs2.js.map +0 -1
  565. package/dist/forms-B7pzS25o.js.map +0 -1
  566. package/dist/forms-numeric-BUBxELBv.js +0 -867
  567. package/dist/forms-numeric-BUBxELBv.js.map +0 -1
  568. package/dist/header-C59QZyxV.js.map +0 -1
  569. package/dist/http-CLTVJc5I.js.map +0 -1
  570. package/dist/input-WwYQZJzG.js +0 -202
  571. package/dist/input-WwYQZJzG.js.map +0 -1
  572. package/dist/input-ci9fIgFH.js +0 -20
  573. package/dist/input-ci9fIgFH.js.map +0 -1
  574. package/dist/item-pJ0GsOiJ.js +0 -257
  575. package/dist/item-pJ0GsOiJ.js.map +0 -1
  576. package/dist/media-gallery-DhDRgnVZ.js +0 -200
  577. package/dist/media-gallery-DhDRgnVZ.js.map +0 -1
  578. package/dist/message-COsdEvXT.js +0 -108
  579. package/dist/message-COsdEvXT.js.map +0 -1
  580. package/dist/navigation-BUIn2Qxx.js.map +0 -1
  581. package/dist/navigation-DBEu4POU.js +0 -267
  582. package/dist/navigation-DBEu4POU.js.map +0 -1
  583. package/dist/navigation-row-recipes-GVh11KiT.js.map +0 -1
  584. package/dist/number-BNT_BIzJ.js +0 -269
  585. package/dist/number-BNT_BIzJ.js.map +0 -1
  586. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  587. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  588. package/dist/overlays-B11wZka6.js +0 -982
  589. package/dist/overlays-B11wZka6.js.map +0 -1
  590. package/dist/page-BV6ioQg3.js +0 -202
  591. package/dist/page-BV6ioQg3.js.map +0 -1
  592. package/dist/page-header-DQRa0jug.js.map +0 -1
  593. package/dist/pagination-C29vvt3I.js.map +0 -1
  594. package/dist/popover-CoLDEg19.js.map +0 -1
  595. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  596. package/dist/primitives-DKPOGVpj.js +0 -330
  597. package/dist/primitives-DKPOGVpj.js.map +0 -1
  598. package/dist/progress-BOe8l_FZ.js.map +0 -1
  599. package/dist/rich-text-editor-CoVrTiSv.js +0 -575
  600. package/dist/rich-text-editor-CoVrTiSv.js.map +0 -1
  601. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  602. package/dist/scroll-area-BheMQ270.js.map +0 -1
  603. package/dist/select-B2mb-qN2.js +0 -108
  604. package/dist/select-B2mb-qN2.js.map +0 -1
  605. package/dist/separator-Gk_WXH-l.js.map +0 -1
  606. package/dist/settings-BnCyyPOJ.js.map +0 -1
  607. package/dist/sheet-B-q914Ad.js +0 -205
  608. package/dist/sheet-B-q914Ad.js.map +0 -1
  609. package/dist/sidebar-C_2p3Tfj.js +0 -501
  610. package/dist/sidebar-C_2p3Tfj.js.map +0 -1
  611. package/dist/sidebar-DPR7fmqN.js.map +0 -1
  612. package/dist/smart-card-CYLn46e6.js +0 -578
  613. package/dist/smart-card-CYLn46e6.js.map +0 -1
  614. package/dist/spinner-BY9HbUEh.js.map +0 -1
  615. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  616. package/dist/surface-recipes-CQfRr-VL.js +0 -27
  617. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  618. package/dist/table-BS39xnlq.js +0 -1424
  619. package/dist/table-BS39xnlq.js.map +0 -1
  620. package/dist/table-DnlAJ-xR.js +0 -146
  621. package/dist/table-DnlAJ-xR.js.map +0 -1
  622. package/dist/tabs-B5cNMWiP.js +0 -187
  623. package/dist/tabs-B5cNMWiP.js.map +0 -1
  624. package/dist/text-inputs-Dh9XGyiS.js +0 -331
  625. package/dist/text-inputs-Dh9XGyiS.js.map +0 -1
  626. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  627. package/dist/timelines-B9ICkQcV.js.map +0 -1
  628. package/dist/track-recipes-LLPNVwFg.js +0 -10
  629. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  630. package/dist/typography-Cv8MT-82.js +0 -96
  631. package/dist/typography-Cv8MT-82.js.map +0 -1
  632. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  633. package/dist/upload-D8Za5x_c.js.map +0 -1
  634. package/dist/upload-queue-hIIYBLS7.js.map +0 -1
  635. package/dist/usage-card-DnmnJ58D.js.map +0 -1
  636. package/dist/utils-C2EKeIw3.js +0 -72
  637. package/dist/utils-C2EKeIw3.js.map +0 -1
  638. package/dist/value-inputs-DX2dbxjj.js +0 -824
  639. package/dist/value-inputs-DX2dbxjj.js.map +0 -1
  640. package/dist/workspace-C1PZmk8L.js.map +0 -1
@@ -2,10 +2,11 @@
2
2
  "schemaVersion": 1,
3
3
  "discoveryVersion": 1,
4
4
  "package": "themelia-react-ui",
5
- "version": "1.0.1",
5
+ "version": "2.0.0",
6
6
  "stylesheets": [
7
7
  "themelia-react-ui/style.css",
8
8
  "themelia-react-ui/theme.css",
9
+ "themelia-react-ui/themes/green.css",
9
10
  "themelia-react-ui/features/map/style.css"
10
11
  ],
11
12
  "peers": [
@@ -240,7 +241,8 @@
240
241
  "tags": [],
241
242
  "aliases": [],
242
243
  "sections": [],
243
- "guidance": []
244
+ "guidance": [],
245
+ "recipes": []
244
246
  },
245
247
  {
246
248
  "import": "themelia-react-ui/action-presentation",
@@ -257,7 +259,8 @@
257
259
  "tags": [],
258
260
  "aliases": [],
259
261
  "sections": [],
260
- "guidance": []
262
+ "guidance": [],
263
+ "recipes": []
261
264
  },
262
265
  {
263
266
  "import": "themelia-react-ui/base/accordion",
@@ -349,7 +352,8 @@
349
352
  "themelia-react-ui/base/display"
350
353
  ]
351
354
  }
352
- ]
355
+ ],
356
+ "recipes": []
353
357
  },
354
358
  {
355
359
  "import": "themelia-react-ui/base/action-menu",
@@ -524,7 +528,8 @@
524
528
  "themelia-react-ui/features/overlays"
525
529
  ]
526
530
  }
527
- ]
531
+ ],
532
+ "recipes": []
528
533
  },
529
534
  {
530
535
  "import": "themelia-react-ui/base/attachment",
@@ -588,6 +593,21 @@
588
593
  "sections": [],
589
594
  "alternatives": []
590
595
  }
596
+ ],
597
+ "recipes": [
598
+ {
599
+ "file": "examples/content-workflow.tsx",
600
+ "exports": [
601
+ "ReviewMessage"
602
+ ],
603
+ "symbols": [
604
+ "Attachment"
605
+ ],
606
+ "references": [
607
+ "references/composition.md#files-code-and-messages"
608
+ ],
609
+ "optionalPeers": []
610
+ }
591
611
  ]
592
612
  },
593
613
  {
@@ -807,7 +827,8 @@
807
827
  "themelia-react-ui/base/avatar"
808
828
  ]
809
829
  }
810
- ]
830
+ ],
831
+ "recipes": []
811
832
  },
812
833
  {
813
834
  "import": "themelia-react-ui/base/badge",
@@ -876,6 +897,21 @@
876
897
  "themelia-react-ui/base/display"
877
898
  ]
878
899
  }
900
+ ],
901
+ "recipes": [
902
+ {
903
+ "file": "examples/composition.tsx",
904
+ "exports": [
905
+ "AccountComposition"
906
+ ],
907
+ "symbols": [
908
+ "Badge"
909
+ ],
910
+ "references": [
911
+ "references/workflows.md#destructive-confirmation"
912
+ ],
913
+ "optionalPeers": []
914
+ }
879
915
  ]
880
916
  },
881
917
  {
@@ -1097,6 +1133,111 @@
1097
1133
  "themelia-react-ui/typography"
1098
1134
  ]
1099
1135
  }
1136
+ ],
1137
+ "recipes": [
1138
+ {
1139
+ "file": "examples/composition.tsx",
1140
+ "exports": [
1141
+ "AccountComposition"
1142
+ ],
1143
+ "symbols": [
1144
+ "Button"
1145
+ ],
1146
+ "references": [
1147
+ "references/workflows.md#destructive-confirmation"
1148
+ ],
1149
+ "optionalPeers": []
1150
+ },
1151
+ {
1152
+ "file": "examples/destructive-confirm.tsx",
1153
+ "exports": [
1154
+ "DeleteAccount"
1155
+ ],
1156
+ "symbols": [
1157
+ "Button"
1158
+ ],
1159
+ "references": [
1160
+ "references/workflows.md#destructive-confirmation"
1161
+ ],
1162
+ "optionalPeers": []
1163
+ },
1164
+ {
1165
+ "file": "examples/detail.tsx",
1166
+ "exports": [
1167
+ "AccountDetail"
1168
+ ],
1169
+ "symbols": [
1170
+ "Button"
1171
+ ],
1172
+ "references": [
1173
+ "references/analytics.md#usage-facts-and-verification",
1174
+ "references/composition.md#application-layouts",
1175
+ "references/workflows.md#detail-and-framing",
1176
+ "references/workflows.md#single-resource-page"
1177
+ ],
1178
+ "optionalPeers": []
1179
+ },
1180
+ {
1181
+ "file": "examples/edit.tsx",
1182
+ "exports": [
1183
+ "AccountEdit"
1184
+ ],
1185
+ "symbols": [
1186
+ "Button"
1187
+ ],
1188
+ "references": [
1189
+ "references/workflows.md#validated-editing"
1190
+ ],
1191
+ "optionalPeers": [
1192
+ "react-hook-form"
1193
+ ]
1194
+ },
1195
+ {
1196
+ "file": "examples/index-table.tsx",
1197
+ "exports": [
1198
+ "AccountIndex"
1199
+ ],
1200
+ "symbols": [
1201
+ "Button"
1202
+ ],
1203
+ "references": [
1204
+ "references/workflows.md#index-and-navigation"
1205
+ ],
1206
+ "optionalPeers": [
1207
+ "@tanstack/react-table"
1208
+ ]
1209
+ },
1210
+ {
1211
+ "file": "examples/scoped-directory.tsx",
1212
+ "exports": [
1213
+ "ScopedDirectory"
1214
+ ],
1215
+ "symbols": [
1216
+ "Button"
1217
+ ],
1218
+ "references": [
1219
+ "references/composition.md#compose-from-the-task",
1220
+ "references/workflows.md#scoped-directory"
1221
+ ],
1222
+ "optionalPeers": [
1223
+ "@tanstack/react-table",
1224
+ "react-day-picker"
1225
+ ]
1226
+ },
1227
+ {
1228
+ "file": "examples/website.tsx",
1229
+ "exports": [
1230
+ "WebsiteLandingPage"
1231
+ ],
1232
+ "symbols": [
1233
+ "Button"
1234
+ ],
1235
+ "references": [
1236
+ "references/composition.md#public-websites-and-service-overviews",
1237
+ "references/composition.md#visual-heading-emphasis"
1238
+ ],
1239
+ "optionalPeers": []
1240
+ }
1100
1241
  ]
1101
1242
  },
1102
1243
  {
@@ -1131,6 +1272,15 @@
1131
1272
  "defaultSmartCardStrings",
1132
1273
  "hasRenderableContent"
1133
1274
  ],
1275
+ "deprecated": {
1276
+ "SmartCard": "Use Card.",
1277
+ "SmartCardAction": "Use CardAction.",
1278
+ "SmartCardProps": "Use CardProps.",
1279
+ "SmartCardSkeleton": "Use CardSkeleton.",
1280
+ "SmartCardSkeletonProps": "Use CardSkeletonProps.",
1281
+ "SmartCardStrings": "Use CardStrings.",
1282
+ "SmartCardSurface": "Use CardSurface."
1283
+ },
1134
1284
  "optionalPeers": [],
1135
1285
  "layer": "base",
1136
1286
  "responsibility": "Base family: Card.",
@@ -1144,7 +1294,10 @@
1144
1294
  "foundations"
1145
1295
  ],
1146
1296
  "aliases": [
1147
- "base/content-block"
1297
+ "base/content-block",
1298
+ "card header footer",
1299
+ "card padding",
1300
+ "card separators"
1148
1301
  ],
1149
1302
  "sections": [
1150
1303
  "Base components"
@@ -1174,7 +1327,10 @@
1174
1327
  "cards"
1175
1328
  ],
1176
1329
  "aliases": [
1177
- "base/content-block"
1330
+ "base/content-block",
1331
+ "card padding",
1332
+ "card header footer",
1333
+ "card separators"
1178
1334
  ],
1179
1335
  "section": "Base components",
1180
1336
  "browse": {
@@ -1210,7 +1366,10 @@
1210
1366
  },
1211
1367
  {
1212
1368
  "title": "Card actions",
1213
- "symbols": []
1369
+ "symbols": [
1370
+ "CardPrimaryAction",
1371
+ "CardActionStrip"
1372
+ ]
1214
1373
  },
1215
1374
  {
1216
1375
  "title": "Alerts",
@@ -1245,6 +1404,153 @@
1245
1404
  "themelia-react-ui/base/structure"
1246
1405
  ]
1247
1406
  }
1407
+ ],
1408
+ "recipes": [
1409
+ {
1410
+ "file": "examples/app-layout.tsx",
1411
+ "exports": [
1412
+ "WorkspaceLayout"
1413
+ ],
1414
+ "symbols": [
1415
+ "Card"
1416
+ ],
1417
+ "references": [
1418
+ "references/composition.md#application-layouts",
1419
+ "references/integration.md",
1420
+ "references/workflows.md#single-resource-page"
1421
+ ],
1422
+ "optionalPeers": []
1423
+ },
1424
+ {
1425
+ "file": "examples/composition.tsx",
1426
+ "exports": [
1427
+ "AccountComposition"
1428
+ ],
1429
+ "symbols": [
1430
+ "Card"
1431
+ ],
1432
+ "references": [
1433
+ "references/workflows.md#destructive-confirmation"
1434
+ ],
1435
+ "optionalPeers": []
1436
+ },
1437
+ {
1438
+ "file": "examples/detail.tsx",
1439
+ "exports": [
1440
+ "AccountDetail"
1441
+ ],
1442
+ "symbols": [
1443
+ "Card"
1444
+ ],
1445
+ "references": [
1446
+ "references/analytics.md#usage-facts-and-verification",
1447
+ "references/composition.md#application-layouts",
1448
+ "references/workflows.md#detail-and-framing",
1449
+ "references/workflows.md#single-resource-page"
1450
+ ],
1451
+ "optionalPeers": []
1452
+ },
1453
+ {
1454
+ "file": "examples/detail.tsx",
1455
+ "exports": [
1456
+ "AccountDetailPage"
1457
+ ],
1458
+ "symbols": [
1459
+ "Card"
1460
+ ],
1461
+ "references": [
1462
+ "references/analytics.md#usage-facts-and-verification",
1463
+ "references/composition.md#application-layouts",
1464
+ "references/workflows.md#detail-and-framing",
1465
+ "references/workflows.md#single-resource-page"
1466
+ ],
1467
+ "optionalPeers": []
1468
+ },
1469
+ {
1470
+ "file": "examples/edit.tsx",
1471
+ "exports": [
1472
+ "AccountEdit"
1473
+ ],
1474
+ "symbols": [
1475
+ "Card"
1476
+ ],
1477
+ "references": [
1478
+ "references/workflows.md#validated-editing"
1479
+ ],
1480
+ "optionalPeers": [
1481
+ "react-hook-form"
1482
+ ]
1483
+ },
1484
+ {
1485
+ "file": "examples/hierarchy-capture.tsx",
1486
+ "exports": [
1487
+ "HierarchyCapture"
1488
+ ],
1489
+ "symbols": [
1490
+ "Card"
1491
+ ],
1492
+ "references": [
1493
+ "references/composition.md#hierarchies-capture-and-guided-forms"
1494
+ ],
1495
+ "optionalPeers": []
1496
+ },
1497
+ {
1498
+ "file": "examples/hierarchy-capture.tsx",
1499
+ "exports": [
1500
+ "GuidedRequest"
1501
+ ],
1502
+ "symbols": [
1503
+ "Card"
1504
+ ],
1505
+ "references": [
1506
+ "references/composition.md#hierarchies-capture-and-guided-forms"
1507
+ ],
1508
+ "optionalPeers": []
1509
+ },
1510
+ {
1511
+ "file": "examples/index-table.tsx",
1512
+ "exports": [
1513
+ "AccountIndex"
1514
+ ],
1515
+ "symbols": [
1516
+ "Card"
1517
+ ],
1518
+ "references": [
1519
+ "references/workflows.md#index-and-navigation"
1520
+ ],
1521
+ "optionalPeers": [
1522
+ "@tanstack/react-table"
1523
+ ]
1524
+ },
1525
+ {
1526
+ "file": "examples/planning-usage-edit.tsx",
1527
+ "exports": [
1528
+ "WorkspaceSummary"
1529
+ ],
1530
+ "symbols": [
1531
+ "Card"
1532
+ ],
1533
+ "references": [
1534
+ "references/analytics.md#usage-facts-and-verification",
1535
+ "references/composition.md#task-and-usage-summaries-editable-fields",
1536
+ "references/workflows.md#task-summaries-usage-and-inline-editing"
1537
+ ],
1538
+ "optionalPeers": []
1539
+ },
1540
+ {
1541
+ "file": "examples/website.tsx",
1542
+ "exports": [
1543
+ "WebsiteLandingPage"
1544
+ ],
1545
+ "symbols": [
1546
+ "Card"
1547
+ ],
1548
+ "references": [
1549
+ "references/composition.md#public-websites-and-service-overviews",
1550
+ "references/composition.md#visual-heading-emphasis"
1551
+ ],
1552
+ "optionalPeers": []
1553
+ }
1248
1554
  ]
1249
1555
  },
1250
1556
  {
@@ -1346,7 +1652,8 @@
1346
1652
  "themelia-react-ui/base/structure"
1347
1653
  ]
1348
1654
  }
1349
- ]
1655
+ ],
1656
+ "recipes": []
1350
1657
  },
1351
1658
  {
1352
1659
  "import": "themelia-react-ui/base/cascader",
@@ -1402,6 +1709,21 @@
1402
1709
  "sections": [],
1403
1710
  "alternatives": []
1404
1711
  }
1712
+ ],
1713
+ "recipes": [
1714
+ {
1715
+ "file": "examples/hierarchy-capture.tsx",
1716
+ "exports": [
1717
+ "HierarchyCapture"
1718
+ ],
1719
+ "symbols": [
1720
+ "Cascader"
1721
+ ],
1722
+ "references": [
1723
+ "references/composition.md#hierarchies-capture-and-guided-forms"
1724
+ ],
1725
+ "optionalPeers": []
1726
+ }
1405
1727
  ]
1406
1728
  },
1407
1729
  {
@@ -1490,7 +1812,8 @@
1490
1812
  "themelia-react-ui/blocks/analytics"
1491
1813
  ]
1492
1814
  }
1493
- ]
1815
+ ],
1816
+ "recipes": []
1494
1817
  },
1495
1818
  {
1496
1819
  "import": "themelia-react-ui/base/choice-inputs",
@@ -1939,7 +2262,8 @@
1939
2262
  ],
1940
2263
  "alternatives": []
1941
2264
  }
1942
- ]
2265
+ ],
2266
+ "recipes": []
1943
2267
  },
1944
2268
  {
1945
2269
  "import": "themelia-react-ui/base/code-block",
@@ -1994,6 +2318,21 @@
1994
2318
  "sections": [],
1995
2319
  "alternatives": []
1996
2320
  }
2321
+ ],
2322
+ "recipes": [
2323
+ {
2324
+ "file": "examples/content-workflow.tsx",
2325
+ "exports": [
2326
+ "ReviewMessage"
2327
+ ],
2328
+ "symbols": [
2329
+ "CodeBlock"
2330
+ ],
2331
+ "references": [
2332
+ "references/composition.md#files-code-and-messages"
2333
+ ],
2334
+ "optionalPeers": []
2335
+ }
1997
2336
  ]
1998
2337
  },
1999
2338
  {
@@ -2087,7 +2426,8 @@
2087
2426
  ],
2088
2427
  "alternatives": []
2089
2428
  }
2090
- ]
2429
+ ],
2430
+ "recipes": []
2091
2431
  },
2092
2432
  {
2093
2433
  "import": "themelia-react-ui/base/command",
@@ -2173,7 +2513,8 @@
2173
2513
  "themelia-react-ui/features/global-search"
2174
2514
  ]
2175
2515
  }
2176
- ]
2516
+ ],
2517
+ "recipes": []
2177
2518
  },
2178
2519
  {
2179
2520
  "import": "themelia-react-ui/base/copyable",
@@ -2257,7 +2598,8 @@
2257
2598
  "themelia-react-ui/primitives"
2258
2599
  ]
2259
2600
  }
2260
- ]
2601
+ ],
2602
+ "recipes": []
2261
2603
  },
2262
2604
  {
2263
2605
  "import": "themelia-react-ui/base/date-pickers",
@@ -2501,7 +2843,8 @@
2501
2843
  ],
2502
2844
  "alternatives": []
2503
2845
  }
2504
- ]
2846
+ ],
2847
+ "recipes": []
2505
2848
  },
2506
2849
  {
2507
2850
  "import": "themelia-react-ui/base/display",
@@ -2554,6 +2897,14 @@
2554
2897
  "defaultContentBlockStrings",
2555
2898
  "defaultDateBlockStrings"
2556
2899
  ],
2900
+ "deprecated": {
2901
+ "ContentBlock": "Use Card with surface=\"flat\" and padding=\"none\" for unframed content.",
2902
+ "ContentBlockPadding": "Part of deprecated ContentBlock. Use Card with surface=\"flat\" and padding=\"none\" for unframed content.",
2903
+ "ContentBlockProps": "Part of deprecated ContentBlock. Use Card with surface=\"flat\" and padding=\"none\" for unframed content.",
2904
+ "ContentBlockStrings": "Part of deprecated ContentBlock. Use Card with surface=\"flat\" and padding=\"none\" for unframed content.",
2905
+ "ContentBlockSurface": "Part of deprecated ContentBlock. Use Card with surface=\"flat\" and padding=\"none\" for unframed content.",
2906
+ "ContentBlockTitleSize": "Part of deprecated ContentBlock. Use Card with surface=\"flat\" and padding=\"none\" for unframed content."
2907
+ },
2557
2908
  "optionalPeers": [],
2558
2909
  "layer": "base",
2559
2910
  "responsibility": "Base family: Boolean indicator; Collapsible; Date block; Icon badge; Placeholder pattern; Scroll area; Separator; Tooltip; Visually hidden.",
@@ -2979,6 +3330,21 @@
2979
3330
  "themelia-react-ui/base/display"
2980
3331
  ]
2981
3332
  }
3333
+ ],
3334
+ "recipes": [
3335
+ {
3336
+ "file": "examples/receipt.tsx",
3337
+ "exports": [
3338
+ "PurchaseReceipt"
3339
+ ],
3340
+ "symbols": [
3341
+ "Separator"
3342
+ ],
3343
+ "references": [
3344
+ "references/composition.md#receipts"
3345
+ ],
3346
+ "optionalPeers": []
3347
+ }
2982
3348
  ]
2983
3349
  },
2984
3350
  {
@@ -3332,6 +3698,24 @@
3332
3698
  "themelia-react-ui/base/spinner"
3333
3699
  ]
3334
3700
  }
3701
+ ],
3702
+ "recipes": [
3703
+ {
3704
+ "file": "examples/analytics.tsx",
3705
+ "exports": [
3706
+ "RevenueOverview"
3707
+ ],
3708
+ "symbols": [
3709
+ "ErrorState",
3710
+ "LoadingState"
3711
+ ],
3712
+ "references": [
3713
+ "references/analytics.md#dashboard-and-revenue-data"
3714
+ ],
3715
+ "optionalPeers": [
3716
+ "recharts"
3717
+ ]
3718
+ }
3335
3719
  ]
3336
3720
  },
3337
3721
  {
@@ -3804,6 +4188,23 @@
3804
4188
  "themelia-react-ui/features/schema-form"
3805
4189
  ]
3806
4190
  }
4191
+ ],
4192
+ "recipes": [
4193
+ {
4194
+ "file": "examples/edit.tsx",
4195
+ "exports": [
4196
+ "AccountEdit"
4197
+ ],
4198
+ "symbols": [
4199
+ "FormField"
4200
+ ],
4201
+ "references": [
4202
+ "references/workflows.md#validated-editing"
4203
+ ],
4204
+ "optionalPeers": [
4205
+ "react-hook-form"
4206
+ ]
4207
+ }
3807
4208
  ]
3808
4209
  },
3809
4210
  {
@@ -4252,7 +4653,8 @@
4252
4653
  ],
4253
4654
  "alternatives": []
4254
4655
  }
4255
- ]
4656
+ ],
4657
+ "recipes": []
4256
4658
  },
4257
4659
  {
4258
4660
  "import": "themelia-react-ui/base/inline-edit",
@@ -4336,6 +4738,23 @@
4336
4738
  "themelia-react-ui/features/resource-assignment"
4337
4739
  ]
4338
4740
  }
4741
+ ],
4742
+ "recipes": [
4743
+ {
4744
+ "file": "examples/planning-usage-edit.tsx",
4745
+ "exports": [
4746
+ "WorkspaceSummary"
4747
+ ],
4748
+ "symbols": [
4749
+ "InlineEdit"
4750
+ ],
4751
+ "references": [
4752
+ "references/analytics.md#usage-facts-and-verification",
4753
+ "references/composition.md#task-and-usage-summaries-editable-fields",
4754
+ "references/workflows.md#task-summaries-usage-and-inline-editing"
4755
+ ],
4756
+ "optionalPeers": []
4757
+ }
4339
4758
  ]
4340
4759
  },
4341
4760
  {
@@ -4442,6 +4861,21 @@
4442
4861
  "themelia-react-ui/blocks/data-display"
4443
4862
  ]
4444
4863
  }
4864
+ ],
4865
+ "recipes": [
4866
+ {
4867
+ "file": "examples/composition.tsx",
4868
+ "exports": [
4869
+ "AccountComposition"
4870
+ ],
4871
+ "symbols": [
4872
+ "Item"
4873
+ ],
4874
+ "references": [
4875
+ "references/workflows.md#destructive-confirmation"
4876
+ ],
4877
+ "optionalPeers": []
4878
+ }
4445
4879
  ]
4446
4880
  },
4447
4881
  {
@@ -4511,7 +4945,8 @@
4511
4945
  ],
4512
4946
  "alternatives": []
4513
4947
  }
4514
- ]
4948
+ ],
4949
+ "recipes": []
4515
4950
  },
4516
4951
  {
4517
4952
  "import": "themelia-react-ui/base/navigation",
@@ -4834,7 +5269,8 @@
4834
5269
  {
4835
5270
  "title": "API",
4836
5271
  "symbols": [
4837
- "NavigationTabs"
5272
+ "NavigationTabs",
5273
+ "TabsList"
4838
5274
  ]
4839
5275
  }
4840
5276
  ],
@@ -4968,7 +5404,8 @@
4968
5404
  ],
4969
5405
  "alternatives": []
4970
5406
  }
4971
- ]
5407
+ ],
5408
+ "recipes": []
4972
5409
  },
4973
5410
  {
4974
5411
  "import": "themelia-react-ui/base/popover",
@@ -5056,7 +5493,8 @@
5056
5493
  "themelia-react-ui/features/overlays"
5057
5494
  ]
5058
5495
  }
5059
- ]
5496
+ ],
5497
+ "recipes": []
5060
5498
  },
5061
5499
  {
5062
5500
  "import": "themelia-react-ui/base/popover-menu",
@@ -5147,7 +5585,8 @@
5147
5585
  "themelia-react-ui/base/popover"
5148
5586
  ]
5149
5587
  }
5150
- ]
5588
+ ],
5589
+ "recipes": []
5151
5590
  },
5152
5591
  {
5153
5592
  "import": "themelia-react-ui/base/qr-code",
@@ -5220,7 +5659,8 @@
5220
5659
  "themelia-react-ui/primitives"
5221
5660
  ]
5222
5661
  }
5223
- ]
5662
+ ],
5663
+ "recipes": []
5224
5664
  },
5225
5665
  {
5226
5666
  "import": "themelia-react-ui/base/repeaters",
@@ -5601,7 +6041,8 @@
5601
6041
  ],
5602
6042
  "alternatives": []
5603
6043
  }
5604
- ]
6044
+ ],
6045
+ "recipes": []
5605
6046
  },
5606
6047
  {
5607
6048
  "import": "themelia-react-ui/base/sheet",
@@ -5617,11 +6058,22 @@
5617
6058
  "SheetTitle",
5618
6059
  "SheetTrigger"
5619
6060
  ],
6061
+ "deprecated": {
6062
+ "Sheet": "Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6063
+ "SheetBody": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6064
+ "SheetClose": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6065
+ "SheetContent": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6066
+ "SheetDescription": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6067
+ "SheetFooter": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6068
+ "SheetHeader": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6069
+ "SheetTitle": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`.",
6070
+ "SheetTrigger": "Part of deprecated Sheet. Use `ActionDrawer` from `themelia-react-ui/features/overlays`; it owns open state through `open`/`onOpenChange` or `trigger`."
6071
+ },
5620
6072
  "optionalPeers": [],
5621
6073
  "layer": "base",
5622
6074
  "responsibility": "Base family: Sheet.",
5623
6075
  "jobs": [
5624
- "A custom side-attached overlay needs low-level trigger/content/header/footer anatomy."
6076
+ "Maintaining code that still imports the deprecated Sheet parts."
5625
6077
  ],
5626
6078
  "tags": [
5627
6079
  "base",
@@ -5635,16 +6087,16 @@
5635
6087
  "guidance": [
5636
6088
  {
5637
6089
  "title": "Sheet",
5638
- "description": "A custom side-attached overlay needs low-level trigger/content/header/footer anatomy.",
6090
+ "description": "Maintaining code that still imports the deprecated Sheet parts.",
5639
6091
  "chooseWhen": [
5640
- "A custom side-attached overlay needs low-level trigger/content/header/footer anatomy."
6092
+ "Maintaining code that still imports the deprecated Sheet parts."
5641
6093
  ],
5642
6094
  "avoidWhen": [
5643
- "The workflow fits a centered dialog or the standard callback-driven drawer recipe."
6095
+ "Any new dialog, drawer or side panel: use ActionDialog, ConfirmDialog or ActionDrawer from features/overlays."
5644
6096
  ],
5645
6097
  "appOwned": [],
5646
6098
  "jobs": [
5647
- "A custom side-attached overlay needs low-level trigger/content/header/footer anatomy."
6099
+ "Maintaining code that still imports the deprecated Sheet parts."
5648
6100
  ],
5649
6101
  "tags": [
5650
6102
  "base",
@@ -5684,7 +6136,8 @@
5684
6136
  "themelia-react-ui/features/overlays"
5685
6137
  ]
5686
6138
  }
5687
- ]
6139
+ ],
6140
+ "recipes": []
5688
6141
  },
5689
6142
  {
5690
6143
  "import": "themelia-react-ui/base/sidebar",
@@ -5800,6 +6253,23 @@
5800
6253
  "themelia-react-ui/layout/sidebar"
5801
6254
  ]
5802
6255
  }
6256
+ ],
6257
+ "recipes": [
6258
+ {
6259
+ "file": "examples/app-layout.tsx",
6260
+ "exports": [
6261
+ "WorkspaceLayout"
6262
+ ],
6263
+ "symbols": [
6264
+ "SidebarTrigger"
6265
+ ],
6266
+ "references": [
6267
+ "references/composition.md#application-layouts",
6268
+ "references/integration.md",
6269
+ "references/workflows.md#single-resource-page"
6270
+ ],
6271
+ "optionalPeers": []
6272
+ }
5803
6273
  ]
5804
6274
  },
5805
6275
  {
@@ -5864,6 +6334,22 @@
5864
6334
  "sections": [],
5865
6335
  "alternatives": []
5866
6336
  }
6337
+ ],
6338
+ "recipes": [
6339
+ {
6340
+ "file": "examples/hierarchy-capture.tsx",
6341
+ "exports": [
6342
+ "HierarchyCapture"
6343
+ ],
6344
+ "symbols": [
6345
+ "SignaturePad",
6346
+ "SignaturePadValue"
6347
+ ],
6348
+ "references": [
6349
+ "references/composition.md#hierarchies-capture-and-guided-forms"
6350
+ ],
6351
+ "optionalPeers": []
6352
+ }
5867
6353
  ]
5868
6354
  },
5869
6355
  {
@@ -6145,7 +6631,8 @@
6145
6631
  ],
6146
6632
  "alternatives": []
6147
6633
  }
6148
- ]
6634
+ ],
6635
+ "recipes": []
6149
6636
  },
6150
6637
  {
6151
6638
  "import": "themelia-react-ui/base/spinner",
@@ -6232,7 +6719,8 @@
6232
6719
  "themelia-react-ui/base/skeleton"
6233
6720
  ]
6234
6721
  }
6235
- ]
6722
+ ],
6723
+ "recipes": []
6236
6724
  },
6237
6725
  {
6238
6726
  "import": "themelia-react-ui/base/structure",
@@ -6258,21 +6746,32 @@
6258
6746
  "layer": "base",
6259
6747
  "responsibility": "Base family: Structural composition.",
6260
6748
  "jobs": [
6261
- "Passive siblings need one-axis spacing, explicit responsive tracks, or available-width-driven equal tracks."
6749
+ "Compose layout blocks, vertical siblings, a horizontal row, wrapping actions, responsive grids and peer card gaps."
6262
6750
  ],
6263
6751
  "tags": [
6264
6752
  "base",
6265
6753
  "foundations",
6266
6754
  "structure"
6267
6755
  ],
6268
- "aliases": [],
6756
+ "aliases": [
6757
+ "copy gaps",
6758
+ "copy-gap",
6759
+ "horizontal row",
6760
+ "layout blocks",
6761
+ "peer card gaps",
6762
+ "title description spacing"
6763
+ ],
6764
+ "references": [
6765
+ "references/design-contract.md",
6766
+ "references/theming.md#copy-rhythm"
6767
+ ],
6269
6768
  "sections": [
6270
6769
  "Foundations"
6271
6770
  ],
6272
6771
  "guidance": [
6273
6772
  {
6274
6773
  "title": "Structural composition",
6275
- "description": "Passive siblings need one-axis spacing, explicit responsive tracks, or available-width-driven equal tracks.",
6774
+ "description": "Compose passive layout blocks with Stack rows, responsive Grid tracks, GridCell spans and available-width AdaptiveGrid.",
6276
6775
  "chooseWhen": [
6277
6776
  "Passive siblings need one-axis spacing, explicit responsive tracks, or available-width-driven equal tracks."
6278
6777
  ],
@@ -6281,14 +6780,18 @@
6281
6780
  ],
6282
6781
  "appOwned": [],
6283
6782
  "jobs": [
6284
- "Passive siblings need one-axis spacing, explicit responsive tracks, or available-width-driven equal tracks."
6783
+ "Compose layout blocks, vertical siblings, a horizontal row, wrapping actions, responsive grids and peer card gaps."
6285
6784
  ],
6286
6785
  "tags": [
6287
6786
  "base",
6288
6787
  "foundations",
6289
6788
  "structure"
6290
6789
  ],
6291
- "aliases": [],
6790
+ "aliases": [
6791
+ "layout blocks",
6792
+ "horizontal row",
6793
+ "peer card gaps"
6794
+ ],
6292
6795
  "section": "Foundations",
6293
6796
  "browse": {
6294
6797
  "category": "foundations",
@@ -6335,52 +6838,213 @@
6335
6838
  "themelia-react-ui/features/table"
6336
6839
  ]
6337
6840
  }
6338
- ]
6339
- },
6340
- {
6341
- "import": "themelia-react-ui/base/table",
6342
- "declaration": "dist/components/base/table/index.d.ts",
6343
- "symbols": [
6344
- "Table",
6345
- "TableBody",
6346
- "TableBodyProps",
6347
- "TableCaption",
6348
- "TableCaptionProps",
6349
- "TableCell",
6350
- "TableCellProps",
6351
- "TableFooter",
6352
- "TableFooterProps",
6353
- "TableHead",
6354
- "TableHeadProps",
6355
- "TableHeader",
6356
- "TableHeaderProps",
6357
- "TableProps",
6358
- "TableRow",
6359
- "TableRowProps"
6360
- ],
6361
- "optionalPeers": [],
6362
- "layer": "base",
6363
- "responsibility": "Base family: Table primitives.",
6364
- "jobs": [
6365
- "Custom semantic table markup only needs package-styled HTML table parts."
6366
- ],
6367
- "tags": [
6368
- "base",
6369
- "navigation & data",
6370
- "table"
6371
- ],
6372
- "aliases": [],
6373
- "sections": [
6374
- "Base components"
6375
6841
  ],
6376
- "guidance": [
6842
+ "recipes": [
6377
6843
  {
6378
- "title": "Table primitives",
6379
- "description": "Custom semantic table markup only needs package-styled HTML table parts.",
6380
- "chooseWhen": [
6381
- "Custom semantic table markup only needs package-styled HTML table parts."
6844
+ "file": "examples/composition.tsx",
6845
+ "exports": [
6846
+ "AccountComposition"
6382
6847
  ],
6383
- "avoidWhen": [
6848
+ "symbols": [
6849
+ "Grid",
6850
+ "Stack"
6851
+ ],
6852
+ "references": [
6853
+ "references/workflows.md#destructive-confirmation"
6854
+ ],
6855
+ "optionalPeers": []
6856
+ },
6857
+ {
6858
+ "file": "examples/content-workflow.tsx",
6859
+ "exports": [
6860
+ "ReviewMessage"
6861
+ ],
6862
+ "symbols": [
6863
+ "Stack"
6864
+ ],
6865
+ "references": [
6866
+ "references/composition.md#files-code-and-messages"
6867
+ ],
6868
+ "optionalPeers": []
6869
+ },
6870
+ {
6871
+ "file": "examples/destructive-confirm.tsx",
6872
+ "exports": [
6873
+ "DeleteAccount"
6874
+ ],
6875
+ "symbols": [
6876
+ "Stack"
6877
+ ],
6878
+ "references": [
6879
+ "references/workflows.md#destructive-confirmation"
6880
+ ],
6881
+ "optionalPeers": []
6882
+ },
6883
+ {
6884
+ "file": "examples/edit.tsx",
6885
+ "exports": [
6886
+ "AccountEdit"
6887
+ ],
6888
+ "symbols": [
6889
+ "Stack"
6890
+ ],
6891
+ "references": [
6892
+ "references/workflows.md#validated-editing"
6893
+ ],
6894
+ "optionalPeers": [
6895
+ "react-hook-form"
6896
+ ]
6897
+ },
6898
+ {
6899
+ "file": "examples/hierarchy-capture.tsx",
6900
+ "exports": [
6901
+ "HierarchyCapture"
6902
+ ],
6903
+ "symbols": [
6904
+ "Stack"
6905
+ ],
6906
+ "references": [
6907
+ "references/composition.md#hierarchies-capture-and-guided-forms"
6908
+ ],
6909
+ "optionalPeers": []
6910
+ },
6911
+ {
6912
+ "file": "examples/index-table.tsx",
6913
+ "exports": [
6914
+ "AccountIndex"
6915
+ ],
6916
+ "symbols": [
6917
+ "Stack"
6918
+ ],
6919
+ "references": [
6920
+ "references/workflows.md#index-and-navigation"
6921
+ ],
6922
+ "optionalPeers": [
6923
+ "@tanstack/react-table"
6924
+ ]
6925
+ },
6926
+ {
6927
+ "file": "examples/layout-blocks.tsx",
6928
+ "exports": [
6929
+ "LayoutBlocks"
6930
+ ],
6931
+ "symbols": [
6932
+ "Stack"
6933
+ ],
6934
+ "references": [
6935
+ "references/composition.md#horizontal-rows",
6936
+ "references/composition.md#main-and-aside-card-gaps",
6937
+ "references/composition.md#structure-and-spacing"
6938
+ ],
6939
+ "optionalPeers": []
6940
+ },
6941
+ {
6942
+ "file": "examples/planning-usage-edit.tsx",
6943
+ "exports": [
6944
+ "WorkspaceSummary"
6945
+ ],
6946
+ "symbols": [
6947
+ "AdaptiveGrid",
6948
+ "Stack"
6949
+ ],
6950
+ "references": [
6951
+ "references/analytics.md#usage-facts-and-verification",
6952
+ "references/composition.md#task-and-usage-summaries-editable-fields",
6953
+ "references/workflows.md#task-summaries-usage-and-inline-editing"
6954
+ ],
6955
+ "optionalPeers": []
6956
+ },
6957
+ {
6958
+ "file": "examples/receipt.tsx",
6959
+ "exports": [
6960
+ "PurchaseReceipt"
6961
+ ],
6962
+ "symbols": [
6963
+ "Stack"
6964
+ ],
6965
+ "references": [
6966
+ "references/composition.md#receipts"
6967
+ ],
6968
+ "optionalPeers": []
6969
+ },
6970
+ {
6971
+ "file": "examples/scoped-directory.tsx",
6972
+ "exports": [
6973
+ "ScopedDirectory"
6974
+ ],
6975
+ "symbols": [
6976
+ "Stack"
6977
+ ],
6978
+ "references": [
6979
+ "references/composition.md#compose-from-the-task",
6980
+ "references/workflows.md#scoped-directory"
6981
+ ],
6982
+ "optionalPeers": [
6983
+ "@tanstack/react-table",
6984
+ "react-day-picker"
6985
+ ]
6986
+ },
6987
+ {
6988
+ "file": "examples/website.tsx",
6989
+ "exports": [
6990
+ "WebsiteLandingPage"
6991
+ ],
6992
+ "symbols": [
6993
+ "Grid",
6994
+ "Stack"
6995
+ ],
6996
+ "references": [
6997
+ "references/composition.md#public-websites-and-service-overviews",
6998
+ "references/composition.md#visual-heading-emphasis"
6999
+ ],
7000
+ "optionalPeers": []
7001
+ }
7002
+ ]
7003
+ },
7004
+ {
7005
+ "import": "themelia-react-ui/base/table",
7006
+ "declaration": "dist/components/base/table/index.d.ts",
7007
+ "symbols": [
7008
+ "Table",
7009
+ "TableBody",
7010
+ "TableBodyProps",
7011
+ "TableCaption",
7012
+ "TableCaptionProps",
7013
+ "TableCell",
7014
+ "TableCellProps",
7015
+ "TableFooter",
7016
+ "TableFooterProps",
7017
+ "TableHead",
7018
+ "TableHeadProps",
7019
+ "TableHeader",
7020
+ "TableHeaderProps",
7021
+ "TableProps",
7022
+ "TableRow",
7023
+ "TableRowProps"
7024
+ ],
7025
+ "optionalPeers": [],
7026
+ "layer": "base",
7027
+ "responsibility": "Base family: Table primitives.",
7028
+ "jobs": [
7029
+ "Custom semantic table markup only needs package-styled HTML table parts."
7030
+ ],
7031
+ "tags": [
7032
+ "base",
7033
+ "navigation & data",
7034
+ "table"
7035
+ ],
7036
+ "aliases": [],
7037
+ "sections": [
7038
+ "Base components"
7039
+ ],
7040
+ "guidance": [
7041
+ {
7042
+ "title": "Table primitives",
7043
+ "description": "Custom semantic table markup only needs package-styled HTML table parts.",
7044
+ "chooseWhen": [
7045
+ "Custom semantic table markup only needs package-styled HTML table parts."
7046
+ ],
7047
+ "avoidWhen": [
6384
7048
  "Sorting, selection, density, sticky headers, row actions, or column behavior is required."
6385
7049
  ],
6386
7050
  "appOwned": [],
@@ -6417,7 +7081,8 @@
6417
7081
  "themelia-react-ui/features/table"
6418
7082
  ]
6419
7083
  }
6420
- ]
7084
+ ],
7085
+ "recipes": []
6421
7086
  },
6422
7087
  {
6423
7088
  "import": "themelia-react-ui/base/text-inputs",
@@ -6664,6 +7329,36 @@
6664
7329
  ],
6665
7330
  "alternatives": []
6666
7331
  }
7332
+ ],
7333
+ "recipes": [
7334
+ {
7335
+ "file": "examples/composition.tsx",
7336
+ "exports": [
7337
+ "AccountComposition"
7338
+ ],
7339
+ "symbols": [
7340
+ "Input"
7341
+ ],
7342
+ "references": [
7343
+ "references/workflows.md#destructive-confirmation"
7344
+ ],
7345
+ "optionalPeers": []
7346
+ },
7347
+ {
7348
+ "file": "examples/edit.tsx",
7349
+ "exports": [
7350
+ "AccountEdit"
7351
+ ],
7352
+ "symbols": [
7353
+ "Input"
7354
+ ],
7355
+ "references": [
7356
+ "references/workflows.md#validated-editing"
7357
+ ],
7358
+ "optionalPeers": [
7359
+ "react-hook-form"
7360
+ ]
7361
+ }
6667
7362
  ]
6668
7363
  },
6669
7364
  {
@@ -6740,7 +7435,8 @@
6740
7435
  "themelia-react-ui/base/forms"
6741
7436
  ]
6742
7437
  }
6743
- ]
7438
+ ],
7439
+ "recipes": []
6744
7440
  },
6745
7441
  {
6746
7442
  "import": "themelia-react-ui/base/tree",
@@ -6794,6 +7490,22 @@
6794
7490
  "sections": [],
6795
7491
  "alternatives": []
6796
7492
  }
7493
+ ],
7494
+ "recipes": [
7495
+ {
7496
+ "file": "examples/hierarchy-capture.tsx",
7497
+ "exports": [
7498
+ "HierarchyCapture"
7499
+ ],
7500
+ "symbols": [
7501
+ "Tree",
7502
+ "TreeNode"
7503
+ ],
7504
+ "references": [
7505
+ "references/composition.md#hierarchies-capture-and-guided-forms"
7506
+ ],
7507
+ "optionalPeers": []
7508
+ }
6797
7509
  ]
6798
7510
  },
6799
7511
  {
@@ -7075,7 +7787,8 @@
7075
7787
  ],
7076
7788
  "alternatives": []
7077
7789
  }
7078
- ]
7790
+ ],
7791
+ "recipes": []
7079
7792
  },
7080
7793
  {
7081
7794
  "import": "themelia-react-ui/base/upload-queue",
@@ -7201,7 +7914,8 @@
7201
7914
  ],
7202
7915
  "alternatives": []
7203
7916
  }
7204
- ]
7917
+ ],
7918
+ "recipes": []
7205
7919
  },
7206
7920
  {
7207
7921
  "import": "themelia-react-ui/base/value-inputs",
@@ -7495,7 +8209,8 @@
7495
8209
  ],
7496
8210
  "alternatives": []
7497
8211
  }
7498
- ]
8212
+ ],
8213
+ "recipes": []
7499
8214
  },
7500
8215
  {
7501
8216
  "import": "themelia-react-ui/blocks/admin",
@@ -7727,7 +8442,8 @@
7727
8442
  ],
7728
8443
  "alternatives": []
7729
8444
  }
7730
- ]
8445
+ ],
8446
+ "recipes": []
7731
8447
  },
7732
8448
  {
7733
8449
  "import": "themelia-react-ui/blocks/ai",
@@ -8826,7 +9542,8 @@
8826
9542
  ],
8827
9543
  "alternatives": []
8828
9544
  }
8829
- ]
9545
+ ],
9546
+ "recipes": []
8830
9547
  },
8831
9548
  {
8832
9549
  "import": "themelia-react-ui/blocks/analytics",
@@ -8840,6 +9557,7 @@
8840
9557
  "AnalyticsStrings",
8841
9558
  "ChartCard",
8842
9559
  "ChartCardProps",
9560
+ "FormatMetricValueOptions",
8843
9561
  "Metric",
8844
9562
  "MetricBar",
8845
9563
  "MetricBarProps",
@@ -8900,14 +9618,14 @@
8900
9618
  "responsibility": "Blocks family: Activity heatmap; Analytics bar; Analytics overview; Chart card; Comparison; Gradient cards; Metric parts; Micro chart grid; Stat cards; Time distribution.",
8901
9619
  "jobs": [
8902
9620
  "KPI values need trend, comparison, sparkline, bar, heatmap, or dashboard-grid semantics.",
9621
+ "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface.",
9622
+ "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer.",
8903
9623
  "Use Activity heatmap in an admin interface.",
8904
- "Use Analytics bar in an admin interface.",
8905
9624
  "Use Chart card in an admin interface.",
8906
9625
  "Use Comparison in an admin interface.",
8907
9626
  "Use Gradient cards in an admin interface.",
8908
9627
  "Use Metric parts in an admin interface.",
8909
9628
  "Use Micro chart grid in an admin interface.",
8910
- "Use Stat cards in an admin interface.",
8911
9629
  "Use Time distribution in an admin interface."
8912
9630
  ],
8913
9631
  "tags": [
@@ -8925,7 +9643,26 @@
8925
9643
  "stat-cards",
8926
9644
  "time-ruler"
8927
9645
  ],
8928
- "aliases": [],
9646
+ "aliases": [
9647
+ "KPI grid",
9648
+ "KPI strip",
9649
+ "dashboard KPIs",
9650
+ "dashboard metrics",
9651
+ "kpi",
9652
+ "kpi card",
9653
+ "metric card",
9654
+ "metric grid",
9655
+ "number card",
9656
+ "revenue card",
9657
+ "revenue overview",
9658
+ "single KPI",
9659
+ "single metric",
9660
+ "stat",
9661
+ "stat cards",
9662
+ "statistic cards",
9663
+ "statistics",
9664
+ "statistics cards"
9665
+ ],
8929
9666
  "sections": [
8930
9667
  "Blocks"
8931
9668
  ],
@@ -8939,7 +9676,11 @@
8939
9676
  "avoidWhen": [
8940
9677
  "The content is one simple label/value pair or factual metadata about an entity."
8941
9678
  ],
8942
- "appOwned": [],
9679
+ "appOwned": [
9680
+ "metric meaning, accepted values and comparison baselines",
9681
+ "transport, refresh and period changes",
9682
+ "choice of one tile, peer cards or a shared strip"
9683
+ ],
8943
9684
  "jobs": [
8944
9685
  "KPI values need trend, comparison, sparkline, bar, heatmap, or dashboard-grid semantics."
8945
9686
  ],
@@ -8972,19 +9713,34 @@
8972
9713
  },
8973
9714
  {
8974
9715
  "title": "Analytics bar",
8975
- "description": "`MetricBar` — horizontal KPI strip with hairline-divided cells. Pair with `MetricGrid` for card-style layouts.",
8976
- "chooseWhen": [],
8977
- "avoidWhen": [],
8978
- "appOwned": [],
9716
+ "description": "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer.",
9717
+ "chooseWhen": [
9718
+ "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer."
9719
+ ],
9720
+ "avoidWhen": [
9721
+ "Only one metric, quota usage, factual metadata or a bespoke chart is required."
9722
+ ],
9723
+ "appOwned": [
9724
+ "metric meaning, accepted values and comparison baselines",
9725
+ "requests, refresh and period changes",
9726
+ "error/empty/retry regions around the collection"
9727
+ ],
8979
9728
  "jobs": [
8980
- "Use Analytics bar in an admin interface."
9729
+ "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer."
8981
9730
  ],
8982
9731
  "tags": [
8983
9732
  "blocks",
8984
9733
  "analytics",
8985
9734
  "bar"
8986
9735
  ],
8987
- "aliases": [],
9736
+ "aliases": [
9737
+ "dashboard KPIs",
9738
+ "dashboard metrics",
9739
+ "revenue overview",
9740
+ "KPI grid",
9741
+ "metric grid",
9742
+ "KPI strip"
9743
+ ],
8988
9744
  "section": "Blocks",
8989
9745
  "browse": {
8990
9746
  "category": "domain-ui",
@@ -9009,7 +9765,12 @@
9009
9765
  ]
9010
9766
  }
9011
9767
  ],
9012
- "alternatives": []
9768
+ "alternatives": [
9769
+ "themelia-react-ui/base/chart",
9770
+ "themelia-react-ui/blocks/analytics",
9771
+ "themelia-react-ui/blocks/analytics/usage-card",
9772
+ "themelia-react-ui/blocks/data-display"
9773
+ ]
9013
9774
  },
9014
9775
  {
9015
9776
  "title": "Chart card",
@@ -9057,7 +9818,7 @@
9057
9818
  },
9058
9819
  {
9059
9820
  "title": "Comparison",
9060
- "description": "`MetricComparison` — side-by-side current vs previous with a tone-tinted delta box. Reuses the unified `MetricData` shape so currency/percent formatting carries through.",
9821
+ "description": "`MetricComparison` — side-by-side current vs previous with a signed delta badge. Reuses the unified `MetricData` shape so currency/percent formatting carries through.",
9061
9822
  "chooseWhen": [],
9062
9823
  "avoidWhen": [],
9063
9824
  "appOwned": [],
@@ -9267,19 +10028,40 @@
9267
10028
  },
9268
10029
  {
9269
10030
  "title": "Stat cards",
9270
- "description": "Two stat tile flavors built from the unified `Metric` component — `accent` (dark surface + sparkline) and `colored` (segmented progress bar).",
9271
- "chooseWhen": [],
9272
- "avoidWhen": [],
9273
- "appOwned": [],
10031
+ "description": "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface.",
10032
+ "chooseWhen": [
10033
+ "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface."
10034
+ ],
10035
+ "avoidWhen": [
10036
+ "Several KPI cards need parent-responsive layout, or the value is a simple factual label/value pair."
10037
+ ],
10038
+ "appOwned": [
10039
+ "metric meaning, accepted value and comparison baseline",
10040
+ "requests, refresh and retry actions",
10041
+ "semantic trend override when falling values are good"
10042
+ ],
9274
10043
  "jobs": [
9275
- "Use Stat cards in an admin interface."
10044
+ "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface."
9276
10045
  ],
9277
10046
  "tags": [
9278
10047
  "blocks",
9279
10048
  "analytics",
9280
10049
  "stat-cards"
9281
10050
  ],
9282
- "aliases": [],
10051
+ "aliases": [
10052
+ "statistic cards",
10053
+ "statistics cards",
10054
+ "stat cards",
10055
+ "single KPI",
10056
+ "single metric",
10057
+ "revenue card",
10058
+ "kpi",
10059
+ "metric card",
10060
+ "kpi card",
10061
+ "number card",
10062
+ "statistics",
10063
+ "stat"
10064
+ ],
9283
10065
  "section": "Blocks",
9284
10066
  "browse": {
9285
10067
  "category": "domain-ui",
@@ -9303,7 +10085,10 @@
9303
10085
  ]
9304
10086
  }
9305
10087
  ],
9306
- "alternatives": []
10088
+ "alternatives": [
10089
+ "themelia-react-ui/blocks/analytics",
10090
+ "themelia-react-ui/blocks/data-display"
10091
+ ]
9307
10092
  },
9308
10093
  {
9309
10094
  "title": "Time distribution",
@@ -9345,6 +10130,40 @@
9345
10130
  ],
9346
10131
  "alternatives": []
9347
10132
  }
10133
+ ],
10134
+ "recipes": [
10135
+ {
10136
+ "file": "examples/analytics.tsx",
10137
+ "exports": [
10138
+ "RevenueOverview"
10139
+ ],
10140
+ "symbols": [
10141
+ "MetricData",
10142
+ "MetricGrid"
10143
+ ],
10144
+ "references": [
10145
+ "references/analytics.md#dashboard-and-revenue-data"
10146
+ ],
10147
+ "optionalPeers": [
10148
+ "recharts"
10149
+ ]
10150
+ },
10151
+ {
10152
+ "file": "examples/analytics.tsx",
10153
+ "exports": [
10154
+ "RevenueMetric"
10155
+ ],
10156
+ "symbols": [
10157
+ "Metric",
10158
+ "MetricData"
10159
+ ],
10160
+ "references": [
10161
+ "references/analytics.md#dashboard-and-revenue-data"
10162
+ ],
10163
+ "optionalPeers": [
10164
+ "recharts"
10165
+ ]
10166
+ }
9348
10167
  ]
9349
10168
  },
9350
10169
  {
@@ -9366,9 +10185,7 @@
9366
10185
  "layer": "blocks",
9367
10186
  "responsibility": "Blocks family: Usage card.",
9368
10187
  "jobs": [
9369
- "Daily usage",
9370
- "Period selection",
9371
- "Quota summary"
10188
+ "UsageCard needs used/limit quotas, category shares, daily usage and controlled period/loading/error/retry states in one owned Card."
9372
10189
  ],
9373
10190
  "tags": [
9374
10191
  "billing summary",
@@ -9379,7 +10196,12 @@
9379
10196
  "resources",
9380
10197
  "usage"
9381
10198
  ],
9382
- "aliases": [],
10199
+ "aliases": [
10200
+ "quota dashboard",
10201
+ "resource limits",
10202
+ "usage statistics",
10203
+ "usage summary"
10204
+ ],
9383
10205
  "sections": [
9384
10206
  "Blocks"
9385
10207
  ],
@@ -9388,18 +10210,18 @@
9388
10210
  "title": "Usage card",
9389
10211
  "description": "Quota summaries, category shares, daily analytics and resource limits with app-owned period data.",
9390
10212
  "chooseWhen": [
9391
- "Application-supplied usage needs a composed quota and analytics summary."
10213
+ "UsageCard needs used/limit quotas, category shares, daily usage and controlled period/loading/error/retry states in one owned Card."
9392
10214
  ],
9393
10215
  "avoidWhen": [
9394
- "The component needs to fetch billing data or execute subscription changes itself."
10216
+ "The subject is a general revenue KPI or an arbitrary chart series."
9395
10217
  ],
9396
10218
  "appOwned": [
9397
- "Persistence, permissions, data requests and navigation."
10219
+ "usage values, limits and chronological daily data",
10220
+ "period selection, requests and stale-result handling",
10221
+ "billing or navigation footer actions"
9398
10222
  ],
9399
10223
  "jobs": [
9400
- "Quota summary",
9401
- "Daily usage",
9402
- "Period selection"
10224
+ "UsageCard needs used/limit quotas, category shares, daily usage and controlled period/loading/error/retry states in one owned Card."
9403
10225
  ],
9404
10226
  "tags": [
9405
10227
  "blocks",
@@ -9410,7 +10232,12 @@
9410
10232
  "resources",
9411
10233
  "billing summary"
9412
10234
  ],
9413
- "aliases": [],
10235
+ "aliases": [
10236
+ "usage statistics",
10237
+ "usage summary",
10238
+ "quota dashboard",
10239
+ "resource limits"
10240
+ ],
9414
10241
  "section": "Blocks",
9415
10242
  "browse": {
9416
10243
  "category": "domain-ui",
@@ -9427,10 +10254,28 @@
9427
10254
  }
9428
10255
  ],
9429
10256
  "alternatives": [
9430
- "themelia-react-ui/base/feedback",
9431
- "themelia-react-ui/blocks/analytics"
10257
+ "themelia-react-ui/blocks/analytics",
10258
+ "themelia-react-ui/blocks/data-display"
9432
10259
  ]
9433
10260
  }
10261
+ ],
10262
+ "recipes": [
10263
+ {
10264
+ "file": "examples/planning-usage-edit.tsx",
10265
+ "exports": [
10266
+ "WorkspaceSummary"
10267
+ ],
10268
+ "symbols": [
10269
+ "UsageCard",
10270
+ "UsageCardData"
10271
+ ],
10272
+ "references": [
10273
+ "references/analytics.md#usage-facts-and-verification",
10274
+ "references/composition.md#task-and-usage-summaries-editable-fields",
10275
+ "references/workflows.md#task-summaries-usage-and-inline-editing"
10276
+ ],
10277
+ "optionalPeers": []
10278
+ }
9434
10279
  ]
9435
10280
  },
9436
10281
  {
@@ -9454,35 +10299,47 @@
9454
10299
  "layer": "blocks",
9455
10300
  "responsibility": "Blocks family: Message.",
9456
10301
  "jobs": [
9457
- "Conversation message composition without service, routing or transport assumptions."
10302
+ "Message and MessageBubble present chat messages, author, delivery state, rich content and actions."
9458
10303
  ],
9459
10304
  "tags": [
9460
10305
  "blocks",
9461
10306
  "collaboration"
9462
10307
  ],
9463
- "aliases": [],
10308
+ "aliases": [
10309
+ "chat",
10310
+ "chat message",
10311
+ "conversation transcript",
10312
+ "message bubble"
10313
+ ],
9464
10314
  "sections": [
9465
10315
  "Blocks"
9466
10316
  ],
9467
10317
  "guidance": [
9468
10318
  {
9469
10319
  "title": "Message",
9470
- "description": "Conversation message composition without service, routing or transport assumptions.",
10320
+ "description": "Message and MessageBubble present chat messages, author, delivery state, rich content and actions.",
9471
10321
  "chooseWhen": [
9472
- "Conversation message composition without service, routing or transport assumptions."
10322
+ "Message and MessageBubble present chat messages, author, delivery state, rich content and actions."
10323
+ ],
10324
+ "avoidWhen": [
10325
+ "A complete AI conversation workflow with prompt submission is required."
9473
10326
  ],
9474
- "avoidWhen": [],
9475
10327
  "appOwned": [
9476
- "Application data, persistence and business effects."
10328
+ "message data, transport, delivery state and action callbacks"
9477
10329
  ],
9478
10330
  "jobs": [
9479
- "Conversation message composition without service, routing or transport assumptions."
10331
+ "Message and MessageBubble present chat messages, author, delivery state, rich content and actions."
9480
10332
  ],
9481
10333
  "tags": [
9482
10334
  "blocks",
9483
10335
  "collaboration"
9484
10336
  ],
9485
- "aliases": [],
10337
+ "aliases": [
10338
+ "chat",
10339
+ "chat message",
10340
+ "message bubble",
10341
+ "conversation transcript"
10342
+ ],
9486
10343
  "section": "Blocks",
9487
10344
  "browse": {
9488
10345
  "category": "domain-ui",
@@ -9490,8 +10347,37 @@
9490
10347
  "domain": "",
9491
10348
  "collection": ""
9492
10349
  },
9493
- "sections": [],
9494
- "alternatives": []
10350
+ "sections": [
10351
+ {
10352
+ "title": "Message anatomy",
10353
+ "symbols": [
10354
+ "Message",
10355
+ "MessageBubble",
10356
+ "MessageContent",
10357
+ "MessageHeader",
10358
+ "MessageActions",
10359
+ "MessageStatus"
10360
+ ]
10361
+ }
10362
+ ],
10363
+ "alternatives": [
10364
+ "themelia-react-ui/features/ai-chat"
10365
+ ]
10366
+ }
10367
+ ],
10368
+ "recipes": [
10369
+ {
10370
+ "file": "examples/content-workflow.tsx",
10371
+ "exports": [
10372
+ "ReviewMessage"
10373
+ ],
10374
+ "symbols": [
10375
+ "Message"
10376
+ ],
10377
+ "references": [
10378
+ "references/composition.md#files-code-and-messages"
10379
+ ],
10380
+ "optionalPeers": []
9495
10381
  }
9496
10382
  ]
9497
10383
  },
@@ -10784,7 +11670,8 @@
10784
11670
  ],
10785
11671
  "alternatives": []
10786
11672
  }
10787
- ]
11673
+ ],
11674
+ "recipes": []
10788
11675
  },
10789
11676
  {
10790
11677
  "import": "themelia-react-ui/blocks/commerce/receipt",
@@ -10885,6 +11772,23 @@
10885
11772
  ],
10886
11773
  "alternatives": []
10887
11774
  }
11775
+ ],
11776
+ "recipes": [
11777
+ {
11778
+ "file": "examples/receipt.tsx",
11779
+ "exports": [
11780
+ "PurchaseReceipt"
11781
+ ],
11782
+ "symbols": [
11783
+ "Receipt",
11784
+ "ReceiptItems",
11785
+ "ReceiptLineItem"
11786
+ ],
11787
+ "references": [
11788
+ "references/composition.md#receipts"
11789
+ ],
11790
+ "optionalPeers": []
11791
+ }
10888
11792
  ]
10889
11793
  },
10890
11794
  {
@@ -10969,8 +11873,13 @@
10969
11873
  "blocks/metadata-list",
10970
11874
  "blocks/relationship-card-frame",
10971
11875
  "contact details",
11876
+ "details",
10972
11877
  "fact list",
10973
- "read-only facts"
11878
+ "inline fact",
11879
+ "key value",
11880
+ "plain label value",
11881
+ "read-only facts",
11882
+ "simple statistic"
10974
11883
  ],
10975
11884
  "sections": [
10976
11885
  "Blocks"
@@ -11142,7 +12051,10 @@
11142
12051
  "avoidWhen": [
11143
12052
  "Several entity facts or KPI trend/chart behavior are required."
11144
12053
  ],
11145
- "appOwned": [],
12054
+ "appOwned": [
12055
+ "label, value and formatting policy",
12056
+ "subject framing at the composition boundary"
12057
+ ],
11146
12058
  "jobs": [
11147
12059
  "One compact label/value pair needs inline emphasis without trend or chart semantics."
11148
12060
  ],
@@ -11153,7 +12065,12 @@
11153
12065
  "inline-stat"
11154
12066
  ],
11155
12067
  "aliases": [
11156
- "blocks/inline-stat"
12068
+ "blocks/inline-stat",
12069
+ "simple statistic",
12070
+ "plain label value",
12071
+ "inline fact",
12072
+ "key value",
12073
+ "details"
11157
12074
  ],
11158
12075
  "section": "Blocks",
11159
12076
  "browse": {
@@ -11210,7 +12127,9 @@
11210
12127
  "blocks/metadata-list",
11211
12128
  "fact list",
11212
12129
  "read-only facts",
11213
- "contact details"
12130
+ "contact details",
12131
+ "key value",
12132
+ "details"
11214
12133
  ],
11215
12134
  "section": "Blocks",
11216
12135
  "browse": {
@@ -11319,16 +12238,93 @@
11319
12238
  "themelia-react-ui/features/resource-assignment"
11320
12239
  ]
11321
12240
  }
11322
- ]
11323
- },
11324
- {
11325
- "import": "themelia-react-ui/blocks/onboarding",
11326
- "declaration": "dist/components/blocks/onboarding/index.d.ts",
11327
- "symbols": [
11328
- "OnboardingChecklist",
11329
- "OnboardingChecklistProps",
11330
- "OnboardingChecklistStep",
11331
- "OnboardingChecklistStrings",
12241
+ ],
12242
+ "recipes": [
12243
+ {
12244
+ "file": "examples/analytics.tsx",
12245
+ "exports": [
12246
+ "RevenueOverview"
12247
+ ],
12248
+ "symbols": [
12249
+ "EmptyState"
12250
+ ],
12251
+ "references": [
12252
+ "references/analytics.md#dashboard-and-revenue-data"
12253
+ ],
12254
+ "optionalPeers": [
12255
+ "recharts"
12256
+ ]
12257
+ },
12258
+ {
12259
+ "file": "examples/analytics.tsx",
12260
+ "exports": [
12261
+ "PlainStatistic"
12262
+ ],
12263
+ "symbols": [
12264
+ "InlineStat"
12265
+ ],
12266
+ "references": [
12267
+ "references/analytics.md#dashboard-and-revenue-data"
12268
+ ],
12269
+ "optionalPeers": [
12270
+ "recharts"
12271
+ ]
12272
+ },
12273
+ {
12274
+ "file": "examples/detail.tsx",
12275
+ "exports": [
12276
+ "AccountDetail"
12277
+ ],
12278
+ "symbols": [
12279
+ "MetadataList"
12280
+ ],
12281
+ "references": [
12282
+ "references/analytics.md#usage-facts-and-verification",
12283
+ "references/composition.md#application-layouts",
12284
+ "references/workflows.md#detail-and-framing",
12285
+ "references/workflows.md#single-resource-page"
12286
+ ],
12287
+ "optionalPeers": []
12288
+ },
12289
+ {
12290
+ "file": "examples/detail.tsx",
12291
+ "exports": [
12292
+ "AccountDetailPage"
12293
+ ],
12294
+ "symbols": [
12295
+ "MetadataList"
12296
+ ],
12297
+ "references": [
12298
+ "references/analytics.md#usage-facts-and-verification",
12299
+ "references/composition.md#application-layouts",
12300
+ "references/workflows.md#detail-and-framing",
12301
+ "references/workflows.md#single-resource-page"
12302
+ ],
12303
+ "optionalPeers": []
12304
+ },
12305
+ {
12306
+ "file": "examples/receipt.tsx",
12307
+ "exports": [
12308
+ "PurchaseReceipt"
12309
+ ],
12310
+ "symbols": [
12311
+ "MetadataList"
12312
+ ],
12313
+ "references": [
12314
+ "references/composition.md#receipts"
12315
+ ],
12316
+ "optionalPeers": []
12317
+ }
12318
+ ]
12319
+ },
12320
+ {
12321
+ "import": "themelia-react-ui/blocks/onboarding",
12322
+ "declaration": "dist/components/blocks/onboarding/index.d.ts",
12323
+ "symbols": [
12324
+ "OnboardingChecklist",
12325
+ "OnboardingChecklistProps",
12326
+ "OnboardingChecklistStep",
12327
+ "OnboardingChecklistStrings",
11332
12328
  "OnboardingChecklistVariant",
11333
12329
  "OnboardingStepStatus",
11334
12330
  "StepStatusIndicator",
@@ -11387,7 +12383,8 @@
11387
12383
  ],
11388
12384
  "alternatives": []
11389
12385
  }
11390
- ]
12386
+ ],
12387
+ "recipes": []
11391
12388
  },
11392
12389
  {
11393
12390
  "import": "themelia-react-ui/blocks/planning",
@@ -11469,6 +12466,24 @@
11469
12466
  "themelia-react-ui/features/kanban"
11470
12467
  ]
11471
12468
  }
12469
+ ],
12470
+ "recipes": [
12471
+ {
12472
+ "file": "examples/planning-usage-edit.tsx",
12473
+ "exports": [
12474
+ "WorkspaceSummary"
12475
+ ],
12476
+ "symbols": [
12477
+ "TaskCard",
12478
+ "TaskCardItem"
12479
+ ],
12480
+ "references": [
12481
+ "references/analytics.md#usage-facts-and-verification",
12482
+ "references/composition.md#task-and-usage-summaries-editable-fields",
12483
+ "references/workflows.md#task-summaries-usage-and-inline-editing"
12484
+ ],
12485
+ "optionalPeers": []
12486
+ }
11472
12487
  ]
11473
12488
  },
11474
12489
  {
@@ -11568,7 +12583,7 @@
11568
12583
  },
11569
12584
  {
11570
12585
  "title": "Changelog",
11571
- "description": "ChangelogTimeline renders release history as a marker rail, mapping added, removed, modified, and fixed to colour-coded chips with version, author, and timestamp.",
12586
+ "description": "ChangelogTimeline renders release history as a marker rail, mapping added, removed, modified, and fixed to neutral kind chips and marker icons with version, author, and timestamp.",
11572
12587
  "chooseWhen": [],
11573
12588
  "avoidWhen": [],
11574
12589
  "appOwned": [],
@@ -11731,7 +12746,8 @@
11731
12746
  ],
11732
12747
  "alternatives": []
11733
12748
  }
11734
- ]
12749
+ ],
12750
+ "recipes": []
11735
12751
  },
11736
12752
  {
11737
12753
  "import": "themelia-react-ui/component-vocabulary",
@@ -11753,7 +12769,8 @@
11753
12769
  "tags": [],
11754
12770
  "aliases": [],
11755
12771
  "sections": [],
11756
- "guidance": []
12772
+ "guidance": [],
12773
+ "recipes": []
11757
12774
  },
11758
12775
  {
11759
12776
  "import": "themelia-react-ui/features/activities",
@@ -11953,7 +12970,8 @@
11953
12970
  "themelia-react-ui/features/comments"
11954
12971
  ]
11955
12972
  }
11956
- ]
12973
+ ],
12974
+ "recipes": []
11957
12975
  },
11958
12976
  {
11959
12977
  "import": "themelia-react-ui/features/ai-chat",
@@ -12071,7 +13089,8 @@
12071
13089
  ],
12072
13090
  "alternatives": []
12073
13091
  }
12074
- ]
13092
+ ],
13093
+ "recipes": []
12075
13094
  },
12076
13095
  {
12077
13096
  "import": "themelia-react-ui/features/async-preview",
@@ -12197,7 +13216,8 @@
12197
13216
  "themelia-react-ui/features/table"
12198
13217
  ]
12199
13218
  }
12200
- ]
13219
+ ],
13220
+ "recipes": []
12201
13221
  },
12202
13222
  {
12203
13223
  "import": "themelia-react-ui/features/combobox",
@@ -12395,7 +13415,8 @@
12395
13415
  ],
12396
13416
  "alternatives": []
12397
13417
  }
12398
- ]
13418
+ ],
13419
+ "recipes": []
12399
13420
  },
12400
13421
  {
12401
13422
  "import": "themelia-react-ui/features/comments",
@@ -12515,7 +13536,8 @@
12515
13536
  ],
12516
13537
  "alternatives": []
12517
13538
  }
12518
- ]
13539
+ ],
13540
+ "recipes": []
12519
13541
  },
12520
13542
  {
12521
13543
  "import": "themelia-react-ui/features/data-view",
@@ -12690,7 +13712,8 @@
12690
13712
  "themelia-react-ui/features/table"
12691
13713
  ]
12692
13714
  }
12693
- ]
13715
+ ],
13716
+ "recipes": []
12694
13717
  },
12695
13718
  {
12696
13719
  "import": "themelia-react-ui/features/email-composer",
@@ -12806,6 +13829,44 @@
12806
13829
  ],
12807
13830
  "alternatives": []
12808
13831
  }
13832
+ ],
13833
+ "recipes": [
13834
+ {
13835
+ "file": "examples/email-composer.tsx",
13836
+ "exports": [
13837
+ "CustomerEmail"
13838
+ ],
13839
+ "symbols": [
13840
+ "ComposerDraft",
13841
+ "EmailComposer",
13842
+ "PreparedEmail"
13843
+ ],
13844
+ "references": [
13845
+ "references/integration.md#dialogs-confirmations-and-drawers"
13846
+ ],
13847
+ "optionalPeers": [
13848
+ "@tiptap/react",
13849
+ "@tiptap/starter-kit"
13850
+ ]
13851
+ },
13852
+ {
13853
+ "file": "examples/email-composer.tsx",
13854
+ "exports": [
13855
+ "TemplateEmail"
13856
+ ],
13857
+ "symbols": [
13858
+ "EmailComposer",
13859
+ "EmailComposerProps",
13860
+ "PreparedEmail"
13861
+ ],
13862
+ "references": [
13863
+ "references/integration.md#dialogs-confirmations-and-drawers"
13864
+ ],
13865
+ "optionalPeers": [
13866
+ "@tiptap/react",
13867
+ "@tiptap/starter-kit"
13868
+ ]
13869
+ }
12809
13870
  ]
12810
13871
  },
12811
13872
  {
@@ -12840,7 +13901,8 @@
12840
13901
  "tags": [],
12841
13902
  "aliases": [],
12842
13903
  "sections": [],
12843
- "guidance": []
13904
+ "guidance": [],
13905
+ "recipes": []
12844
13906
  },
12845
13907
  {
12846
13908
  "import": "themelia-react-ui/features/event-calendar",
@@ -13074,7 +14136,8 @@
13074
14136
  ],
13075
14137
  "alternatives": []
13076
14138
  }
13077
- ]
14139
+ ],
14140
+ "recipes": []
13078
14141
  },
13079
14142
  {
13080
14143
  "import": "themelia-react-ui/features/filters",
@@ -13241,6 +14304,29 @@
13241
14304
  "themelia-react-ui/features/data-view"
13242
14305
  ]
13243
14306
  }
14307
+ ],
14308
+ "recipes": [
14309
+ {
14310
+ "file": "examples/scoped-directory.tsx",
14311
+ "exports": [
14312
+ "ScopedDirectory"
14313
+ ],
14314
+ "symbols": [
14315
+ "ActiveFilter",
14316
+ "FilterConfig",
14317
+ "FilterLayout",
14318
+ "FilterProvider",
14319
+ "FilterType"
14320
+ ],
14321
+ "references": [
14322
+ "references/composition.md#compose-from-the-task",
14323
+ "references/workflows.md#scoped-directory"
14324
+ ],
14325
+ "optionalPeers": [
14326
+ "@tanstack/react-table",
14327
+ "react-day-picker"
14328
+ ]
14329
+ }
13244
14330
  ]
13245
14331
  },
13246
14332
  {
@@ -13337,7 +14423,8 @@
13337
14423
  ],
13338
14424
  "alternatives": []
13339
14425
  }
13340
- ]
14426
+ ],
14427
+ "recipes": []
13341
14428
  },
13342
14429
  {
13343
14430
  "import": "themelia-react-ui/features/kanban",
@@ -13432,7 +14519,8 @@
13432
14519
  ],
13433
14520
  "alternatives": []
13434
14521
  }
13435
- ]
14522
+ ],
14523
+ "recipes": []
13436
14524
  },
13437
14525
  {
13438
14526
  "import": "themelia-react-ui/features/map",
@@ -13606,7 +14694,8 @@
13606
14694
  ],
13607
14695
  "alternatives": []
13608
14696
  }
13609
- ]
14697
+ ],
14698
+ "recipes": []
13610
14699
  },
13611
14700
  {
13612
14701
  "import": "themelia-react-ui/features/media-library",
@@ -13799,7 +14888,8 @@
13799
14888
  ],
13800
14889
  "alternatives": []
13801
14890
  }
13802
- ]
14891
+ ],
14892
+ "recipes": []
13803
14893
  },
13804
14894
  {
13805
14895
  "import": "themelia-react-ui/features/mentions",
@@ -13892,7 +14982,8 @@
13892
14982
  ],
13893
14983
  "alternatives": []
13894
14984
  }
13895
- ]
14985
+ ],
14986
+ "recipes": []
13896
14987
  },
13897
14988
  {
13898
14989
  "import": "themelia-react-ui/features/overlays",
@@ -13950,7 +15041,7 @@
13950
15041
  "A modal, drawer, or confirmation needs standardized confirm/cancel, async loading, error, strings, and tone behavior."
13951
15042
  ],
13952
15043
  "avoidWhen": [
13953
- "The caller needs custom compound anatomy without the shared action lifecycle."
15044
+ "The surface is anchored to a trigger (a popover, menu, select or tooltip) rather than a dialog."
13954
15045
  ],
13955
15046
  "appOwned": [],
13956
15047
  "jobs": [
@@ -13983,9 +15074,39 @@
13983
15074
  }
13984
15075
  ],
13985
15076
  "alternatives": [
13986
- "themelia-react-ui/base/sheet"
15077
+ "themelia-react-ui/base/popover",
15078
+ "themelia-react-ui/layout/sidebar"
13987
15079
  ]
13988
15080
  }
15081
+ ],
15082
+ "recipes": [
15083
+ {
15084
+ "file": "examples/composition.tsx",
15085
+ "exports": [
15086
+ "AccountComposition"
15087
+ ],
15088
+ "symbols": [
15089
+ "ActionDialog",
15090
+ "useOverlayVisibility"
15091
+ ],
15092
+ "references": [
15093
+ "references/workflows.md#destructive-confirmation"
15094
+ ],
15095
+ "optionalPeers": []
15096
+ },
15097
+ {
15098
+ "file": "examples/destructive-confirm.tsx",
15099
+ "exports": [
15100
+ "DeleteAccount"
15101
+ ],
15102
+ "symbols": [
15103
+ "ConfirmDialog"
15104
+ ],
15105
+ "references": [
15106
+ "references/workflows.md#destructive-confirmation"
15107
+ ],
15108
+ "optionalPeers": []
15109
+ }
13989
15110
  ]
13990
15111
  },
13991
15112
  {
@@ -14424,7 +15545,8 @@
14424
15545
  ],
14425
15546
  "alternatives": []
14426
15547
  }
14427
- ]
15548
+ ],
15549
+ "recipes": []
14428
15550
  },
14429
15551
  {
14430
15552
  "import": "themelia-react-ui/features/questionnaire",
@@ -14489,6 +15611,23 @@
14489
15611
  "sections": [],
14490
15612
  "alternatives": []
14491
15613
  }
15614
+ ],
15615
+ "recipes": [
15616
+ {
15617
+ "file": "examples/hierarchy-capture.tsx",
15618
+ "exports": [
15619
+ "GuidedRequest"
15620
+ ],
15621
+ "symbols": [
15622
+ "Questionnaire",
15623
+ "QuestionnaireAnswers",
15624
+ "QuestionnaireQuestion"
15625
+ ],
15626
+ "references": [
15627
+ "references/composition.md#hierarchies-capture-and-guided-forms"
15628
+ ],
15629
+ "optionalPeers": []
15630
+ }
14492
15631
  ]
14493
15632
  },
14494
15633
  {
@@ -14579,7 +15718,8 @@
14579
15718
  ],
14580
15719
  "alternatives": []
14581
15720
  }
14582
- ]
15721
+ ],
15722
+ "recipes": []
14583
15723
  },
14584
15724
  {
14585
15725
  "import": "themelia-react-ui/features/resource-assignment",
@@ -14661,7 +15801,8 @@
14661
15801
  ],
14662
15802
  "alternatives": []
14663
15803
  }
14664
- ]
15804
+ ],
15805
+ "recipes": []
14665
15806
  },
14666
15807
  {
14667
15808
  "import": "themelia-react-ui/features/rich-text-editor",
@@ -14736,7 +15877,8 @@
14736
15877
  ],
14737
15878
  "alternatives": []
14738
15879
  }
14739
- ]
15880
+ ],
15881
+ "recipes": []
14740
15882
  },
14741
15883
  {
14742
15884
  "import": "themelia-react-ui/features/schema-form",
@@ -14840,7 +15982,8 @@
14840
15982
  ],
14841
15983
  "alternatives": []
14842
15984
  }
14843
- ]
15985
+ ],
15986
+ "recipes": []
14844
15987
  },
14845
15988
  {
14846
15989
  "import": "themelia-react-ui/features/suggestions",
@@ -14909,7 +16052,8 @@
14909
16052
  ],
14910
16053
  "alternatives": []
14911
16054
  }
14912
- ]
16055
+ ],
16056
+ "recipes": []
14913
16057
  },
14914
16058
  {
14915
16059
  "import": "themelia-react-ui/features/sync",
@@ -14980,7 +16124,8 @@
14980
16124
  ],
14981
16125
  "alternatives": []
14982
16126
  }
14983
- ]
16127
+ ],
16128
+ "recipes": []
14984
16129
  },
14985
16130
  {
14986
16131
  "import": "themelia-react-ui/features/table",
@@ -15162,6 +16307,43 @@
15162
16307
  "themelia-react-ui/features/data-view"
15163
16308
  ]
15164
16309
  }
16310
+ ],
16311
+ "recipes": [
16312
+ {
16313
+ "file": "examples/index-table.tsx",
16314
+ "exports": [
16315
+ "AccountIndex"
16316
+ ],
16317
+ "symbols": [
16318
+ "DataTable",
16319
+ "DataTableProps"
16320
+ ],
16321
+ "references": [
16322
+ "references/workflows.md#index-and-navigation"
16323
+ ],
16324
+ "optionalPeers": [
16325
+ "@tanstack/react-table"
16326
+ ]
16327
+ },
16328
+ {
16329
+ "file": "examples/scoped-directory.tsx",
16330
+ "exports": [
16331
+ "ScopedDirectory"
16332
+ ],
16333
+ "symbols": [
16334
+ "DataTable",
16335
+ "DataTableProps",
16336
+ "ResourceCell"
16337
+ ],
16338
+ "references": [
16339
+ "references/composition.md#compose-from-the-task",
16340
+ "references/workflows.md#scoped-directory"
16341
+ ],
16342
+ "optionalPeers": [
16343
+ "@tanstack/react-table",
16344
+ "react-day-picker"
16345
+ ]
16346
+ }
15165
16347
  ]
15166
16348
  },
15167
16349
  {
@@ -15348,7 +16530,8 @@
15348
16530
  "themelia-react-ui/base/repeaters"
15349
16531
  ]
15350
16532
  }
15351
- ]
16533
+ ],
16534
+ "recipes": []
15352
16535
  },
15353
16536
  {
15354
16537
  "import": "themelia-react-ui/layout",
@@ -15460,6 +16643,7 @@
15460
16643
  "PageActionsProps",
15461
16644
  "PageActionsStrings",
15462
16645
  "PageHeader",
16646
+ "PageHeaderAction",
15463
16647
  "PageHeaderProps",
15464
16648
  "PageHeaderSlots",
15465
16649
  "PageProps",
@@ -15590,7 +16774,8 @@
15590
16774
  "tags": [],
15591
16775
  "aliases": [],
15592
16776
  "sections": [],
15593
- "guidance": []
16777
+ "guidance": [],
16778
+ "recipes": []
15594
16779
  },
15595
16780
  {
15596
16781
  "import": "themelia-react-ui/layout/app-shell",
@@ -15623,7 +16808,7 @@
15623
16808
  "responsibility": "Layout family: App shell; Application shell.",
15624
16809
  "jobs": [
15625
16810
  "Build a responsive admin application shell with header, sidebar, navigation, and one page viewport.",
15626
- "Use App shell in an admin interface."
16811
+ "Compose light-header, dark-header, sidebar, inset or stacked chrome with one PageViewport."
15627
16812
  ],
15628
16813
  "tags": [
15629
16814
  "app-shell",
@@ -15634,7 +16819,13 @@
15634
16819
  "shell",
15635
16820
  "shells"
15636
16821
  ],
15637
- "aliases": [],
16822
+ "aliases": [
16823
+ "admin workspace",
16824
+ "application shell",
16825
+ "dark header",
16826
+ "dark header layout",
16827
+ "light header"
16828
+ ],
15638
16829
  "sections": [
15639
16830
  "Layouts",
15640
16831
  "Recipes"
@@ -15689,19 +16880,33 @@
15689
16880
  },
15690
16881
  {
15691
16882
  "title": "App shell",
15692
- "description": "Standalone header-first shell with a 70px+ topbar and a sidebar/content body grid.",
15693
- "chooseWhen": [],
15694
- "avoidWhen": [],
15695
- "appOwned": [],
16883
+ "description": "Compose light-header, dark-header, sidebar, inset or stacked chrome with one PageViewport.",
16884
+ "chooseWhen": [
16885
+ "Compose light-header, dark-header, sidebar, inset or stacked chrome with one PageViewport."
16886
+ ],
16887
+ "avoidWhen": [
16888
+ "Only a route heading or content gutter is needed."
16889
+ ],
16890
+ "appOwned": [
16891
+ "viewport height and routing",
16892
+ "workspace and signed-in user data",
16893
+ "header commands and responsive composition"
16894
+ ],
15696
16895
  "jobs": [
15697
- "Use App shell in an admin interface."
16896
+ "Compose light-header, dark-header, sidebar, inset or stacked chrome with one PageViewport."
15698
16897
  ],
15699
16898
  "tags": [
15700
16899
  "layout",
15701
16900
  "shells",
15702
16901
  "app-shell"
15703
16902
  ],
15704
- "aliases": [],
16903
+ "aliases": [
16904
+ "application shell",
16905
+ "admin workspace",
16906
+ "dark header layout",
16907
+ "dark header",
16908
+ "light header"
16909
+ ],
15705
16910
  "section": "Layouts",
15706
16911
  "browse": {
15707
16912
  "category": "layout-shells",
@@ -15719,11 +16924,34 @@
15719
16924
  "symbols": [
15720
16925
  "TopbarSidebarLayout",
15721
16926
  "SidebarInsetLayout",
15722
- "StackedLayout"
16927
+ "StackedLayout",
16928
+ "AppLayout"
15723
16929
  ]
15724
16930
  }
15725
16931
  ],
15726
- "alternatives": []
16932
+ "alternatives": [
16933
+ "themelia-react-ui/layout/header",
16934
+ "themelia-react-ui/layout/page",
16935
+ "themelia-react-ui/layout/sidebar"
16936
+ ]
16937
+ }
16938
+ ],
16939
+ "recipes": [
16940
+ {
16941
+ "file": "examples/app-layout.tsx",
16942
+ "exports": [
16943
+ "WorkspaceLayout"
16944
+ ],
16945
+ "symbols": [
16946
+ "AppLayout",
16947
+ "AppLayoutVariant"
16948
+ ],
16949
+ "references": [
16950
+ "references/composition.md#application-layouts",
16951
+ "references/integration.md",
16952
+ "references/workflows.md#single-resource-page"
16953
+ ],
16954
+ "optionalPeers": []
15727
16955
  }
15728
16956
  ]
15729
16957
  },
@@ -15850,7 +17078,8 @@
15850
17078
  ],
15851
17079
  "alternatives": []
15852
17080
  }
15853
- ]
17081
+ ],
17082
+ "recipes": []
15854
17083
  },
15855
17084
  {
15856
17085
  "import": "themelia-react-ui/layout/containers",
@@ -15871,37 +17100,64 @@
15871
17100
  "layer": "layout",
15872
17101
  "responsibility": "Layout family: Containers.",
15873
17102
  "jobs": [
15874
- "Page composition needs one explicit owner for content width, page scrolling, semantic section rhythm, or a main/aside split."
17103
+ "Compose a public website landing page or service overview from Container, Section and lower public components.",
17104
+ "Own page content width, inline gutters, semantic section rhythm, scrolling or a main/aside split."
15875
17105
  ],
15876
17106
  "tags": [
15877
- "building blocks",
15878
17107
  "containers",
15879
- "layout"
17108
+ "content composition",
17109
+ "landing page",
17110
+ "layout",
17111
+ "services",
17112
+ "website"
17113
+ ],
17114
+ "aliases": [
17115
+ "main aside card gaps",
17116
+ "main aside layout",
17117
+ "public website",
17118
+ "service overview",
17119
+ "two column layout",
17120
+ "website landing page"
15880
17121
  ],
15881
- "aliases": [],
15882
17122
  "sections": [
15883
17123
  "Layouts"
15884
17124
  ],
15885
17125
  "guidance": [
15886
17126
  {
15887
17127
  "title": "Containers",
15888
- "description": "Page composition needs one explicit owner for content width, page scrolling, semantic section rhythm, or a main/aside split.",
17128
+ "description": "Compose content-led pages and public websites with explicit width, gutters, semantic section rhythm, scrolling and main/aside owners.",
15889
17129
  "chooseWhen": [
15890
- "Page composition needs one explicit owner for content width, page scrolling, semantic section rhythm, or a main/aside split."
17130
+ "A public website, landing page, service overview or other content-led page needs Container width/gutters and semantic Section rhythm.",
17131
+ "Page composition needs one explicit owner for scrolling or a main/aside split."
15891
17132
  ],
15892
17133
  "avoidWhen": [
15893
17134
  "A local reusable component only needs passive sibling arrangement."
15894
17135
  ],
15895
- "appOwned": [],
17136
+ "appOwned": [
17137
+ "page content and section order",
17138
+ "link destinations and site navigation",
17139
+ "responsive placement and brand theming"
17140
+ ],
15896
17141
  "jobs": [
15897
- "Page composition needs one explicit owner for content width, page scrolling, semantic section rhythm, or a main/aside split."
17142
+ "Compose a public website landing page or service overview from Container, Section and lower public components.",
17143
+ "Own page content width, inline gutters, semantic section rhythm, scrolling or a main/aside split."
15898
17144
  ],
15899
17145
  "tags": [
15900
17146
  "layout",
15901
- "building blocks",
15902
- "containers"
17147
+ "containers",
17148
+ "website",
17149
+ "landing page",
17150
+ "services",
17151
+ "content composition"
17152
+ ],
17153
+ "aliases": [
17154
+ "website landing page",
17155
+ "public website",
17156
+ "service overview",
17157
+ "main aside card gaps",
17158
+ "main aside layout",
17159
+ "two column layout"
15903
17160
  ],
15904
- "aliases": [],
15905
17161
  "section": "Layouts",
15906
17162
  "browse": {
15907
17163
  "category": "layout-shells",
@@ -15942,6 +17198,38 @@
15942
17198
  "themelia-react-ui/layout/page"
15943
17199
  ]
15944
17200
  }
17201
+ ],
17202
+ "recipes": [
17203
+ {
17204
+ "file": "examples/layout-blocks.tsx",
17205
+ "exports": [
17206
+ "LayoutBlocks"
17207
+ ],
17208
+ "symbols": [
17209
+ "TwoColumnLayout"
17210
+ ],
17211
+ "references": [
17212
+ "references/composition.md#horizontal-rows",
17213
+ "references/composition.md#main-and-aside-card-gaps",
17214
+ "references/composition.md#structure-and-spacing"
17215
+ ],
17216
+ "optionalPeers": []
17217
+ },
17218
+ {
17219
+ "file": "examples/website.tsx",
17220
+ "exports": [
17221
+ "WebsiteLandingPage"
17222
+ ],
17223
+ "symbols": [
17224
+ "Container",
17225
+ "Section"
17226
+ ],
17227
+ "references": [
17228
+ "references/composition.md#public-websites-and-service-overviews",
17229
+ "references/composition.md#visual-heading-emphasis"
17230
+ ],
17231
+ "optionalPeers": []
17232
+ }
15945
17233
  ]
15946
17234
  },
15947
17235
  {
@@ -15978,33 +17266,50 @@
15978
17266
  "layer": "layout",
15979
17267
  "responsibility": "Layout family: Header.",
15980
17268
  "jobs": [
15981
- "Use Header in an admin interface."
17269
+ "Use HeaderUserMenu, HeaderSearch, HeaderNotifications or typed Header regions in application chrome."
15982
17270
  ],
15983
17271
  "tags": [
15984
17272
  "header",
15985
17273
  "layout",
15986
17274
  "shells"
15987
17275
  ],
15988
- "aliases": [],
17276
+ "aliases": [
17277
+ "header account menu",
17278
+ "header tools",
17279
+ "signed-in user",
17280
+ "user avatar menu"
17281
+ ],
15989
17282
  "sections": [
15990
17283
  "Layouts"
15991
17284
  ],
15992
17285
  "guidance": [
15993
17286
  {
15994
17287
  "title": "Header",
15995
- "description": "Topbar, breadcrumbs, command search, notifications, and action slots in a realistic app-shell canvas.",
15996
- "chooseWhen": [],
15997
- "avoidWhen": [],
15998
- "appOwned": [],
17288
+ "description": "Use HeaderUserMenu, HeaderSearch, HeaderNotifications or typed Header regions in application chrome.",
17289
+ "chooseWhen": [
17290
+ "Use HeaderUserMenu, HeaderSearch, HeaderNotifications or typed Header regions in application chrome."
17291
+ ],
17292
+ "avoidWhen": [
17293
+ "Only an avatar image or route title is needed."
17294
+ ],
17295
+ "appOwned": [
17296
+ "signed-in user and permissioned account callbacks",
17297
+ "search/dialog state and notification data"
17298
+ ],
15999
17299
  "jobs": [
16000
- "Use Header in an admin interface."
17300
+ "Use HeaderUserMenu, HeaderSearch, HeaderNotifications or typed Header regions in application chrome."
16001
17301
  ],
16002
17302
  "tags": [
16003
17303
  "layout",
16004
17304
  "shells",
16005
17305
  "header"
16006
17306
  ],
16007
- "aliases": [],
17307
+ "aliases": [
17308
+ "header account menu",
17309
+ "user avatar menu",
17310
+ "signed-in user",
17311
+ "header tools"
17312
+ ],
16008
17313
  "section": "Layouts",
16009
17314
  "browse": {
16010
17315
  "category": "layout-shells",
@@ -16027,7 +17332,29 @@
16027
17332
  ]
16028
17333
  }
16029
17334
  ],
16030
- "alternatives": []
17335
+ "alternatives": [
17336
+ "themelia-react-ui/base/avatar",
17337
+ "themelia-react-ui/layout/page",
17338
+ "themelia-react-ui/layout/sidebar"
17339
+ ]
17340
+ }
17341
+ ],
17342
+ "recipes": [
17343
+ {
17344
+ "file": "examples/app-layout.tsx",
17345
+ "exports": [
17346
+ "WorkspaceLayout"
17347
+ ],
17348
+ "symbols": [
17349
+ "HeaderUserMenu",
17350
+ "HeaderUserMenuProps"
17351
+ ],
17352
+ "references": [
17353
+ "references/composition.md#application-layouts",
17354
+ "references/integration.md",
17355
+ "references/workflows.md#single-resource-page"
17356
+ ],
17357
+ "optionalPeers": []
16031
17358
  }
16032
17359
  ]
16033
17360
  },
@@ -16094,7 +17421,8 @@
16094
17421
  ],
16095
17422
  "alternatives": []
16096
17423
  }
16097
- ]
17424
+ ],
17425
+ "recipes": []
16098
17426
  },
16099
17427
  {
16100
17428
  "import": "themelia-react-ui/layout/navigation",
@@ -16304,7 +17632,8 @@
16304
17632
  ],
16305
17633
  "alternatives": []
16306
17634
  }
16307
- ]
17635
+ ],
17636
+ "recipes": []
16308
17637
  },
16309
17638
  {
16310
17639
  "import": "themelia-react-ui/layout/page",
@@ -16318,6 +17647,7 @@
16318
17647
  "PageActionsProps",
16319
17648
  "PageActionsStrings",
16320
17649
  "PageHeader",
17650
+ "PageHeaderAction",
16321
17651
  "PageHeaderProps",
16322
17652
  "PageHeaderSlots",
16323
17653
  "PageProps",
@@ -16328,7 +17658,7 @@
16328
17658
  "layer": "layout",
16329
17659
  "responsibility": "Layout family: Page shell; Resource detail.",
16330
17660
  "jobs": [
16331
- "A page needs shell-level title, back/link rendering, actions, content, and page composition slots.",
17661
+ "A page needs shell-level title, back/link rendering, role-based primary/secondary commands, content, and page composition slots.",
16332
17662
  "Build a responsive resource detail page with primary facts, related context, and actions."
16333
17663
  ],
16334
17664
  "tags": [
@@ -16341,9 +17671,19 @@
16341
17671
  "shells"
16342
17672
  ],
16343
17673
  "aliases": [
17674
+ "centered detail page",
17675
+ "more actions menu",
17676
+ "narrow resource page",
17677
+ "page commands",
17678
+ "page gutters",
16344
17679
  "page header",
17680
+ "page padding",
17681
+ "primary action",
16345
17682
  "route heading",
16346
- "scope navigation"
17683
+ "scope navigation",
17684
+ "secondary actions",
17685
+ "single record page",
17686
+ "single resource page"
16347
17687
  ],
16348
17688
  "sections": [
16349
17689
  "Layouts",
@@ -16399,20 +17739,20 @@
16399
17739
  },
16400
17740
  {
16401
17741
  "title": "Page shell",
16402
- "description": "A page needs shell-level title, back/link rendering, actions, content, and page composition slots.",
17742
+ "description": "A page needs shell-level title, back/link rendering, role-based primary/secondary commands, content, and page composition slots.",
16403
17743
  "chooseWhen": [
16404
- "A page needs shell-level title, back/link rendering, actions, content, and page composition slots."
17744
+ "A page needs shell-level title, back/link rendering, role-based primary/secondary commands, content, and page composition slots."
16405
17745
  ],
16406
17746
  "avoidWhen": [
16407
17747
  "An existing shell needs only a visual title/description/badge block."
16408
17748
  ],
16409
17749
  "appOwned": [
16410
17750
  "route title and contextual lead",
16411
- "primary command importance",
17751
+ "which command is primary and which are destructive",
16412
17752
  "navigation callbacks and permissioned actions"
16413
17753
  ],
16414
17754
  "jobs": [
16415
- "A page needs shell-level title, back/link rendering, actions, content, and page composition slots."
17755
+ "A page needs shell-level title, back/link rendering, role-based primary/secondary commands, content, and page composition slots."
16416
17756
  ],
16417
17757
  "tags": [
16418
17758
  "layout",
@@ -16421,8 +17761,18 @@
16421
17761
  ],
16422
17762
  "aliases": [
16423
17763
  "page header",
17764
+ "page padding",
17765
+ "page gutters",
16424
17766
  "route heading",
16425
- "scope navigation"
17767
+ "scope navigation",
17768
+ "narrow resource page",
17769
+ "centered detail page",
17770
+ "single resource page",
17771
+ "single record page",
17772
+ "primary action",
17773
+ "secondary actions",
17774
+ "page commands",
17775
+ "more actions menu"
16426
17776
  ],
16427
17777
  "section": "Layouts",
16428
17778
  "browse": {
@@ -16454,6 +17804,56 @@
16454
17804
  "themelia-react-ui/features/resource"
16455
17805
  ]
16456
17806
  }
17807
+ ],
17808
+ "recipes": [
17809
+ {
17810
+ "file": "examples/app-layout.tsx",
17811
+ "exports": [
17812
+ "WorkspaceLayout"
17813
+ ],
17814
+ "symbols": [
17815
+ "Page"
17816
+ ],
17817
+ "references": [
17818
+ "references/composition.md#application-layouts",
17819
+ "references/integration.md",
17820
+ "references/workflows.md#single-resource-page"
17821
+ ],
17822
+ "optionalPeers": []
17823
+ },
17824
+ {
17825
+ "file": "examples/detail.tsx",
17826
+ "exports": [
17827
+ "AccountDetailPage"
17828
+ ],
17829
+ "symbols": [
17830
+ "Page"
17831
+ ],
17832
+ "references": [
17833
+ "references/analytics.md#usage-facts-and-verification",
17834
+ "references/composition.md#application-layouts",
17835
+ "references/workflows.md#detail-and-framing",
17836
+ "references/workflows.md#single-resource-page"
17837
+ ],
17838
+ "optionalPeers": []
17839
+ },
17840
+ {
17841
+ "file": "examples/scoped-directory.tsx",
17842
+ "exports": [
17843
+ "ScopedDirectory"
17844
+ ],
17845
+ "symbols": [
17846
+ "Page"
17847
+ ],
17848
+ "references": [
17849
+ "references/composition.md#compose-from-the-task",
17850
+ "references/workflows.md#scoped-directory"
17851
+ ],
17852
+ "optionalPeers": [
17853
+ "@tanstack/react-table",
17854
+ "react-day-picker"
17855
+ ]
17856
+ }
16457
17857
  ]
16458
17858
  },
16459
17859
  {
@@ -16526,7 +17926,8 @@
16526
17926
  ],
16527
17927
  "alternatives": []
16528
17928
  }
16529
- ]
17929
+ ],
17930
+ "recipes": []
16530
17931
  },
16531
17932
  {
16532
17933
  "import": "themelia-react-ui/layout/sidebar",
@@ -16578,33 +17979,51 @@
16578
17979
  "layer": "layout",
16579
17980
  "responsibility": "Layout family: Sidebar.",
16580
17981
  "jobs": [
16581
- "Use Sidebar in an admin interface."
17982
+ "Use AppSidebar with fixed header additions, grouped navigation, workspace partials and SidebarNavigationUser footer composition."
16582
17983
  ],
16583
17984
  "tags": [
16584
17985
  "layout",
16585
17986
  "shells",
16586
17987
  "sidebar"
16587
17988
  ],
16588
- "aliases": [],
17989
+ "aliases": [
17990
+ "application navigation",
17991
+ "pinned sidebar header",
17992
+ "sidebar account menu",
17993
+ "workspace switcher"
17994
+ ],
16589
17995
  "sections": [
16590
17996
  "Layouts"
16591
17997
  ],
16592
17998
  "guidance": [
16593
17999
  {
16594
18000
  "title": "Sidebar",
16595
- "description": "Full app sidebar assembly plus reusable navigation, workspace, and footer item partials.",
16596
- "chooseWhen": [],
16597
- "avoidWhen": [],
16598
- "appOwned": [],
18001
+ "description": "Use AppSidebar with fixed header additions, grouped navigation, workspace partials and SidebarNavigationUser footer composition.",
18002
+ "chooseWhen": [
18003
+ "Use AppSidebar with fixed header additions, grouped navigation, workspace partials and SidebarNavigationUser footer composition."
18004
+ ],
18005
+ "avoidWhen": [
18006
+ "Only an inline hierarchy picker is needed."
18007
+ ],
18008
+ "appOwned": [
18009
+ "workspace links and active route",
18010
+ "router rendering and accepted expansion state",
18011
+ "user callbacks and custom pinned header content"
18012
+ ],
16599
18013
  "jobs": [
16600
- "Use Sidebar in an admin interface."
18014
+ "Use AppSidebar with fixed header additions, grouped navigation, workspace partials and SidebarNavigationUser footer composition."
16601
18015
  ],
16602
18016
  "tags": [
16603
18017
  "layout",
16604
18018
  "shells",
16605
18019
  "sidebar"
16606
18020
  ],
16607
- "aliases": [],
18021
+ "aliases": [
18022
+ "workspace switcher",
18023
+ "sidebar account menu",
18024
+ "pinned sidebar header",
18025
+ "application navigation"
18026
+ ],
16608
18027
  "section": "Layouts",
16609
18028
  "browse": {
16610
18029
  "category": "layout-shells",
@@ -16629,11 +18048,36 @@
16629
18048
  "SidebarGroupedNavigation",
16630
18049
  "SidebarWorkspaceDropdown",
16631
18050
  "SidebarNavigationFooter",
16632
- "SidebarNavigationUser"
18051
+ "SidebarNavigationUser",
18052
+ "LayoutSidebarProvider"
16633
18053
  ]
16634
18054
  }
16635
18055
  ],
16636
- "alternatives": []
18056
+ "alternatives": [
18057
+ "themelia-react-ui/base/cascader",
18058
+ "themelia-react-ui/base/tree",
18059
+ "themelia-react-ui/layout/header"
18060
+ ]
18061
+ }
18062
+ ],
18063
+ "recipes": [
18064
+ {
18065
+ "file": "examples/app-layout.tsx",
18066
+ "exports": [
18067
+ "WorkspaceLayout"
18068
+ ],
18069
+ "symbols": [
18070
+ "AppSidebar",
18071
+ "AppSidebarProps",
18072
+ "LayoutSidebarProvider",
18073
+ "SidebarNavigationUser"
18074
+ ],
18075
+ "references": [
18076
+ "references/composition.md#application-layouts",
18077
+ "references/integration.md",
18078
+ "references/workflows.md#single-resource-page"
18079
+ ],
18080
+ "optionalPeers": []
16637
18081
  }
16638
18082
  ]
16639
18083
  },
@@ -16667,11 +18111,79 @@
16667
18111
  "optionalPeers": [],
16668
18112
  "layer": "layout",
16669
18113
  "responsibility": "Workspace layout, record header, navigation and locale strip with application-owned record data and callbacks.",
16670
- "jobs": [],
16671
- "tags": [],
16672
- "aliases": [],
16673
- "sections": [],
16674
- "guidance": []
18114
+ "jobs": [
18115
+ "A bounded record workspace needs independently composed header, sidebar, main and rail regions."
18116
+ ],
18117
+ "tags": [
18118
+ "building blocks",
18119
+ "layout",
18120
+ "workspace"
18121
+ ],
18122
+ "aliases": [
18123
+ "record header and rail",
18124
+ "resource workspace regions",
18125
+ "workspace locale strip"
18126
+ ],
18127
+ "sections": [
18128
+ "Layouts"
18129
+ ],
18130
+ "guidance": [
18131
+ {
18132
+ "title": "Workspace regions",
18133
+ "description": "A bounded record workspace needs independently composed header, sidebar, main and rail regions.",
18134
+ "chooseWhen": [
18135
+ "A bounded record workspace needs independently composed header, sidebar, main and rail regions."
18136
+ ],
18137
+ "avoidWhen": [
18138
+ "A complete editing/data workflow or global app chrome is required."
18139
+ ],
18140
+ "appOwned": [
18141
+ "record content, navigation and locale callbacks",
18142
+ "header actions and supporting rails"
18143
+ ],
18144
+ "jobs": [
18145
+ "A bounded record workspace needs independently composed header, sidebar, main and rail regions."
18146
+ ],
18147
+ "tags": [
18148
+ "layout",
18149
+ "building blocks",
18150
+ "workspace"
18151
+ ],
18152
+ "aliases": [
18153
+ "resource workspace regions",
18154
+ "record header and rail",
18155
+ "workspace locale strip"
18156
+ ],
18157
+ "section": "Layouts",
18158
+ "browse": {
18159
+ "category": "layout-shells",
18160
+ "group": "Workspace",
18161
+ "domain": "",
18162
+ "collection": ""
18163
+ },
18164
+ "sections": [
18165
+ {
18166
+ "title": "Examples",
18167
+ "symbols": []
18168
+ },
18169
+ {
18170
+ "title": "API",
18171
+ "symbols": [
18172
+ "WorkspaceLayout",
18173
+ "WorkspaceRecordHeader",
18174
+ "WorkspaceNav",
18175
+ "WorkspaceLocaleStrip"
18176
+ ]
18177
+ }
18178
+ ],
18179
+ "alternatives": [
18180
+ "themelia-react-ui/features/resource",
18181
+ "themelia-react-ui/layout/app-shell",
18182
+ "themelia-react-ui/layout/page"
18183
+ ]
18184
+ }
18185
+ ],
18186
+ "recipes": []
16675
18187
  },
16676
18188
  {
16677
18189
  "import": "themelia-react-ui/lib/strings",
@@ -16691,7 +18203,8 @@
16691
18203
  "tags": [],
16692
18204
  "aliases": [],
16693
18205
  "sections": [],
16694
- "guidance": []
18206
+ "guidance": [],
18207
+ "recipes": []
16695
18208
  },
16696
18209
  {
16697
18210
  "import": "themelia-react-ui/lib/utils",
@@ -16706,7 +18219,8 @@
16706
18219
  "tags": [],
16707
18220
  "aliases": [],
16708
18221
  "sections": [],
16709
- "guidance": []
18222
+ "guidance": [],
18223
+ "recipes": []
16710
18224
  },
16711
18225
  {
16712
18226
  "import": "themelia-react-ui/primitives",
@@ -16745,6 +18259,8 @@
16745
18259
  "Link",
16746
18260
  "LinkProps",
16747
18261
  "Money",
18262
+ "MoneyFormatter",
18263
+ "MoneyFormatterOptions",
16748
18264
  "MoneyLayout",
16749
18265
  "MoneyProps",
16750
18266
  "MoneySecondaryEmphasis",
@@ -16777,7 +18293,8 @@
16777
18293
  "formatFileSize",
16778
18294
  "formatInitials",
16779
18295
  "formatName",
16780
- "parseDateInput"
18296
+ "parseDateInput",
18297
+ "useMoneyFormatter"
16781
18298
  ],
16782
18299
  "optionalPeers": [],
16783
18300
  "layer": "foundations",
@@ -17294,6 +18811,107 @@
17294
18811
  ],
17295
18812
  "alternatives": []
17296
18813
  }
18814
+ ],
18815
+ "recipes": [
18816
+ {
18817
+ "file": "examples/detail.tsx",
18818
+ "exports": [
18819
+ "AccountDetail"
18820
+ ],
18821
+ "symbols": [
18822
+ "Date",
18823
+ "Email",
18824
+ "Money",
18825
+ "Value"
18826
+ ],
18827
+ "references": [
18828
+ "references/analytics.md#usage-facts-and-verification",
18829
+ "references/composition.md#application-layouts",
18830
+ "references/workflows.md#detail-and-framing",
18831
+ "references/workflows.md#single-resource-page"
18832
+ ],
18833
+ "optionalPeers": []
18834
+ },
18835
+ {
18836
+ "file": "examples/detail.tsx",
18837
+ "exports": [
18838
+ "AccountDetailPage"
18839
+ ],
18840
+ "symbols": [
18841
+ "Date",
18842
+ "Email",
18843
+ "Money",
18844
+ "Value"
18845
+ ],
18846
+ "references": [
18847
+ "references/analytics.md#usage-facts-and-verification",
18848
+ "references/composition.md#application-layouts",
18849
+ "references/workflows.md#detail-and-framing",
18850
+ "references/workflows.md#single-resource-page"
18851
+ ],
18852
+ "optionalPeers": []
18853
+ },
18854
+ {
18855
+ "file": "examples/index-table.tsx",
18856
+ "exports": [
18857
+ "AccountIndex"
18858
+ ],
18859
+ "symbols": [
18860
+ "Email",
18861
+ "Name"
18862
+ ],
18863
+ "references": [
18864
+ "references/workflows.md#index-and-navigation"
18865
+ ],
18866
+ "optionalPeers": [
18867
+ "@tanstack/react-table"
18868
+ ]
18869
+ },
18870
+ {
18871
+ "file": "examples/receipt.tsx",
18872
+ "exports": [
18873
+ "PurchaseReceipt"
18874
+ ],
18875
+ "symbols": [
18876
+ "Money"
18877
+ ],
18878
+ "references": [
18879
+ "references/composition.md#receipts"
18880
+ ],
18881
+ "optionalPeers": []
18882
+ },
18883
+ {
18884
+ "file": "examples/scoped-directory.tsx",
18885
+ "exports": [
18886
+ "ScopedDirectory"
18887
+ ],
18888
+ "symbols": [
18889
+ "Email"
18890
+ ],
18891
+ "references": [
18892
+ "references/composition.md#compose-from-the-task",
18893
+ "references/workflows.md#scoped-directory"
18894
+ ],
18895
+ "optionalPeers": [
18896
+ "@tanstack/react-table",
18897
+ "react-day-picker"
18898
+ ]
18899
+ },
18900
+ {
18901
+ "file": "examples/website.tsx",
18902
+ "exports": [
18903
+ "WebsiteLandingPage"
18904
+ ],
18905
+ "symbols": [
18906
+ "Money",
18907
+ "MoneyValue"
18908
+ ],
18909
+ "references": [
18910
+ "references/composition.md#public-websites-and-service-overviews",
18911
+ "references/composition.md#visual-heading-emphasis"
18912
+ ],
18913
+ "optionalPeers": []
18914
+ }
17297
18915
  ]
17298
18916
  },
17299
18917
  {
@@ -17466,7 +19084,8 @@
17466
19084
  "themelia-react-ui/features/overlays"
17467
19085
  ]
17468
19086
  }
17469
- ]
19087
+ ],
19088
+ "recipes": []
17470
19089
  },
17471
19090
  {
17472
19091
  "import": "themelia-react-ui/typography",
@@ -17476,6 +19095,7 @@
17476
19095
  "DisplayLabelProps",
17477
19096
  "Heading",
17478
19097
  "HeadingProps",
19098
+ "HeadingSize",
17479
19099
  "HeadingTag",
17480
19100
  "Label",
17481
19101
  "LabelProps",
@@ -17586,6 +19206,151 @@
17586
19206
  "themelia-react-ui/primitives"
17587
19207
  ]
17588
19208
  }
19209
+ ],
19210
+ "recipes": [
19211
+ {
19212
+ "file": "examples/app-layout.tsx",
19213
+ "exports": [
19214
+ "WorkspaceLayout"
19215
+ ],
19216
+ "symbols": [
19217
+ "Text"
19218
+ ],
19219
+ "references": [
19220
+ "references/composition.md#application-layouts",
19221
+ "references/integration.md",
19222
+ "references/workflows.md#single-resource-page"
19223
+ ],
19224
+ "optionalPeers": []
19225
+ },
19226
+ {
19227
+ "file": "examples/composition.tsx",
19228
+ "exports": [
19229
+ "AccountComposition"
19230
+ ],
19231
+ "symbols": [
19232
+ "Text"
19233
+ ],
19234
+ "references": [
19235
+ "references/workflows.md#destructive-confirmation"
19236
+ ],
19237
+ "optionalPeers": []
19238
+ },
19239
+ {
19240
+ "file": "examples/content-workflow.tsx",
19241
+ "exports": [
19242
+ "ReviewMessage"
19243
+ ],
19244
+ "symbols": [
19245
+ "Text"
19246
+ ],
19247
+ "references": [
19248
+ "references/composition.md#files-code-and-messages"
19249
+ ],
19250
+ "optionalPeers": []
19251
+ },
19252
+ {
19253
+ "file": "examples/destructive-confirm.tsx",
19254
+ "exports": [
19255
+ "DeleteAccount"
19256
+ ],
19257
+ "symbols": [
19258
+ "Text"
19259
+ ],
19260
+ "references": [
19261
+ "references/workflows.md#destructive-confirmation"
19262
+ ],
19263
+ "optionalPeers": []
19264
+ },
19265
+ {
19266
+ "file": "examples/edit.tsx",
19267
+ "exports": [
19268
+ "AccountEdit"
19269
+ ],
19270
+ "symbols": [
19271
+ "Text"
19272
+ ],
19273
+ "references": [
19274
+ "references/workflows.md#validated-editing"
19275
+ ],
19276
+ "optionalPeers": [
19277
+ "react-hook-form"
19278
+ ]
19279
+ },
19280
+ {
19281
+ "file": "examples/hierarchy-capture.tsx",
19282
+ "exports": [
19283
+ "HierarchyCapture"
19284
+ ],
19285
+ "symbols": [
19286
+ "Label"
19287
+ ],
19288
+ "references": [
19289
+ "references/composition.md#hierarchies-capture-and-guided-forms"
19290
+ ],
19291
+ "optionalPeers": []
19292
+ },
19293
+ {
19294
+ "file": "examples/index-table.tsx",
19295
+ "exports": [
19296
+ "AccountIndex"
19297
+ ],
19298
+ "symbols": [
19299
+ "Text"
19300
+ ],
19301
+ "references": [
19302
+ "references/workflows.md#index-and-navigation"
19303
+ ],
19304
+ "optionalPeers": [
19305
+ "@tanstack/react-table"
19306
+ ]
19307
+ },
19308
+ {
19309
+ "file": "examples/receipt.tsx",
19310
+ "exports": [
19311
+ "PurchaseReceipt"
19312
+ ],
19313
+ "symbols": [
19314
+ "Heading",
19315
+ "Text"
19316
+ ],
19317
+ "references": [
19318
+ "references/composition.md#receipts"
19319
+ ],
19320
+ "optionalPeers": []
19321
+ },
19322
+ {
19323
+ "file": "examples/scoped-directory.tsx",
19324
+ "exports": [
19325
+ "ScopedDirectory"
19326
+ ],
19327
+ "symbols": [
19328
+ "Text"
19329
+ ],
19330
+ "references": [
19331
+ "references/composition.md#compose-from-the-task",
19332
+ "references/workflows.md#scoped-directory"
19333
+ ],
19334
+ "optionalPeers": [
19335
+ "@tanstack/react-table",
19336
+ "react-day-picker"
19337
+ ]
19338
+ },
19339
+ {
19340
+ "file": "examples/website.tsx",
19341
+ "exports": [
19342
+ "WebsiteLandingPage"
19343
+ ],
19344
+ "symbols": [
19345
+ "Heading",
19346
+ "Text"
19347
+ ],
19348
+ "references": [
19349
+ "references/composition.md#public-websites-and-service-overviews",
19350
+ "references/composition.md#visual-heading-emphasis"
19351
+ ],
19352
+ "optionalPeers": []
19353
+ }
17589
19354
  ]
17590
19355
  },
17591
19356
  {
@@ -17598,11 +19363,66 @@
17598
19363
  "optionalPeers": [],
17599
19364
  "layer": "foundations",
17600
19365
  "responsibility": "Sanitized rich HTML display with scoped reading rhythm; editing belongs to the rich-text-editor feature.",
17601
- "jobs": [],
17602
- "tags": [],
17603
- "aliases": [],
17604
- "sections": [],
17605
- "guidance": []
19366
+ "jobs": [
19367
+ "Display rich HTML and converted Markdown content"
19368
+ ],
19369
+ "tags": [
19370
+ "HTML",
19371
+ "rich text"
19372
+ ],
19373
+ "aliases": [
19374
+ "markdown",
19375
+ "rendered markdown"
19376
+ ],
19377
+ "references": [
19378
+ "references/composition.md#typography-and-rich-content"
19379
+ ],
19380
+ "sections": [
19381
+ "Foundations"
19382
+ ],
19383
+ "guidance": [
19384
+ {
19385
+ "title": "Rich HTML display",
19386
+ "description": "Sanitized rich HTML display with scoped reading rhythm; editing belongs to the rich-text-editor feature.",
19387
+ "section": "Foundations",
19388
+ "chooseWhen": [
19389
+ "Display sanitized HTML, including application-converted Markdown."
19390
+ ],
19391
+ "avoidWhen": [
19392
+ "Raw Markdown parsing or an editable document is required."
19393
+ ],
19394
+ "appOwned": [
19395
+ "Markdown-to-HTML conversion, content loading and persistence"
19396
+ ],
19397
+ "jobs": [
19398
+ "Display rich HTML and converted Markdown content"
19399
+ ],
19400
+ "tags": [
19401
+ "rich text",
19402
+ "HTML"
19403
+ ],
19404
+ "aliases": [
19405
+ "markdown",
19406
+ "rendered markdown"
19407
+ ],
19408
+ "browse": {
19409
+ "category": "typography",
19410
+ "group": "Typography",
19411
+ "domain": "",
19412
+ "collection": ""
19413
+ },
19414
+ "sections": [
19415
+ {
19416
+ "title": "API",
19417
+ "symbols": [
19418
+ "RichText"
19419
+ ]
19420
+ }
19421
+ ],
19422
+ "alternatives": []
19423
+ }
19424
+ ],
19425
+ "recipes": []
17606
19426
  },
17607
19427
  {
17608
19428
  "import": "themelia-react-ui/ui-provider",
@@ -17679,9 +19499,20 @@
17679
19499
  "runtime"
17680
19500
  ],
17681
19501
  "aliases": [
19502
+ "border radius",
19503
+ "control corners",
19504
+ "control heights",
19505
+ "control-height",
19506
+ "global corners",
19507
+ "matching control heights",
19508
+ "radius",
17682
19509
  "theme boundary",
17683
19510
  "theming"
17684
19511
  ],
19512
+ "references": [
19513
+ "references/design-contract.md",
19514
+ "references/theming.md"
19515
+ ],
17685
19516
  "sections": [
17686
19517
  "Foundations"
17687
19518
  ],
@@ -17744,6 +19575,21 @@
17744
19575
  "themelia-react-ui/features/theme-tweaker"
17745
19576
  ]
17746
19577
  }
19578
+ ],
19579
+ "recipes": [
19580
+ {
19581
+ "file": "examples/composition.tsx",
19582
+ "exports": [
19583
+ "AccountComposition"
19584
+ ],
19585
+ "symbols": [
19586
+ "ThemeScope"
19587
+ ],
19588
+ "references": [
19589
+ "references/workflows.md#destructive-confirmation"
19590
+ ],
19591
+ "optionalPeers": []
19592
+ }
17747
19593
  ]
17748
19594
  }
17749
19595
  ]