themelia-react-ui 2.0.3 → 2.0.4

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 (421) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +65 -28
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
  4. package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
  5. package/dist/action-menu-CHgs8vmj.js +281 -0
  6. package/dist/action-menu-CHgs8vmj.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
  8. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
  10. package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
  11. package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
  12. package/dist/app-shell-D63ATkIK.js.map +1 -0
  13. package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-D2FVZ1MH.js} +10 -10
  16. package/dist/{auth-BGua8ouh.js.map → auth-D2FVZ1MH.js.map} +1 -1
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
  18. package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
  19. package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
  20. package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.js.map} +1 -1
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/batch-action-bar.js +1 -1
  27. package/dist/base/buttons.js +1 -1
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +3 -3
  30. package/dist/base/cascader.js +13 -13
  31. package/dist/base/chart.js +1 -1
  32. package/dist/base/choice-inputs.js +2 -2
  33. package/dist/base/code-block.js +1 -1
  34. package/dist/base/combobox.js +1 -1
  35. package/dist/base/command.js +1 -1
  36. package/dist/base/copyable.js +1 -1
  37. package/dist/base/date-pickers.js +2 -2
  38. package/dist/base/display.js +6 -6
  39. package/dist/base/feedback.js +3 -3
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +3 -3
  42. package/dist/base/inline-edit.js +10 -10
  43. package/dist/base/item.js +1 -1
  44. package/dist/base/media-gallery.js +1 -1
  45. package/dist/base/metadata-list.js +1 -1
  46. package/dist/base/navigation.js +6 -6
  47. package/dist/base/popover-menu.js +1 -1
  48. package/dist/base/popover.js +1 -1
  49. package/dist/base/qr-code.js +1 -1
  50. package/dist/base/repeaters.js +9 -9
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +1 -1
  53. package/dist/base/signature-pad.js +6 -6
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +4 -4
  56. package/dist/base/structure.js +1 -1
  57. package/dist/base/table.js +1 -1
  58. package/dist/base/text-inputs.js +2 -2
  59. package/dist/base/toaster.js +3 -3
  60. package/dist/base/tree.js +1 -1
  61. package/dist/base/upload-queue.js +1 -1
  62. package/dist/base/upload.js +3 -3
  63. package/dist/base/value-inputs.js +1 -1
  64. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
  65. package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
  66. package/dist/blocks/admin.js +20 -20
  67. package/dist/blocks/admin.js.map +1 -1
  68. package/dist/blocks/ai.js +15 -15
  69. package/dist/blocks/analytics/usage-card.js +1 -1
  70. package/dist/blocks/analytics.js +17 -17
  71. package/dist/blocks/analytics.js.map +1 -1
  72. package/dist/blocks/collaboration.js +1 -1
  73. package/dist/blocks/commerce/receipt.js +1 -1
  74. package/dist/blocks/commerce.js +570 -567
  75. package/dist/blocks/commerce.js.map +1 -1
  76. package/dist/blocks/data-display.js +2 -2
  77. package/dist/blocks/onboarding.js +5 -5
  78. package/dist/blocks/planning.js +11 -11
  79. package/dist/blocks/timelines.js +1 -1
  80. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
  81. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
  82. package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
  83. package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
  84. package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
  85. package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
  86. package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
  87. package/dist/cards-4JTWqvVe.js.map +1 -0
  88. package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
  89. package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
  90. package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
  91. package/dist/checkbox-CzYUTPeJ.js.map +1 -0
  92. package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
  93. package/dist/choice-inputs-JLtij2y4.js.map +1 -0
  94. package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
  95. package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
  96. package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
  97. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
  98. package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
  99. package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
  100. package/dist/{combobox-Dxo2fAYQ.js → combobox-CBJDs6w_.js} +12 -12
  101. package/dist/{combobox-Dxo2fAYQ.js.map → combobox-CBJDs6w_.js.map} +1 -1
  102. package/dist/{combobox-DaHESuiL.js → combobox-hbhSS18O.js} +7 -7
  103. package/dist/{combobox-DaHESuiL.js.map → combobox-hbhSS18O.js.map} +1 -1
  104. package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
  105. package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
  106. package/dist/{comments-DD0DUPwJ.js → comments-Di4w0H_S.js} +383 -382
  107. package/dist/comments-Di4w0H_S.js.map +1 -0
  108. package/dist/components/base/action-menu/action-menu.d.ts +2 -0
  109. package/dist/components/base/cards/card.recipes.d.ts +12 -5
  110. package/dist/components/base/cards/smart-card.types.d.ts +12 -7
  111. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  112. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  113. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  114. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  115. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  116. package/dist/components/base/forms/form-field.d.ts +5 -3
  117. package/dist/components/base/forms/index.d.ts +1 -0
  118. package/dist/components/base/forms/server-errors.d.ts +16 -0
  119. package/dist/components/base/forms/workflow.d.ts +5 -2
  120. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  121. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
  122. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  123. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  124. package/dist/components/base/text-inputs/input.d.ts +4 -2
  125. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  126. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  127. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  128. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  129. package/dist/components/typography/text.styles.d.ts +26 -1
  130. package/dist/composition.recipes-COdiFhxB.js +19 -0
  131. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  132. package/dist/containers-CRmHf7GP.js +104 -0
  133. package/dist/containers-CRmHf7GP.js.map +1 -0
  134. package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
  135. package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
  136. package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
  137. package/dist/data-display-D4oujtx0.js.map +1 -0
  138. package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
  139. package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
  140. package/dist/{date-picker-B2K3ucWn.js → date-picker-zOt1oNss.js} +102 -90
  141. package/dist/date-picker-zOt1oNss.js.map +1 -0
  142. package/dist/date-pickers-cj8IXbDC.js +179 -0
  143. package/dist/date-pickers-cj8IXbDC.js.map +1 -0
  144. package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
  145. package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
  146. package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
  147. package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
  148. package/dist/features/activities.js +11 -11
  149. package/dist/features/ai-chat.js +9 -9
  150. package/dist/features/appointment-calendar.js +222 -220
  151. package/dist/features/appointment-calendar.js.map +1 -1
  152. package/dist/features/async-preview.js +8 -8
  153. package/dist/features/combobox.js +1 -1
  154. package/dist/features/comments.js +1 -1
  155. package/dist/features/data-view.js +10 -10
  156. package/dist/features/email-composer.js +275 -274
  157. package/dist/features/email-composer.js.map +1 -1
  158. package/dist/features/event-calendar.js +199 -198
  159. package/dist/features/event-calendar.js.map +1 -1
  160. package/dist/features/filters.js +1 -1
  161. package/dist/features/global-search.js +12 -12
  162. package/dist/features/kanban.js +4 -4
  163. package/dist/features/map.js +7 -7
  164. package/dist/features/media-library.js +623 -622
  165. package/dist/features/media-library.js.map +1 -1
  166. package/dist/features/mentions.js +1 -1
  167. package/dist/features/overlays.js +1 -1
  168. package/dist/features/products.js +973 -969
  169. package/dist/features/products.js.map +1 -1
  170. package/dist/features/questionnaire.js +12 -12
  171. package/dist/features/resource-assignment.js +8 -8
  172. package/dist/features/resource.js +113 -112
  173. package/dist/features/resource.js.map +1 -1
  174. package/dist/features/rich-text-editor.js +2 -2
  175. package/dist/features/schema-form.js +254 -253
  176. package/dist/features/schema-form.js.map +1 -1
  177. package/dist/features/suggestions.js +3 -3
  178. package/dist/features/sync.js +3 -3
  179. package/dist/features/table.js +1 -1
  180. package/dist/features/theme-tweaker.js +19 -19
  181. package/dist/features/theme-tweaker.js.map +1 -1
  182. package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
  183. package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
  184. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
  185. package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
  186. package/dist/{filters-DJVAveHA.js → filters-BcT-uoFy.js} +19 -19
  187. package/dist/{filters-DJVAveHA.js.map → filters-BcT-uoFy.js.map} +1 -1
  188. package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
  189. package/dist/form-field-CsgRmdit.js.map +1 -0
  190. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
  191. package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
  192. package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
  193. package/dist/forms-BV5m5aQF.js.map +1 -0
  194. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
  195. package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
  196. package/dist/{header-BSfIEWbI.js → header-BA697l4a.js} +14 -14
  197. package/dist/{header-BSfIEWbI.js.map → header-BA697l4a.js.map} +1 -1
  198. package/dist/hooks/useFormErrors.d.ts +1 -1
  199. package/dist/{hooks-ClH9thn4.js → hooks-BQ-L7Uu2.js} +2 -2
  200. package/dist/{hooks-ClH9thn4.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
  201. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
  202. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
  203. package/dist/index.js +2 -2
  204. package/dist/input-Cdw4k0fb.js +289 -0
  205. package/dist/input-Cdw4k0fb.js.map +1 -0
  206. package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
  207. package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
  208. package/dist/item-BvZ2DR_x.js +277 -0
  209. package/dist/item-BvZ2DR_x.js.map +1 -0
  210. package/dist/layout/app-shell.js +1 -1
  211. package/dist/layout/auth.js +1 -1
  212. package/dist/layout/containers.js +1 -1
  213. package/dist/layout/header.js +1 -1
  214. package/dist/layout/hooks.js +1 -1
  215. package/dist/layout/navigation.js +1 -1
  216. package/dist/layout/page.js +1 -1
  217. package/dist/layout/settings.js +1 -1
  218. package/dist/layout/sidebar.js +2 -2
  219. package/dist/layout/workspace.js +1 -1
  220. package/dist/layout.js +10 -10
  221. package/dist/lib/affordance-geometry.generated.d.ts +6 -0
  222. package/dist/lib/ui-provider/types.d.ts +1 -1
  223. package/dist/lib/utils.js +1 -1
  224. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
  225. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
  226. package/dist/{mentions-CGlEJ15c.js → mentions-RKOQaaIB.js} +8 -8
  227. package/dist/{mentions-CGlEJ15c.js.map → mentions-RKOQaaIB.js.map} +1 -1
  228. package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
  229. package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
  230. package/dist/metadata-list-qVV7AVxa.js +443 -0
  231. package/dist/metadata-list-qVV7AVxa.js.map +1 -0
  232. package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
  233. package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
  234. package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
  235. package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
  236. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
  237. package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
  238. package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
  239. package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
  240. package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
  241. package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
  242. package/dist/{overlays-tMkF-VAN.js → overlays-BlKynmde.js} +228 -227
  243. package/dist/overlays-BlKynmde.js.map +1 -0
  244. package/dist/page-CIwNUtGr.js +227 -0
  245. package/dist/page-CIwNUtGr.js.map +1 -0
  246. package/dist/page-header-commands-DFMlNYzN.js +128 -0
  247. package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
  248. package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
  249. package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
  250. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-BYaCdFhf.js} +6 -6
  251. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
  252. package/dist/{popover-gnTOhbFM.js → popover-uwzX2vo7.js} +4 -4
  253. package/dist/{popover-gnTOhbFM.js.map → popover-uwzX2vo7.js.map} +1 -1
  254. package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
  255. package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
  256. package/dist/primitives.js +4 -4
  257. package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
  258. package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
  259. package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
  260. package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
  261. package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
  262. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
  263. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
  264. package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
  265. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
  266. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
  267. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
  268. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
  269. package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
  270. package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
  271. package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
  272. package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
  273. package/dist/services/actions.js +1 -1
  274. package/dist/settings-BA2iboic.js +174 -0
  275. package/dist/settings-BA2iboic.js.map +1 -0
  276. package/dist/{sheet-ijlsjq-n.js → sheet-DoAxTb2J.js} +7 -7
  277. package/dist/{sheet-ijlsjq-n.js.map → sheet-DoAxTb2J.js.map} +1 -1
  278. package/dist/{sidebar-DkTO4VTO.js → sidebar-ByqKR_W5.js} +13 -13
  279. package/dist/{sidebar-DkTO4VTO.js.map → sidebar-ByqKR_W5.js.map} +1 -1
  280. package/dist/{sidebar-Db6gkh3U.js → sidebar-D2iSnGJ7.js} +11 -11
  281. package/dist/{sidebar-Db6gkh3U.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
  282. package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
  283. package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
  284. package/dist/smart-card-CqkzQsK-.js +614 -0
  285. package/dist/smart-card-CqkzQsK-.js.map +1 -0
  286. package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
  287. package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
  288. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  289. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  290. package/dist/style.css +1 -1
  291. package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
  292. package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
  293. package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
  294. package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
  295. package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
  296. package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
  297. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
  298. package/dist/text-inputs-DXItiR0O.js.map +1 -0
  299. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  300. package/dist/text.styles-B64My8RZ.js.map +1 -0
  301. package/dist/theme.css +152 -112
  302. package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
  303. package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
  304. package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
  305. package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
  306. package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
  307. package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
  308. package/dist/typography/rich-text.js +1 -1
  309. package/dist/typography-CSyJrh28.js +117 -0
  310. package/dist/typography-CSyJrh28.js.map +1 -0
  311. package/dist/typography.js +1 -1
  312. package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
  313. package/dist/ui-provider-CQCuCBcy.js.map +1 -0
  314. package/dist/ui-provider.js +1 -1
  315. package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
  316. package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
  317. package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
  318. package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
  319. package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
  320. package/dist/usage-card-DVTRDmGz.js.map +1 -0
  321. package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
  322. package/dist/utils-CF3c95Io.js.map +1 -0
  323. package/dist/value-inputs-C0o70p-U.js +980 -0
  324. package/dist/value-inputs-C0o70p-U.js.map +1 -0
  325. package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
  326. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
  327. package/dist/workspace-9EFVXUyk.js +410 -0
  328. package/dist/workspace-9EFVXUyk.js.map +1 -0
  329. package/docs/consumer-skill/SKILL.md +14 -129
  330. package/docs/consumer-skill/examples/app-layout.tsx +22 -12
  331. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  332. package/docs/consumer-skill/examples/edit.tsx +30 -38
  333. package/docs/consumer-skill/examples/manifest.json +51 -1
  334. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  335. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  336. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
  337. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  338. package/docs/consumer-skill/references/agents-md.md +17 -7
  339. package/docs/consumer-skill/references/authentication.md +42 -0
  340. package/docs/consumer-skill/references/component-contracts.json +319824 -0
  341. package/docs/consumer-skill/references/composition-mapping.md +92 -0
  342. package/docs/consumer-skill/references/composition.md +43 -19
  343. package/docs/consumer-skill/references/design-contract.md +32 -0
  344. package/docs/consumer-skill/references/discovery.md +84 -7
  345. package/docs/consumer-skill/references/installation.md +40 -36
  346. package/docs/consumer-skill/references/integration.md +6 -2
  347. package/docs/consumer-skill/references/public-api.json +1519 -65
  348. package/docs/consumer-skill/references/review.md +9 -4
  349. package/docs/consumer-skill/references/rhf-workflows.md +86 -0
  350. package/docs/consumer-skill/references/screen-archetypes.md +22 -0
  351. package/docs/consumer-skill/references/theming.md +8 -9
  352. package/docs/consumer-skill/references/tokens.json +12 -3
  353. package/docs/consumer-skill/references/workflows.md +2 -1
  354. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  355. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  356. package/docs/consumer-skill/scripts/composition.mjs +198 -0
  357. package/docs/consumer-skill/scripts/discovery.mjs +42 -10
  358. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  359. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  360. package/docs/consumer-skill/scripts/inspection.mjs +138 -0
  361. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  362. package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
  363. package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
  364. package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
  365. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  366. package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
  367. package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
  368. package/package.json +4 -2
  369. package/templates/README.md +39 -0
  370. package/templates/admin-shell-template.tsx +382 -0
  371. package/templates/analytics-operations-template.tsx +376 -0
  372. package/templates/customers-template.tsx +509 -0
  373. package/templates/index.ts +29 -0
  374. package/templates/orders-template.tsx +1102 -0
  375. package/templates/products-template.tsx +834 -0
  376. package/templates/user-permissions-template.tsx +450 -0
  377. package/dist/action-menu-CllU52Mm.js +0 -280
  378. package/dist/action-menu-CllU52Mm.js.map +0 -1
  379. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  380. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  381. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  382. package/dist/cards-BaBZR-AU.js.map +0 -1
  383. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  384. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  385. package/dist/comments-DD0DUPwJ.js.map +0 -1
  386. package/dist/containers-Mu1LMGV1.js +0 -103
  387. package/dist/containers-Mu1LMGV1.js.map +0 -1
  388. package/dist/data-display-DT_khPl_.js.map +0 -1
  389. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  390. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  391. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  392. package/dist/form-field-CwH9y77i.js.map +0 -1
  393. package/dist/forms-B9G_xwzi.js.map +0 -1
  394. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  395. package/dist/input-DQdEd0YD.js +0 -263
  396. package/dist/input-DQdEd0YD.js.map +0 -1
  397. package/dist/item-K5_ghvze.js +0 -275
  398. package/dist/item-K5_ghvze.js.map +0 -1
  399. package/dist/metadata-list-8N16ZMW_.js +0 -405
  400. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  401. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  402. package/dist/overlays-tMkF-VAN.js.map +0 -1
  403. package/dist/page-CL9YeH_V.js +0 -224
  404. package/dist/page-CL9YeH_V.js.map +0 -1
  405. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  406. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  407. package/dist/settings-ybnjVwbd.js +0 -171
  408. package/dist/settings-ybnjVwbd.js.map +0 -1
  409. package/dist/smart-card-DiC5aac3.js +0 -604
  410. package/dist/smart-card-DiC5aac3.js.map +0 -1
  411. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  412. package/dist/text.styles-g4He6UIW.js.map +0 -1
  413. package/dist/typography-UTnveOEy.js +0 -117
  414. package/dist/typography-UTnveOEy.js.map +0 -1
  415. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  416. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  417. package/dist/utils-BRhFDwuU.js.map +0 -1
  418. package/dist/value-inputs-TaX4OjNk.js +0 -963
  419. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  420. package/dist/workspace-B-OEm3Kf.js +0 -408
  421. package/dist/workspace-B-OEm3Kf.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "discoveryVersion": 1,
4
4
  "package": "themelia-react-ui",
5
- "version": "2.0.3",
5
+ "version": "2.0.4",
6
6
  "stylesheets": [
7
7
  "themelia-react-ui/style.css",
8
8
  "themelia-react-ui/theme.css",
@@ -1243,6 +1243,21 @@
1243
1243
  }
1244
1244
  ],
1245
1245
  "recipes": [
1246
+ {
1247
+ "file": "examples/authentication.tsx",
1248
+ "exports": [
1249
+ "PasswordSignIn"
1250
+ ],
1251
+ "symbols": [
1252
+ "Button"
1253
+ ],
1254
+ "references": [
1255
+ "references/authentication.md#authentication-pages"
1256
+ ],
1257
+ "optionalPeers": [
1258
+ "react-hook-form"
1259
+ ]
1260
+ },
1246
1261
  {
1247
1262
  "file": "examples/composition.tsx",
1248
1263
  "exports": [
@@ -1280,6 +1295,7 @@
1280
1295
  "references": [
1281
1296
  "references/analytics.md#usage-facts-and-verification",
1282
1297
  "references/composition.md#application-layouts",
1298
+ "references/screen-archetypes.md",
1283
1299
  "references/workflows.md#detail-and-framing",
1284
1300
  "references/workflows.md#single-resource-page"
1285
1301
  ],
@@ -1309,12 +1325,45 @@
1309
1325
  "Button"
1310
1326
  ],
1311
1327
  "references": [
1328
+ "references/screen-archetypes.md",
1312
1329
  "references/workflows.md#index-and-navigation"
1313
1330
  ],
1314
1331
  "optionalPeers": [
1315
1332
  "@tanstack/react-table"
1316
1333
  ]
1317
1334
  },
1335
+ {
1336
+ "file": "examples/rhf-edit-page.tsx",
1337
+ "exports": [
1338
+ "RHFEditPage"
1339
+ ],
1340
+ "symbols": [
1341
+ "Button"
1342
+ ],
1343
+ "references": [
1344
+ "references/rhf-workflows.md#screen-and-state-ownership",
1345
+ "references/screen-archetypes.md"
1346
+ ],
1347
+ "optionalPeers": [
1348
+ "react-hook-form"
1349
+ ]
1350
+ },
1351
+ {
1352
+ "file": "examples/rhf-overlay-form.tsx",
1353
+ "exports": [
1354
+ "RHFOverlayForm"
1355
+ ],
1356
+ "symbols": [
1357
+ "Button"
1358
+ ],
1359
+ "references": [
1360
+ "references/rhf-workflows.md#overlay-create-and-edit",
1361
+ "references/screen-archetypes.md"
1362
+ ],
1363
+ "optionalPeers": [
1364
+ "react-hook-form"
1365
+ ]
1366
+ },
1318
1367
  {
1319
1368
  "file": "examples/scoped-directory.tsx",
1320
1369
  "exports": [
@@ -1325,6 +1374,7 @@
1325
1374
  ],
1326
1375
  "references": [
1327
1376
  "references/composition.md#compose-from-the-task",
1377
+ "references/screen-archetypes.md",
1328
1378
  "references/workflows.md#scoped-directory"
1329
1379
  ],
1330
1380
  "optionalPeers": [
@@ -1342,7 +1392,8 @@
1342
1392
  ],
1343
1393
  "references": [
1344
1394
  "references/composition.md#public-websites-and-service-overviews",
1345
- "references/composition.md#visual-heading-emphasis"
1395
+ "references/composition.md#visual-heading-emphasis",
1396
+ "references/screen-archetypes.md"
1346
1397
  ],
1347
1398
  "optionalPeers": []
1348
1399
  }
@@ -1425,6 +1476,39 @@
1425
1476
  "loading lifecycle",
1426
1477
  "action permissions and callbacks"
1427
1478
  ],
1479
+ "composition": {
1480
+ "mappings": [
1481
+ {
1482
+ "symbol": "Card",
1483
+ "roles": [
1484
+ "subject-surface"
1485
+ ],
1486
+ "kind": "surface",
1487
+ "placement": "region",
1488
+ "surface": "self",
1489
+ "slots": [
1490
+ "children",
1491
+ "headerStart",
1492
+ "footerSlot"
1493
+ ],
1494
+ "props": {
1495
+ "contentGap": "2xl"
1496
+ }
1497
+ }
1498
+ ],
1499
+ "owns": [
1500
+ "Surface framing, aligned insets and header/footer boundaries",
1501
+ "Title, suffix and action anatomy",
1502
+ "Opt-in contentGap between direct body children"
1503
+ ],
1504
+ "parentOwns": [
1505
+ "Page gutters",
1506
+ "Gaps between independent subjects",
1507
+ "Body layout when contentGap is omitted"
1508
+ ],
1509
+ "page": "Place each independent subject Card in the Page body or a layout column.",
1510
+ "embedded": "Use surface=\"flat\" padding=\"none\" inside an existing padded boundary; retain ordinary padding when that boundary has no inset."
1511
+ },
1428
1512
  "jobs": [
1429
1513
  "Frame an application-owned customer summary card with canonical chrome, actions, and loading state.",
1430
1514
  "Frame app-owned record, summary, metric, or settings content with consistent card chrome."
@@ -1517,7 +1601,7 @@
1517
1601
  {
1518
1602
  "file": "examples/app-layout.tsx",
1519
1603
  "exports": [
1520
- "WorkspaceLayout"
1604
+ "WorkspaceExamplePage"
1521
1605
  ],
1522
1606
  "symbols": [
1523
1607
  "Card"
@@ -1525,6 +1609,7 @@
1525
1609
  "references": [
1526
1610
  "references/composition.md#application-layouts",
1527
1611
  "references/integration.md",
1612
+ "references/integration.md#form-transport-and-router-adapters",
1528
1613
  "references/workflows.md#single-resource-page"
1529
1614
  ],
1530
1615
  "optionalPeers": []
@@ -1553,6 +1638,7 @@
1553
1638
  "references": [
1554
1639
  "references/analytics.md#usage-facts-and-verification",
1555
1640
  "references/composition.md#application-layouts",
1641
+ "references/screen-archetypes.md",
1556
1642
  "references/workflows.md#detail-and-framing",
1557
1643
  "references/workflows.md#single-resource-page"
1558
1644
  ],
@@ -1569,6 +1655,7 @@
1569
1655
  "references": [
1570
1656
  "references/analytics.md#usage-facts-and-verification",
1571
1657
  "references/composition.md#application-layouts",
1658
+ "references/screen-archetypes.md",
1572
1659
  "references/workflows.md#detail-and-framing",
1573
1660
  "references/workflows.md#single-resource-page"
1574
1661
  ],
@@ -1624,6 +1711,7 @@
1624
1711
  "Card"
1625
1712
  ],
1626
1713
  "references": [
1714
+ "references/screen-archetypes.md",
1627
1715
  "references/workflows.md#index-and-navigation"
1628
1716
  ],
1629
1717
  "optionalPeers": [
@@ -1655,7 +1743,8 @@
1655
1743
  ],
1656
1744
  "references": [
1657
1745
  "references/composition.md#public-websites-and-service-overviews",
1658
- "references/composition.md#visual-heading-emphasis"
1746
+ "references/composition.md#visual-heading-emphasis",
1747
+ "references/screen-archetypes.md"
1659
1748
  ],
1660
1749
  "optionalPeers": []
1661
1750
  }
@@ -2371,7 +2460,77 @@
2371
2460
  "alternatives": []
2372
2461
  }
2373
2462
  ],
2374
- "recipes": []
2463
+ "recipes": [
2464
+ {
2465
+ "file": "examples/authentication.tsx",
2466
+ "exports": [
2467
+ "PasswordSignIn"
2468
+ ],
2469
+ "symbols": [
2470
+ "Checkbox"
2471
+ ],
2472
+ "references": [
2473
+ "references/authentication.md#authentication-pages"
2474
+ ],
2475
+ "optionalPeers": [
2476
+ "react-hook-form"
2477
+ ]
2478
+ },
2479
+ {
2480
+ "file": "examples/rhf-bindings.tsx",
2481
+ "exports": [
2482
+ "TypedControlBindings"
2483
+ ],
2484
+ "symbols": [
2485
+ "Checkbox",
2486
+ "Select",
2487
+ "Switch",
2488
+ "SwitchCard",
2489
+ "ToggleField"
2490
+ ],
2491
+ "references": [
2492
+ "references/rhf-workflows.md#typed-control-bindings"
2493
+ ],
2494
+ "optionalPeers": [
2495
+ "react-day-picker",
2496
+ "react-hook-form"
2497
+ ]
2498
+ },
2499
+ {
2500
+ "file": "examples/rhf-edit-page.tsx",
2501
+ "exports": [
2502
+ "RHFEditPage"
2503
+ ],
2504
+ "symbols": [
2505
+ "Select",
2506
+ "ToggleField"
2507
+ ],
2508
+ "references": [
2509
+ "references/rhf-workflows.md#screen-and-state-ownership",
2510
+ "references/screen-archetypes.md"
2511
+ ],
2512
+ "optionalPeers": [
2513
+ "react-hook-form"
2514
+ ]
2515
+ },
2516
+ {
2517
+ "file": "examples/rhf-overlay-form.tsx",
2518
+ "exports": [
2519
+ "RHFOverlayForm"
2520
+ ],
2521
+ "symbols": [
2522
+ "Select",
2523
+ "ToggleField"
2524
+ ],
2525
+ "references": [
2526
+ "references/rhf-workflows.md#overlay-create-and-edit",
2527
+ "references/screen-archetypes.md"
2528
+ ],
2529
+ "optionalPeers": [
2530
+ "react-hook-form"
2531
+ ]
2532
+ }
2533
+ ]
2375
2534
  },
2376
2535
  {
2377
2536
  "import": "themelia-react-ui/base/code-block",
@@ -2957,7 +3116,24 @@
2957
3116
  "alternatives": []
2958
3117
  }
2959
3118
  ],
2960
- "recipes": []
3119
+ "recipes": [
3120
+ {
3121
+ "file": "examples/rhf-bindings.tsx",
3122
+ "exports": [
3123
+ "TypedControlBindings"
3124
+ ],
3125
+ "symbols": [
3126
+ "DatePicker"
3127
+ ],
3128
+ "references": [
3129
+ "references/rhf-workflows.md#typed-control-bindings"
3130
+ ],
3131
+ "optionalPeers": [
3132
+ "react-day-picker",
3133
+ "react-hook-form"
3134
+ ]
3135
+ }
3136
+ ]
2961
3137
  },
2962
3138
  {
2963
3139
  "import": "themelia-react-ui/base/display",
@@ -3823,7 +3999,8 @@
3823
3999
  "LoadingState"
3824
4000
  ],
3825
4001
  "references": [
3826
- "references/analytics.md#dashboard-and-revenue-data"
4002
+ "references/analytics.md#dashboard-and-revenue-data",
4003
+ "references/screen-archetypes.md"
3827
4004
  ],
3828
4005
  "optionalPeers": [
3829
4006
  "recharts"
@@ -3835,6 +4012,7 @@
3835
4012
  "import": "themelia-react-ui/base/forms",
3836
4013
  "declaration": "dist/components/base/forms/index.d.ts",
3837
4014
  "symbols": [
4015
+ "ApplyServerErrorsOptions",
3838
4016
  "ControlledFormField",
3839
4017
  "ControlledFormFieldProps",
3840
4018
  "ControlledFormFieldStrings",
@@ -3852,8 +4030,10 @@
3852
4030
  "FormSectionProps",
3853
4031
  "OperationPasswordForm",
3854
4032
  "OperationPasswordFormProps",
4033
+ "ServerErrors",
3855
4034
  "SubmitStateButton",
3856
4035
  "SubmitStateButtonProps",
4036
+ "applyServerErrors",
3857
4037
  "defaultControlledFormFieldStrings"
3858
4038
  ],
3859
4039
  "optionalPeers": [
@@ -3865,11 +4045,11 @@
3865
4045
  "A label, editable control, and hint or error form one accessible field row.",
3866
4046
  "Build an application-owned validated form with consistent field and action presentation.",
3867
4047
  "Editable values need canonical field controls, field chrome, grouped choices, uploads, or form-state recipes.",
4048
+ "Related form fields need one titled section with optional actions and footer.",
3868
4049
  "Use Controlled form field in an admin interface.",
3869
4050
  "Use Dirty state banner in an admin interface.",
3870
4051
  "Use Error summary in an admin interface.",
3871
4052
  "Use Form actions bar in an admin interface.",
3872
- "Use Form section in an admin interface.",
3873
4053
  "Use Operation password form in an admin interface.",
3874
4054
  "Use Submit state button in an admin interface."
3875
4055
  ],
@@ -4145,12 +4325,47 @@
4145
4325
  },
4146
4326
  {
4147
4327
  "title": "Form section",
4148
- "description": "Card-backed section chrome for grouped form content and actions.",
4149
- "chooseWhen": [],
4150
- "avoidWhen": [],
4151
- "appOwned": [],
4152
- "jobs": [
4153
- "Use Form section in an admin interface."
4328
+ "description": "Related form fields need one titled section with optional actions and footer.",
4329
+ "chooseWhen": [
4330
+ "Related form fields need one titled section with optional actions and footer."
4331
+ ],
4332
+ "avoidWhen": [
4333
+ "Only one field needs its label, hint and validation message."
4334
+ ],
4335
+ "appOwned": [
4336
+ "Field values, validation and submission",
4337
+ "Section order and action callbacks"
4338
+ ],
4339
+ "composition": {
4340
+ "mappings": [
4341
+ {
4342
+ "symbol": "FormSection",
4343
+ "roles": [
4344
+ "form-section"
4345
+ ],
4346
+ "kind": "surface",
4347
+ "placement": "region",
4348
+ "surface": "self",
4349
+ "slots": [
4350
+ "children",
4351
+ "footer"
4352
+ ]
4353
+ }
4354
+ ],
4355
+ "owns": [
4356
+ "Section title, actions and footer anatomy",
4357
+ "Related-field gaps",
4358
+ "Card surface and region insets"
4359
+ ],
4360
+ "parentOwns": [
4361
+ "Form lifecycle",
4362
+ "Gaps between separate form subjects"
4363
+ ],
4364
+ "page": "Use ordinary section insets in an unpadded page or layout region.",
4365
+ "embedded": "Inside a padded Card, use surface=\"flat\" padding=\"none\" so the parent supplies the single inset."
4366
+ },
4367
+ "jobs": [
4368
+ "Related form fields need one titled section with optional actions and footer."
4154
4369
  ],
4155
4370
  "tags": [
4156
4371
  "base",
@@ -4178,7 +4393,10 @@
4178
4393
  ]
4179
4394
  }
4180
4395
  ],
4181
- "alternatives": []
4396
+ "alternatives": [
4397
+ "themelia-react-ui/base/cards",
4398
+ "themelia-react-ui/base/forms"
4399
+ ]
4182
4400
  },
4183
4401
  {
4184
4402
  "title": "Operation password form",
@@ -4303,13 +4521,32 @@
4303
4521
  }
4304
4522
  ],
4305
4523
  "recipes": [
4524
+ {
4525
+ "file": "examples/authentication.tsx",
4526
+ "exports": [
4527
+ "PasswordSignIn"
4528
+ ],
4529
+ "symbols": [
4530
+ "FormField"
4531
+ ],
4532
+ "references": [
4533
+ "references/authentication.md#authentication-pages"
4534
+ ],
4535
+ "optionalPeers": [
4536
+ "react-hook-form"
4537
+ ]
4538
+ },
4306
4539
  {
4307
4540
  "file": "examples/edit.tsx",
4308
4541
  "exports": [
4309
4542
  "AccountEdit"
4310
4543
  ],
4311
4544
  "symbols": [
4312
- "FormField"
4545
+ "ControlledFormField",
4546
+ "DirtyStateBanner",
4547
+ "ErrorSummary",
4548
+ "FormActionsBar",
4549
+ "SubmitStateButton"
4313
4550
  ],
4314
4551
  "references": [
4315
4552
  "references/workflows.md#validated-editing"
@@ -4317,6 +4554,60 @@
4317
4554
  "optionalPeers": [
4318
4555
  "react-hook-form"
4319
4556
  ]
4557
+ },
4558
+ {
4559
+ "file": "examples/rhf-bindings.tsx",
4560
+ "exports": [
4561
+ "TypedControlBindings"
4562
+ ],
4563
+ "symbols": [
4564
+ "ControlledFormField"
4565
+ ],
4566
+ "references": [
4567
+ "references/rhf-workflows.md#typed-control-bindings"
4568
+ ],
4569
+ "optionalPeers": [
4570
+ "react-day-picker",
4571
+ "react-hook-form"
4572
+ ]
4573
+ },
4574
+ {
4575
+ "file": "examples/rhf-edit-page.tsx",
4576
+ "exports": [
4577
+ "RHFEditPage"
4578
+ ],
4579
+ "symbols": [
4580
+ "ControlledFormField",
4581
+ "DirtyStateBanner",
4582
+ "ErrorSummary",
4583
+ "FormActionsBar",
4584
+ "FormSection",
4585
+ "SubmitStateButton"
4586
+ ],
4587
+ "references": [
4588
+ "references/rhf-workflows.md#screen-and-state-ownership",
4589
+ "references/screen-archetypes.md"
4590
+ ],
4591
+ "optionalPeers": [
4592
+ "react-hook-form"
4593
+ ]
4594
+ },
4595
+ {
4596
+ "file": "examples/rhf-overlay-form.tsx",
4597
+ "exports": [
4598
+ "RHFOverlayForm"
4599
+ ],
4600
+ "symbols": [
4601
+ "ControlledFormField",
4602
+ "ErrorSummary"
4603
+ ],
4604
+ "references": [
4605
+ "references/rhf-workflows.md#overlay-create-and-edit",
4606
+ "references/screen-archetypes.md"
4607
+ ],
4608
+ "optionalPeers": [
4609
+ "react-hook-form"
4610
+ ]
4320
4611
  }
4321
4612
  ]
4322
4613
  },
@@ -4932,6 +5223,44 @@
4932
5223
  "navigation and actions",
4933
5224
  "selection state"
4934
5225
  ],
5226
+ "composition": {
5227
+ "mappings": [
5228
+ {
5229
+ "symbol": "Item",
5230
+ "roles": [
5231
+ "record-entry"
5232
+ ],
5233
+ "kind": "content",
5234
+ "placement": "region",
5235
+ "surface": "variant",
5236
+ "slots": [
5237
+ "children"
5238
+ ]
5239
+ },
5240
+ {
5241
+ "symbol": "ItemGroup",
5242
+ "roles": [
5243
+ "record-list"
5244
+ ],
5245
+ "kind": "layout",
5246
+ "placement": "region",
5247
+ "surface": "parent",
5248
+ "slots": [
5249
+ "children"
5250
+ ]
5251
+ }
5252
+ ],
5253
+ "owns": [
5254
+ "Identity, supporting copy and trailing row anatomy",
5255
+ "Row hit area and supported interaction states"
5256
+ ],
5257
+ "parentOwns": [
5258
+ "Collection placement and surface",
5259
+ "Spacing between separate subject regions"
5260
+ ],
5261
+ "page": "Use ItemGroup for a collection of independent records.",
5262
+ "embedded": "Plain Item rows sit flush with ItemGroup edges; avoid a second inset around every row."
5263
+ },
4935
5264
  "jobs": [
4936
5265
  "Present independent record list entries with identity, supporting copy and actions."
4937
5266
  ],
@@ -5096,6 +5425,7 @@
5096
5425
  "details",
5097
5426
  "fact list",
5098
5427
  "key value",
5428
+ "metadata",
5099
5429
  "read-only facts"
5100
5430
  ],
5101
5431
  "sections": [
@@ -5116,6 +5446,34 @@
5116
5446
  "loaded subject data",
5117
5447
  "formatting defaults"
5118
5448
  ],
5449
+ "composition": {
5450
+ "mappings": [
5451
+ {
5452
+ "symbol": "MetadataList",
5453
+ "roles": [
5454
+ "facts",
5455
+ "record-facts"
5456
+ ],
5457
+ "kind": "content",
5458
+ "placement": "region",
5459
+ "surface": "parent",
5460
+ "props": {
5461
+ "adaptTo": "container"
5462
+ }
5463
+ }
5464
+ ],
5465
+ "owns": [
5466
+ "Label/value fact anatomy and shared text roles",
5467
+ "Fact-grid columns, container/viewport adaptation and internal gaps",
5468
+ "Optional list title"
5469
+ ],
5470
+ "parentOwns": [
5471
+ "Surrounding subject header and actions",
5472
+ "Surface insets and placement"
5473
+ ],
5474
+ "page": "Use for facts about one subject; use Item when each row has an independent identity or action.",
5475
+ "embedded": "Use adaptTo=\"container\" in a narrow parent; the default viewport mode preserves explicit responsive column choices."
5476
+ },
5119
5477
  "jobs": [
5120
5478
  "Customer, order, account, or record label/value facts need a grid, rows, or inline summary."
5121
5479
  ],
@@ -5127,6 +5485,7 @@
5127
5485
  "aliases": [
5128
5486
  "blocks/data-display/metadata-list",
5129
5487
  "blocks/metadata-list",
5488
+ "metadata",
5130
5489
  "fact list",
5131
5490
  "read-only facts",
5132
5491
  "contact details",
@@ -5194,6 +5553,7 @@
5194
5553
  "references": [
5195
5554
  "references/analytics.md#usage-facts-and-verification",
5196
5555
  "references/composition.md#application-layouts",
5556
+ "references/screen-archetypes.md",
5197
5557
  "references/workflows.md#detail-and-framing",
5198
5558
  "references/workflows.md#single-resource-page"
5199
5559
  ],
@@ -5210,6 +5570,7 @@
5210
5570
  "references": [
5211
5571
  "references/analytics.md#usage-facts-and-verification",
5212
5572
  "references/composition.md#application-layouts",
5573
+ "references/screen-archetypes.md",
5213
5574
  "references/workflows.md#detail-and-framing",
5214
5575
  "references/workflows.md#single-resource-page"
5215
5576
  ],
@@ -5227,6 +5588,22 @@
5227
5588
  "references/composition.md#receipts"
5228
5589
  ],
5229
5590
  "optionalPeers": []
5591
+ },
5592
+ {
5593
+ "file": "examples/rhf-edit-page.tsx",
5594
+ "exports": [
5595
+ "RHFEditPage"
5596
+ ],
5597
+ "symbols": [
5598
+ "MetadataList"
5599
+ ],
5600
+ "references": [
5601
+ "references/rhf-workflows.md#screen-and-state-ownership",
5602
+ "references/screen-archetypes.md"
5603
+ ],
5604
+ "optionalPeers": [
5605
+ "react-hook-form"
5606
+ ]
5230
5607
  }
5231
5608
  ]
5232
5609
  },
@@ -6491,6 +6868,7 @@
6491
6868
  "references": [
6492
6869
  "references/composition.md#application-layouts",
6493
6870
  "references/integration.md",
6871
+ "references/integration.md#form-transport-and-router-adapters",
6494
6872
  "references/workflows.md#single-resource-page"
6495
6873
  ],
6496
6874
  "optionalPeers": []
@@ -7003,7 +7381,64 @@
7003
7381
  "avoidWhen": [
7004
7382
  "The shape has stronger Item, Metadata, FormField, card, table, or mechanical semantics."
7005
7383
  ],
7006
- "appOwned": [],
7384
+ "appOwned": [
7385
+ "The relationship between siblings",
7386
+ "Responsive tracks, spans and wrapping choices"
7387
+ ],
7388
+ "composition": {
7389
+ "mappings": [
7390
+ {
7391
+ "symbol": "Stack",
7392
+ "roles": [
7393
+ "subject-stack"
7394
+ ],
7395
+ "kind": "layout",
7396
+ "placement": "region",
7397
+ "surface": "none",
7398
+ "slots": [
7399
+ "children"
7400
+ ],
7401
+ "props": {
7402
+ "gap": "2xl"
7403
+ }
7404
+ },
7405
+ {
7406
+ "symbol": "Grid",
7407
+ "roles": [
7408
+ "explicit-grid"
7409
+ ],
7410
+ "kind": "layout",
7411
+ "placement": "region",
7412
+ "surface": "none",
7413
+ "slots": [
7414
+ "children"
7415
+ ]
7416
+ },
7417
+ {
7418
+ "symbol": "AdaptiveGrid",
7419
+ "roles": [
7420
+ "adaptive-grid"
7421
+ ],
7422
+ "kind": "layout",
7423
+ "placement": "region",
7424
+ "surface": "none",
7425
+ "slots": [
7426
+ "children"
7427
+ ]
7428
+ }
7429
+ ],
7430
+ "owns": [
7431
+ "Stack sibling gaps and action wrapping",
7432
+ "Grid tracks and GridCell spans",
7433
+ "AdaptiveGrid tracks driven by available width"
7434
+ ],
7435
+ "parentOwns": [
7436
+ "Subject semantics and surface insets",
7437
+ "Page gutters and shell scrolling"
7438
+ ],
7439
+ "page": "Choose a gap for the relationship: related content, independent subjects or page regions.",
7440
+ "embedded": "Arrange children without adding another surface or rewriting child identity; match peer stacks to the surrounding region gap."
7441
+ },
7007
7442
  "jobs": [
7008
7443
  "Compose layout blocks, vertical siblings, a horizontal row, wrapping actions, responsive grids and peer card gaps."
7009
7444
  ],
@@ -7065,6 +7500,21 @@
7065
7500
  }
7066
7501
  ],
7067
7502
  "recipes": [
7503
+ {
7504
+ "file": "examples/authentication.tsx",
7505
+ "exports": [
7506
+ "PasswordSignIn"
7507
+ ],
7508
+ "symbols": [
7509
+ "Stack"
7510
+ ],
7511
+ "references": [
7512
+ "references/authentication.md#authentication-pages"
7513
+ ],
7514
+ "optionalPeers": [
7515
+ "react-hook-form"
7516
+ ]
7517
+ },
7068
7518
  {
7069
7519
  "file": "examples/composition.tsx",
7070
7520
  "exports": [
@@ -7142,6 +7592,7 @@
7142
7592
  "Stack"
7143
7593
  ],
7144
7594
  "references": [
7595
+ "references/screen-archetypes.md",
7145
7596
  "references/workflows.md#index-and-navigation"
7146
7597
  ],
7147
7598
  "optionalPeers": [
@@ -7192,6 +7643,54 @@
7192
7643
  ],
7193
7644
  "optionalPeers": []
7194
7645
  },
7646
+ {
7647
+ "file": "examples/rhf-bindings.tsx",
7648
+ "exports": [
7649
+ "TypedControlBindings"
7650
+ ],
7651
+ "symbols": [
7652
+ "Stack"
7653
+ ],
7654
+ "references": [
7655
+ "references/rhf-workflows.md#typed-control-bindings"
7656
+ ],
7657
+ "optionalPeers": [
7658
+ "react-day-picker",
7659
+ "react-hook-form"
7660
+ ]
7661
+ },
7662
+ {
7663
+ "file": "examples/rhf-edit-page.tsx",
7664
+ "exports": [
7665
+ "RHFEditPage"
7666
+ ],
7667
+ "symbols": [
7668
+ "Stack"
7669
+ ],
7670
+ "references": [
7671
+ "references/rhf-workflows.md#screen-and-state-ownership",
7672
+ "references/screen-archetypes.md"
7673
+ ],
7674
+ "optionalPeers": [
7675
+ "react-hook-form"
7676
+ ]
7677
+ },
7678
+ {
7679
+ "file": "examples/rhf-overlay-form.tsx",
7680
+ "exports": [
7681
+ "RHFOverlayForm"
7682
+ ],
7683
+ "symbols": [
7684
+ "Stack"
7685
+ ],
7686
+ "references": [
7687
+ "references/rhf-workflows.md#overlay-create-and-edit",
7688
+ "references/screen-archetypes.md"
7689
+ ],
7690
+ "optionalPeers": [
7691
+ "react-hook-form"
7692
+ ]
7693
+ },
7195
7694
  {
7196
7695
  "file": "examples/scoped-directory.tsx",
7197
7696
  "exports": [
@@ -7202,6 +7701,7 @@
7202
7701
  ],
7203
7702
  "references": [
7204
7703
  "references/composition.md#compose-from-the-task",
7704
+ "references/screen-archetypes.md",
7205
7705
  "references/workflows.md#scoped-directory"
7206
7706
  ],
7207
7707
  "optionalPeers": [
@@ -7220,7 +7720,8 @@
7220
7720
  ],
7221
7721
  "references": [
7222
7722
  "references/composition.md#public-websites-and-service-overviews",
7223
- "references/composition.md#visual-heading-emphasis"
7723
+ "references/composition.md#visual-heading-emphasis",
7724
+ "references/screen-archetypes.md"
7224
7725
  ],
7225
7726
  "optionalPeers": []
7226
7727
  }
@@ -7556,6 +8057,22 @@
7556
8057
  }
7557
8058
  ],
7558
8059
  "recipes": [
8060
+ {
8061
+ "file": "examples/authentication.tsx",
8062
+ "exports": [
8063
+ "PasswordSignIn"
8064
+ ],
8065
+ "symbols": [
8066
+ "Input",
8067
+ "PasswordInput"
8068
+ ],
8069
+ "references": [
8070
+ "references/authentication.md#authentication-pages"
8071
+ ],
8072
+ "optionalPeers": [
8073
+ "react-hook-form"
8074
+ ]
8075
+ },
7559
8076
  {
7560
8077
  "file": "examples/composition.tsx",
7561
8078
  "exports": [
@@ -7583,6 +8100,56 @@
7583
8100
  "optionalPeers": [
7584
8101
  "react-hook-form"
7585
8102
  ]
8103
+ },
8104
+ {
8105
+ "file": "examples/rhf-bindings.tsx",
8106
+ "exports": [
8107
+ "TypedControlBindings"
8108
+ ],
8109
+ "symbols": [
8110
+ "Input",
8111
+ "Textarea"
8112
+ ],
8113
+ "references": [
8114
+ "references/rhf-workflows.md#typed-control-bindings"
8115
+ ],
8116
+ "optionalPeers": [
8117
+ "react-day-picker",
8118
+ "react-hook-form"
8119
+ ]
8120
+ },
8121
+ {
8122
+ "file": "examples/rhf-edit-page.tsx",
8123
+ "exports": [
8124
+ "RHFEditPage"
8125
+ ],
8126
+ "symbols": [
8127
+ "Input",
8128
+ "Textarea"
8129
+ ],
8130
+ "references": [
8131
+ "references/rhf-workflows.md#screen-and-state-ownership",
8132
+ "references/screen-archetypes.md"
8133
+ ],
8134
+ "optionalPeers": [
8135
+ "react-hook-form"
8136
+ ]
8137
+ },
8138
+ {
8139
+ "file": "examples/rhf-overlay-form.tsx",
8140
+ "exports": [
8141
+ "RHFOverlayForm"
8142
+ ],
8143
+ "symbols": [
8144
+ "Input"
8145
+ ],
8146
+ "references": [
8147
+ "references/rhf-workflows.md#overlay-create-and-edit",
8148
+ "references/screen-archetypes.md"
8149
+ ],
8150
+ "optionalPeers": [
8151
+ "react-hook-form"
8152
+ ]
7586
8153
  }
7587
8154
  ]
7588
8155
  },
@@ -8437,7 +9004,28 @@
8437
9004
  "alternatives": []
8438
9005
  }
8439
9006
  ],
8440
- "recipes": []
9007
+ "recipes": [
9008
+ {
9009
+ "file": "examples/rhf-bindings.tsx",
9010
+ "exports": [
9011
+ "TypedControlBindings"
9012
+ ],
9013
+ "symbols": [
9014
+ "ColorInput",
9015
+ "DateTimeInput",
9016
+ "PhoneInput",
9017
+ "SliderField",
9018
+ "TagsInput"
9019
+ ],
9020
+ "references": [
9021
+ "references/rhf-workflows.md#typed-control-bindings"
9022
+ ],
9023
+ "optionalPeers": [
9024
+ "react-day-picker",
9025
+ "react-hook-form"
9026
+ ]
9027
+ }
9028
+ ]
8441
9029
  },
8442
9030
  {
8443
9031
  "import": "themelia-react-ui/blocks/admin",
@@ -9844,11 +10432,11 @@
9844
10432
  "layer": "blocks",
9845
10433
  "responsibility": "Blocks family: Activity heatmap; Analytics bar; Analytics overview; Chart card; Comparison; Gradient cards; Metric parts; Micro chart grid; Stat cards; Time distribution.",
9846
10434
  "jobs": [
10435
+ "A custom chart needs shared title, description, action and footer regions.",
9847
10436
  "KPI values need trend, comparison, sparkline, bar, heatmap, or dashboard-grid semantics.",
9848
10437
  "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface.",
9849
10438
  "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer.",
9850
10439
  "Use Activity heatmap in an admin interface.",
9851
- "Use Chart card in an admin interface.",
9852
10440
  "Use Comparison in an admin interface.",
9853
10441
  "Use Gradient cards in an admin interface.",
9854
10442
  "Use Metric parts in an admin interface.",
@@ -9953,6 +10541,41 @@
9953
10541
  "requests, refresh and period changes",
9954
10542
  "error/empty/retry regions around the collection"
9955
10543
  ],
10544
+ "composition": {
10545
+ "mappings": [
10546
+ {
10547
+ "symbol": "MetricGrid",
10548
+ "roles": [
10549
+ "kpi-grid",
10550
+ "kpi-collection"
10551
+ ],
10552
+ "kind": "layout",
10553
+ "placement": "region",
10554
+ "surface": "self",
10555
+ "props": {
10556
+ "variant": "card"
10557
+ }
10558
+ },
10559
+ {
10560
+ "symbol": "MetricBar",
10561
+ "roles": [
10562
+ "kpi-strip",
10563
+ "kpi-collection"
10564
+ ],
10565
+ "kind": "content",
10566
+ "placement": "region",
10567
+ "surface": "self"
10568
+ }
10569
+ ],
10570
+ "owns": [
10571
+ "Available-width KPI peer layout or strip anatomy",
10572
+ "Selected metric presentation and strip surface"
10573
+ ],
10574
+ "parentOwns": [
10575
+ "Metric data, comparison meaning and period state",
10576
+ "Dashboard placement and collection request states"
10577
+ ]
10578
+ },
9956
10579
  "jobs": [
9957
10580
  "MetricGrid renders peer KPI cards from MetricData with parent-width columns; MetricBar renders the same metrics as one strip with optional period/footer."
9958
10581
  ],
@@ -10002,12 +10625,46 @@
10002
10625
  },
10003
10626
  {
10004
10627
  "title": "Chart card",
10005
- "description": "The admin chart surface for a bespoke Recharts composition — the package supplies hierarchy, container config, and slots; the caller owns data, axes, and series.",
10006
- "chooseWhen": [],
10007
- "avoidWhen": [],
10008
- "appOwned": [],
10009
- "jobs": [
10010
- "Use Chart card in an admin interface."
10628
+ "description": "A custom chart needs shared title, description, action and footer regions.",
10629
+ "chooseWhen": [
10630
+ "A custom chart needs shared title, description, action and footer regions."
10631
+ ],
10632
+ "avoidWhen": [
10633
+ "A single fact needs no chart, or an existing metric block already owns the presentation."
10634
+ ],
10635
+ "appOwned": [
10636
+ "Series, axes and chart data",
10637
+ "Chart sizing and interaction callbacks"
10638
+ ],
10639
+ "composition": {
10640
+ "mappings": [
10641
+ {
10642
+ "symbol": "ChartCard",
10643
+ "roles": [
10644
+ "chart-subject"
10645
+ ],
10646
+ "kind": "content",
10647
+ "placement": "region",
10648
+ "surface": "variant",
10649
+ "slots": [
10650
+ "children",
10651
+ "footer"
10652
+ ]
10653
+ }
10654
+ ],
10655
+ "owns": [
10656
+ "Chart title and footer anatomy",
10657
+ "ChartContainer configuration and content region"
10658
+ ],
10659
+ "parentOwns": [
10660
+ "Surface framing and insets unless explicitly enabled",
10661
+ "Page or dashboard placement"
10662
+ ],
10663
+ "page": "Place chart subjects in a Grid or layout column with deliberate peer gaps.",
10664
+ "embedded": "Keep the default card-free presentation inside an existing Card; opt into a surface at the composition boundary."
10665
+ },
10666
+ "jobs": [
10667
+ "A custom chart needs shared title, description, action and footer regions."
10011
10668
  ],
10012
10669
  "tags": [
10013
10670
  "blocks",
@@ -10042,7 +10699,10 @@
10042
10699
  ]
10043
10700
  }
10044
10701
  ],
10045
- "alternatives": []
10702
+ "alternatives": [
10703
+ "themelia-react-ui/blocks/analytics",
10704
+ "themelia-react-ui/blocks/data-display"
10705
+ ]
10046
10706
  },
10047
10707
  {
10048
10708
  "title": "Comparison",
@@ -10268,6 +10928,28 @@
10268
10928
  "requests, refresh and retry actions",
10269
10929
  "semantic trend override when falling values are good"
10270
10930
  ],
10931
+ "composition": {
10932
+ "mappings": [
10933
+ {
10934
+ "symbol": "Metric",
10935
+ "roles": [
10936
+ "single-kpi"
10937
+ ],
10938
+ "kind": "content",
10939
+ "placement": "region",
10940
+ "surface": "variant"
10941
+ }
10942
+ ],
10943
+ "owns": [
10944
+ "KPI formatting, trend and supported sparkline anatomy",
10945
+ "Variant and loading/error presentation"
10946
+ ],
10947
+ "parentOwns": [
10948
+ "Metric meaning, transport and accepted values",
10949
+ "Dashboard placement and peer layout"
10950
+ ],
10951
+ "embedded": "Inspect variant and loading/error presentation before adding a subject surface; default content and card variants have different framing."
10952
+ },
10271
10953
  "jobs": [
10272
10954
  "Metric renders one KPI with formatting, trend, sparkline and loading/error presentation; variant=\"card\" owns its Card surface."
10273
10955
  ],
@@ -10371,7 +11053,8 @@
10371
11053
  "MetricGrid"
10372
11054
  ],
10373
11055
  "references": [
10374
- "references/analytics.md#dashboard-and-revenue-data"
11056
+ "references/analytics.md#dashboard-and-revenue-data",
11057
+ "references/screen-archetypes.md"
10375
11058
  ],
10376
11059
  "optionalPeers": [
10377
11060
  "recharts"
@@ -10387,7 +11070,8 @@
10387
11070
  "MetricData"
10388
11071
  ],
10389
11072
  "references": [
10390
- "references/analytics.md#dashboard-and-revenue-data"
11073
+ "references/analytics.md#dashboard-and-revenue-data",
11074
+ "references/screen-archetypes.md"
10391
11075
  ],
10392
11076
  "optionalPeers": [
10393
11077
  "recharts"
@@ -10449,6 +11133,28 @@
10449
11133
  "period selection, requests and stale-result handling",
10450
11134
  "billing or navigation footer actions"
10451
11135
  ],
11136
+ "composition": {
11137
+ "mappings": [
11138
+ {
11139
+ "symbol": "UsageCard",
11140
+ "roles": [
11141
+ "usage",
11142
+ "quota-summary"
11143
+ ],
11144
+ "kind": "workflow",
11145
+ "placement": "region",
11146
+ "surface": "self"
11147
+ }
11148
+ ],
11149
+ "owns": [
11150
+ "Quota, category, daily-usage and period anatomy",
11151
+ "Card framing and shared region insets"
11152
+ ],
11153
+ "parentOwns": [
11154
+ "Requests and accepted usage data",
11155
+ "Page placement and surrounding peer gaps"
11156
+ ]
11157
+ },
10452
11158
  "jobs": [
10453
11159
  "UsageCard needs used/limit quotas, category shares, daily usage and controlled period/loading/error/retry states in one owned Card."
10454
11160
  ],
@@ -10556,6 +11262,18 @@
10556
11262
  "appOwned": [
10557
11263
  "message data, transport, delivery state and action callbacks"
10558
11264
  ],
11265
+ "composition": {
11266
+ "owns": [
11267
+ "Message author, bubble, status and action anatomy",
11268
+ "Internal message alignment and copy rhythm"
11269
+ ],
11270
+ "parentOwns": [
11271
+ "Transcript spacing and scrolling",
11272
+ "Conversation surface and composer"
11273
+ ],
11274
+ "page": "Compose Message rows inside the transcript region of a page or workflow.",
11275
+ "embedded": "Use the public message parts for custom row content while the host owns the surrounding collection."
11276
+ },
10559
11277
  "jobs": [
10560
11278
  "Message and MessageBubble present chat messages, author, delivery state, rich content and actions."
10561
11279
  ],
@@ -10806,10 +11524,10 @@
10806
11524
  "Build a money ledger with the same rows, deductions and totals as the commerce blocks.",
10807
11525
  "List an order's goods grouped by fulfillment state, with the commands that move them on.",
10808
11526
  "List every payment attempt on an order, including failures, with its kind, status and reference.",
11527
+ "One order needs goods, total and payment ledgers with status and an optional balance note.",
10809
11528
  "Open an order page with its reference, payment and fulfillment status, and commands.",
10810
11529
  "Show one ordered product with its variant, SKU, properties, unit price and passed line total.",
10811
11530
  "Show who placed an order, how to reach them, and where it ships and is billed.",
10812
- "State what an order costs and where its money stands, with a note about the balance.",
10813
11531
  "Use Address card in an admin interface.",
10814
11532
  "Use Booking event details in an admin interface.",
10815
11533
  "Use Cart summary in an admin interface.",
@@ -11335,6 +12053,28 @@
11335
12053
  "chooseWhen": [],
11336
12054
  "avoidWhen": [],
11337
12055
  "appOwned": [],
12056
+ "composition": {
12057
+ "mappings": [
12058
+ {
12059
+ "symbol": "InvoiceLineItems",
12060
+ "roles": [
12061
+ "invoice-lines"
12062
+ ],
12063
+ "kind": "content",
12064
+ "placement": "region",
12065
+ "surface": "self"
12066
+ }
12067
+ ],
12068
+ "owns": [
12069
+ "Invoice columns, rows and financial footer anatomy",
12070
+ "Rounded table surface and internal row insets"
12071
+ ],
12072
+ "parentOwns": [
12073
+ "Authoritative line items, totals and currency",
12074
+ "Subject title and placement"
12075
+ ],
12076
+ "embedded": "The line-item table already paints its own surface; do not infer a second Card from the word table."
12077
+ },
11338
12078
  "jobs": [
11339
12079
  "Use Invoice line items in an admin interface."
11340
12080
  ],
@@ -11504,6 +12244,27 @@
11504
12244
  "chooseWhen": [],
11505
12245
  "avoidWhen": [],
11506
12246
  "appOwned": [],
12247
+ "composition": {
12248
+ "mappings": [
12249
+ {
12250
+ "symbol": "OrderTimeline",
12251
+ "roles": [
12252
+ "order-history"
12253
+ ],
12254
+ "kind": "content",
12255
+ "placement": "region",
12256
+ "surface": "parent"
12257
+ }
12258
+ ],
12259
+ "owns": [
12260
+ "Read-only order-event rail and supporting copy",
12261
+ "Title and footer anatomy"
12262
+ ],
12263
+ "parentOwns": [
12264
+ "Order events and accepted status data",
12265
+ "Subject surface and page placement"
12266
+ ]
12267
+ },
11507
12268
  "jobs": [
11508
12269
  "Use Order timeline in an admin interface."
11509
12270
  ],
@@ -11588,6 +12349,27 @@
11588
12349
  "chooseWhen": [],
11589
12350
  "avoidWhen": [],
11590
12351
  "appOwned": [],
12352
+ "composition": {
12353
+ "mappings": [
12354
+ {
12355
+ "symbol": "PaymentTimeline",
12356
+ "roles": [
12357
+ "payment-history"
12358
+ ],
12359
+ "kind": "content",
12360
+ "placement": "region",
12361
+ "surface": "parent"
12362
+ }
12363
+ ],
12364
+ "owns": [
12365
+ "Read-only payment-event rail and supporting copy",
12366
+ "Event status and amount presentation"
12367
+ ],
12368
+ "parentOwns": [
12369
+ "Authoritative payment events and money formatting",
12370
+ "Subject surface and page placement"
12371
+ ]
12372
+ },
11591
12373
  "jobs": [
11592
12374
  "Use Payment timeline in an admin interface."
11593
12375
  ],
@@ -12134,12 +12916,42 @@
12134
12916
  },
12135
12917
  {
12136
12918
  "title": "Order summary",
12137
- "description": "An order's money in two ledgers — what was ordered and what has moved — with the payment status beside the title.",
12138
- "chooseWhen": [],
12139
- "avoidWhen": [],
12140
- "appOwned": [],
12141
- "jobs": [
12142
- "State what an order costs and where its money stands, with a note about the balance."
12919
+ "description": "One order needs goods, total and payment ledgers with status and an optional balance note.",
12920
+ "chooseWhen": [
12921
+ "One order needs goods, total and payment ledgers with status and an optional balance note."
12922
+ ],
12923
+ "avoidWhen": [
12924
+ "The content is a generic fact list or the package is expected to calculate accounting totals."
12925
+ ],
12926
+ "appOwned": [
12927
+ "Calculated and formatted amounts",
12928
+ "Payment state and business rules"
12929
+ ],
12930
+ "composition": {
12931
+ "mappings": [
12932
+ {
12933
+ "symbol": "OrderSummary",
12934
+ "roles": [
12935
+ "order-summary"
12936
+ ],
12937
+ "kind": "content",
12938
+ "placement": "region",
12939
+ "surface": "variant"
12940
+ }
12941
+ ],
12942
+ "owns": [
12943
+ "Goods, total and payment ledger anatomy",
12944
+ "Summary title, payment status and balance-note placement"
12945
+ ],
12946
+ "parentOwns": [
12947
+ "Subject surface and insets with the default flat presentation",
12948
+ "Placement beside order details"
12949
+ ],
12950
+ "page": "Place the summary in the order page main or aside region without repeating the route title.",
12951
+ "embedded": "The default flat/none presentation inherits a padded parent; choose a surface explicitly for a separate summary Card."
12952
+ },
12953
+ "jobs": [
12954
+ "One order needs goods, total and payment ledgers with status and an optional balance note."
12143
12955
  ],
12144
12956
  "tags": [
12145
12957
  "blocks",
@@ -12171,7 +12983,10 @@
12171
12983
  ]
12172
12984
  }
12173
12985
  ],
12174
- "alternatives": []
12986
+ "alternatives": [
12987
+ "themelia-react-ui/base/metadata-list",
12988
+ "themelia-react-ui/blocks/commerce"
12989
+ ]
12175
12990
  },
12176
12991
  {
12177
12992
  "title": "Order transactions",
@@ -12646,6 +13461,18 @@
12646
13461
  "label, value and formatting policy",
12647
13462
  "subject framing at the composition boundary"
12648
13463
  ],
13464
+ "composition": {
13465
+ "owns": [
13466
+ "One label/value pair and its alignment",
13467
+ "Shared value typography"
13468
+ ],
13469
+ "parentOwns": [
13470
+ "Subject title and surface",
13471
+ "Spacing between separate facts or subjects"
13472
+ ],
13473
+ "page": "Use MetadataList for several facts about the same subject.",
13474
+ "embedded": "Place the plain pair in an existing region without adding another Card."
13475
+ },
12649
13476
  "jobs": [
12650
13477
  "One compact label/value pair needs inline emphasis without trend or chart semantics."
12651
13478
  ],
@@ -12700,7 +13527,22 @@
12700
13527
  "avoidWhen": [
12701
13528
  "Only label/value facts are needed or assignment state and mutations belong inside the package."
12702
13529
  ],
12703
- "appOwned": [],
13530
+ "appOwned": [
13531
+ "Relationship data and selection state",
13532
+ "Navigation and mutation callbacks"
13533
+ ],
13534
+ "composition": {
13535
+ "owns": [
13536
+ "Relationship title, badge and action anatomy",
13537
+ "Alert, selector, metadata and details regions"
13538
+ ],
13539
+ "parentOwns": [
13540
+ "Card surface and insets",
13541
+ "Placement and gaps between subjects"
13542
+ ],
13543
+ "page": "Frame a separate relationship subject with Card at the page composition boundary.",
13544
+ "embedded": "The scaffold stays card-free inside an existing padded surface."
13545
+ },
12704
13546
  "jobs": [
12705
13547
  "App-owned relationship content needs title, badge, alert, selector, metadata, actions, and details regions."
12706
13548
  ],
@@ -12761,7 +13603,8 @@
12761
13603
  "EmptyState"
12762
13604
  ],
12763
13605
  "references": [
12764
- "references/analytics.md#dashboard-and-revenue-data"
13606
+ "references/analytics.md#dashboard-and-revenue-data",
13607
+ "references/screen-archetypes.md"
12765
13608
  ],
12766
13609
  "optionalPeers": [
12767
13610
  "recharts"
@@ -12776,7 +13619,8 @@
12776
13619
  "InlineStat"
12777
13620
  ],
12778
13621
  "references": [
12779
- "references/analytics.md#dashboard-and-revenue-data"
13622
+ "references/analytics.md#dashboard-and-revenue-data",
13623
+ "references/screen-archetypes.md"
12780
13624
  ],
12781
13625
  "optionalPeers": [
12782
13626
  "recharts"
@@ -13175,6 +14019,27 @@
13175
14019
  "chooseWhen": [],
13176
14020
  "avoidWhen": [],
13177
14021
  "appOwned": [],
14022
+ "composition": {
14023
+ "mappings": [
14024
+ {
14025
+ "symbol": "Timeline",
14026
+ "roles": [
14027
+ "read-only-timeline"
14028
+ ],
14029
+ "kind": "content",
14030
+ "placement": "region",
14031
+ "surface": "parent"
14032
+ }
14033
+ ],
14034
+ "owns": [
14035
+ "Event marker rail and shared row typography",
14036
+ "Event status and timestamp presentation"
14037
+ ],
14038
+ "parentOwns": [
14039
+ "Event meaning and chronological items",
14040
+ "Subject surface and page placement"
14041
+ ]
14042
+ },
13178
14043
  "jobs": [
13179
14044
  "Use Timeline engine in an admin interface."
13180
14045
  ],
@@ -13393,6 +14258,28 @@
13393
14258
  "Only read-only milestones, order/payment progress, or changelog rails are needed."
13394
14259
  ],
13395
14260
  "appOwned": [],
14261
+ "composition": {
14262
+ "mappings": [
14263
+ {
14264
+ "symbol": "ActivityLog",
14265
+ "roles": [
14266
+ "activity",
14267
+ "mixed-activity-log"
14268
+ ],
14269
+ "kind": "workflow",
14270
+ "placement": "region",
14271
+ "surface": "parent"
14272
+ }
14273
+ ],
14274
+ "owns": [
14275
+ "Mixed-source activity and comment anatomy",
14276
+ "Composer, collapsible details and entry actions"
14277
+ ],
14278
+ "parentOwns": [
14279
+ "Requests, permissions and accepted events",
14280
+ "Subject surface and page placement"
14281
+ ]
14282
+ },
13396
14283
  "jobs": [
13397
14284
  "Mixed comments, audit/domain/system events, adapters, metadata, details, and row actions share one log."
13398
14285
  ],
@@ -14232,6 +15119,28 @@
14232
15119
  "server transport and authoritative records",
14233
15120
  "record priority, permissions and commands"
14234
15121
  ],
15122
+ "composition": {
15123
+ "mappings": [
15124
+ {
15125
+ "symbol": "DataView",
15126
+ "roles": [
15127
+ "collection-workflow"
15128
+ ],
15129
+ "kind": "workflow",
15130
+ "placement": "region",
15131
+ "surface": "self"
15132
+ }
15133
+ ],
15134
+ "owns": [
15135
+ "Coordinated filters around one data table",
15136
+ "Table frame, toolbar and pagination seams"
15137
+ ],
15138
+ "parentOwns": [
15139
+ "Records, transport and permissions",
15140
+ "Route title and outer placement"
15141
+ ],
15142
+ "embedded": "DataView already composes its DataTable; choose one collection owner rather than nesting the two workflows."
15143
+ },
14235
15144
  "jobs": [
14236
15145
  "Compose a coordinated record directory when the feature query, view and collection contracts fit."
14237
15146
  ],
@@ -14886,6 +15795,7 @@
14886
15795
  ],
14887
15796
  "references": [
14888
15797
  "references/composition.md#compose-from-the-task",
15798
+ "references/screen-archetypes.md",
14889
15799
  "references/workflows.md#scoped-directory"
14890
15800
  ],
14891
15801
  "optionalPeers": [
@@ -15612,6 +16522,58 @@
15612
16522
  "The surface is anchored to a trigger (a popover, menu, select or tooltip) rather than a dialog."
15613
16523
  ],
15614
16524
  "appOwned": [],
16525
+ "composition": {
16526
+ "mappings": [
16527
+ {
16528
+ "symbol": "ActionDialog",
16529
+ "roles": [
16530
+ "task-dialog"
16531
+ ],
16532
+ "kind": "workflow",
16533
+ "placement": "overlay",
16534
+ "surface": "self",
16535
+ "slots": [
16536
+ "children",
16537
+ "footer"
16538
+ ]
16539
+ },
16540
+ {
16541
+ "symbol": "ActionDrawer",
16542
+ "roles": [
16543
+ "task-drawer"
16544
+ ],
16545
+ "kind": "workflow",
16546
+ "placement": "overlay",
16547
+ "surface": "self",
16548
+ "slots": [
16549
+ "children",
16550
+ "footer"
16551
+ ]
16552
+ },
16553
+ {
16554
+ "symbol": "ConfirmDialog",
16555
+ "roles": [
16556
+ "confirmation"
16557
+ ],
16558
+ "kind": "workflow",
16559
+ "placement": "overlay",
16560
+ "surface": "self",
16561
+ "slots": [
16562
+ "children",
16563
+ "footer"
16564
+ ]
16565
+ }
16566
+ ],
16567
+ "owns": [
16568
+ "Modal regions, focus and dismissal behavior",
16569
+ "Confirm/cancel, pending and error presentation"
16570
+ ],
16571
+ "parentOwns": [
16572
+ "Opening state and application effects",
16573
+ "Form or mutation data and permitted callbacks"
16574
+ ],
16575
+ "embedded": "Open through app or feature callbacks; a modal workflow is not an ordinary page-subject child."
16576
+ },
15615
16577
  "jobs": [
15616
16578
  "A modal, drawer, or confirmation needs standardized confirm/cancel, async loading, error, strings, and tone behavior."
15617
16579
  ],
@@ -15687,10 +16649,28 @@
15687
16649
  "references": [
15688
16650
  "references/analytics.md#usage-facts-and-verification",
15689
16651
  "references/composition.md#application-layouts",
16652
+ "references/screen-archetypes.md",
15690
16653
  "references/workflows.md#detail-and-framing",
15691
16654
  "references/workflows.md#single-resource-page"
15692
16655
  ],
15693
16656
  "optionalPeers": []
16657
+ },
16658
+ {
16659
+ "file": "examples/rhf-overlay-form.tsx",
16660
+ "exports": [
16661
+ "RHFOverlayForm"
16662
+ ],
16663
+ "symbols": [
16664
+ "ActionDrawer",
16665
+ "useOverlayVisibility"
16666
+ ],
16667
+ "references": [
16668
+ "references/rhf-workflows.md#overlay-create-and-edit",
16669
+ "references/screen-archetypes.md"
16670
+ ],
16671
+ "optionalPeers": [
16672
+ "react-hook-form"
16673
+ ]
15694
16674
  }
15695
16675
  ]
15696
16676
  },
@@ -16146,7 +17126,7 @@
16146
17126
  "layer": "features",
16147
17127
  "responsibility": "Features family: Resource workspaces.",
16148
17128
  "jobs": [
16149
- "Use Resource workspaces in an admin interface."
17129
+ "A record index or detail needs resource identity, toolbar, body, aside and loading/empty/error regions."
16150
17130
  ],
16151
17131
  "tags": [
16152
17132
  "features",
@@ -16160,12 +17140,73 @@
16160
17140
  "guidance": [
16161
17141
  {
16162
17142
  "title": "Resource workspaces",
16163
- "description": "State-aware index and detail workspaces with identity, actions, controlled tabs, related context, and async states.",
16164
- "chooseWhen": [],
16165
- "avoidWhen": [],
16166
- "appOwned": [],
16167
- "jobs": [
16168
- "Use Resource workspaces in an admin interface."
17143
+ "description": "A record index or detail needs resource identity, toolbar, body, aside and loading/empty/error regions.",
17144
+ "chooseWhen": [
17145
+ "A record index or detail needs resource identity, toolbar, body, aside and loading/empty/error regions."
17146
+ ],
17147
+ "avoidWhen": [
17148
+ "Only a page title or one plain fact list is needed."
17149
+ ],
17150
+ "appOwned": [
17151
+ "Resource data and request lifecycle",
17152
+ "Navigation, permissions and mutation callbacks"
17153
+ ],
17154
+ "composition": {
17155
+ "mappings": [
17156
+ {
17157
+ "symbol": "ResourceIndexShell",
17158
+ "roles": [
17159
+ "resource-index"
17160
+ ],
17161
+ "kind": "layout",
17162
+ "placement": "region",
17163
+ "surface": "none",
17164
+ "slots": [
17165
+ "children",
17166
+ "toolbar"
17167
+ ]
17168
+ },
17169
+ {
17170
+ "symbol": "ResourceShowShell",
17171
+ "roles": [
17172
+ "resource-detail"
17173
+ ],
17174
+ "kind": "layout",
17175
+ "placement": "region",
17176
+ "surface": "none",
17177
+ "slots": [
17178
+ "children",
17179
+ "toolbar"
17180
+ ]
17181
+ },
17182
+ {
17183
+ "symbol": "ResourceDetailsSection",
17184
+ "roles": [
17185
+ "resource-facts-section"
17186
+ ],
17187
+ "kind": "surface",
17188
+ "placement": "region",
17189
+ "surface": "self",
17190
+ "slots": [
17191
+ "children",
17192
+ "footer"
17193
+ ]
17194
+ }
17195
+ ],
17196
+ "owns": [
17197
+ "Resource identity and toolbar regions",
17198
+ "Body/aside geometry and subject gaps",
17199
+ "Resource loading, empty and error presentation"
17200
+ ],
17201
+ "parentOwns": [
17202
+ "Application chrome and page gutters",
17203
+ "Route heading and command ownership"
17204
+ ],
17205
+ "page": "Embed the resource shell in one Page and choose which header owns the route title; tabs are optional when switching sections is useful.",
17206
+ "embedded": "The resource shell adds no page inset; ResourceDetailsSection owns its Card and adapts facts to its available width."
17207
+ },
17208
+ "jobs": [
17209
+ "A record index or detail needs resource identity, toolbar, body, aside and loading/empty/error regions."
16169
17210
  ],
16170
17211
  "tags": [
16171
17212
  "features",
@@ -16206,7 +17247,11 @@
16206
17247
  ]
16207
17248
  }
16208
17249
  ],
16209
- "alternatives": []
17250
+ "alternatives": [
17251
+ "themelia-react-ui/base/metadata-list",
17252
+ "themelia-react-ui/features/data-view",
17253
+ "themelia-react-ui/layout/page"
17254
+ ]
16210
17255
  }
16211
17256
  ],
16212
17257
  "recipes": []
@@ -16702,6 +17747,42 @@
16702
17747
  "query transport, server paging and scope",
16703
17748
  "column priority, permissioned commands and navigation"
16704
17749
  ],
17750
+ "composition": {
17751
+ "mappings": [
17752
+ {
17753
+ "symbol": "DataTable",
17754
+ "roles": [
17755
+ "comparison-table"
17756
+ ],
17757
+ "kind": "workflow",
17758
+ "placement": "region",
17759
+ "surface": "self",
17760
+ "props": {
17761
+ "surface": "card"
17762
+ }
17763
+ },
17764
+ {
17765
+ "symbol": "ResourceCell",
17766
+ "roles": [
17767
+ "identity-in-cell"
17768
+ ],
17769
+ "kind": "content",
17770
+ "placement": "cell",
17771
+ "surface": "none"
17772
+ }
17773
+ ],
17774
+ "owns": [
17775
+ "Table columns, cells and supported local table state",
17776
+ "Topbar, bulk-action and pagination regions",
17777
+ "Table scrolling and in-place fullscreen behavior"
17778
+ ],
17779
+ "parentOwns": [
17780
+ "Route title and page commands",
17781
+ "Page gutters and surrounding subject surfaces"
17782
+ ],
17783
+ "page": "Place DataTable in one Page body; use DataView when the complete collection workflow should be assembled for you.",
17784
+ "embedded": "Use the table regions for local query and selection controls without adding another page shell."
17785
+ },
16705
17786
  "jobs": [
16706
17787
  "Compare records in columns; use ResourceCell for identity cells and CellStack for prioritized supporting values.",
16707
17788
  "Place app-controlled query tools in topbarContent, export in topbarEnd, and selection commands in bulkActions."
@@ -16777,6 +17858,7 @@
16777
17858
  "DataTableProps"
16778
17859
  ],
16779
17860
  "references": [
17861
+ "references/screen-archetypes.md",
16780
17862
  "references/workflows.md#index-and-navigation"
16781
17863
  ],
16782
17864
  "optionalPeers": [
@@ -16795,6 +17877,7 @@
16795
17877
  ],
16796
17878
  "references": [
16797
17879
  "references/composition.md#compose-from-the-task",
17880
+ "references/screen-archetypes.md",
16798
17881
  "references/workflows.md#scoped-directory"
16799
17882
  ],
16800
17883
  "optionalPeers": [
@@ -17359,6 +18442,34 @@
17359
18442
  "workspace and signed-in user data",
17360
18443
  "header commands and responsive composition"
17361
18444
  ],
18445
+ "composition": {
18446
+ "mappings": [
18447
+ {
18448
+ "symbol": "AppLayout",
18449
+ "roles": [
18450
+ "application-shell"
18451
+ ],
18452
+ "kind": "shell",
18453
+ "placement": "region",
18454
+ "surface": "none",
18455
+ "slots": [
18456
+ "children"
18457
+ ],
18458
+ "routeSlot": "children"
18459
+ }
18460
+ ],
18461
+ "owns": [
18462
+ "Application header and sidebar chrome",
18463
+ "One PageViewport and its scrolling boundary",
18464
+ "Responsive shell regions"
18465
+ ],
18466
+ "parentOwns": [
18467
+ "Viewport height",
18468
+ "Route content supplied as children"
18469
+ ],
18470
+ "page": "Render the route Page as the shell child so one owner supplies its title, commands and gutters.",
18471
+ "embedded": "Use Page or lower regions for content inside a shell; another AppLayout is a separate application boundary."
18472
+ },
17362
18473
  "jobs": [
17363
18474
  "Compose light-header, dark-header, sidebar, inset or stacked chrome with one PageViewport."
17364
18475
  ],
@@ -17416,6 +18527,7 @@
17416
18527
  "references": [
17417
18528
  "references/composition.md#application-layouts",
17418
18529
  "references/integration.md",
18530
+ "references/integration.md#form-transport-and-router-adapters",
17419
18531
  "references/workflows.md#single-resource-page"
17420
18532
  ],
17421
18533
  "optionalPeers": []
@@ -17483,33 +18595,83 @@
17483
18595
  "layer": "layout",
17484
18596
  "responsibility": "Layout family: Auth shell.",
17485
18597
  "jobs": [
17486
- "Use Auth shell in an admin interface."
18598
+ "An authentication page needs its main landmark, title, form card and anonymous navigation composed by AuthShell."
17487
18599
  ],
17488
18600
  "tags": [
17489
18601
  "auth",
17490
18602
  "layout",
17491
18603
  "shells"
17492
18604
  ],
17493
- "aliases": [],
18605
+ "aliases": [
18606
+ "authentication",
18607
+ "login",
18608
+ "password recovery",
18609
+ "password sign in",
18610
+ "sign in",
18611
+ "sign-in"
18612
+ ],
17494
18613
  "sections": [
17495
18614
  "Layouts"
17496
18615
  ],
17497
18616
  "guidance": [
17498
18617
  {
17499
18618
  "title": "Auth shell",
17500
- "description": "Framework-neutral auth card and split shells for login, register, invite, reset, magic-link, and verification pages.",
17501
- "chooseWhen": [],
17502
- "avoidWhen": [],
17503
- "appOwned": [],
17504
- "jobs": [
17505
- "Use Auth shell in an admin interface."
18619
+ "description": "An authentication page needs its main landmark, title, form card and anonymous navigation composed by AuthShell.",
18620
+ "chooseWhen": [
18621
+ "An authentication page needs its main landmark, title, form card and anonymous navigation composed by AuthShell."
18622
+ ],
18623
+ "avoidWhen": [
18624
+ "A signed-in workspace needs application navigation or a record page header."
18625
+ ],
18626
+ "appOwned": [
18627
+ "authentication transport, validation and pending/error state",
18628
+ "anonymous recovery and return destinations",
18629
+ "routing, translations and session handling"
18630
+ ],
18631
+ "composition": {
18632
+ "mappings": [
18633
+ {
18634
+ "symbol": "AuthShell",
18635
+ "roles": [
18636
+ "authentication-shell"
18637
+ ],
18638
+ "kind": "shell",
18639
+ "placement": "region",
18640
+ "surface": "variant",
18641
+ "slots": [
18642
+ "children",
18643
+ "footer",
18644
+ "cardFooter",
18645
+ "postCard"
18646
+ ]
18647
+ }
18648
+ ],
18649
+ "owns": [
18650
+ "Anonymous-page landmark and authentication copy",
18651
+ "Brand, form-card and footer regions"
18652
+ ],
18653
+ "parentOwns": [
18654
+ "Authentication transport, validation and session state",
18655
+ "Form fields and anonymous destinations"
18656
+ ],
18657
+ "embedded": "AuthShell owns the authentication page boundary; select bare/card/split deliberately before adding another form surface."
18658
+ },
18659
+ "jobs": [
18660
+ "An authentication page needs its main landmark, title, form card and anonymous navigation composed by AuthShell."
17506
18661
  ],
17507
18662
  "tags": [
17508
18663
  "layout",
17509
18664
  "shells",
17510
18665
  "auth"
17511
18666
  ],
17512
- "aliases": [],
18667
+ "aliases": [
18668
+ "authentication",
18669
+ "login",
18670
+ "sign-in",
18671
+ "sign in",
18672
+ "password sign in",
18673
+ "password recovery"
18674
+ ],
17513
18675
  "section": "Layouts",
17514
18676
  "browse": {
17515
18677
  "category": "layout-shells",
@@ -17543,10 +18705,33 @@
17543
18705
  ]
17544
18706
  }
17545
18707
  ],
17546
- "alternatives": []
18708
+ "alternatives": [
18709
+ "themelia-react-ui/layout/app-shell",
18710
+ "themelia-react-ui/layout/page"
18711
+ ]
17547
18712
  }
17548
18713
  ],
17549
- "recipes": []
18714
+ "recipes": [
18715
+ {
18716
+ "file": "examples/authentication.tsx",
18717
+ "exports": [
18718
+ "PasswordSignIn"
18719
+ ],
18720
+ "symbols": [
18721
+ "AuthFooterLinks",
18722
+ "AuthForm",
18723
+ "AuthFormRow",
18724
+ "AuthShell",
18725
+ "AuthShellProps"
18726
+ ],
18727
+ "references": [
18728
+ "references/authentication.md#authentication-pages"
18729
+ ],
18730
+ "optionalPeers": [
18731
+ "react-hook-form"
18732
+ ]
18733
+ }
18734
+ ]
17550
18735
  },
17551
18736
  {
17552
18737
  "import": "themelia-react-ui/layout/containers",
@@ -17605,6 +18790,75 @@
17605
18790
  "link destinations and site navigation",
17606
18791
  "responsive placement and brand theming"
17607
18792
  ],
18793
+ "composition": {
18794
+ "mappings": [
18795
+ {
18796
+ "symbol": "Container",
18797
+ "roles": [
18798
+ "content-container"
18799
+ ],
18800
+ "kind": "layout",
18801
+ "placement": "region",
18802
+ "surface": "none",
18803
+ "slots": [
18804
+ "children"
18805
+ ]
18806
+ },
18807
+ {
18808
+ "symbol": "Section",
18809
+ "roles": [
18810
+ "content-section"
18811
+ ],
18812
+ "kind": "layout",
18813
+ "placement": "region",
18814
+ "surface": "none",
18815
+ "slots": [
18816
+ "children"
18817
+ ]
18818
+ },
18819
+ {
18820
+ "symbol": "PageViewport",
18821
+ "roles": [
18822
+ "scroll-viewport"
18823
+ ],
18824
+ "kind": "layout",
18825
+ "placement": "region",
18826
+ "surface": "none",
18827
+ "slots": [
18828
+ "children"
18829
+ ]
18830
+ },
18831
+ {
18832
+ "symbol": "TwoColumnLayout",
18833
+ "roles": [
18834
+ "main-support-layout"
18835
+ ],
18836
+ "kind": "layout",
18837
+ "placement": "region",
18838
+ "surface": "none",
18839
+ "slots": [
18840
+ "main",
18841
+ "aside",
18842
+ "header",
18843
+ "footer"
18844
+ ],
18845
+ "props": {
18846
+ "adaptTo": "container"
18847
+ }
18848
+ }
18849
+ ],
18850
+ "owns": [
18851
+ "Container measure and optional gutters",
18852
+ "Section rhythm and PageViewport scrolling",
18853
+ "TwoColumnLayout main/aside geometry and subject gaps"
18854
+ ],
18855
+ "parentOwns": [
18856
+ "Application chrome and route title",
18857
+ "Subject surface insets"
18858
+ ],
18859
+ "page": "Use Page for titled application routes and Container/Section for content-led pages; TwoColumnLayout supplies the main/aside split.",
18860
+ "embedded": "Let the existing Page own gutters; TwoColumnLayout adds column and subject gaps while each Card owns its inset."
18861
+ },
17608
18862
  "jobs": [
17609
18863
  "Compose a public website landing page or service overview from Container, Section and lower public components.",
17610
18864
  "Own page content width, inline gutters, semantic section rhythm, scrolling or a main/aside split."
@@ -17682,6 +18936,22 @@
17682
18936
  ],
17683
18937
  "optionalPeers": []
17684
18938
  },
18939
+ {
18940
+ "file": "examples/rhf-edit-page.tsx",
18941
+ "exports": [
18942
+ "RHFEditPage"
18943
+ ],
18944
+ "symbols": [
18945
+ "TwoColumnLayout"
18946
+ ],
18947
+ "references": [
18948
+ "references/rhf-workflows.md#screen-and-state-ownership",
18949
+ "references/screen-archetypes.md"
18950
+ ],
18951
+ "optionalPeers": [
18952
+ "react-hook-form"
18953
+ ]
18954
+ },
17685
18955
  {
17686
18956
  "file": "examples/website.tsx",
17687
18957
  "exports": [
@@ -17693,7 +18963,8 @@
17693
18963
  ],
17694
18964
  "references": [
17695
18965
  "references/composition.md#public-websites-and-service-overviews",
17696
- "references/composition.md#visual-heading-emphasis"
18966
+ "references/composition.md#visual-heading-emphasis",
18967
+ "references/screen-archetypes.md"
17697
18968
  ],
17698
18969
  "optionalPeers": []
17699
18970
  }
@@ -17819,6 +19090,7 @@
17819
19090
  "references": [
17820
19091
  "references/composition.md#application-layouts",
17821
19092
  "references/integration.md",
19093
+ "references/integration.md#form-transport-and-router-adapters",
17822
19094
  "references/workflows.md#single-resource-page"
17823
19095
  ],
17824
19096
  "optionalPeers": []
@@ -18227,6 +19499,33 @@
18227
19499
  "which command is primary and which are destructive",
18228
19500
  "navigation callbacks and permissioned actions"
18229
19501
  ],
19502
+ "composition": {
19503
+ "mappings": [
19504
+ {
19505
+ "symbol": "Page",
19506
+ "roles": [
19507
+ "route"
19508
+ ],
19509
+ "kind": "page",
19510
+ "placement": "region",
19511
+ "surface": "none",
19512
+ "slots": [
19513
+ "children"
19514
+ ]
19515
+ }
19516
+ ],
19517
+ "owns": [
19518
+ "Content measure and page gutters",
19519
+ "Route header, command placement and header/body rhythm",
19520
+ "Subject gaps between direct body children"
19521
+ ],
19522
+ "parentOwns": [
19523
+ "Application chrome",
19524
+ "Scrolling through PageViewport"
19525
+ ],
19526
+ "page": "Use one Page for each route; narrow selects the centered measure unless maxWidth is explicit.",
19527
+ "embedded": "Inside an existing Page, compose subject regions with Card, TwoColumnLayout or Stack instead of another Page."
19528
+ },
18230
19529
  "jobs": [
18231
19530
  "A page needs shell-level title, back/link rendering, role-based primary/secondary commands, content, and page composition slots."
18232
19531
  ],
@@ -18285,14 +19584,16 @@
18285
19584
  {
18286
19585
  "file": "examples/app-layout.tsx",
18287
19586
  "exports": [
18288
- "WorkspaceLayout"
19587
+ "WorkspaceExamplePage"
18289
19588
  ],
18290
19589
  "symbols": [
18291
- "Page"
19590
+ "Page",
19591
+ "PageProps"
18292
19592
  ],
18293
19593
  "references": [
18294
19594
  "references/composition.md#application-layouts",
18295
19595
  "references/integration.md",
19596
+ "references/integration.md#form-transport-and-router-adapters",
18296
19597
  "references/workflows.md#single-resource-page"
18297
19598
  ],
18298
19599
  "optionalPeers": []
@@ -18309,11 +19610,28 @@
18309
19610
  "references": [
18310
19611
  "references/analytics.md#usage-facts-and-verification",
18311
19612
  "references/composition.md#application-layouts",
19613
+ "references/screen-archetypes.md",
18312
19614
  "references/workflows.md#detail-and-framing",
18313
19615
  "references/workflows.md#single-resource-page"
18314
19616
  ],
18315
19617
  "optionalPeers": []
18316
19618
  },
19619
+ {
19620
+ "file": "examples/rhf-edit-page.tsx",
19621
+ "exports": [
19622
+ "RHFEditPage"
19623
+ ],
19624
+ "symbols": [
19625
+ "Page"
19626
+ ],
19627
+ "references": [
19628
+ "references/rhf-workflows.md#screen-and-state-ownership",
19629
+ "references/screen-archetypes.md"
19630
+ ],
19631
+ "optionalPeers": [
19632
+ "react-hook-form"
19633
+ ]
19634
+ },
18317
19635
  {
18318
19636
  "file": "examples/scoped-directory.tsx",
18319
19637
  "exports": [
@@ -18324,6 +19642,7 @@
18324
19642
  ],
18325
19643
  "references": [
18326
19644
  "references/composition.md#compose-from-the-task",
19645
+ "references/screen-archetypes.md",
18327
19646
  "references/workflows.md#scoped-directory"
18328
19647
  ],
18329
19648
  "optionalPeers": [
@@ -18552,6 +19871,7 @@
18552
19871
  "references": [
18553
19872
  "references/composition.md#application-layouts",
18554
19873
  "references/integration.md",
19874
+ "references/integration.md#form-transport-and-router-adapters",
18555
19875
  "references/workflows.md#single-resource-page"
18556
19876
  ],
18557
19877
  "optionalPeers": []
@@ -18618,6 +19938,36 @@
18618
19938
  "record content, navigation and locale callbacks",
18619
19939
  "header actions and supporting rails"
18620
19940
  ],
19941
+ "composition": {
19942
+ "mappings": [
19943
+ {
19944
+ "symbol": "WorkspaceLayout",
19945
+ "roles": [
19946
+ "record-workspace"
19947
+ ],
19948
+ "kind": "shell",
19949
+ "placement": "region",
19950
+ "surface": "none",
19951
+ "slots": [
19952
+ "children",
19953
+ "header",
19954
+ "sidebar",
19955
+ "rail"
19956
+ ]
19957
+ }
19958
+ ],
19959
+ "owns": [
19960
+ "Workspace frame, measure and content insets",
19961
+ "Header, sidebar, main and rail regions",
19962
+ "Subject gaps and responsive region scrolling"
19963
+ ],
19964
+ "parentOwns": [
19965
+ "Application chrome and viewport boundary",
19966
+ "Subject content and route hierarchy"
19967
+ ],
19968
+ "page": "Use workspace regions for a bounded record composition that needs a rail or independent navigation.",
19969
+ "embedded": "WorkspaceLayout already supplies main-content insets; compose subject content without repeating page gutters."
19970
+ },
18621
19971
  "jobs": [
18622
19972
  "A bounded record workspace needs independently composed header, sidebar, main and rail regions."
18623
19973
  ],
@@ -19304,6 +20654,7 @@
19304
20654
  "references": [
19305
20655
  "references/analytics.md#usage-facts-and-verification",
19306
20656
  "references/composition.md#application-layouts",
20657
+ "references/screen-archetypes.md",
19307
20658
  "references/workflows.md#detail-and-framing",
19308
20659
  "references/workflows.md#single-resource-page"
19309
20660
  ],
@@ -19323,6 +20674,7 @@
19323
20674
  "references": [
19324
20675
  "references/analytics.md#usage-facts-and-verification",
19325
20676
  "references/composition.md#application-layouts",
20677
+ "references/screen-archetypes.md",
19326
20678
  "references/workflows.md#detail-and-framing",
19327
20679
  "references/workflows.md#single-resource-page"
19328
20680
  ],
@@ -19338,6 +20690,7 @@
19338
20690
  "Name"
19339
20691
  ],
19340
20692
  "references": [
20693
+ "references/screen-archetypes.md",
19341
20694
  "references/workflows.md#index-and-navigation"
19342
20695
  ],
19343
20696
  "optionalPeers": [
@@ -19357,6 +20710,22 @@
19357
20710
  ],
19358
20711
  "optionalPeers": []
19359
20712
  },
20713
+ {
20714
+ "file": "examples/rhf-edit-page.tsx",
20715
+ "exports": [
20716
+ "RHFEditPage"
20717
+ ],
20718
+ "symbols": [
20719
+ "Money"
20720
+ ],
20721
+ "references": [
20722
+ "references/rhf-workflows.md#screen-and-state-ownership",
20723
+ "references/screen-archetypes.md"
20724
+ ],
20725
+ "optionalPeers": [
20726
+ "react-hook-form"
20727
+ ]
20728
+ },
19360
20729
  {
19361
20730
  "file": "examples/scoped-directory.tsx",
19362
20731
  "exports": [
@@ -19367,6 +20736,7 @@
19367
20736
  ],
19368
20737
  "references": [
19369
20738
  "references/composition.md#compose-from-the-task",
20739
+ "references/screen-archetypes.md",
19370
20740
  "references/workflows.md#scoped-directory"
19371
20741
  ],
19372
20742
  "optionalPeers": [
@@ -19385,7 +20755,8 @@
19385
20755
  ],
19386
20756
  "references": [
19387
20757
  "references/composition.md#public-websites-and-service-overviews",
19388
- "references/composition.md#visual-heading-emphasis"
20758
+ "references/composition.md#visual-heading-emphasis",
20759
+ "references/screen-archetypes.md"
19389
20760
  ],
19390
20761
  "optionalPeers": []
19391
20762
  }
@@ -19611,7 +20982,22 @@
19611
20982
  "avoidWhen": [
19612
20983
  "The value has stronger money, date, contact, identity, code, or empty-value semantics."
19613
20984
  ],
19614
- "appOwned": [],
20985
+ "appOwned": [
20986
+ "semantic heading order",
20987
+ "copy and emphasis appropriate to the subject"
20988
+ ],
20989
+ "composition": {
20990
+ "owns": [
20991
+ "Shared text, heading, label and link roles",
20992
+ "Copy rhythm within a heading and supporting sentence"
20993
+ ],
20994
+ "parentOwns": [
20995
+ "Spacing between subjects",
20996
+ "Page measure and surface insets"
20997
+ ],
20998
+ "page": "Let Page and subject headers choose their title role; keep semantic heading order independent of visual size.",
20999
+ "embedded": "Use margin-free typography inside the parent layout and retain its foreground role."
21000
+ },
19615
21001
  "jobs": [
19616
21002
  "Library-owned prose, headings, labels, or text links need a typography role."
19617
21003
  ],
@@ -19700,10 +21086,42 @@
19700
21086
  "references": [
19701
21087
  "references/composition.md#application-layouts",
19702
21088
  "references/integration.md",
21089
+ "references/integration.md#form-transport-and-router-adapters",
21090
+ "references/workflows.md#single-resource-page"
21091
+ ],
21092
+ "optionalPeers": []
21093
+ },
21094
+ {
21095
+ "file": "examples/app-layout.tsx",
21096
+ "exports": [
21097
+ "WorkspaceExamplePage"
21098
+ ],
21099
+ "symbols": [
21100
+ "Text"
21101
+ ],
21102
+ "references": [
21103
+ "references/composition.md#application-layouts",
21104
+ "references/integration.md",
21105
+ "references/integration.md#form-transport-and-router-adapters",
19703
21106
  "references/workflows.md#single-resource-page"
19704
21107
  ],
19705
21108
  "optionalPeers": []
19706
21109
  },
21110
+ {
21111
+ "file": "examples/authentication.tsx",
21112
+ "exports": [
21113
+ "PasswordSignIn"
21114
+ ],
21115
+ "symbols": [
21116
+ "Text"
21117
+ ],
21118
+ "references": [
21119
+ "references/authentication.md#authentication-pages"
21120
+ ],
21121
+ "optionalPeers": [
21122
+ "react-hook-form"
21123
+ ]
21124
+ },
19707
21125
  {
19708
21126
  "file": "examples/composition.tsx",
19709
21127
  "exports": [
@@ -19754,6 +21172,7 @@
19754
21172
  "references": [
19755
21173
  "references/analytics.md#usage-facts-and-verification",
19756
21174
  "references/composition.md#application-layouts",
21175
+ "references/screen-archetypes.md",
19757
21176
  "references/workflows.md#detail-and-framing",
19758
21177
  "references/workflows.md#single-resource-page"
19759
21178
  ],
@@ -19796,6 +21215,7 @@
19796
21215
  "Text"
19797
21216
  ],
19798
21217
  "references": [
21218
+ "references/screen-archetypes.md",
19799
21219
  "references/workflows.md#index-and-navigation"
19800
21220
  ],
19801
21221
  "optionalPeers": [
@@ -19816,6 +21236,38 @@
19816
21236
  ],
19817
21237
  "optionalPeers": []
19818
21238
  },
21239
+ {
21240
+ "file": "examples/rhf-bindings.tsx",
21241
+ "exports": [
21242
+ "TypedControlBindings"
21243
+ ],
21244
+ "symbols": [
21245
+ "Text"
21246
+ ],
21247
+ "references": [
21248
+ "references/rhf-workflows.md#typed-control-bindings"
21249
+ ],
21250
+ "optionalPeers": [
21251
+ "react-day-picker",
21252
+ "react-hook-form"
21253
+ ]
21254
+ },
21255
+ {
21256
+ "file": "examples/rhf-edit-page.tsx",
21257
+ "exports": [
21258
+ "RHFEditPage"
21259
+ ],
21260
+ "symbols": [
21261
+ "Text"
21262
+ ],
21263
+ "references": [
21264
+ "references/rhf-workflows.md#screen-and-state-ownership",
21265
+ "references/screen-archetypes.md"
21266
+ ],
21267
+ "optionalPeers": [
21268
+ "react-hook-form"
21269
+ ]
21270
+ },
19819
21271
  {
19820
21272
  "file": "examples/scoped-directory.tsx",
19821
21273
  "exports": [
@@ -19826,6 +21278,7 @@
19826
21278
  ],
19827
21279
  "references": [
19828
21280
  "references/composition.md#compose-from-the-task",
21281
+ "references/screen-archetypes.md",
19829
21282
  "references/workflows.md#scoped-directory"
19830
21283
  ],
19831
21284
  "optionalPeers": [
@@ -19844,7 +21297,8 @@
19844
21297
  ],
19845
21298
  "references": [
19846
21299
  "references/composition.md#public-websites-and-service-overviews",
19847
- "references/composition.md#visual-heading-emphasis"
21300
+ "references/composition.md#visual-heading-emphasis",
21301
+ "references/screen-archetypes.md"
19848
21302
  ],
19849
21303
  "optionalPeers": []
19850
21304
  }