themelia-react-ui 2.0.2 → 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 (435) hide show
  1. package/CHANGELOG.md +67 -7
  2. package/README.md +70 -37
  3. package/THIRD_PARTY_NOTICES.md +6 -12
  4. package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
  5. package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
  6. package/dist/action-menu-CHgs8vmj.js +281 -0
  7. package/dist/action-menu-CHgs8vmj.js.map +1 -0
  8. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
  9. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
  10. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
  11. package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
  12. package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
  13. package/dist/app-shell-D63ATkIK.js.map +1 -0
  14. package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
  15. package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
  16. package/dist/{auth-ax2BqjrI.js → auth-D2FVZ1MH.js} +10 -10
  17. package/dist/{auth-ax2BqjrI.js.map → auth-D2FVZ1MH.js.map} +1 -1
  18. package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
  19. package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
  20. package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
  21. package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.js.map} +1 -1
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +1 -1
  29. package/dist/base/cards.js +2 -2
  30. package/dist/base/carousel.js +3 -3
  31. package/dist/base/cascader.js +13 -13
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +2 -2
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +2 -2
  39. package/dist/base/display.js +6 -6
  40. package/dist/base/feedback.js +3 -3
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +3 -3
  43. package/dist/base/inline-edit.js +10 -10
  44. package/dist/base/item.js +1 -1
  45. package/dist/base/media-gallery.js +1 -1
  46. package/dist/base/metadata-list.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +1 -1
  51. package/dist/base/repeaters.js +9 -9
  52. package/dist/base/sheet.js +1 -1
  53. package/dist/base/sidebar.js +1 -1
  54. package/dist/base/signature-pad.js +6 -6
  55. package/dist/base/skeleton.js +1 -1
  56. package/dist/base/spinner.js +4 -4
  57. package/dist/base/structure.js +1 -1
  58. package/dist/base/table.js +1 -1
  59. package/dist/base/text-inputs.js +2 -2
  60. package/dist/base/toaster.js +3 -3
  61. package/dist/base/tree.js +1 -1
  62. package/dist/base/upload-queue.js +1 -1
  63. package/dist/base/upload.js +3 -3
  64. package/dist/base/value-inputs.js +1 -1
  65. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
  66. package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
  67. package/dist/blocks/admin.js +20 -20
  68. package/dist/blocks/admin.js.map +1 -1
  69. package/dist/blocks/ai.js +15 -15
  70. package/dist/blocks/analytics/usage-card.js +1 -1
  71. package/dist/blocks/analytics.js +17 -17
  72. package/dist/blocks/analytics.js.map +1 -1
  73. package/dist/blocks/collaboration.js +1 -1
  74. package/dist/blocks/commerce/receipt.js +1 -1
  75. package/dist/blocks/commerce.js +570 -567
  76. package/dist/blocks/commerce.js.map +1 -1
  77. package/dist/blocks/data-display.js +2 -2
  78. package/dist/blocks/onboarding.js +5 -5
  79. package/dist/blocks/planning.js +11 -11
  80. package/dist/blocks/timelines.js +1 -1
  81. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
  82. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
  83. package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
  84. package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
  85. package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
  86. package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
  87. package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
  88. package/dist/cards-4JTWqvVe.js.map +1 -0
  89. package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
  90. package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
  91. package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
  92. package/dist/checkbox-CzYUTPeJ.js.map +1 -0
  93. package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
  94. package/dist/choice-inputs-JLtij2y4.js.map +1 -0
  95. package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
  96. package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
  97. package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
  98. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
  99. package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
  100. package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
  101. package/dist/{combobox-C0EQW6dr.js → combobox-CBJDs6w_.js} +349 -347
  102. package/dist/combobox-CBJDs6w_.js.map +1 -0
  103. package/dist/{combobox-xCQ2RMNE.js → combobox-hbhSS18O.js} +158 -112
  104. package/dist/combobox-hbhSS18O.js.map +1 -0
  105. package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
  106. package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
  107. package/dist/{comments-BYYlTA8E.js → comments-Di4w0H_S.js} +383 -382
  108. package/dist/comments-Di4w0H_S.js.map +1 -0
  109. package/dist/components/base/action-menu/action-menu.d.ts +2 -0
  110. package/dist/components/base/cards/card.recipes.d.ts +12 -5
  111. package/dist/components/base/cards/smart-card.types.d.ts +12 -7
  112. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  113. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  114. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  115. package/dist/components/base/combobox/combobox-field.d.ts +16 -0
  116. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  117. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  118. package/dist/components/base/forms/form-field.d.ts +5 -3
  119. package/dist/components/base/forms/index.d.ts +1 -0
  120. package/dist/components/base/forms/server-errors.d.ts +16 -0
  121. package/dist/components/base/forms/workflow.d.ts +5 -2
  122. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  123. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
  124. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  125. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  126. package/dist/components/base/text-inputs/input.d.ts +4 -2
  127. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  128. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  129. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  130. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  131. package/dist/components/typography/text.styles.d.ts +26 -1
  132. package/dist/components/ui/combobox-dismiss.d.ts +16 -0
  133. package/dist/components/ui/combobox.d.ts +11 -6
  134. package/dist/components/ui/dialog.d.ts +1 -1
  135. package/dist/components/ui/popover.d.ts +1 -1
  136. package/dist/components/ui/sheet.d.ts +1 -1
  137. package/dist/composition.recipes-COdiFhxB.js +19 -0
  138. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  139. package/dist/containers-CRmHf7GP.js +104 -0
  140. package/dist/containers-CRmHf7GP.js.map +1 -0
  141. package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
  142. package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
  143. package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
  144. package/dist/data-display-D4oujtx0.js.map +1 -0
  145. package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
  146. package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
  147. package/dist/{date-picker-ay0Pha_a.js → date-picker-zOt1oNss.js} +102 -90
  148. package/dist/date-picker-zOt1oNss.js.map +1 -0
  149. package/dist/date-pickers-cj8IXbDC.js +179 -0
  150. package/dist/date-pickers-cj8IXbDC.js.map +1 -0
  151. package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
  152. package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
  153. package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
  154. package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
  155. package/dist/features/activities.js +11 -11
  156. package/dist/features/ai-chat.js +9 -9
  157. package/dist/features/appointment-calendar.js +222 -220
  158. package/dist/features/appointment-calendar.js.map +1 -1
  159. package/dist/features/async-preview.js +8 -8
  160. package/dist/features/combobox.js +1 -1
  161. package/dist/features/comments.js +1 -1
  162. package/dist/features/data-view.js +10 -10
  163. package/dist/features/email-composer.js +275 -274
  164. package/dist/features/email-composer.js.map +1 -1
  165. package/dist/features/event-calendar.js +199 -198
  166. package/dist/features/event-calendar.js.map +1 -1
  167. package/dist/features/filters.js +1 -1
  168. package/dist/features/global-search.js +12 -12
  169. package/dist/features/kanban.js +4 -4
  170. package/dist/features/map.js +7 -7
  171. package/dist/features/media-library.js +623 -622
  172. package/dist/features/media-library.js.map +1 -1
  173. package/dist/features/mentions.js +1 -1
  174. package/dist/features/overlays.js +1 -1
  175. package/dist/features/products.js +973 -969
  176. package/dist/features/products.js.map +1 -1
  177. package/dist/features/questionnaire.js +12 -12
  178. package/dist/features/resource-assignment.js +8 -8
  179. package/dist/features/resource.js +113 -112
  180. package/dist/features/resource.js.map +1 -1
  181. package/dist/features/rich-text-editor.js +2 -2
  182. package/dist/features/schema-form.js +254 -253
  183. package/dist/features/schema-form.js.map +1 -1
  184. package/dist/features/suggestions.js +3 -3
  185. package/dist/features/sync.js +3 -3
  186. package/dist/features/table.js +1 -1
  187. package/dist/features/theme-tweaker.js +19 -19
  188. package/dist/features/theme-tweaker.js.map +1 -1
  189. package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
  190. package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
  191. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
  192. package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
  193. package/dist/{filters-BGfvjP4d.js → filters-BcT-uoFy.js} +19 -19
  194. package/dist/{filters-BGfvjP4d.js.map → filters-BcT-uoFy.js.map} +1 -1
  195. package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
  196. package/dist/form-field-CsgRmdit.js.map +1 -0
  197. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
  198. package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
  199. package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
  200. package/dist/forms-BV5m5aQF.js.map +1 -0
  201. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
  202. package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
  203. package/dist/{header-CGXuhcRm.js → header-BA697l4a.js} +14 -14
  204. package/dist/{header-CGXuhcRm.js.map → header-BA697l4a.js.map} +1 -1
  205. package/dist/hooks/useFormErrors.d.ts +1 -1
  206. package/dist/{hooks-Dkz0K2WT.js → hooks-BQ-L7Uu2.js} +2 -2
  207. package/dist/{hooks-Dkz0K2WT.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
  208. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
  209. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
  210. package/dist/index.js +2 -2
  211. package/dist/input-Cdw4k0fb.js +289 -0
  212. package/dist/input-Cdw4k0fb.js.map +1 -0
  213. package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
  214. package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
  215. package/dist/item-BvZ2DR_x.js +277 -0
  216. package/dist/item-BvZ2DR_x.js.map +1 -0
  217. package/dist/layout/app-shell.js +1 -1
  218. package/dist/layout/auth.js +1 -1
  219. package/dist/layout/containers.js +1 -1
  220. package/dist/layout/header.js +1 -1
  221. package/dist/layout/hooks.js +1 -1
  222. package/dist/layout/navigation.js +1 -1
  223. package/dist/layout/page.js +1 -1
  224. package/dist/layout/settings.js +1 -1
  225. package/dist/layout/sidebar.js +2 -2
  226. package/dist/layout/workspace.js +1 -1
  227. package/dist/layout.js +10 -10
  228. package/dist/lib/affordance-geometry.generated.d.ts +6 -0
  229. package/dist/lib/ui-provider/types.d.ts +1 -1
  230. package/dist/lib/use-popup-focus-recovery.d.ts +8 -0
  231. package/dist/lib/utils.js +1 -1
  232. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
  233. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
  234. package/dist/{mentions-utuUvH1K.js → mentions-RKOQaaIB.js} +8 -8
  235. package/dist/{mentions-utuUvH1K.js.map → mentions-RKOQaaIB.js.map} +1 -1
  236. package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
  237. package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
  238. package/dist/metadata-list-qVV7AVxa.js +443 -0
  239. package/dist/metadata-list-qVV7AVxa.js.map +1 -0
  240. package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
  241. package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
  242. package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
  243. package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
  244. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
  245. package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
  246. package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
  247. package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
  248. package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
  249. package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
  250. package/dist/{overlays-DNWmZrJ4.js → overlays-BlKynmde.js} +322 -319
  251. package/dist/overlays-BlKynmde.js.map +1 -0
  252. package/dist/page-CIwNUtGr.js +227 -0
  253. package/dist/page-CIwNUtGr.js.map +1 -0
  254. package/dist/page-header-commands-DFMlNYzN.js +128 -0
  255. package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
  256. package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
  257. package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
  258. package/dist/{popover-menu-B9WWygpa.js → popover-menu-BYaCdFhf.js} +6 -6
  259. package/dist/{popover-menu-B9WWygpa.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
  260. package/dist/{popover-7_m66eYW.js → popover-uwzX2vo7.js} +65 -63
  261. package/dist/popover-uwzX2vo7.js.map +1 -0
  262. package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
  263. package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
  264. package/dist/primitives.js +4 -4
  265. package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
  266. package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
  267. package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
  268. package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
  269. package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
  270. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
  271. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
  272. package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
  273. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
  274. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
  275. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
  276. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
  277. package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
  278. package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
  279. package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
  280. package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
  281. package/dist/services/actions.js +1 -1
  282. package/dist/settings-BA2iboic.js +174 -0
  283. package/dist/settings-BA2iboic.js.map +1 -0
  284. package/dist/{sheet-CGpB3omz.js → sheet-DoAxTb2J.js} +75 -73
  285. package/dist/sheet-DoAxTb2J.js.map +1 -0
  286. package/dist/{sidebar-A0ElHINE.js → sidebar-ByqKR_W5.js} +13 -13
  287. package/dist/{sidebar-A0ElHINE.js.map → sidebar-ByqKR_W5.js.map} +1 -1
  288. package/dist/{sidebar-CPx_7YBa.js → sidebar-D2iSnGJ7.js} +11 -11
  289. package/dist/{sidebar-CPx_7YBa.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
  290. package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
  291. package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
  292. package/dist/smart-card-CqkzQsK-.js +614 -0
  293. package/dist/smart-card-CqkzQsK-.js.map +1 -0
  294. package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
  295. package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
  296. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  297. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  298. package/dist/style.css +1 -1
  299. package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
  300. package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
  301. package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
  302. package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
  303. package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
  304. package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
  305. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
  306. package/dist/text-inputs-DXItiR0O.js.map +1 -0
  307. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  308. package/dist/text.styles-B64My8RZ.js.map +1 -0
  309. package/dist/theme.css +152 -112
  310. package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
  311. package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
  312. package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
  313. package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
  314. package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
  315. package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
  316. package/dist/typography/rich-text.js +1 -1
  317. package/dist/typography-CSyJrh28.js +117 -0
  318. package/dist/typography-CSyJrh28.js.map +1 -0
  319. package/dist/typography.js +1 -1
  320. package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
  321. package/dist/ui-provider-CQCuCBcy.js.map +1 -0
  322. package/dist/ui-provider.js +1 -1
  323. package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
  324. package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
  325. package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
  326. package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
  327. package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
  328. package/dist/usage-card-DVTRDmGz.js.map +1 -0
  329. package/dist/use-popup-focus-recovery-C0QPvgOR.js +36 -0
  330. package/dist/use-popup-focus-recovery-C0QPvgOR.js.map +1 -0
  331. package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
  332. package/dist/utils-CF3c95Io.js.map +1 -0
  333. package/dist/value-inputs-C0o70p-U.js +980 -0
  334. package/dist/value-inputs-C0o70p-U.js.map +1 -0
  335. package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
  336. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
  337. package/dist/workspace-9EFVXUyk.js +410 -0
  338. package/dist/workspace-9EFVXUyk.js.map +1 -0
  339. package/docs/consumer-skill/SKILL.md +14 -129
  340. package/docs/consumer-skill/examples/app-layout.tsx +22 -12
  341. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  342. package/docs/consumer-skill/examples/edit.tsx +30 -38
  343. package/docs/consumer-skill/examples/manifest.json +51 -1
  344. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  345. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  346. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
  347. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  348. package/docs/consumer-skill/references/agents-md.md +17 -7
  349. package/docs/consumer-skill/references/authentication.md +42 -0
  350. package/docs/consumer-skill/references/component-contracts.json +319824 -0
  351. package/docs/consumer-skill/references/composition-mapping.md +92 -0
  352. package/docs/consumer-skill/references/composition.md +43 -19
  353. package/docs/consumer-skill/references/design-contract.md +32 -0
  354. package/docs/consumer-skill/references/discovery.md +84 -7
  355. package/docs/consumer-skill/references/installation.md +45 -35
  356. package/docs/consumer-skill/references/integration.md +6 -2
  357. package/docs/consumer-skill/references/public-api.json +1520 -66
  358. package/docs/consumer-skill/references/review.md +9 -4
  359. package/docs/consumer-skill/references/rhf-workflows.md +86 -0
  360. package/docs/consumer-skill/references/screen-archetypes.md +22 -0
  361. package/docs/consumer-skill/references/theming.md +8 -9
  362. package/docs/consumer-skill/references/tokens.json +12 -3
  363. package/docs/consumer-skill/references/workflows.md +7 -5
  364. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  365. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  366. package/docs/consumer-skill/scripts/composition.mjs +198 -0
  367. package/docs/consumer-skill/scripts/discovery.mjs +42 -10
  368. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  369. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  370. package/docs/consumer-skill/scripts/inspection.mjs +138 -0
  371. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  372. package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
  373. package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
  374. package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
  375. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  376. package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
  377. package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
  378. package/package.json +6 -4
  379. package/templates/README.md +39 -0
  380. package/templates/admin-shell-template.tsx +382 -0
  381. package/templates/analytics-operations-template.tsx +376 -0
  382. package/templates/customers-template.tsx +509 -0
  383. package/templates/index.ts +29 -0
  384. package/templates/orders-template.tsx +1102 -0
  385. package/templates/products-template.tsx +834 -0
  386. package/templates/user-permissions-template.tsx +450 -0
  387. package/dist/action-menu-CllU52Mm.js +0 -280
  388. package/dist/action-menu-CllU52Mm.js.map +0 -1
  389. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  390. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  391. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  392. package/dist/cards-BaBZR-AU.js.map +0 -1
  393. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  394. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  395. package/dist/combobox-C0EQW6dr.js.map +0 -1
  396. package/dist/combobox-xCQ2RMNE.js.map +0 -1
  397. package/dist/comments-BYYlTA8E.js.map +0 -1
  398. package/dist/containers-Mu1LMGV1.js +0 -103
  399. package/dist/containers-Mu1LMGV1.js.map +0 -1
  400. package/dist/data-display-DT_khPl_.js.map +0 -1
  401. package/dist/date-picker-ay0Pha_a.js.map +0 -1
  402. package/dist/date-pickers-Ccw8DL2b.js +0 -175
  403. package/dist/date-pickers-Ccw8DL2b.js.map +0 -1
  404. package/dist/form-field-CwH9y77i.js.map +0 -1
  405. package/dist/forms-B9G_xwzi.js.map +0 -1
  406. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  407. package/dist/input-DQdEd0YD.js +0 -263
  408. package/dist/input-DQdEd0YD.js.map +0 -1
  409. package/dist/item-K5_ghvze.js +0 -275
  410. package/dist/item-K5_ghvze.js.map +0 -1
  411. package/dist/metadata-list-8N16ZMW_.js +0 -405
  412. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  413. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  414. package/dist/overlays-DNWmZrJ4.js.map +0 -1
  415. package/dist/page-Bgl1F560.js +0 -224
  416. package/dist/page-Bgl1F560.js.map +0 -1
  417. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  418. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  419. package/dist/popover-7_m66eYW.js.map +0 -1
  420. package/dist/settings-ybnjVwbd.js +0 -171
  421. package/dist/settings-ybnjVwbd.js.map +0 -1
  422. package/dist/sheet-CGpB3omz.js.map +0 -1
  423. package/dist/smart-card-DiC5aac3.js +0 -604
  424. package/dist/smart-card-DiC5aac3.js.map +0 -1
  425. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  426. package/dist/text.styles-g4He6UIW.js.map +0 -1
  427. package/dist/typography-UTnveOEy.js +0 -117
  428. package/dist/typography-UTnveOEy.js.map +0 -1
  429. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  430. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  431. package/dist/utils-BRhFDwuU.js.map +0 -1
  432. package/dist/value-inputs-DXPDjvBU.js +0 -963
  433. package/dist/value-inputs-DXPDjvBU.js.map +0 -1
  434. package/dist/workspace-Cdrg7k9f.js +0 -408
  435. package/dist/workspace-Cdrg7k9f.js.map +0 -1
@@ -1,17 +1,17 @@
1
1
  "use client";
2
- import { s as e, v as t } from "../ui-provider-C_U0Xma4.js";
2
+ import { s as e, v as t } from "../ui-provider-CQCuCBcy.js";
3
3
  import { useStrings as n } from "../lib/strings.js";
4
- import { t as r } from "../utils-BRhFDwuU.js";
5
- import { n as i } from "../buttons-DPZekJFu.js";
6
- import { a, c as o, s } from "../typography-UTnveOEy.js";
7
- import { t as c } from "../structure-BmisBK-3.js";
8
- import { t as l } from "../progress-B1VnCT0K.js";
9
- import { h as u } from "../form-sizing-BdP_Mf5p.js";
10
- import { t as d } from "../input-DQdEd0YD.js";
11
- import { t as f } from "../form-field-CwH9y77i.js";
12
- import { d as p } from "../text-inputs-f9Ia-aCi.js";
13
- import { l as m, r as h, s as g } from "../choice-inputs-CNHvARCJ.js";
14
- import { t as _ } from "../checkbox-AWIhNhmo.js";
4
+ import { t as r } from "../utils-CF3c95Io.js";
5
+ import { n as i } from "../buttons-BbfzgczK.js";
6
+ import { a, c as o, s } from "../typography-CSyJrh28.js";
7
+ import { t as c } from "../structure-C0V0_Fyf.js";
8
+ import { t as l } from "../progress-BvF2oCdV.js";
9
+ import { h as u } from "../form-sizing-NXgjkmBG.js";
10
+ import { t as d } from "../input-Cdw4k0fb.js";
11
+ import { t as f } from "../form-field-CsgRmdit.js";
12
+ import { d as p } from "../text-inputs-DXItiR0O.js";
13
+ import { l as m, r as h, s as g } from "../choice-inputs-JLtij2y4.js";
14
+ import { t as _ } from "../checkbox-CzYUTPeJ.js";
15
15
  import { forwardRef as v, useEffect as y, useId as b, useRef as x, useState as S } from "react";
16
16
  import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
17
17
  //#region src/components/features/questionnaire/questionnaire-control.tsx
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { n } from "../buttons-DPZekJFu.js";
5
- import { c as r, o as i } from "../typography-UTnveOEy.js";
6
- import { t as a } from "../structure-BmisBK-3.js";
7
- import { n as o } from "../cards-BaBZR-AU.js";
8
- import { r as s } from "../overlays-DNWmZrJ4.js";
9
- import { n as c } from "../display-hAc1HjpI.js";
10
- import { s as l } from "../data-display-DT_khPl_.js";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { n } from "../buttons-BbfzgczK.js";
5
+ import { c as r, o as i } from "../typography-CSyJrh28.js";
6
+ import { t as a } from "../structure-C0V0_Fyf.js";
7
+ import { n as o } from "../cards-4JTWqvVe.js";
8
+ import { r as s } from "../overlays-BlKynmde.js";
9
+ import { n as c } from "../display-BB4BL_-K.js";
10
+ import { s as l } from "../data-display-D4oujtx0.js";
11
11
  import { useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
12
12
  import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
13
13
  import { Eye as v, PackageOpen as y } from "lucide-react";
@@ -1,19 +1,20 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { c as n } from "../typography-UTnveOEy.js";
5
- import { t as r } from "../structure-BmisBK-3.js";
6
- import { n as i, t as a } from "../feedback-BYIhtitP.js";
7
- import { u as o } from "../primitives-BFK08r9M.js";
8
- import { t as s } from "../icon-badge-DYKIwvOV.js";
9
- import { i as c, n as l, s as u } from "../avatar-DAPlDvhJ.js";
10
- import { n as d } from "../display-hAc1HjpI.js";
11
- import { t as f } from "../metadata-list-8N16ZMW_.js";
12
- import { r as p, t as m } from "../overflow-tab-bar-CWY7Nogn.js";
13
- import { s as h } from "../data-display-DT_khPl_.js";
14
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { c as n } from "../typography-CSyJrh28.js";
5
+ import { t as r } from "../structure-C0V0_Fyf.js";
6
+ import { n as i, t as a } from "../feedback-DZNL5Lg1.js";
7
+ import { n as o, t as s } from "../composition.recipes-COdiFhxB.js";
8
+ import { u as c } from "../primitives-Du64iDbb.js";
9
+ import { t as l } from "../icon-badge-COWbCCWu.js";
10
+ import { i as u, n as d, s as f } from "../avatar-DWO_HHhB.js";
11
+ import { n as p } from "../display-BB4BL_-K.js";
12
+ import { t as m } from "../metadata-list-qVV7AVxa.js";
13
+ import { r as h, t as g } from "../overflow-tab-bar-CrbqMteP.js";
14
+ import { s as _ } from "../data-display-D4oujtx0.js";
15
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
15
16
  //#region src/components/features/resource/resource.strings.ts
16
- var v = {
17
+ var b = {
17
18
  loadingLabel: "Loading resources",
18
19
  loadingDescription: "Preparing the latest data for this view.",
19
20
  emptyTitle: "No resources found",
@@ -25,35 +26,35 @@ var v = {
25
26
  };
26
27
  //#endregion
27
28
  //#region src/components/features/resource/resource.tsx
28
- function y({ title: e, description: n, eyebrow: i, media: a, avatarUrl: d, avatarAlt: f, avatarFallback: m, icon: h, iconTone: v = "neutral", badges: y, metadata: b, actions: x, primaryAction: S, secondaryActions: C, moreActionsLabel: w, renderLink: T, className: E, contentClassName: D, mediaClassName: O }) {
29
- let k = h, A = typeof e == "string" ? e : "", j = a ?? (d || m ? /* @__PURE__ */ _(l, {
29
+ function x({ title: e, description: n, eyebrow: i, media: a, avatarUrl: o, avatarAlt: s, avatarFallback: p, icon: m, iconTone: g = "neutral", badges: _, metadata: b, actions: x, primaryAction: S, secondaryActions: C, moreActionsLabel: w, renderLink: T, className: E, contentClassName: D, mediaClassName: O }) {
30
+ let k = m, A = typeof e == "string" ? e : "", j = a ?? (o || p ? /* @__PURE__ */ y(d, {
30
31
  className: t("resource-header--avatar size-avatar-lg", O),
31
- children: [!!d && /* @__PURE__ */ g(u, {
32
- src: d,
33
- alt: f ?? A
34
- }), /* @__PURE__ */ g(c, { children: m ?? /* @__PURE__ */ g(o, {
32
+ children: [!!o && /* @__PURE__ */ v(f, {
33
+ src: o,
34
+ alt: s ?? A
35
+ }), /* @__PURE__ */ v(u, { children: p ?? /* @__PURE__ */ v(c, {
35
36
  value: A,
36
37
  strategy: "first-words"
37
38
  }) })]
38
- }) : k ? /* @__PURE__ */ g(s, {
39
+ }) : k ? /* @__PURE__ */ v(l, {
39
40
  icon: k,
40
41
  shape: "square",
41
- tone: v,
42
+ tone: g,
42
43
  className: t("resource-header--icon size-avatar-lg [&>svg]:size-icon-lg", O)
43
44
  }) : null);
44
- return /* @__PURE__ */ g(p, {
45
+ return /* @__PURE__ */ v(h, {
45
46
  eyebrow: i,
46
47
  title: e,
47
48
  description: n,
48
49
  leading: j,
49
- titleSuffix: y ? /* @__PURE__ */ g(r, {
50
+ titleSuffix: _ ? /* @__PURE__ */ v(r, {
50
51
  "data-slot": "resource-header-badges",
51
52
  direction: "horizontal",
52
53
  gap: "sm",
53
54
  className: "resource-header--badges shrink-0",
54
- children: y
55
+ children: _
55
56
  }) : void 0,
56
- afterDescription: b ? /* @__PURE__ */ g(r, {
57
+ afterDescription: b ? /* @__PURE__ */ v(r, {
57
58
  "data-slot": "resource-header-metadata",
58
59
  direction: "horizontal",
59
60
  gap: "md",
@@ -74,12 +75,12 @@ function y({ title: e, description: n, eyebrow: i, media: a, avatarUrl: d, avata
74
75
  actionsClassName: "resource-header--actions flex-wrap"
75
76
  });
76
77
  }
77
- function b({ children: e, leading: n, trailing: i, sticky: a = !1, className: o }) {
78
- return /* @__PURE__ */ g("div", {
78
+ function S({ children: e, leading: n, trailing: i, sticky: a = !1, className: o }) {
79
+ return /* @__PURE__ */ v("div", {
79
80
  "data-component": "resource-action-bar",
80
81
  "data-slot": "resource-action-bar",
81
82
  className: t("resource-action-bar--component box-border rounded-radius border border-border bg-card text-card-foreground px-surface py-row-y-lg shadow-xs", a && "sticky top-shell-header z-30", o),
82
- children: /* @__PURE__ */ _(r, {
83
+ children: /* @__PURE__ */ y(r, {
83
84
  direction: {
84
85
  base: "vertical",
85
86
  sm: "horizontal"
@@ -89,13 +90,13 @@ function b({ children: e, leading: n, trailing: i, sticky: a = !1, className: o
89
90
  justify: { sm: "between" },
90
91
  wrap: { sm: !1 },
91
92
  className: "resource-action-bar--layout",
92
- children: [/* @__PURE__ */ g(r, {
93
+ children: [/* @__PURE__ */ v(r, {
93
94
  "data-slot": "resource-action-leading",
94
95
  direction: "horizontal",
95
96
  gap: "md",
96
97
  className: "resource-action-bar--leading flex-1",
97
98
  children: n ?? e
98
- }), !!i && /* @__PURE__ */ g(r, {
99
+ }), !!i && /* @__PURE__ */ v(r, {
99
100
  "data-slot": "resource-action-trailing",
100
101
  direction: "horizontal",
101
102
  gap: "md",
@@ -105,123 +106,122 @@ function b({ children: e, leading: n, trailing: i, sticky: a = !1, className: o
105
106
  })
106
107
  });
107
108
  }
108
- function x(e) {
109
- return /* @__PURE__ */ g(h, {
109
+ function C(e) {
110
+ return /* @__PURE__ */ v(_, {
110
111
  ...e,
111
112
  "data-component": "resource-empty-state",
112
113
  "data-slot": "resource-empty-state",
113
114
  className: t("resource-empty-state--component", e.className)
114
115
  });
115
116
  }
116
- function S({ children: n, title: o, description: s, actions: c, primaryAction: l, secondaryActions: u, moreActionsLabel: d, renderLink: f, toolbar: p, emptySlot: m, empty: h = !1, loading: b = !1, error: S, onRetry: C, slots: w, className: T, headerClassName: E, contentClassName: D, strings: O, asideClassName: k, variant: A }) {
117
- let j = e(v, O), M = w?.header ?? (o ? /* @__PURE__ */ g(y, {
118
- title: o,
119
- description: s,
120
- actions: c,
121
- primaryAction: l,
122
- secondaryActions: u,
123
- moreActionsLabel: d,
124
- renderLink: f,
125
- className: E
126
- }) : null), N = w?.toolbar ?? p, P = w?.loading ?? /* @__PURE__ */ g(i, {
117
+ function w({ children: n, title: c, description: l, actions: u, primaryAction: d, secondaryActions: f, moreActionsLabel: p, renderLink: m, toolbar: h, emptySlot: g, empty: _ = !1, loading: S = !1, error: w, onRetry: T, slots: E, className: D, headerClassName: O, contentClassName: k, strings: A, asideClassName: j, variant: M }) {
118
+ let N = e(b, A), P = E?.header ?? (c ? /* @__PURE__ */ v(x, {
119
+ title: c,
120
+ description: l,
121
+ actions: u,
122
+ primaryAction: d,
123
+ secondaryActions: f,
124
+ moreActionsLabel: p,
125
+ renderLink: m,
126
+ className: O
127
+ }) : null), F = E?.toolbar ?? h, I = E?.loading ?? /* @__PURE__ */ v(i, {
127
128
  variant: "panel",
128
- label: j.loadingLabel,
129
- description: j.loadingDescription,
129
+ label: N.loadingLabel,
130
+ description: N.loadingDescription,
130
131
  skeleton: !0,
131
132
  lines: 4,
132
133
  className: "resource-shell--loading rounded-radius border border-border bg-card"
133
- }), F = w?.empty ?? m ?? /* @__PURE__ */ g(x, {
134
- title: j.emptyTitle,
135
- description: j.emptyDescription,
134
+ }), L = E?.empty ?? g ?? /* @__PURE__ */ v(C, {
135
+ title: N.emptyTitle,
136
+ description: N.emptyDescription,
136
137
  border: !0
137
- }), I = /* @__PURE__ */ g(a, {
138
- title: j.errorTitle,
139
- description: S instanceof Error ? S.message : typeof S == "string" || typeof S == "number" ? String(S) : j.errorDescription,
140
- onRetry: C,
141
- retryLabel: j.retryLabel
142
- }), L = w?.error ?? (S && typeof S != "boolean" && typeof S != "string" && typeof S != "number" && !(S instanceof Error) ? S : I), R = b ? P : S ? L : h ? F : n;
143
- return /* @__PURE__ */ g("section", {
144
- "data-component": `resource-${A}-shell`,
145
- "data-slot": `resource-${A}-shell`,
146
- className: t(`resource-${A}-shell--component min-w-0`, A === "index" && "@container/resource-index", A === "show" && "@container/resource-show", T),
147
- children: /* @__PURE__ */ _("div", {
148
- "data-slot": `resource-${A}-layout`,
149
- className: t(`resource-${A}-shell--layout grid min-w-0 gap-space-xl`, w?.aside && A === "show" && "@4xl/resource-show:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]", w?.aside && A === "index" && "@4xl/resource-index:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]"),
150
- children: [/* @__PURE__ */ _(r, {
151
- gap: "xl",
152
- children: [
153
- !!M && /* @__PURE__ */ g("div", {
154
- "data-slot": `resource-${A}-header`,
155
- className: `resource-${A}-shell--header`,
156
- children: M
157
- }),
158
- !!N && /* @__PURE__ */ g("div", {
159
- "data-slot": `resource-${A}-toolbar`,
160
- className: `resource-${A}-shell--toolbar`,
161
- children: N
162
- }),
163
- /* @__PURE__ */ g("div", {
164
- "data-slot": `resource-${A}-content`,
165
- className: t(`resource-${A}-shell--content min-w-0`, D),
166
- children: R
167
- }),
168
- !!w?.footer && /* @__PURE__ */ g("div", {
169
- "data-slot": `resource-${A}-footer`,
170
- className: `resource-${A}-shell--footer`,
171
- children: w.footer
172
- })
173
- ]
174
- }), !!w?.aside && /* @__PURE__ */ g("aside", {
175
- "data-slot": `resource-${A}-aside`,
176
- className: t(`resource-${A}-shell--aside min-w-0`, k),
177
- children: w.aside
178
- })]
179
- })
138
+ }), R = /* @__PURE__ */ v(a, {
139
+ title: N.errorTitle,
140
+ description: w instanceof Error ? w.message : typeof w == "string" || typeof w == "number" ? String(w) : N.errorDescription,
141
+ onRetry: T,
142
+ retryLabel: N.retryLabel
143
+ }), z = E?.error ?? (w && typeof w != "boolean" && typeof w != "string" && typeof w != "number" && !(w instanceof Error) ? w : R), B = S ? I : w ? z : _ ? L : n;
144
+ return /* @__PURE__ */ y("section", {
145
+ "data-component": `resource-${M}-shell`,
146
+ "data-slot": `resource-${M}-shell`,
147
+ className: t(`resource-${M}-shell--component flex min-w-0 flex-col`, s.subjects, M === "index" && "@container/resource-index", M === "show" && "@container/resource-show", D),
148
+ children: [
149
+ !!P && /* @__PURE__ */ v("div", {
150
+ "data-slot": `resource-${M}-header`,
151
+ className: `resource-${M}-shell--header`,
152
+ children: P
153
+ }),
154
+ !!F && /* @__PURE__ */ v("div", {
155
+ "data-slot": `resource-${M}-toolbar`,
156
+ className: `resource-${M}-shell--toolbar`,
157
+ children: F
158
+ }),
159
+ /* @__PURE__ */ y("div", {
160
+ "data-slot": `resource-${M}-layout`,
161
+ className: t(`resource-${M}-shell--layout grid min-w-0`, s.subjects, E?.aside && M === "show" && "@4xl/resource-show:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]", E?.aside && M === "index" && "@4xl/resource-index:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]"),
162
+ children: [/* @__PURE__ */ y(r, {
163
+ gap: o.subjects,
164
+ children: [/* @__PURE__ */ v("div", {
165
+ "data-slot": `resource-${M}-content`,
166
+ className: t(`resource-${M}-shell--content flex min-w-0 flex-col`, s.subjects, k),
167
+ children: B
168
+ }), !!E?.footer && /* @__PURE__ */ v("div", {
169
+ "data-slot": `resource-${M}-footer`,
170
+ className: `resource-${M}-shell--footer`,
171
+ children: E.footer
172
+ })]
173
+ }), !!E?.aside && /* @__PURE__ */ v("aside", {
174
+ "data-slot": `resource-${M}-aside`,
175
+ className: t(`resource-${M}-shell--aside flex min-w-0 flex-col`, s.subjects, j),
176
+ children: E.aside
177
+ })]
178
+ })
179
+ ]
180
180
  });
181
181
  }
182
- function C(e) {
183
- return /* @__PURE__ */ g(S, {
182
+ function T(e) {
183
+ return /* @__PURE__ */ v(w, {
184
184
  ...e,
185
185
  variant: "index"
186
186
  });
187
187
  }
188
- function w(e) {
189
- return /* @__PURE__ */ g(S, {
188
+ function E(e) {
189
+ return /* @__PURE__ */ v(w, {
190
190
  ...e,
191
191
  variant: "show"
192
192
  });
193
193
  }
194
- function T({ tabs: n, activeTab: i, onTabChange: a, tabsClassName: o, moreLabel: s, tabsAriaLabel: c, toolbar: l, slots: u, className: d, strings: f, ...p }) {
195
- let h = e(v, f), y = /* @__PURE__ */ _(r, {
194
+ function D({ tabs: n, activeTab: i, onTabChange: a, tabsClassName: o, moreLabel: s, tabsAriaLabel: c, toolbar: l, slots: u, className: d, strings: f, ...p }) {
195
+ let m = e(b, f), h = /* @__PURE__ */ y(r, {
196
196
  gap: "lg",
197
197
  "data-slot": "tabbed-resource-toolbar",
198
198
  className: "tabbed-resource-shell--toolbar",
199
- children: [/* @__PURE__ */ g(m, {
199
+ children: [/* @__PURE__ */ v(g, {
200
200
  items: n,
201
201
  value: i,
202
202
  onValueChange: a,
203
203
  className: o,
204
204
  strings: {
205
205
  more: s,
206
- navigationLabel: c ?? h.tabsAriaLabel
206
+ navigationLabel: c ?? m.tabsAriaLabel
207
207
  }
208
208
  }), l]
209
209
  });
210
- return /* @__PURE__ */ g(w, {
210
+ return /* @__PURE__ */ v(E, {
211
211
  ...p,
212
212
  strings: f,
213
213
  className: t("tabbed-resource-shell--component", d),
214
- toolbar: y,
214
+ toolbar: h,
215
215
  slots: {
216
216
  ...u,
217
- toolbar: u?.toolbar ?? y
217
+ toolbar: u?.toolbar ?? h
218
218
  }
219
219
  });
220
220
  }
221
- function E({ title: e, description: n, actions: r, headerAction: i, children: a, footer: o, padding: s = "md", surface: c = "card", className: l, contentClassName: u, name: f }) {
222
- return /* @__PURE__ */ g(d, {
223
- "data-component": f,
224
- "data-slot": f,
221
+ function O({ title: e, description: n, actions: r, headerAction: i, children: a, footer: o, padding: s = "md", surface: c = "card", className: l, contentClassName: u, name: d }) {
222
+ return /* @__PURE__ */ v(p, {
223
+ "data-component": d,
224
+ "data-slot": d,
225
225
  title: e,
226
226
  description: n,
227
227
  actions: r,
@@ -229,25 +229,26 @@ function E({ title: e, description: n, actions: r, headerAction: i, children: a,
229
229
  footerSlot: o,
230
230
  padding: s,
231
231
  surface: c,
232
- className: t(`${f}--component`, l),
232
+ className: t(`${d}--component`, l),
233
233
  contentClassName: u,
234
234
  children: a
235
235
  });
236
236
  }
237
- function D({ metadata: e, metadataColumns: r = 2, metadataDense: i = !1, body: a, help: o, children: s, contentClassName: c, ...l }) {
238
- return /* @__PURE__ */ _(E, {
237
+ function k({ metadata: e, metadataColumns: r = 2, metadataDense: i = !1, body: a, help: o, children: s, contentClassName: c, ...l }) {
238
+ return /* @__PURE__ */ y(O, {
239
239
  ...l,
240
240
  name: "resource-details-section",
241
241
  contentClassName: t("resource-details-section--content grid gap-space-xl", c),
242
242
  children: [
243
- !!e?.length && /* @__PURE__ */ g(f, {
243
+ !!e?.length && /* @__PURE__ */ v(m, {
244
+ adaptTo: "container",
244
245
  items: e,
245
246
  columns: r,
246
247
  density: i ? "compact" : "default"
247
248
  }),
248
249
  a,
249
250
  s,
250
- !!o && /* @__PURE__ */ g(n, {
251
+ !!o && /* @__PURE__ */ v(n, {
251
252
  size: "xs",
252
253
  type: "secondary",
253
254
  className: "resource-details-section--help",
@@ -257,6 +258,6 @@ function D({ metadata: e, metadataColumns: r = 2, metadataDense: i = !1, body: a
257
258
  });
258
259
  }
259
260
  //#endregion
260
- export { b as ResourceActionBar, D as ResourceDetailsSection, x as ResourceEmptyState, y as ResourceHeader, C as ResourceIndexShell, w as ResourceShowShell, T as TabbedResourceShell, v as defaultResourceStrings };
261
+ export { S as ResourceActionBar, k as ResourceDetailsSection, C as ResourceEmptyState, x as ResourceHeader, T as ResourceIndexShell, E as ResourceShowShell, D as TabbedResourceShell, b as defaultResourceStrings };
261
262
 
262
263
  //# sourceMappingURL=resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","names":["Text","Stack","LoadingState","ErrorState","Initials","IconBadge","AvatarFallback","Avatar","AvatarImage","ContentBlock","MetadataList","PageHeading","OverflowTabBar","EmptyState","defaultResourceStrings","ResourceHeader","Icon","icon","titleText","title","resolvedMedia","media","avatarUrl","avatarFallback","cn","mediaClassName","avatarAlt","iconTone","badges","metadata","className","ResourceActionBar","sticky","leading","children","trailing","ResourceEmptyState","props","ResourceShellFrame","emptyState","stringsProp","strings","useStrings","header","slots","headerClassName","toolbarNode","toolbar","loadingNode","emptyNode","emptySlot","defaultErrorNode","error","errorNode","body","loading","variant","contentClassName","asideClassName","ResourceIndexShell","ResourceShowShell","TabbedResourceShell","tabs","activeTab","onTabChange","tabsClassName","moreLabel","tabsAriaLabel","ResourceCard","name","footer","ResourceDetailsSection","metadataColumns","metadataDense","help"],"sources":["../../src/components/features/resource/resource.strings.ts","../../src/components/features/resource/resource.tsx"],"sourcesContent":["/** Default copy for state-aware resource workspace replacement states. */\nexport interface ResourceStrings {\n\tloadingLabel: string;\n\tloadingDescription: string;\n\temptyTitle: string;\n\temptyDescription: string;\n\terrorTitle: string;\n\terrorDescription: string;\n\tretryLabel: string;\n\ttabsAriaLabel: string;\n}\n\nexport const defaultResourceStrings: ResourceStrings = {\n\tloadingLabel: 'Loading resources',\n\tloadingDescription: 'Preparing the latest data for this view.',\n\temptyTitle: 'No resources found',\n\temptyDescription: 'There are no records available for this view.',\n\terrorTitle: 'Resources unavailable',\n\terrorDescription: 'The resource data could not be loaded.',\n\tretryLabel: 'Try again',\n\ttabsAriaLabel: 'Resource sections',\n};\n","/** State-aware resource workspace primitives for coordinated index/show surfaces. */\nimport { ContentBlock, IconBadge } from '../../base/display';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../base/avatar';\nimport { ErrorState, LoadingState } from '../../base/feedback';\nimport { MetadataList } from '../../base/metadata-list';\nimport { EmptyState } from '../../blocks/data-display';\nimport { OverflowTabBar, PageHeading } from '../../base/navigation';\nimport { Stack } from '../../base/structure';\nimport { Initials } from '../../primitives';\nimport { Text } from '../../typography';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport { defaultResourceStrings } from './resource.strings';\nimport type {\n\tResourceActionBarProps,\n\tResourceDetailsSectionProps,\n\tResourceEmptyStateProps,\n\tResourceHeaderProps,\n\tResourceIndexShellProps,\n\tResourceShowShellProps,\n\tTabbedResourceShellProps,\n} from './resource.types';\n\nexport function ResourceHeader({\n\ttitle,\n\tdescription,\n\teyebrow,\n\tmedia,\n\tavatarUrl,\n\tavatarAlt,\n\tavatarFallback,\n\ticon,\n\ticonTone = 'neutral',\n\tbadges,\n\tmetadata,\n\tactions,\n\tprimaryAction,\n\tsecondaryActions,\n\tmoreActionsLabel,\n\trenderLink,\n\tclassName,\n\tcontentClassName,\n\tmediaClassName,\n}: ResourceHeaderProps) {\n\tconst Icon = icon;\n\tconst titleText = typeof title === 'string' ? title : '';\n\tconst resolvedMedia =\n\t\tmedia ??\n\t\t(avatarUrl || avatarFallback ? (\n\t\t\t<Avatar className={cn('resource-header--avatar size-avatar-lg', mediaClassName)}>\n\t\t\t\t{!!avatarUrl && <AvatarImage src={avatarUrl} alt={avatarAlt ?? titleText} />}\n\t\t\t\t<AvatarFallback>{avatarFallback ?? <Initials value={titleText} strategy=\"first-words\" />}</AvatarFallback>\n\t\t\t</Avatar>\n\t\t) : Icon ? (\n\t\t\t<IconBadge\n\t\t\t\ticon={Icon}\n\t\t\t\tshape=\"square\"\n\t\t\t\ttone={iconTone}\n\t\t\t\tclassName={cn('resource-header--icon size-avatar-lg [&>svg]:size-icon-lg', mediaClassName)}\n\t\t\t/>\n\t\t) : null);\n\n\treturn (\n\t\t<PageHeading\n\t\t\teyebrow={eyebrow}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tleading={resolvedMedia}\n\t\t\ttitleSuffix={\n\t\t\t\tbadges ? (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-header-badges\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"sm\"\n\t\t\t\t\t\tclassName=\"resource-header--badges shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{badges}\n\t\t\t\t\t</Stack>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tafterDescription={\n\t\t\t\tmetadata ? (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-header-metadata\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t\tclassName=\"resource-header--metadata mt-space-sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{metadata}\n\t\t\t\t\t</Stack>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tactions={actions}\n\t\t\tprimaryAction={primaryAction}\n\t\t\tsecondaryActions={secondaryActions}\n\t\t\tmoreActionsLabel={moreActionsLabel}\n\t\t\trenderLink={renderLink}\n\t\t\twithSeparator={false}\n\t\t\tclassName={cn('resource-header--component', className)}\n\t\t\tcontentClassName={contentClassName}\n\t\t\teyebrowClassName=\"resource-header--eyebrow\"\n\t\t\ttitleClassName=\"resource-header--title truncate\"\n\t\t\tdescriptionClassName=\"resource-header--description max-w-3xl\"\n\t\t\tactionsClassName=\"resource-header--actions flex-wrap\"\n\t\t/>\n\t);\n}\n\nexport function ResourceActionBar({ children, leading, trailing, sticky = false, className }: ResourceActionBarProps) {\n\treturn (\n\t\t<div\n\t\t\tdata-component=\"resource-action-bar\"\n\t\t\tdata-slot=\"resource-action-bar\"\n\t\t\tclassName={cn(\n\t\t\t\t'resource-action-bar--component box-border rounded-radius border border-border bg-card text-card-foreground px-surface py-row-y-lg shadow-xs',\n\t\t\t\tsticky && 'sticky top-shell-header z-30',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Stack\n\t\t\t\tdirection={{ base: 'vertical', sm: 'horizontal' }}\n\t\t\t\tgap=\"lg\"\n\t\t\t\talign={{ sm: 'center' }}\n\t\t\t\tjustify={{ sm: 'between' }}\n\t\t\t\twrap={{ sm: false }}\n\t\t\t\tclassName=\"resource-action-bar--layout\"\n\t\t\t>\n\t\t\t\t<Stack\n\t\t\t\t\tdata-slot=\"resource-action-leading\"\n\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\tgap=\"md\"\n\t\t\t\t\tclassName=\"resource-action-bar--leading flex-1\"\n\t\t\t\t>\n\t\t\t\t\t{leading ?? children}\n\t\t\t\t</Stack>\n\t\t\t\t{!!trailing && (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-action-trailing\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t\tclassName=\"resource-action-bar--trailing shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{trailing}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</div>\n\t);\n}\n\nexport function ResourceEmptyState(props: ResourceEmptyStateProps) {\n\treturn (\n\t\t<EmptyState\n\t\t\t{...props}\n\t\t\tdata-component=\"resource-empty-state\"\n\t\t\tdata-slot=\"resource-empty-state\"\n\t\t\tclassName={cn('resource-empty-state--component', props.className)}\n\t\t/>\n\t);\n}\n\nfunction ResourceShellFrame({\n\tchildren,\n\ttitle,\n\tdescription,\n\tactions,\n\tprimaryAction,\n\tsecondaryActions,\n\tmoreActionsLabel,\n\trenderLink,\n\ttoolbar,\n\temptySlot,\n\tempty: emptyState = false,\n\tloading = false,\n\terror,\n\tonRetry,\n\tslots,\n\tclassName,\n\theaderClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n\tasideClassName,\n\tvariant,\n}: ResourceIndexShellProps & {\n\tasideClassName?: string;\n\tvariant: 'index' | 'show';\n}) {\n\tconst strings = useStrings(defaultResourceStrings, stringsProp);\n\tconst header =\n\t\tslots?.header ??\n\t\t(title ? (\n\t\t\t<ResourceHeader\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\tactions={actions}\n\t\t\t\tprimaryAction={primaryAction}\n\t\t\t\tsecondaryActions={secondaryActions}\n\t\t\t\tmoreActionsLabel={moreActionsLabel}\n\t\t\t\trenderLink={renderLink}\n\t\t\t\tclassName={headerClassName}\n\t\t\t/>\n\t\t) : null);\n\tconst toolbarNode = slots?.toolbar ?? toolbar;\n\tconst loadingNode = slots?.loading ?? (\n\t\t<LoadingState\n\t\t\tvariant=\"panel\"\n\t\t\tlabel={strings.loadingLabel}\n\t\t\tdescription={strings.loadingDescription}\n\t\t\tskeleton\n\t\t\tlines={4}\n\t\t\tclassName=\"resource-shell--loading rounded-radius border border-border bg-card\"\n\t\t/>\n\t);\n\tconst emptyNode = slots?.empty ?? emptySlot ?? (\n\t\t<ResourceEmptyState title={strings.emptyTitle} description={strings.emptyDescription} border />\n\t);\n\tconst defaultErrorNode = (\n\t\t<ErrorState\n\t\t\ttitle={strings.errorTitle}\n\t\t\tdescription={\n\t\t\t\terror instanceof Error\n\t\t\t\t\t? error.message\n\t\t\t\t\t: typeof error === 'string' || typeof error === 'number'\n\t\t\t\t\t\t? String(error)\n\t\t\t\t\t\t: strings.errorDescription\n\t\t\t}\n\t\t\tonRetry={onRetry}\n\t\t\tretryLabel={strings.retryLabel}\n\t\t/>\n\t);\n\tconst errorNode =\n\t\tslots?.error ??\n\t\t(error &&\n\t\ttypeof error !== 'boolean' &&\n\t\ttypeof error !== 'string' &&\n\t\ttypeof error !== 'number' &&\n\t\t!(error instanceof Error)\n\t\t\t? error\n\t\t\t: defaultErrorNode);\n\tconst body = loading ? loadingNode : error ? errorNode : emptyState ? emptyNode : children;\n\n\treturn (\n\t\t<section\n\t\t\tdata-component={`resource-${variant}-shell`}\n\t\t\tdata-slot={`resource-${variant}-shell`}\n\t\t\tclassName={cn(\n\t\t\t\t`resource-${variant}-shell--component min-w-0`,\n\t\t\t\tvariant === 'index' && '@container/resource-index',\n\t\t\t\tvariant === 'show' && '@container/resource-show',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-slot={`resource-${variant}-layout`}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t`resource-${variant}-shell--layout grid min-w-0 gap-space-xl`,\n\t\t\t\t\tslots?.aside &&\n\t\t\t\t\t\tvariant === 'show' &&\n\t\t\t\t\t\t'@4xl/resource-show:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]',\n\t\t\t\t\tslots?.aside &&\n\t\t\t\t\t\tvariant === 'index' &&\n\t\t\t\t\t\t'@4xl/resource-index:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Stack gap=\"xl\">\n\t\t\t\t\t{!!header && (\n\t\t\t\t\t\t<div data-slot={`resource-${variant}-header`} className={`resource-${variant}-shell--header`}>\n\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!toolbarNode && (\n\t\t\t\t\t\t<div data-slot={`resource-${variant}-toolbar`} className={`resource-${variant}-shell--toolbar`}>\n\t\t\t\t\t\t\t{toolbarNode}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tdata-slot={`resource-${variant}-content`}\n\t\t\t\t\t\tclassName={cn(`resource-${variant}-shell--content min-w-0`, contentClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!slots?.footer && (\n\t\t\t\t\t\t<div data-slot={`resource-${variant}-footer`} className={`resource-${variant}-shell--footer`}>\n\t\t\t\t\t\t\t{slots.footer}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t\t{!!slots?.aside && (\n\t\t\t\t\t<aside\n\t\t\t\t\t\tdata-slot={`resource-${variant}-aside`}\n\t\t\t\t\t\tclassName={cn(`resource-${variant}-shell--aside min-w-0`, asideClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{slots.aside}\n\t\t\t\t\t</aside>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</section>\n\t);\n}\n\nexport function ResourceIndexShell(props: ResourceIndexShellProps) {\n\treturn <ResourceShellFrame {...props} variant=\"index\" />;\n}\n\nexport function ResourceShowShell(props: ResourceShowShellProps) {\n\treturn <ResourceShellFrame {...props} variant=\"show\" />;\n}\n\nexport function TabbedResourceShell({\n\ttabs,\n\tactiveTab,\n\tonTabChange,\n\ttabsClassName,\n\tmoreLabel,\n\ttabsAriaLabel,\n\ttoolbar,\n\tslots,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}: TabbedResourceShellProps) {\n\tconst strings = useStrings(defaultResourceStrings, stringsProp);\n\tconst toolbarNode = (\n\t\t<Stack gap=\"lg\" data-slot=\"tabbed-resource-toolbar\" className=\"tabbed-resource-shell--toolbar\">\n\t\t\t<OverflowTabBar\n\t\t\t\titems={tabs}\n\t\t\t\tvalue={activeTab}\n\t\t\t\tonValueChange={onTabChange}\n\t\t\t\tclassName={tabsClassName}\n\t\t\t\tstrings={{\n\t\t\t\t\tmore: moreLabel,\n\t\t\t\t\tnavigationLabel: tabsAriaLabel ?? strings.tabsAriaLabel,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{toolbar}\n\t\t</Stack>\n\t);\n\n\treturn (\n\t\t<ResourceShowShell\n\t\t\t{...props}\n\t\t\tstrings={stringsProp}\n\t\t\tclassName={cn('tabbed-resource-shell--component', className)}\n\t\t\ttoolbar={toolbarNode}\n\t\t\tslots={{ ...slots, toolbar: slots?.toolbar ?? toolbarNode }}\n\t\t/>\n\t);\n}\n\nfunction ResourceCard({\n\ttitle,\n\tdescription,\n\tactions,\n\theaderAction,\n\tchildren,\n\tfooter,\n\tpadding = 'md',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n\tname,\n}: ResourceDetailsSectionProps & { name: string }) {\n\treturn (\n\t\t<ContentBlock\n\t\t\tdata-component={name}\n\t\t\tdata-slot={name}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\theaderAction={headerAction}\n\t\t\tfooterSlot={footer}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn(`${name}--component`, className)}\n\t\t\tcontentClassName={contentClassName}\n\t\t>\n\t\t\t{children}\n\t\t</ContentBlock>\n\t);\n}\n\nexport function ResourceDetailsSection({\n\tmetadata,\n\tmetadataColumns = 2,\n\tmetadataDense = false,\n\tbody,\n\thelp,\n\tchildren,\n\tcontentClassName,\n\t...props\n}: ResourceDetailsSectionProps) {\n\treturn (\n\t\t<ResourceCard\n\t\t\t{...props}\n\t\t\tname=\"resource-details-section\"\n\t\t\tcontentClassName={cn('resource-details-section--content grid gap-space-xl', contentClassName)}\n\t\t>\n\t\t\t{!!metadata?.length && (\n\t\t\t\t<MetadataList items={metadata} columns={metadataColumns} density={metadataDense ? 'compact' : 'default'} />\n\t\t\t)}\n\t\t\t{body}\n\t\t\t{children}\n\t\t\t{!!help && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"resource-details-section--help\">\n\t\t\t\t\t{help}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</ResourceCard>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","names":["Text","Stack","LoadingState","ErrorState","compositionRhythm","compositionClasses","Initials","IconBadge","AvatarFallback","Avatar","AvatarImage","ContentBlock","MetadataList","PageHeading","OverflowTabBar","EmptyState","defaultResourceStrings","ResourceHeader","Icon","icon","titleText","title","resolvedMedia","media","avatarUrl","avatarFallback","cn","mediaClassName","avatarAlt","iconTone","badges","metadata","className","ResourceActionBar","sticky","leading","children","trailing","ResourceEmptyState","props","ResourceShellFrame","emptyState","stringsProp","strings","useStrings","header","slots","headerClassName","toolbarNode","toolbar","loadingNode","emptyNode","emptySlot","defaultErrorNode","error","errorNode","body","loading","variant","contentClassName","asideClassName","ResourceIndexShell","ResourceShowShell","TabbedResourceShell","tabs","activeTab","onTabChange","tabsClassName","moreLabel","tabsAriaLabel","ResourceCard","name","footer","ResourceDetailsSection","metadataColumns","metadataDense","help"],"sources":["../../src/components/features/resource/resource.strings.ts","../../src/components/features/resource/resource.tsx"],"sourcesContent":["/** Default copy for state-aware resource workspace replacement states. */\nexport interface ResourceStrings {\n\tloadingLabel: string;\n\tloadingDescription: string;\n\temptyTitle: string;\n\temptyDescription: string;\n\terrorTitle: string;\n\terrorDescription: string;\n\tretryLabel: string;\n\ttabsAriaLabel: string;\n}\n\nexport const defaultResourceStrings: ResourceStrings = {\n\tloadingLabel: 'Loading resources',\n\tloadingDescription: 'Preparing the latest data for this view.',\n\temptyTitle: 'No resources found',\n\temptyDescription: 'There are no records available for this view.',\n\terrorTitle: 'Resources unavailable',\n\terrorDescription: 'The resource data could not be loaded.',\n\tretryLabel: 'Try again',\n\ttabsAriaLabel: 'Resource sections',\n};\n","/** State-aware resource workspace primitives for coordinated index/show surfaces. */\nimport { ContentBlock, IconBadge } from '../../base/display';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../base/avatar';\nimport { ErrorState, LoadingState } from '../../base/feedback';\nimport { MetadataList } from '../../base/metadata-list';\nimport { EmptyState } from '../../blocks/data-display';\nimport { OverflowTabBar, PageHeading } from '../../base/navigation';\nimport { Stack } from '../../base/structure';\nimport {compositionClasses, compositionRhythm} from '../../base/structure/composition.recipes';\nimport { Initials } from '../../primitives';\nimport { Text } from '../../typography';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport { defaultResourceStrings } from './resource.strings';\nimport type {\n\tResourceActionBarProps,\n\tResourceDetailsSectionProps,\n\tResourceEmptyStateProps,\n\tResourceHeaderProps,\n\tResourceIndexShellProps,\n\tResourceShowShellProps,\n\tTabbedResourceShellProps,\n} from './resource.types';\n\nexport function ResourceHeader({\n\ttitle,\n\tdescription,\n\teyebrow,\n\tmedia,\n\tavatarUrl,\n\tavatarAlt,\n\tavatarFallback,\n\ticon,\n\ticonTone = 'neutral',\n\tbadges,\n\tmetadata,\n\tactions,\n\tprimaryAction,\n\tsecondaryActions,\n\tmoreActionsLabel,\n\trenderLink,\n\tclassName,\n\tcontentClassName,\n\tmediaClassName,\n}: ResourceHeaderProps) {\n\tconst Icon = icon;\n\tconst titleText = typeof title === 'string' ? title : '';\n\tconst resolvedMedia =\n\t\tmedia ??\n\t\t(avatarUrl || avatarFallback ? (\n\t\t\t<Avatar className={cn('resource-header--avatar size-avatar-lg', mediaClassName)}>\n\t\t\t\t{!!avatarUrl && <AvatarImage src={avatarUrl} alt={avatarAlt ?? titleText} />}\n\t\t\t\t<AvatarFallback>{avatarFallback ?? <Initials value={titleText} strategy=\"first-words\" />}</AvatarFallback>\n\t\t\t</Avatar>\n\t\t) : Icon ? (\n\t\t\t<IconBadge\n\t\t\t\ticon={Icon}\n\t\t\t\tshape=\"square\"\n\t\t\t\ttone={iconTone}\n\t\t\t\tclassName={cn('resource-header--icon size-avatar-lg [&>svg]:size-icon-lg', mediaClassName)}\n\t\t\t/>\n\t\t) : null);\n\n\treturn (\n\t\t<PageHeading\n\t\t\teyebrow={eyebrow}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tleading={resolvedMedia}\n\t\t\ttitleSuffix={\n\t\t\t\tbadges ? (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-header-badges\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"sm\"\n\t\t\t\t\t\tclassName=\"resource-header--badges shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{badges}\n\t\t\t\t\t</Stack>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tafterDescription={\n\t\t\t\tmetadata ? (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-header-metadata\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t\tclassName=\"resource-header--metadata mt-space-sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{metadata}\n\t\t\t\t\t</Stack>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tactions={actions}\n\t\t\tprimaryAction={primaryAction}\n\t\t\tsecondaryActions={secondaryActions}\n\t\t\tmoreActionsLabel={moreActionsLabel}\n\t\t\trenderLink={renderLink}\n\t\t\twithSeparator={false}\n\t\t\tclassName={cn('resource-header--component', className)}\n\t\t\tcontentClassName={contentClassName}\n\t\t\teyebrowClassName=\"resource-header--eyebrow\"\n\t\t\ttitleClassName=\"resource-header--title truncate\"\n\t\t\tdescriptionClassName=\"resource-header--description max-w-3xl\"\n\t\t\tactionsClassName=\"resource-header--actions flex-wrap\"\n\t\t/>\n\t);\n}\n\nexport function ResourceActionBar({ children, leading, trailing, sticky = false, className }: ResourceActionBarProps) {\n\treturn (\n\t\t<div\n\t\t\tdata-component=\"resource-action-bar\"\n\t\t\tdata-slot=\"resource-action-bar\"\n\t\t\tclassName={cn(\n\t\t\t\t'resource-action-bar--component box-border rounded-radius border border-border bg-card text-card-foreground px-surface py-row-y-lg shadow-xs',\n\t\t\t\tsticky && 'sticky top-shell-header z-30',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Stack\n\t\t\t\tdirection={{ base: 'vertical', sm: 'horizontal' }}\n\t\t\t\tgap=\"lg\"\n\t\t\t\talign={{ sm: 'center' }}\n\t\t\t\tjustify={{ sm: 'between' }}\n\t\t\t\twrap={{ sm: false }}\n\t\t\t\tclassName=\"resource-action-bar--layout\"\n\t\t\t>\n\t\t\t\t<Stack\n\t\t\t\t\tdata-slot=\"resource-action-leading\"\n\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\tgap=\"md\"\n\t\t\t\t\tclassName=\"resource-action-bar--leading flex-1\"\n\t\t\t\t>\n\t\t\t\t\t{leading ?? children}\n\t\t\t\t</Stack>\n\t\t\t\t{!!trailing && (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tdata-slot=\"resource-action-trailing\"\n\t\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t\tclassName=\"resource-action-bar--trailing shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{trailing}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</div>\n\t);\n}\n\nexport function ResourceEmptyState(props: ResourceEmptyStateProps) {\n\treturn (\n\t\t<EmptyState\n\t\t\t{...props}\n\t\t\tdata-component=\"resource-empty-state\"\n\t\t\tdata-slot=\"resource-empty-state\"\n\t\t\tclassName={cn('resource-empty-state--component', props.className)}\n\t\t/>\n\t);\n}\n\nfunction ResourceShellFrame({\n\tchildren,\n\ttitle,\n\tdescription,\n\tactions,\n\tprimaryAction,\n\tsecondaryActions,\n\tmoreActionsLabel,\n\trenderLink,\n\ttoolbar,\n\temptySlot,\n\tempty: emptyState = false,\n\tloading = false,\n\terror,\n\tonRetry,\n\tslots,\n\tclassName,\n\theaderClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n\tasideClassName,\n\tvariant,\n}: ResourceIndexShellProps & {\n\tasideClassName?: string;\n\tvariant: 'index' | 'show';\n}) {\n\tconst strings = useStrings(defaultResourceStrings, stringsProp);\n\tconst header =\n\t\tslots?.header ??\n\t\t(title ? (\n\t\t\t<ResourceHeader\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\tactions={actions}\n\t\t\t\tprimaryAction={primaryAction}\n\t\t\t\tsecondaryActions={secondaryActions}\n\t\t\t\tmoreActionsLabel={moreActionsLabel}\n\t\t\t\trenderLink={renderLink}\n\t\t\t\tclassName={headerClassName}\n\t\t\t/>\n\t\t) : null);\n\tconst toolbarNode = slots?.toolbar ?? toolbar;\n\tconst loadingNode = slots?.loading ?? (\n\t\t<LoadingState\n\t\t\tvariant=\"panel\"\n\t\t\tlabel={strings.loadingLabel}\n\t\t\tdescription={strings.loadingDescription}\n\t\t\tskeleton\n\t\t\tlines={4}\n\t\t\tclassName=\"resource-shell--loading rounded-radius border border-border bg-card\"\n\t\t/>\n\t);\n\tconst emptyNode = slots?.empty ?? emptySlot ?? (\n\t\t<ResourceEmptyState title={strings.emptyTitle} description={strings.emptyDescription} border />\n\t);\n\tconst defaultErrorNode = (\n\t\t<ErrorState\n\t\t\ttitle={strings.errorTitle}\n\t\t\tdescription={\n\t\t\t\terror instanceof Error\n\t\t\t\t\t? error.message\n\t\t\t\t\t: typeof error === 'string' || typeof error === 'number'\n\t\t\t\t\t\t? String(error)\n\t\t\t\t\t\t: strings.errorDescription\n\t\t\t}\n\t\t\tonRetry={onRetry}\n\t\t\tretryLabel={strings.retryLabel}\n\t\t/>\n\t);\n\tconst errorNode =\n\t\tslots?.error ??\n\t\t(error &&\n\t\ttypeof error !== 'boolean' &&\n\t\ttypeof error !== 'string' &&\n\t\ttypeof error !== 'number' &&\n\t\t!(error instanceof Error)\n\t\t\t? error\n\t\t\t: defaultErrorNode);\n\tconst body = loading ? loadingNode : error ? errorNode : emptyState ? emptyNode : children;\n\n\treturn (\n\t\t<section\n\t\t\tdata-component={`resource-${variant}-shell`}\n\t\t\tdata-slot={`resource-${variant}-shell`}\n\t\t\tclassName={cn(\n\t\t\t\t`resource-${variant}-shell--component flex min-w-0 flex-col`, compositionClasses.subjects,\n\t\t\t\tvariant === 'index' && '@container/resource-index',\n\t\t\t\tvariant === 'show' && '@container/resource-show',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!!header && (\n\t\t\t\t<div data-slot={`resource-${variant}-header`} className={`resource-${variant}-shell--header`}>\n\t\t\t\t\t{header}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{!!toolbarNode && (\n\t\t\t\t<div data-slot={`resource-${variant}-toolbar`} className={`resource-${variant}-shell--toolbar`}>\n\t\t\t\t\t{toolbarNode}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tdata-slot={`resource-${variant}-layout`}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t`resource-${variant}-shell--layout grid min-w-0`, compositionClasses.subjects,\n\t\t\t\t\tslots?.aside &&\n\t\t\t\t\t\tvariant === 'show' &&\n\t\t\t\t\t\t'@4xl/resource-show:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]',\n\t\t\t\t\tslots?.aside &&\n\t\t\t\t\t\tvariant === 'index' &&\n\t\t\t\t\t\t'@4xl/resource-index:grid-cols-[minmax(0,1fr)_var(--shell-sidebar-width)]',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Stack gap={compositionRhythm.subjects}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tdata-slot={`resource-${variant}-content`}\n\t\t\t\t\t\tclassName={cn(`resource-${variant}-shell--content flex min-w-0 flex-col`, compositionClasses.subjects, contentClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!slots?.footer && (\n\t\t\t\t\t\t<div data-slot={`resource-${variant}-footer`} className={`resource-${variant}-shell--footer`}>\n\t\t\t\t\t\t\t{slots.footer}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t\t{!!slots?.aside && (\n\t\t\t\t\t<aside\n\t\t\t\t\t\tdata-slot={`resource-${variant}-aside`}\n\t\t\t\t\t\tclassName={cn(`resource-${variant}-shell--aside flex min-w-0 flex-col`, compositionClasses.subjects, asideClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{slots.aside}\n\t\t\t\t\t</aside>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</section>\n\t);\n}\n\nexport function ResourceIndexShell(props: ResourceIndexShellProps) {\n\treturn <ResourceShellFrame {...props} variant=\"index\" />;\n}\n\nexport function ResourceShowShell(props: ResourceShowShellProps) {\n\treturn <ResourceShellFrame {...props} variant=\"show\" />;\n}\n\nexport function TabbedResourceShell({\n\ttabs,\n\tactiveTab,\n\tonTabChange,\n\ttabsClassName,\n\tmoreLabel,\n\ttabsAriaLabel,\n\ttoolbar,\n\tslots,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}: TabbedResourceShellProps) {\n\tconst strings = useStrings(defaultResourceStrings, stringsProp);\n\tconst toolbarNode = (\n\t\t<Stack gap=\"lg\" data-slot=\"tabbed-resource-toolbar\" className=\"tabbed-resource-shell--toolbar\">\n\t\t\t<OverflowTabBar\n\t\t\t\titems={tabs}\n\t\t\t\tvalue={activeTab}\n\t\t\t\tonValueChange={onTabChange}\n\t\t\t\tclassName={tabsClassName}\n\t\t\t\tstrings={{\n\t\t\t\t\tmore: moreLabel,\n\t\t\t\t\tnavigationLabel: tabsAriaLabel ?? strings.tabsAriaLabel,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{toolbar}\n\t\t</Stack>\n\t);\n\n\treturn (\n\t\t<ResourceShowShell\n\t\t\t{...props}\n\t\t\tstrings={stringsProp}\n\t\t\tclassName={cn('tabbed-resource-shell--component', className)}\n\t\t\ttoolbar={toolbarNode}\n\t\t\tslots={{ ...slots, toolbar: slots?.toolbar ?? toolbarNode }}\n\t\t/>\n\t);\n}\n\nfunction ResourceCard({\n\ttitle,\n\tdescription,\n\tactions,\n\theaderAction,\n\tchildren,\n\tfooter,\n\tpadding = 'md',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n\tname,\n}: ResourceDetailsSectionProps & { name: string }) {\n\treturn (\n\t\t<ContentBlock\n\t\t\tdata-component={name}\n\t\t\tdata-slot={name}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\theaderAction={headerAction}\n\t\t\tfooterSlot={footer}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn(`${name}--component`, className)}\n\t\t\tcontentClassName={contentClassName}\n\t\t>\n\t\t\t{children}\n\t\t</ContentBlock>\n\t);\n}\n\nexport function ResourceDetailsSection({\n\tmetadata,\n\tmetadataColumns = 2,\n\tmetadataDense = false,\n\tbody,\n\thelp,\n\tchildren,\n\tcontentClassName,\n\t...props\n}: ResourceDetailsSectionProps) {\n\treturn (\n\t\t<ResourceCard\n\t\t\t{...props}\n\t\t\tname=\"resource-details-section\"\n\t\t\tcontentClassName={cn('resource-details-section--content grid gap-space-xl', contentClassName)}\n\t\t>\n\t\t\t{!!metadata?.length && (\n\t\t\t\t<MetadataList adaptTo=\"container\" items={metadata} columns={metadataColumns} density={metadataDense ? 'compact' : 'default'} />\n\t\t\t)}\n\t\t\t{body}\n\t\t\t{children}\n\t\t\t{!!help && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"resource-details-section--help\">\n\t\t\t\t\t{help}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</ResourceCard>\n\t);\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { t as e } from "../rich-text-editor-toolbar-DfXg0-VC.js";
2
+ import { t as e } from "../rich-text-editor-toolbar-L__e4x47.js";
3
3
  import { t } from "../rich-text-editor.strings-CB59ekH2.js";
4
- import { n, t as r } from "../rich-text-editor-cRLC-eBK.js";
4
+ import { n, t as r } from "../rich-text-editor-Cm1dpUpQ.js";
5
5
  import { useMemo as i, useRef as a } from "react";
6
6
  import { jsx as o } from "react/jsx-runtime";
7
7
  import { useController as s, useFormContext as c } from "react-hook-form";