@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11

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 (1566) hide show
  1. package/dist/esm/companion-exports.d.ts +2 -1
  2. package/dist/esm/companion-exports.d.ts.map +1 -1
  3. package/dist/esm/companion-exports.js +2 -1
  4. package/dist/esm/companion-exports.js.map +1 -1
  5. package/dist/esm/components/actions/action-bar.d.ts +45 -1
  6. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  7. package/dist/esm/components/actions/action-bar.js +84 -0
  8. package/dist/esm/components/actions/action-bar.js.map +1 -1
  9. package/dist/esm/components/actions/button.d.ts +22 -0
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +45 -0
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
  14. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
  15. package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
  16. package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
  17. package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
  18. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  20. package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
  21. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  23. package/dist/esm/components/ai-elements/graph/canvas.d.ts +60 -1
  24. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
  26. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  27. package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
  28. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/graph/node.js +18 -0
  30. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  31. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  32. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  33. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
  34. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  35. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
  36. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
  37. package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
  38. package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
  39. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  40. package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
  41. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  42. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts +18 -0
  43. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
  44. package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
  45. package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
  46. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
  47. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
  48. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
  49. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
  50. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
  51. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
  52. package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
  53. package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
  54. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
  55. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
  56. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
  57. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
  58. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  59. package/dist/esm/components/auth/Auth_Invitation.js +3 -2
  60. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  61. package/dist/esm/components/auth/Auth_Invitation.labels.js +2 -2
  62. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  63. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  64. package/dist/esm/components/auth/Auth_Main.js +40 -7
  65. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  66. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  67. package/dist/esm/components/auth/Auth_Main.labels.js +9 -0
  68. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  69. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  70. package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
  71. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  72. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +2 -2
  73. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  74. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  75. package/dist/esm/components/auth/Auth_Register.js +8 -1
  76. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  77. package/dist/esm/components/auth/Auth_Register.labels.js +2 -2
  78. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  79. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
  80. package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
  81. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  82. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  83. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +94 -6
  84. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  85. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  86. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +21 -1
  87. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  88. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  89. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +16 -13
  90. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  91. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
  92. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  93. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  94. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +1 -1
  95. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  96. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
  97. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  98. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
  99. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  100. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
  101. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
  102. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
  103. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
  104. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
  105. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
  106. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
  107. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
  108. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +1 -1
  109. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  110. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
  111. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
  112. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
  113. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
  115. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  116. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/DisplayField.js +98 -70
  118. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  119. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
  121. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  122. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
  123. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  124. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
  125. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  126. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  128. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  129. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
  130. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
  132. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  133. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +14 -8
  135. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  136. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
  137. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
  139. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  140. package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
  141. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  142. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -1
  143. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/automatic-displayer.utils.js +29 -0
  145. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  146. package/dist/esm/components/data-display/badge.d.ts +9 -0
  147. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/badge.js.map +1 -1
  149. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
  150. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
  152. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  153. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
  154. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
  155. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
  156. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
  157. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
  158. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
  159. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
  160. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
  161. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
  162. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
  163. package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
  164. package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
  165. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +4 -0
  166. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  168. package/dist/esm/components/data-display/display-layout-template.utils.d.ts +18 -0
  169. package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
  170. package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
  171. package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
  172. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
  173. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
  174. package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
  175. package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
  176. package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
  177. package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
  178. package/dist/esm/components/data-display/empty-value-mark.js +49 -0
  179. package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
  180. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
  181. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
  182. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
  183. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
  184. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
  185. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
  186. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
  187. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
  188. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
  189. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
  190. package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
  191. package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
  192. package/dist/esm/components/data-display/reference-display-target.js +154 -0
  193. package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
  194. package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
  195. package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
  196. package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
  197. package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
  198. package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
  199. package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
  200. package/dist/esm/components/data-display/tone-marker.js +56 -0
  201. package/dist/esm/components/data-display/tone-marker.js.map +1 -0
  202. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  203. package/dist/esm/components/data-display/useFileActivation.js +2 -9
  204. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  205. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  206. package/dist/esm/components/feedback/features/feature-limit-indicator.js +12 -4
  207. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
  209. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  211. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
  212. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  213. package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
  214. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  215. package/dist/esm/components/flows-actors/actor.d.ts +21 -4
  216. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  217. package/dist/esm/components/flows-actors/actor.js +114 -192
  218. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  219. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  220. package/dist/esm/components/flows-actors/actor.labels.js +5 -10
  221. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  222. package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
  223. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  224. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
  225. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
  226. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
  227. package/dist/esm/components/flows-actors/approval.d.ts +26 -16
  228. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  229. package/dist/esm/components/flows-actors/approval.js +208 -70
  230. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  231. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  232. package/dist/esm/components/flows-actors/approval.labels.js +67 -22
  233. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  234. package/dist/esm/components/flows-actors/artifact-browser.labels.js +1 -1
  235. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  236. package/dist/esm/components/flows-actors/execution-plan.d.ts +19 -7
  237. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  238. package/dist/esm/components/flows-actors/execution-plan.js +55 -41
  239. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  240. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  241. package/dist/esm/components/flows-actors/execution-plan.labels.js +25 -8
  242. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  243. package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
  244. package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
  245. package/dist/esm/components/flows-actors/execution-usage.js +189 -0
  246. package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
  247. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
  248. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
  249. package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
  250. package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
  251. package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
  252. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  253. package/dist/esm/components/flows-actors/flow-execution.js +56 -208
  254. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  255. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  256. package/dist/esm/components/flows-actors/flow-execution.labels.js +3 -10
  257. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  258. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
  259. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  260. package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
  261. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  262. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  263. package/dist/esm/components/flows-actors/flow-node.labels.js +0 -8
  264. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  265. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
  266. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
  267. package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
  268. package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
  269. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
  270. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  271. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js +18 -19
  272. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  273. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts +27 -42
  274. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  275. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +28 -43
  276. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  277. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts +15 -10
  278. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  279. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js +16 -42
  280. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  281. package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
  282. package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
  283. package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
  284. package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
  285. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
  286. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
  287. package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
  288. package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
  289. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
  290. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
  291. package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
  292. package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
  293. package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
  294. package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
  295. package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
  296. package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
  297. package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
  298. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  299. package/dist/esm/components/flows-actors/system-catalog.js +22 -20
  300. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  301. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  302. package/dist/esm/components/flows-actors/system-catalog.labels.js +3 -2
  303. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  304. package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
  305. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  306. package/dist/esm/components/flows-actors/task-detail.js +32 -25
  307. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  308. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  309. package/dist/esm/components/flows-actors/task-memory.js +3 -2
  310. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  311. package/dist/esm/components/form/Form.d.ts +2 -0
  312. package/dist/esm/components/form/Form.d.ts.map +1 -1
  313. package/dist/esm/components/form/Form.js +4 -0
  314. package/dist/esm/components/form/Form.js.map +1 -1
  315. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
  316. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  317. package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
  318. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  319. package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
  320. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  321. package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
  322. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  323. package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
  324. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  325. package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
  326. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  327. package/dist/esm/components/form/automated/FormField.d.ts +1 -1
  328. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  329. package/dist/esm/components/form/automated/FormField.js +127 -53
  330. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  331. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  332. package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
  333. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  334. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  335. package/dist/esm/components/form/automated/FormFieldRecord.js +16 -7
  336. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  337. package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
  338. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  339. package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
  340. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  341. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
  342. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  343. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
  344. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  345. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
  346. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  347. package/dist/esm/components/form/automated/automated-form-submit.utils.js +225 -6
  348. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  349. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
  350. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
  351. package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
  352. package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
  353. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  354. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
  355. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
  356. package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
  357. package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
  358. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
  359. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  360. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
  361. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  362. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
  363. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
  364. package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
  365. package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
  366. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
  367. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
  368. package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
  369. package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
  370. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
  371. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  372. package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
  373. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  374. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
  375. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  376. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  377. package/dist/esm/components/form/controls/date-time/datepicker.d.ts +21 -0
  378. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  379. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  380. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +9 -0
  381. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  383. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +9 -0
  384. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  386. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +1 -0
  387. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  389. package/dist/esm/components/form/controls/enum/radio.d.ts +10 -0
  390. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  392. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
  393. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
  395. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  396. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
  398. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  399. package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
  400. package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/string/chips-input.js +9 -0
  402. package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
  403. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  404. package/dist/esm/components/form/fields/form-field-address.js +7 -5
  405. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  406. package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
  407. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  408. package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
  409. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  410. package/dist/esm/components/form/fields/form-field-boolean.js +2 -2
  411. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  412. package/dist/esm/components/form/fields/form-field-code.labels.js +1 -1
  413. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  414. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  415. package/dist/esm/components/form/fields/form-field-date.js +16 -11
  416. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  417. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  418. package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
  419. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  420. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  421. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  422. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  423. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/fields/form-field-duration.labels.js +8 -2
  425. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  426. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  427. package/dist/esm/components/form/fields/form-field-enum.js +31 -31
  428. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  429. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  430. package/dist/esm/components/form/fields/form-field-file.js +13 -12
  431. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  432. package/dist/esm/components/form/fields/form-field-file.labels.js +6 -6
  433. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  434. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  435. package/dist/esm/components/form/fields/form-field-money.js +5 -4
  436. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  437. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  438. package/dist/esm/components/form/fields/form-field-money.labels.js +8 -2
  439. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  440. package/dist/esm/components/form/fields/form-field-number.js +2 -2
  441. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  442. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
  443. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  444. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  445. package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
  446. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  447. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  448. package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
  449. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  450. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  451. package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
  452. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  453. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  454. package/dist/esm/components/form/fields/form-field-range-money.labels.js +8 -2
  455. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  456. package/dist/esm/components/form/fields/form-field-range-number.js +2 -2
  457. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  458. package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
  459. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  460. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts +56 -0
  461. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
  462. package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
  463. package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
  464. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
  465. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
  466. package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
  467. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
  468. package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
  469. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  470. package/dist/esm/components/form/fields/form-field-string.js +9 -7
  471. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  472. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  473. package/dist/esm/components/form/fields/form-field-time.js +6 -3
  474. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  475. package/dist/esm/components/form/fields/themed-native-select.d.ts +29 -0
  476. package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
  477. package/dist/esm/components/form/fields/themed-native-select.js +36 -0
  478. package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
  479. package/dist/esm/components/form/form-context.d.ts +11 -0
  480. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  481. package/dist/esm/components/form/form-context.js +11 -0
  482. package/dist/esm/components/form/form-context.js.map +1 -1
  483. package/dist/esm/components/form/form-context.utils.d.ts +2 -0
  484. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  485. package/dist/esm/components/form/form-context.utils.js +6 -2
  486. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  487. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  488. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +17 -15
  489. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  490. package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
  491. package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
  492. package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
  493. package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
  494. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
  495. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
  496. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
  497. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
  498. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  499. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  500. package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
  501. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  502. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -1
  503. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  504. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js +46 -3
  505. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  506. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  507. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
  508. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  509. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
  510. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
  511. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
  512. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
  513. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
  514. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  515. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
  516. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts +7 -0
  518. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  520. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
  521. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  523. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
  525. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  526. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
  527. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
  528. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
  529. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
  530. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +8 -3
  532. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +41 -20
  535. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  536. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
  537. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
  539. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
  541. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
  542. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
  543. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
  544. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  546. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
  548. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
  550. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  551. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
  552. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
  554. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  555. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
  556. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  557. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
  558. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
  559. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
  560. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
  561. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
  562. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  563. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  564. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
  565. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  566. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
  567. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  568. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
  569. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
  570. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -13
  571. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
  572. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
  573. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  574. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
  575. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  576. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
  577. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  578. package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
  579. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  580. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  581. package/dist/esm/components/resources/ResourceLayout_Action.labels.js +5 -0
  582. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  583. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
  584. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  585. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
  586. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  587. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts +1 -1
  588. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  589. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +1 -1
  590. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  591. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  592. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
  593. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  594. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  595. package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
  596. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  597. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  598. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +10 -0
  599. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  600. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
  601. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  602. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
  603. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  604. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts +8 -1
  605. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  606. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
  607. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  608. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
  609. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  610. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
  611. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  612. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
  613. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  614. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  615. package/dist/esm/components/resources/ResourceLayout_Header.js +150 -44
  616. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  617. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  618. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
  619. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  620. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  621. package/dist/esm/components/resources/ResourceLayout_List.js +68 -70
  622. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  623. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  624. package/dist/esm/components/resources/ResourceLayout_List.labels.js +4 -10
  625. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  626. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +8 -9
  627. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  628. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
  629. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  630. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +8 -8
  631. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  632. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
  633. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  634. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
  635. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  636. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  637. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +11 -6
  638. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  639. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
  640. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  641. package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
  642. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  643. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  644. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
  645. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  646. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  647. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
  648. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  649. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts +56 -0
  650. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
  651. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
  652. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
  653. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
  654. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
  655. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
  656. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
  657. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  658. package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
  659. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  660. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  661. package/dist/esm/components/resources/ResourceLayout_Search.labels.js +0 -6
  662. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  663. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts +8 -0
  664. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  665. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
  666. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  667. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  668. package/dist/esm/components/resources/ResourceLayout_SortControl.js +3 -2
  669. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  670. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
  671. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  672. package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
  673. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  674. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
  675. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  676. package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
  677. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  678. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -15
  679. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  680. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
  681. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  682. package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
  683. package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
  684. package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
  685. package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
  686. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -1
  687. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  688. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  689. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  690. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
  691. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  692. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
  693. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  694. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
  695. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  696. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
  697. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  698. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js +13 -0
  699. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  700. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
  701. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  702. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
  703. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  704. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts +35 -0
  705. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
  706. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
  707. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
  708. package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
  709. package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
  710. package/dist/esm/components/resources/resource-header-geometry.js +19 -0
  711. package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
  712. package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
  713. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  714. package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
  715. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  716. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  717. package/dist/esm/components/resources/skeleton/ArrayField.js +10 -0
  718. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  719. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
  720. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  721. package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
  722. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  723. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
  724. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
  725. package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
  726. package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
  727. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  728. package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
  729. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  730. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  731. package/dist/esm/components/resources/skeleton/Group.js +5 -2
  732. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  733. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
  734. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  735. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
  736. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  737. package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
  738. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  739. package/dist/esm/components/resources/skeleton/Section.js +9 -3
  740. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  741. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
  742. package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
  743. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  744. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
  745. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  746. package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
  747. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  748. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
  749. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  750. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
  751. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  752. package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
  753. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  754. package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
  755. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  756. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  757. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
  758. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  759. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  760. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +176 -61
  761. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  762. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  763. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js +14 -7
  764. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  765. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  766. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js +18 -1
  767. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  768. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +8 -0
  769. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  770. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +3 -0
  771. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  772. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  773. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +48 -17
  774. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  775. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  776. package/dist/esm/components/sections/ContentSectionContainer.js +226 -74
  777. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  778. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  779. package/dist/esm/components/sections/ContentSectionContainer.labels.js +2 -3
  780. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  781. package/dist/esm/components/sections/content-section.d.ts +2 -2
  782. package/dist/esm/components/sections/content-section.js.map +1 -1
  783. package/dist/esm/components/sections/section-grouping.shared.d.ts +19 -0
  784. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  785. package/dist/esm/components/sections/section-grouping.shared.js +24 -0
  786. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  787. package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
  788. package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
  789. package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
  790. package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
  791. package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
  792. package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
  793. package/dist/esm/components/sections/section-legend-voice.js +67 -0
  794. package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
  795. package/dist/esm/components/sections/stepper.d.ts +14 -0
  796. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  797. package/dist/esm/components/sections/stepper.js.map +1 -1
  798. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  799. package/dist/esm/components/sections/surface.js +10 -2
  800. package/dist/esm/components/sections/surface.js.map +1 -1
  801. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
  802. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
  803. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
  804. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
  805. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
  806. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
  807. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
  808. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
  809. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
  810. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
  811. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
  812. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
  813. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
  814. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
  815. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
  816. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
  817. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
  818. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
  819. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
  820. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
  821. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
  822. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
  823. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  824. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
  825. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  826. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  827. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
  828. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  829. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
  830. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  831. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
  832. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  833. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  834. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +25 -2
  835. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  836. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
  837. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
  838. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
  839. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
  840. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
  841. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
  842. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
  843. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
  844. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
  845. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
  846. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
  847. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
  848. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
  849. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
  850. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
  851. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
  852. package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
  853. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  854. package/dist/esm/components/settings/SettingsHub.js +98 -48
  855. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  856. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  857. package/dist/esm/components/settings/SettingsHub.labels.js +2 -0
  858. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  859. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  860. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +21 -1
  861. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  862. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +24 -5
  863. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
  864. package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
  865. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
  866. package/dist/esm/components/views/chart-view/ChartView.js +3 -3
  867. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  868. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  869. package/dist/esm/components/views/chart-view/chart-export.utils.js +2 -9
  870. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  871. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
  872. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  873. package/dist/esm/components/views/chart-view/enum-color-bridge.js +10 -1
  874. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  875. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +8 -6
  876. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  877. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +10 -8
  878. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  879. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +2 -2
  880. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  881. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  882. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  883. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +1 -1
  884. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  885. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  886. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  887. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +6 -0
  888. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  889. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  890. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts +3 -1
  891. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  892. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +4 -1
  893. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  894. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -1
  895. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  896. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  897. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  898. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js +24 -1
  899. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  900. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
  901. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
  902. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
  903. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
  904. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
  905. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  906. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
  907. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  908. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts +5 -0
  909. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  910. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +15 -13
  911. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  912. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
  913. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
  914. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
  915. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
  916. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
  917. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
  918. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
  919. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
  920. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  921. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  922. package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -1
  923. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  924. package/dist/esm/core/app-shell/hosted-components.utils.js +25 -0
  925. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  926. package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
  927. package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
  928. package/dist/esm/core/app-shell/shell-layout.js +143 -0
  929. package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
  930. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
  931. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
  932. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
  933. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
  934. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
  935. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
  936. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
  937. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
  938. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
  939. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
  940. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
  941. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
  942. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
  943. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
  944. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
  945. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
  946. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
  947. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
  948. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
  949. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
  950. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  951. package/dist/esm/core/app-shell/useAppShellLayout.js +6 -1
  952. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  953. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  954. package/dist/esm/core/app-shell/usePublicShellLayout.js +11 -4
  955. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  956. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
  957. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  958. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
  959. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  960. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
  961. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
  962. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
  963. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
  964. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  965. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +100 -13
  966. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  967. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
  968. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
  969. package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
  970. package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
  971. package/dist/esm/core/billing/BillingContext.d.ts +0 -17
  972. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  973. package/dist/esm/core/billing/BillingContext.js +6 -1
  974. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  975. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
  976. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
  977. package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
  978. package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
  979. package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
  980. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  981. package/dist/esm/core/branding/useBrandIdentity.js +31 -5
  982. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  983. package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
  984. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  985. package/dist/esm/core/branding/useBrandPresentation.js +1 -0
  986. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  987. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
  988. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
  989. package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
  990. package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
  991. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
  992. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
  993. package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
  994. package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
  995. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
  996. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
  997. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
  998. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
  999. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1000. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +8 -0
  1001. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1002. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1003. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
  1004. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1005. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1006. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1007. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1008. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -0
  1009. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1010. package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
  1011. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1012. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
  1013. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1014. package/dist/esm/core/config/app-level-components.frontend.schemas.js +10 -16
  1015. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1016. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +12 -8
  1017. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1018. package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
  1019. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1020. package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
  1021. package/dist/esm/core/config/config-merge-utilities.d.ts +31 -3
  1022. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1023. package/dist/esm/core/config/config-merge-utilities.js +61 -7
  1024. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1025. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
  1026. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
  1027. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
  1028. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
  1029. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
  1030. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
  1031. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
  1032. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
  1033. package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
  1034. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1035. package/dist/esm/core/config/engine-settings-destinations.js +588 -155
  1036. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1037. package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
  1038. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1039. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1040. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1041. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +12 -2
  1042. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1043. package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
  1044. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1045. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
  1046. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1047. package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
  1048. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1049. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +77 -27
  1050. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1051. package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
  1052. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1053. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
  1054. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
  1055. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
  1056. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
  1057. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +19 -7
  1058. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1059. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js +45 -10
  1060. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1061. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
  1062. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
  1063. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
  1064. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
  1065. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +94 -10
  1066. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1067. package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
  1068. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1069. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1070. package/dist/esm/core/config/useSettingsHubConfig.js +4 -1
  1071. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1072. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
  1073. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1074. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
  1075. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1076. package/dist/esm/core/config/verify-launcher-content.d.ts +16 -2
  1077. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1078. package/dist/esm/core/config/verify-launcher-content.js +64 -4
  1079. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1080. package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
  1081. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1082. package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
  1083. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1084. package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
  1085. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1086. package/dist/esm/core/enums/common-enum-registry.js +26 -29
  1087. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1088. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1089. package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
  1090. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1091. package/dist/esm/core/errors/error-management.frontend.service.d.ts +0 -4
  1092. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1093. package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
  1094. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1095. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +21 -10
  1096. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1097. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1098. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
  1099. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
  1100. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
  1101. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  1102. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1103. package/dist/esm/core/events/NotificationContext.d.ts +13 -1
  1104. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1105. package/dist/esm/core/events/NotificationContext.js +89 -22
  1106. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1107. package/dist/esm/core/events/events.frontend.schemas.d.ts +68 -4
  1108. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1109. package/dist/esm/core/events/events.frontend.schemas.js +67 -3
  1110. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1111. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
  1112. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
  1113. package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
  1114. package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
  1115. package/dist/esm/core/execution/useExecution.js +1 -1
  1116. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1117. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1118. package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
  1119. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1120. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1121. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
  1122. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1123. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
  1124. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
  1125. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
  1126. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js.map +1 -0
  1127. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +20 -2
  1128. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1129. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +18 -1
  1130. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1131. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
  1132. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
  1133. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
  1134. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
  1135. package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
  1136. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1137. package/dist/esm/core/features/FeaturesContext.js +38 -12
  1138. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1139. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1140. package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
  1141. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1142. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
  1143. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1144. package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
  1145. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1146. package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
  1147. package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
  1148. package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
  1149. package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
  1150. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
  1151. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
  1152. package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
  1153. package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
  1154. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
  1155. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
  1156. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
  1157. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
  1158. package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
  1159. package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
  1160. package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
  1161. package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
  1162. package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
  1163. package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
  1164. package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
  1165. package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
  1166. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
  1167. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
  1168. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
  1169. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
  1170. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
  1171. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
  1172. package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
  1173. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
  1174. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1175. package/dist/esm/core/guidance/GuidanceContext.js +1 -2
  1176. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1177. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js +2 -2
  1178. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1179. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
  1180. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1181. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
  1182. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1183. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
  1184. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
  1185. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1186. package/dist/esm/core/i18n/I18nContext.d.ts +52 -3
  1187. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1188. package/dist/esm/core/i18n/I18nContext.js +80 -7
  1189. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1190. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
  1191. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1192. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
  1193. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1194. package/dist/esm/core/i18n/useI18n.d.ts +3 -1
  1195. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1196. package/dist/esm/core/i18n/useI18n.js +3 -1
  1197. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1198. package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
  1199. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1200. package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
  1201. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1202. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1203. package/dist/esm/core/icons/IconRegistryContext.js +41 -0
  1204. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1205. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +44 -0
  1206. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1207. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
  1208. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1209. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
  1210. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1211. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
  1212. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1213. package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
  1214. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1215. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1216. package/dist/esm/core/navigation/NavigationContext.js +130 -23
  1217. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1218. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
  1219. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1220. package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
  1221. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1222. package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
  1223. package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
  1224. package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
  1225. package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
  1226. package/dist/esm/core/navigation/launcher-resolution.d.ts +102 -2
  1227. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1228. package/dist/esm/core/navigation/launcher-resolution.js +194 -9
  1229. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1230. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
  1231. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1232. package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
  1233. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1234. package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
  1235. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
  1236. package/dist/esm/core/navigation/navigation-cascade.js +87 -19
  1237. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
  1238. package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
  1239. package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
  1240. package/dist/esm/core/navigation/navigation-commit.js +68 -0
  1241. package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
  1242. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
  1243. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
  1244. package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
  1245. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
  1246. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
  1247. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
  1248. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1249. package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
  1250. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1251. package/dist/esm/core/navigation/navigation.utils.js +190 -63
  1252. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1253. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts +8 -0
  1254. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
  1255. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
  1256. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
  1257. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
  1258. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
  1259. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
  1260. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
  1261. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -1
  1262. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1263. package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
  1264. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1265. package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
  1266. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1267. package/dist/esm/core/navigation/useNavigationController.js +51 -67
  1268. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1269. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
  1270. package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
  1271. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
  1272. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
  1273. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
  1274. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
  1275. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
  1276. package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
  1277. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
  1278. package/dist/esm/core/navigation/zone-collapse.js +2 -1
  1279. package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
  1280. package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
  1281. package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
  1282. package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
  1283. package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
  1284. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
  1285. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1286. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
  1287. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1288. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
  1289. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
  1290. package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
  1291. package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
  1292. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1293. package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
  1294. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1295. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1296. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +2 -0
  1297. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1298. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
  1299. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1300. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +283 -157
  1301. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1302. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +9 -13
  1303. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1304. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +45 -97
  1305. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1306. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +25 -5
  1307. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1308. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +56 -11
  1309. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1310. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1311. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
  1312. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1313. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
  1314. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
  1315. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
  1316. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
  1317. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
  1318. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
  1319. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
  1320. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
  1321. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts +1 -1
  1322. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1323. package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
  1324. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1325. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +54 -11
  1326. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
  1327. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +131 -63
  1328. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
  1329. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
  1330. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
  1331. package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
  1332. package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
  1333. package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
  1334. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1335. package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
  1336. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1337. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
  1338. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1339. package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
  1340. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1341. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
  1342. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1343. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
  1344. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
  1346. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
  1347. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
  1348. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
  1349. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
  1350. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
  1351. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
  1352. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
  1353. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1354. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js +5 -1
  1355. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1356. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +28 -1
  1357. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1358. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +43 -3
  1359. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1360. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
  1361. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
  1362. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
  1363. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
  1364. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
  1365. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1366. package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
  1367. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1368. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +175 -65
  1369. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1370. package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
  1371. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1372. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
  1373. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1374. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
  1375. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1376. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1377. package/dist/esm/core/resources/rmm/RMMRegistry.js +1 -0
  1378. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1379. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
  1380. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1381. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
  1382. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1383. package/dist/esm/core/resources/rmm/types.d.ts +58 -6
  1384. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1385. package/dist/esm/core/resources/rmm/types.js +17 -0
  1386. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1387. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
  1388. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1389. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +49 -6
  1390. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1391. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1392. package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
  1393. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1394. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
  1395. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1396. package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
  1397. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1398. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
  1399. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
  1400. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
  1401. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
  1402. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
  1403. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
  1404. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
  1405. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
  1406. package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
  1407. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
  1408. package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
  1409. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
  1410. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
  1411. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
  1412. package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
  1413. package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
  1414. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
  1415. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1416. package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
  1417. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1418. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
  1419. package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
  1420. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
  1421. package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
  1422. package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
  1423. package/dist/esm/core/resources/useRecordSharing.js +220 -0
  1424. package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
  1425. package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
  1426. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1427. package/dist/esm/core/resources/useResourceLabels.js +31 -32
  1428. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1429. package/dist/esm/core/resources/useResourceOperationActions.d.ts +23 -4
  1430. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1431. package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
  1432. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1433. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
  1434. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
  1435. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
  1436. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
  1437. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
  1438. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1439. package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
  1440. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1441. package/dist/esm/core/resources/useResourceSelection.d.ts +6 -0
  1442. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1443. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1444. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts +47 -0
  1445. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1446. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js +117 -4
  1447. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1448. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1449. package/dist/esm/core/runtime/AppRouter.js +5 -2
  1450. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1451. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
  1452. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1453. package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
  1454. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1455. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
  1456. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1457. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
  1458. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1459. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
  1460. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1461. package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
  1462. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1463. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1464. package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
  1465. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1466. package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
  1467. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1468. package/dist/esm/core/scope/AppScopeContext.js +56 -10
  1469. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1470. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
  1471. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
  1472. package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
  1473. package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
  1474. package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
  1475. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1476. package/dist/esm/core/security/AuthSessionContext.js +81 -17
  1477. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1478. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
  1479. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
  1480. package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
  1481. package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
  1482. package/dist/esm/core/security/StepUpAuthContext.js +5 -5
  1483. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1484. package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
  1485. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1486. package/dist/esm/core/security/UserOrgsContext.js +272 -103
  1487. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1488. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
  1489. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1490. package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
  1491. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1492. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
  1493. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
  1494. package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
  1495. package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
  1496. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
  1497. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  1498. package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
  1499. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  1500. package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
  1501. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1502. package/dist/esm/core/security/security.frontend.schemas.js +0 -5
  1503. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1504. package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
  1505. package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
  1506. package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
  1507. package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
  1508. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
  1509. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
  1510. package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
  1511. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
  1512. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
  1513. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
  1514. package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
  1515. package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
  1516. package/dist/esm/core/ui/UIContext.d.ts +25 -2
  1517. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1518. package/dist/esm/core/ui/UIContext.js +49 -37
  1519. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1520. package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
  1521. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1522. package/dist/esm/core/ui/design-token.utils.js +51 -83
  1523. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1524. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1525. package/dist/esm/core/ui/themes/default.theme.js +151 -59
  1526. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1527. package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
  1528. package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
  1529. package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
  1530. package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
  1531. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -0
  1532. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1533. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1534. package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
  1535. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1536. package/dist/esm/index.d.ts +34 -0
  1537. package/dist/esm/index.d.ts.map +1 -1
  1538. package/dist/esm/index.js +45 -7
  1539. package/dist/esm/index.js.map +1 -1
  1540. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1541. package/dist/esm/tailwind/index.js +3 -0
  1542. package/dist/esm/tailwind/index.js.map +1 -1
  1543. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
  1544. package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
  1545. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
  1546. package/dist/esm/testing/mock-builders.d.ts +13 -1
  1547. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1548. package/dist/esm/testing/mock-builders.js +35 -1
  1549. package/dist/esm/testing/mock-builders.js.map +1 -1
  1550. package/dist/esm/testing/rmm-helpers.d.ts +5 -3
  1551. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1552. package/dist/esm/testing/rmm-helpers.js +3 -0
  1553. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1554. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1555. package/dist/esm/testing/test-providers.js +3 -0
  1556. package/dist/esm/testing/test-providers.js.map +1 -1
  1557. package/package.json +7 -6
  1558. package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
  1559. package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
  1560. package/dist/esm/components/flows-actors/flow-node.js +0 -115
  1561. package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
  1562. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
  1563. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
  1564. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
  1565. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
  1566. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-token.utils.js","sourceRoot":"","sources":["../../../../../src/core/ui/design-token.utils.ts"],"names":[],"mappings":"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,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACvL,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACtL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACvL,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACzL,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACzL,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS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","sourcesContent":["/**\n * Design Token Utilities\n * Handles dynamic application of design tokens as CSS variables\n *\n * Types/schemas: import from @wildo-ai/presets-components-models\n * Utilities: import from this file via @wildo-ai/saas-frontend-lib\n */\n\nimport type * as React from 'react';\nimport {\n DesignSystemToken,\n DesignTokenValueType,\n DesignTokenConfiguration,\n DesignSystemConfiguration,\n getDesignTokenValue,\n isDesignTokenLightDarkValueConfiguration,\n mergeDesignSystemConfiguration as mergeDesignSystemConfigurationShared,\n TypographyConfiguration,\n FontConfiguration,\n TypographyRole,\n FontAxis,\n FontWeight,\n GoogleVariableFont,\n TypeScaleEntry,\n TailwindColor,\n ColorShade,\n DEFAULT_CHART_COLOR_PALETTE,\n} from '@wildo-ai/presets-components-models';\nimport { UserTheme, describeCaughtError } from '@wildo-ai/saas-models';\n\n/*\n * The storage key is NOT declared here. It is shared with the document-head bootstrap\n * (`browser-bootstrap/theme-bootstrap.ts`), which resolves the same preference before this module\n * — or any React — exists. Two writers of one key must read one declaration; see the atom's JSDoc.\n */\nimport { THEME_PREFERENCE_STORAGE_KEY as DARK_MODE_PREFERENCE_STORAGE_KEY } from './theme-preference-storage.shared';\n\n/**\n * Deep merge two DesignSystemConfiguration objects.\n * Override only replaces tokens that are explicitly provided.\n *\n * Use cases:\n * - Merge engine defaults with backend-provided config\n * - Merge with apps-custom overrides\n * - Partial token customization (only override primary color, keep rest)\n *\n * Re-exported from `@wildo-ai/presets-components-models` so generated CSS and\n * frontend runtime use the same merge semantics.\n */\nexport const mergeDesignSystemConfiguration = mergeDesignSystemConfigurationShared;\n\n/**\n * Convert enum to CSS variable name\n * DesignSystemToken enum values already match kebab-case CSS variable names\n */\nconst enumToCssVar = (token: DesignSystemToken): string => `--${token}`;\n\n/**\n * Validate OKLCH color format\n * L: 0-1 (lightness), C: 0+ (chroma), H: 0-360 (hue)\n */\nfunction validateOklchValue(value: string): boolean {\n // Remove oklch() wrapper if present\n const cleanValue = value.replace(/^oklch\\(|\\)$/g, '').trim();\n\n // Match OKLCH format: L C H (with optional decimal places)\n const oklchRegex = /^(0(?:\\.\\d+)?|1(?:\\.0+)?)\\s+(0|\\d*\\.?\\d+)\\s+(0|[1-9]\\d{0,2}(?:\\.\\d+)?|360(?:\\.0+)?)$/;\n\n if (!oklchRegex.test(cleanValue)) {\n return false;\n }\n\n // Additional range validation\n const [l, c, h] = cleanValue.split(/\\s+/).map(Number);\n return l >= 0 && l <= 1 && c >= 0 && h >= 0 && h <= 360;\n}\n\n/**\n * Ensure OKLCH color values are stored as full `oklch(L C H)` — a valid CSS color.\n * This allows `var(--token)` to work directly as a color in any CSS property,\n * and Tailwind v4's `color-mix()` opacity modifiers to compose correctly.\n */\nfunction ensureOklchWrapped(\n oklchValue: string,\n logger?: { warn: (msg: string, ctx?: any) => void },\n): string {\n const trimmed = oklchValue.trim();\n\n // Already a complete CSS colour / expression — pass through untouched. Design\n // tokens are not always raw OKLCH triples: the tonal SUBTLE status tokens (T1b)\n // are palette-adaptive `color-mix()` formulas, and tokens may also be authored\n // as `var(...)` references or other CSS colour functions. These are valid\n // colours (just not `L C H` triples), so they must NOT be flagged as \"invalid\n // OKLCH\" nor mangled to the grey fallback.\n if (/^(oklch|color-mix|rgba?|hsla?|lab|lch|color|var)\\(/.test(trimmed)) {\n return trimmed;\n }\n\n if (!validateOklchValue(trimmed)) {\n logger?.warn('[DesignTokens] Invalid OKLCH format detected', { value: oklchValue });\n return 'oklch(0.5 0 0)';\n }\n\n return `oklch(${trimmed})`;\n}\n\n/**\n * Convert size values to ensure proper CSS format\n */\nfunction ensureProperSizeFormat(value: string): string {\n // If it's already a proper CSS size, return as is\n if (value.match(/^\\d+(\\.\\d+)?(px|rem|em|vh|vw|%)$/)) {\n return value;\n }\n // If it's just a number, assume rem\n if (value.match(/^\\d+(\\.\\d+)?$/)) {\n return `${value}rem`;\n }\n return value;\n}\n\n/**\n * Check if dark mode is currently active\n * Works with both data-theme=\"dark\" and .dark class approaches\n */\nfunction isCurrentlyDarkMode(): boolean {\n if (typeof window === 'undefined') return false;\n\n const element = document.documentElement;\n // Check data-theme attribute first (preferred method)\n const dataTheme = element.getAttribute('data-theme');\n if (dataTheme === 'dark') return true;\n if (dataTheme === 'light') return false;\n\n // Fallback to class-based approach\n return element.classList.contains('dark');\n}\n\nfunction isUserThemePreference(value: string | null): value is UserTheme {\n return value === UserTheme.LIGHT || value === UserTheme.DARK || value === UserTheme.AUTO;\n}\n\nfunction resolveSystemDarkMode(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\nfunction resolveStoredDarkModePreference(): UserTheme | null {\n try {\n const savedPreference = localStorage.getItem(DARK_MODE_PREFERENCE_STORAGE_KEY);\n return isUserThemePreference(savedPreference) ? savedPreference : null;\n } catch {\n /**\n * Storage is an optional persistence mechanism, not the source of the\n * browser's current color scheme. Privacy modes and browser policies may\n * deny it; in that case a missing preference semantically means AUTO.\n */\n return null;\n }\n}\n\nfunction applyDarkModeState(enabled: boolean): void {\n const element = document.documentElement;\n\n // Set data-theme attribute (primary method)\n element.setAttribute('data-theme', enabled ? 'dark' : 'light');\n\n // Also set .dark class for compatibility\n element.classList.toggle('dark', enabled);\n}\n\nfunction persistDarkModePreference(\n context: { _debounceTimeout: number | null },\n preference: UserTheme,\n): void {\n if (context._debounceTimeout) {\n clearTimeout(context._debounceTimeout);\n }\n\n context._debounceTimeout = window.setTimeout(() => {\n try {\n localStorage.setItem(DARK_MODE_PREFERENCE_STORAGE_KEY, preference);\n } catch (error) {\n console.warn('[DarkMode] Failed to persist theme preference:', error);\n }\n context._debounceTimeout = null;\n }, 150);\n}\n\nfunction resolvePreferredDarkMode(): boolean {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const savedPreference = resolveStoredDarkModePreference();\n if (savedPreference === UserTheme.DARK) return true;\n if (savedPreference === UserTheme.LIGHT) return false;\n\n /**\n * AUTO and a missing/invalid/unavailable stored preference all mean the same\n * thing: follow the browser's live system color-scheme. A derived Boolean\n * must never be persisted as a second source of truth because it becomes\n * stale as soon as the operating-system appearance changes.\n */\n return resolveSystemDarkMode();\n}\n\n/** Logger interface for design token utilities */\nexport interface DesignTokenLogger {\n debug: (message: string, context?: Record<string, unknown>) => void;\n warn: (message: string, context?: Record<string, unknown>) => void;\n error: (message: string, context?: Record<string, unknown>) => void;\n}\n\n// ============================================================================\n// Applied-property tracking\n// ============================================================================\n// Track which CSS custom properties we've set per target element so we can:\n// 1. Remove tokens that disappear when the design system is swapped at runtime\n// (e.g. theme change, tenant switch) instead of leaving stale variables on\n// the root and letting old colors leak through.\n// 2. Cleanly reset everything we own from `UIContext` unmount, which avoids\n// polluting the document for the next mount during HMR / SPA navigation.\n//\n// The map is keyed by HTMLElement so multiple roots (document.documentElement,\n// shadow roots, preview iframes) can be managed independently.\n// ============================================================================\nconst appliedTokenKeys: WeakMap<HTMLElement, Set<string>> = new WeakMap();\n\nfunction getAppliedKeys(target: HTMLElement): Set<string> {\n let bucket = appliedTokenKeys.get(target);\n if (!bucket) {\n bucket = new Set<string>();\n appliedTokenKeys.set(target, bucket);\n }\n return bucket;\n}\n\n/**\n * Remove every CSS custom property that this module has applied to `target`.\n * Call from `UIProvider` unmount (or an HMR boundary) to leave the document\n * in a clean state. No-op when nothing has been applied to the given target.\n */\nexport function clearAppliedDesignTokens(\n target: HTMLElement = document.documentElement,\n): void {\n const previous: Set<string> | undefined = appliedTokenKeys.get(target);\n if (!previous) return;\n\n for (const key of previous) {\n target.style.removeProperty(key);\n }\n appliedTokenKeys.delete(target);\n}\n\n/**\n * Apply design tokens as CSS variables to the document root or specified target\n * Works with existing Tailwind v4 setup and OKLCH color space with batched DOM operations\n */\nexport function applyDesignTokens(\n tokens: Partial<Record<DesignSystemToken, DesignTokenConfiguration>>,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const {\n target = document.documentElement,\n dark = isCurrentlyDarkMode(),\n logger\n } = options;\n\n const appliedCount = { light: 0, dark: 0, invalid: 0 };\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Batch process all tokens first\n for (const [key, config] of Object.entries(tokens) as Array<[DesignSystemToken, DesignTokenConfiguration]>) {\n const varName = enumToCssVar(key);\n const rawValue = getDesignTokenValue(config, dark ? 'dark' : 'light');\n\n // Convert value based on type with validation\n let finalValue: string;\n let isValid = true;\n\n try {\n switch (config.type as DesignTokenValueType) {\n case DesignTokenValueType.COLOR:\n finalValue = ensureOklchWrapped(rawValue, logger);\n isValid = finalValue !== 'oklch(0.5 0 0)' || rawValue === '0.5 0 0' || rawValue === 'oklch(0.5 0 0)';\n break;\n case DesignTokenValueType.SIZE:\n finalValue = ensureProperSizeFormat(rawValue);\n break;\n case DesignTokenValueType.NUMBER:\n case DesignTokenValueType.STRING:\n default:\n finalValue = rawValue;\n break;\n }\n\n // Add to batch\n cssProperties.push({ name: varName, value: finalValue });\n\n // Track what was applied\n if (!isValid) {\n appliedCount.invalid++;\n } else if (dark && isDesignTokenLightDarkValueConfiguration(config)) {\n appliedCount.dark++;\n } else {\n appliedCount.light++;\n }\n } catch (error) {\n logger?.error('[DesignTokens] Error processing token', {\n token: key,\n value: rawValue,\n error: (error as Error).message\n });\n appliedCount.invalid++;\n }\n }\n\n // Batch apply all CSS properties in single DOM operation\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n\n // Merge into the per-target tracking bucket so subsequent calls can\n // diff. We don't reconcile here (would prematurely drop custom-token /\n // typography keys); reconciliation happens in\n // `applyDesignSystemConfiguration` once all three branches have run.\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n}\n\n/**\n * Apply custom tokens (non-shadcn/ui tokens) with validation and batching\n */\nexport function applyCustomTokens(\n customTokens: Record<string, DesignTokenConfiguration>,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const {\n target = document.documentElement,\n dark = isCurrentlyDarkMode(),\n logger\n } = options;\n\n const appliedCount = { valid: 0, invalid: 0 };\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Batch process all custom tokens\n for (const [tokenName, config] of Object.entries(customTokens) as Array<[string, DesignTokenConfiguration]>) {\n const varName = `--${tokenName}`;\n const rawValue = getDesignTokenValue(config, dark ? 'dark' : 'light');\n\n let finalValue: string;\n let isValid = true;\n\n try {\n // Format value based on type with validation\n switch (config.type as DesignTokenValueType) {\n case DesignTokenValueType.COLOR:\n finalValue = ensureOklchWrapped(rawValue, logger);\n isValid = finalValue !== 'oklch(0.5 0 0)' || rawValue === '0.5 0 0' || rawValue === 'oklch(0.5 0 0)';\n break;\n case DesignTokenValueType.SIZE:\n finalValue = ensureProperSizeFormat(rawValue);\n break;\n case DesignTokenValueType.NUMBER:\n case DesignTokenValueType.STRING:\n default:\n finalValue = rawValue;\n break;\n }\n\n // Add to batch\n cssProperties.push({ name: varName, value: finalValue });\n\n if (isValid) {\n appliedCount.valid++;\n } else {\n appliedCount.invalid++;\n }\n } catch (error) {\n logger?.error('[DesignTokens] Error processing custom token', {\n token: tokenName,\n value: rawValue,\n error: (error as Error).message\n });\n appliedCount.invalid++;\n }\n }\n\n // Batch apply all CSS properties\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n // Merge into the per-target tracking bucket; reconciliation happens at\n // the orchestrator level (`applyDesignSystemConfiguration`).\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n\n logger?.debug('[DesignTokens] Applied custom OKLCH CSS variables with validation', {\n totalCustomTokens: Object.keys(customTokens).length,\n darkMode: dark,\n validTokens: appliedCount.valid,\n invalidTokens: appliedCount.invalid,\n batchSize: cssProperties.length,\n target: target === document.documentElement ? 'document.documentElement' : 'custom element'\n });\n}\n\n/**\n * Apply complete design system configuration.\n *\n * **Concurrency contract (single-flight)**: this function is **not** safe to\n * invoke concurrently against the same `target`. The reconcile step uses a\n * snapshot-then-replace pattern on a single shared `WeakMap` bucket;\n * two overlapping calls would race on the bucket and could either drop\n * legitimate keys or leave stale ones behind.\n *\n * In practice the only caller is `UIContext`'s mount/update effect, which is\n * already single-flight by virtue of React's effect serialization on a single\n * `target`. If you ever need to call this from outside `UIContext`, ensure\n * mutual exclusion at the call-site (e.g. queue/await previous apply).\n */\nexport function applyDesignSystemConfiguration(\n designSystem: DesignSystemConfiguration,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n /**\n * Final theme-owned CSS variables that must win over the application token\n * baseline. `UIProvider` uses this for `ComponentStyleTheme.spacing` and\n * `ComponentStyleTheme.radius`: those fields are explicit theme overrides,\n * not a second independent effect that may run before a later token write.\n *\n * Names include the leading `--`. This is intentionally an internal runtime\n * bridge rather than an authored token bag; authored arbitrary variables\n * continue to go through validated `customTokens`.\n */\n themeRuntimeVariables?: ReadonlyArray<readonly [name: string, value: string]>;\n } = {}\n): void {\n const { logger, target = document.documentElement, themeRuntimeVariables } = options;\n\n // Snapshot the keys applied during *this* configuration so we can\n // diff against any prior application on the same target. Each apply* helper\n // adds to the per-target bucket; we capture-and-replace before they run so\n // the reconcile step at the end has both old + new sets to compare.\n //\n // NOTE: snapshot-replace is non-atomic. The single-flight contract above\n // guarantees no other call mutates the bucket between these two lines.\n const previousKeys: Set<string> = new Set(getAppliedKeys(target));\n appliedTokenKeys.set(target, new Set<string>());\n\n // Apply order is intentional and acts as a precedence ladder (last write\n // wins on `style.setProperty`). The orchestrator owns this order so\n // individual apply* helpers stay agnostic.\n //\n // 1. applyDesignTokens — baseline palette (--primary, etc.)\n // 2. applyTypographyConfiguration — host font config (--font-body,\n // --font-heading, --type-size-*)\n // 3. applyCustomTokens — theme `requiredCustomTokens` and\n // app-level customTokens MUST run last\n // so a theme can fully re-paint the\n // brand (palette + fonts) when its\n // `requiredCustomTokens` declares them.\n // 4. themeRuntimeVariables — the theme's explicit spacing/radius\n // overrides are the final authority for\n // those variables.\n //\n // Reordering is a behavior change; if you swap these, every consumer that\n // relies on theme-level palette/font overrides via `requiredCustomTokens`\n // will silently revert to host palette/fonts.\n if (designSystem.tokens) {\n applyDesignTokens(designSystem.tokens as Partial<Record<DesignSystemToken, DesignTokenConfiguration>>, options);\n }\n\n if (designSystem.typography) {\n applyTypographyConfiguration(designSystem.typography as TypographyConfiguration, options);\n }\n\n if (designSystem.customTokens) {\n applyCustomTokens(designSystem.customTokens as Record<string, DesignTokenConfiguration>, options);\n }\n\n if (themeRuntimeVariables) {\n const currentKeys = getAppliedKeys(target);\n for (const [name, value] of themeRuntimeVariables) {\n target.style.setProperty(name, value);\n currentKeys.add(name);\n }\n }\n\n // Now reconcile: anything that *was* applied previously but is NOT in the\n // newly-collected set gets removed, eliminating stale CSS variables when a\n // theme/preset shrinks the token surface (e.g. neo-brutalist → glass).\n const currentKeys: Set<string> = getAppliedKeys(target);\n for (const oldKey of previousKeys) {\n if (!currentKeys.has(oldKey)) {\n target.style.removeProperty(oldKey);\n }\n }\n\n // logger?.debug('[DesignTokens] Complete design system applied', {\n // hasStandardTokens: !!designSystem.tokens,\n // hasCustomTokens: !!designSystem.customTokens,\n // hasTypography: !!designSystem.typography,\n // standardTokenCount: designSystem.tokens ? Object.keys(designSystem.tokens).length : 0,\n // customTokenCount: designSystem.customTokens ? Object.keys(designSystem.customTokens).length : 0\n // });\n}\n\n// ============================================================================\n// Typography Configuration\n// ============================================================================\n\n/**\n * Build CSS font-family string from FontConfiguration\n */\nfunction buildFontStack(config: FontConfiguration): string {\n const primary = config.family.includes(' ') ? `'${config.family}'` : config.family;\n const fallbacks = config.fallbacks.map(f =>\n f.includes(' ') && !f.startsWith(\"'\") && !f.startsWith('\"') ? `'${f}'` : f\n );\n return [primary, ...fallbacks].join(', ');\n}\n\n/**\n * Build font-variation-settings string from defaults\n */\nfunction buildVariationSettings(config: FontConfiguration): string | null {\n const settings: string[] = [];\n\n if (config.defaults?.weight !== undefined) {\n settings.push(`'wght' ${config.defaults.weight}`);\n }\n if (config.defaults?.width !== undefined) {\n settings.push(`'wdth' ${config.defaults.width}`);\n }\n if (config.defaults?.opticalSize !== undefined) {\n settings.push(`'opsz' ${config.defaults.opticalSize}`);\n }\n\n return settings.length > 0 ? settings.join(', ') : null;\n}\n\n/**\n * Apply typography configuration as CSS variables\n * Sets font families, weights, and features per typography role\n */\nexport function applyTypographyConfiguration(\n typography: TypographyConfiguration,\n options: {\n target?: HTMLElement;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const { target = document.documentElement, logger } = options;\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Apply font configurations for each role\n for (const role of Object.values(TypographyRole)) {\n const config = typography.fonts[role];\n if (!config) continue;\n\n // Font family\n const fontStack = buildFontStack(config);\n cssProperties.push({ name: `--font-${role}`, value: fontStack });\n\n // Default weight\n if (config.defaults?.weight !== undefined) {\n cssProperties.push({\n name: `--font-${role}-weight`,\n value: String(config.defaults.weight)\n });\n }\n\n // Default width\n if (config.defaults?.width !== undefined) {\n cssProperties.push({\n name: `--font-${role}-width`,\n value: String(config.defaults.width)\n });\n }\n\n // Optical size\n if (config.defaults?.opticalSize !== undefined) {\n cssProperties.push({\n name: `--font-${role}-opsz`,\n value: String(config.defaults.opticalSize)\n });\n }\n\n // Font feature settings\n if (config.features) {\n cssProperties.push({\n name: `--font-${role}-features`,\n value: config.features\n });\n }\n\n // Font variation settings (combined string)\n const variationSettings = buildVariationSettings(config);\n if (variationSettings) {\n cssProperties.push({\n name: `--font-${role}-variation`,\n value: variationSettings\n });\n }\n }\n\n // Apply type scale if provided\n if (typography.scale) {\n for (const [sizeName, entry] of Object.entries(typography.scale)) {\n if (entry) {\n cssProperties.push({ name: `--type-size-${sizeName}`, value: entry.size });\n cssProperties.push({ name: `--type-lh-${sizeName}`, value: entry.lineHeight });\n if (entry.letterSpacing) {\n cssProperties.push({ name: `--type-ls-${sizeName}`, value: entry.letterSpacing });\n }\n }\n }\n }\n\n // Batch apply all CSS properties\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n // Merge into the per-target tracking bucket; reconciliation happens at\n // the orchestrator level (`applyDesignSystemConfiguration`).\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n\n // logger?.debug('[Typography] Applied typography CSS variables', {\n // rolesConfigured: Object.keys(typography.fonts).length,\n // scaleEntries: typography.scale ? Object.keys(typography.scale).length : 0,\n // totalProperties: cssProperties.length,\n // });\n}\n\n/**\n * Dark mode utilities with debouncing and error handling\n * Works with existing data-theme approach while maintaining .dark class compatibility\n */\nexport const darkModeUtils = {\n _debounceTimeout: null as number | null,\n\n /**\n * Set dark mode and persist preference with debouncing\n * Uses both data-theme attribute and .dark class for compatibility\n */\n setDark(enabled: boolean): void {\n if (typeof window === 'undefined') return;\n\n try {\n applyDarkModeState(enabled);\n persistDarkModePreference(this, enabled ? UserTheme.DARK : UserTheme.LIGHT);\n } catch (error) {\n console.error('[DarkMode] Failed to set dark mode:', error);\n }\n },\n\n /**\n * Apply \"follow system\" mode while persisting AUTO as the real preference.\n */\n setAuto(): boolean {\n if (typeof window === 'undefined') return false;\n\n try {\n const enabled = resolveSystemDarkMode();\n applyDarkModeState(enabled);\n persistDarkModePreference(this, UserTheme.AUTO);\n return enabled;\n } catch (error) {\n console.error('[DarkMode] Failed to apply auto theme preference:', error);\n return false;\n }\n },\n\n /**\n * Initialize dark mode from localStorage or system preference\n */\n initDark(): boolean {\n const shouldBeDark = resolvePreferredDarkMode();\n if (typeof window !== 'undefined') {\n applyDarkModeState(shouldBeDark);\n }\n return shouldBeDark;\n },\n\n /**\n * Check if dark mode is currently active\n */\n isDark(): boolean {\n return isCurrentlyDarkMode();\n },\n\n resolvePreferredDarkMode(): boolean {\n return resolvePreferredDarkMode();\n },\n\n getStoredPreference(): UserTheme | null {\n if (typeof window === 'undefined') {\n return null;\n }\n\n return resolveStoredDarkModePreference();\n },\n\n /**\n * Toggle dark mode with debouncing\n */\n toggle(): boolean {\n const newState = !this.isDark();\n this.setDark(newState);\n return newState;\n },\n\n /**\n * Cleanup utility for memory management\n */\n cleanup(): void {\n if (this._debounceTimeout) {\n clearTimeout(this._debounceTimeout);\n this._debounceTimeout = null;\n }\n }\n};\n\n/**\n * Generate CSS string with OKLCH tokens for debugging or inspection\n * Useful for development debugging or static CSS generation\n */\nexport function generateTokensCSS(\n designSystem: DesignSystemConfiguration,\n options: {\n includeDark?: boolean;\n priorityTokens?: DesignSystemToken[];\n } = {}\n): string {\n const { includeDark = true, priorityTokens } = options;\n\n let css = ':root {\\n';\n\n if (designSystem.tokens) {\n const tokens = designSystem.tokens as Record<DesignSystemToken, DesignTokenConfiguration>;\n const tokensToInclude = priorityTokens\n ? priorityTokens.filter(token => token in tokens)\n : Object.keys(tokens) as DesignSystemToken[];\n\n // Light mode tokens\n for (const token of tokensToInclude) {\n const config = tokens[token];\n if (config) {\n const rawValue = getDesignTokenValue(config, 'light');\n const value = (config.type as DesignTokenValueType) === DesignTokenValueType.COLOR\n ? ensureOklchWrapped(rawValue)\n : rawValue;\n css += ` --${token}: ${value};\\n`;\n }\n }\n }\n\n css += '}\\n';\n\n if (includeDark && designSystem.tokens) {\n css += '.dark {\\n';\n\n const tokens = designSystem.tokens as Record<DesignSystemToken, DesignTokenConfiguration>;\n const tokensToInclude = priorityTokens\n ? priorityTokens.filter(token => token in tokens)\n : Object.keys(tokens) as DesignSystemToken[];\n\n for (const token of tokensToInclude) {\n const config = tokens[token];\n if (config && isDesignTokenLightDarkValueConfiguration(config)) {\n const rawValue = getDesignTokenValue(config, 'dark');\n const value = (config.type as DesignTokenValueType) === DesignTokenValueType.COLOR\n ? ensureOklchWrapped(rawValue)\n : rawValue;\n css += ` --${token}: ${value};\\n`;\n }\n }\n\n css += '}\\n';\n }\n\n return css;\n}\n\n// ============================================================================\n// Google Fonts Loading\n// ============================================================================\n\n/** Font configuration for Google Fonts API */\nexport interface GoogleFontConfig {\n family: string;\n weights?: (100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)[];\n /** Use weight range for variable fonts: [min, max] */\n weightRange?: [number, number];\n /** Use width range for variable fonts: [min, max] */\n widthRange?: [number, number];\n italic?: boolean;\n display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n}\n\n/**\n * Generate Google Fonts URL from font configurations\n * Supports both static weights and variable font ranges\n *\n * @see https://developers.google.com/fonts/docs/css2\n */\nexport function generateGoogleFontsUrl(fonts: GoogleFontConfig[]): string {\n if (fonts.length === 0) return '';\n\n const families = fonts.map(font => {\n const family = encodeURIComponent(font.family);\n\n // Check if using variable font range\n if (font.weightRange) {\n const [minWeight, maxWeight] = font.weightRange;\n\n // Variable font with weight range\n if (font.widthRange) {\n const [minWidth, maxWidth] = font.widthRange;\n // Full variable with width and weight\n if (font.italic) {\n return `family=${family}:ital,wdth,wght@0,${minWidth}..${maxWidth},${minWeight}..${maxWeight};1,${minWidth}..${maxWidth},${minWeight}..${maxWeight}`;\n }\n return `family=${family}:wdth,wght@${minWidth}..${maxWidth},${minWeight}..${maxWeight}`;\n }\n\n // Variable with only weight range\n if (font.italic) {\n return `family=${family}:ital,wght@0,${minWeight}..${maxWeight};1,${minWeight}..${maxWeight}`;\n }\n return `family=${family}:wght@${minWeight}..${maxWeight}`;\n }\n\n // Static weights (traditional approach)\n const weights = font.weights ?? [400, 500, 600, 700];\n const weightStr = weights.join(';');\n\n if (font.italic) {\n const italicWeights = weights.map(w => `0,${w};1,${w}`).join(';');\n return `family=${family}:ital,wght@${italicWeights}`;\n }\n return `family=${family}:wght@${weightStr}`;\n });\n\n const display = fonts[0]?.display ?? 'swap';\n return `https://fonts.googleapis.com/css2?${families.join('&')}&display=${display}`;\n}\n\n/**\n * Convert FontConfiguration to GoogleFontConfig for loading\n */\nexport function fontConfigToGoogleFontConfig(config: FontConfiguration): GoogleFontConfig | null {\n // Check if this is a Google Font\n if (!isGoogleFont(config.family)) {\n return null;\n }\n\n const result: GoogleFontConfig = {\n family: config.family,\n display: 'swap',\n italic: config.italic,\n };\n\n // Check for axis ranges (variable font)\n const weightRange = config.axisRanges?.[FontAxis.WEIGHT];\n const widthRange = config.axisRanges?.[FontAxis.WIDTH];\n\n if (weightRange) {\n result.weightRange = [weightRange.min, weightRange.max];\n } else {\n // Default weights for static loading\n result.weights = [300, 400, 500, 600, 700];\n }\n\n if (widthRange) {\n result.widthRange = [widthRange.min, widthRange.max];\n }\n\n return result;\n}\n\n// ============================================================================\n// Font Loading Types\n// ============================================================================\n\nexport interface FontLoadResult {\n success: boolean;\n loadedFonts: string[];\n failedFonts: string[];\n loadTimeMs: number;\n}\n\n/**\n * Load Google Fonts from typography configuration\n * Automatically detects which fonts need loading and handles variable font ranges\n *\n * @returns Promise that resolves when all fonts are loaded (or timeout)\n */\nexport async function loadFontsFromTypography(\n typography: TypographyConfiguration,\n options: {\n logger?: DesignTokenLogger;\n timeout?: number;\n waitForLoad?: boolean;\n } = {}\n): Promise<FontLoadResult> {\n const { logger, timeout = 5000, waitForLoad = true } = options;\n\n if (typeof document === 'undefined') {\n return {\n success: true,\n loadedFonts: [],\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n // Collect unique fonts to load\n const fontsToLoad = new Map<string, GoogleFontConfig>();\n const fontFamilies: string[] = [];\n\n for (const role of Object.values(TypographyRole)) {\n const config = typography.fonts[role];\n if (!config) continue;\n\n const googleConfig = fontConfigToGoogleFontConfig(config);\n if (googleConfig && !fontsToLoad.has(googleConfig.family)) {\n fontsToLoad.set(googleConfig.family, googleConfig);\n fontFamilies.push(googleConfig.family);\n }\n }\n\n if (fontsToLoad.size === 0) {\n logger?.debug('[Typography] No Google Fonts to load');\n return {\n success: true,\n loadedFonts: [],\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n logger?.debug('[Typography] Loading Google Fonts', {\n fonts: fontFamilies,\n count: fontsToLoad.size,\n });\n\n // Inject font stylesheet links\n loadGoogleFonts(Array.from(fontsToLoad.values()));\n\n // Optionally wait for fonts to actually load\n if (waitForLoad) {\n const result = await waitForFontsLoaded(fontFamilies, { timeout, logger });\n logger?.debug('[Typography] Fonts loaded', {\n success: result.success,\n loadedFonts: result.loadedFonts,\n failedFonts: result.failedFonts,\n loadTimeMs: result.loadTimeMs,\n });\n return result;\n }\n\n return {\n success: true,\n loadedFonts: fontFamilies,\n failedFonts: [],\n loadTimeMs: 0,\n };\n}\n\n/**\n * Load Google Fonts dynamically\n * Call this early in your application startup\n */\nexport function loadGoogleFonts(fonts: GoogleFontConfig[]): void {\n if (typeof document === 'undefined' || fonts.length === 0) return;\n\n const url = generateGoogleFontsUrl(fonts);\n if (!url) return;\n\n // Check if already loaded with same URL\n const existingLink = document.querySelector(`link[href^=\"https://fonts.googleapis.com/css2\"]`);\n if (existingLink && existingLink.getAttribute('href') === url) {\n return; // Already loaded with same fonts\n }\n if (existingLink) {\n existingLink.remove();\n }\n\n // Check/create preconnect links (only once)\n if (!document.querySelector('link[href=\"https://fonts.googleapis.com\"][rel=\"preconnect\"]')) {\n const preconnectGoogle = document.createElement('link');\n preconnectGoogle.rel = 'preconnect';\n preconnectGoogle.href = 'https://fonts.googleapis.com';\n document.head.insertBefore(preconnectGoogle, document.head.firstChild);\n }\n\n if (!document.querySelector('link[href=\"https://fonts.gstatic.com\"][rel=\"preconnect\"]')) {\n const preconnectGstatic = document.createElement('link');\n preconnectGstatic.rel = 'preconnect';\n preconnectGstatic.href = 'https://fonts.gstatic.com';\n preconnectGstatic.crossOrigin = 'anonymous';\n document.head.insertBefore(preconnectGstatic, document.head.firstChild.nextSibling);\n }\n\n // Create the font stylesheet link\n const fontLink = document.createElement('link');\n fontLink.rel = 'stylesheet';\n fontLink.href = url;\n document.head.appendChild(fontLink);\n}\n\n/**\n * Common Google Font presets for easy usage\n * Uses variable font weight ranges where available\n *\n * @see https://fonts.google.com/variablefonts\n *\n * Organized by category:\n * - Sans-serif: Modern UI (40+ fonts)\n * - Serif: Editorial/Premium (10+ fonts)\n * - Display: Marketing/Heroes (10+ fonts)\n * - Monospace: Code (8+ fonts)\n */\nexport const GoogleFontPresets: Record<string, GoogleFontConfig> = {\n // ============================================================================\n // SANS-SERIF: MODERN UI\n // ============================================================================\n\n // --- Geometric Sans ---\n inter: {\n family: GoogleVariableFont.INTER,\n weightRange: [100, 900] as [number, number],\n },\n\n plusJakartaSans: {\n family: GoogleVariableFont.PLUS_JAKARTA_SANS,\n weightRange: [200, 800] as [number, number],\n },\n\n dmSans: {\n family: GoogleVariableFont.DM_SANS,\n weightRange: [100, 1000] as [number, number],\n italic: true,\n },\n\n outfit: {\n family: GoogleVariableFont.OUTFIT,\n weightRange: [100, 900] as [number, number],\n },\n\n manrope: {\n family: GoogleVariableFont.MANROPE,\n weightRange: [200, 800] as [number, number],\n },\n\n spaceGrotesk: {\n family: GoogleVariableFont.SPACE_GROTESK,\n weightRange: [300, 700] as [number, number],\n },\n\n lexend: {\n family: GoogleVariableFont.LEXEND,\n weightRange: [100, 900] as [number, number],\n },\n\n sora: {\n family: GoogleVariableFont.SORA,\n weightRange: [100, 800] as [number, number],\n },\n\n figtree: {\n family: GoogleVariableFont.FIGTREE,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n urbanist: {\n family: GoogleVariableFont.URBANIST,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n onest: {\n family: GoogleVariableFont.ONEST,\n weightRange: [100, 900] as [number, number],\n },\n\n albertSans: {\n family: GoogleVariableFont.ALBERT_SANS,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n // --- Humanist/Friendly Sans ---\n poppins: {\n family: GoogleVariableFont.POPPINS,\n weights: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n italic: true,\n },\n\n montserrat: {\n family: GoogleVariableFont.MONTSERRAT,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n workSans: {\n family: GoogleVariableFont.WORK_SANS,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n raleway: {\n family: GoogleVariableFont.RALEWAY,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n nunito: {\n family: GoogleVariableFont.NUNITO,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n nunitoSans: {\n family: GoogleVariableFont.NUNITO_SANS,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n quicksand: {\n family: GoogleVariableFont.QUICKSAND,\n weightRange: [300, 700] as [number, number],\n },\n\n rubik: {\n family: GoogleVariableFont.RUBIK,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n karla: {\n family: GoogleVariableFont.KARLA,\n weightRange: [200, 800] as [number, number],\n italic: true,\n },\n\n cabin: {\n family: GoogleVariableFont.CABIN,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n barlow: {\n family: GoogleVariableFont.BARLOW,\n weights: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n italic: true,\n },\n\n mulish: {\n family: GoogleVariableFont.MULISH,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n josefinSans: {\n family: GoogleVariableFont.JOSEFIN_SANS,\n weightRange: [100, 700] as [number, number],\n italic: true,\n },\n\n exo2: {\n family: GoogleVariableFont.EXO_2,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n mavenPro: {\n family: GoogleVariableFont.MAVEN_PRO,\n weightRange: [400, 900] as [number, number],\n },\n\n archivo: {\n family: GoogleVariableFont.ARCHIVO,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n // --- Advanced Variable (width axis) ---\n robotoFlex: {\n family: GoogleVariableFont.ROBOTO_FLEX,\n weightRange: [100, 1000] as [number, number],\n widthRange: [25, 151] as [number, number],\n },\n\n epilogue: {\n family: GoogleVariableFont.EPILOGUE,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n hankenGrotesk: {\n family: GoogleVariableFont.HANKEN_GROTESK,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n bricolageGrotesque: {\n family: GoogleVariableFont.BRICOLAGE_GROTESQUE,\n weightRange: [200, 800] as [number, number],\n },\n\n redHatDisplay: {\n family: GoogleVariableFont.RED_HAT_DISPLAY,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n // ============================================================================\n // SERIF: EDITORIAL / PREMIUM\n // ============================================================================\n\n fraunces: {\n family: GoogleVariableFont.FRAUNCES,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n playfairDisplay: {\n family: GoogleVariableFont.PLAYFAIR_DISPLAY,\n weightRange: [400, 900] as [number, number],\n italic: true,\n },\n\n sourceSerif: {\n family: GoogleVariableFont.SOURCE_SERIF_4,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n crimsonPro: {\n family: GoogleVariableFont.CRIMSON_PRO,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n lora: {\n family: GoogleVariableFont.LORA,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n bitter: {\n family: GoogleVariableFont.BITTER,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n cormorant: {\n family: GoogleVariableFont.CORMORANT,\n weightRange: [300, 700] as [number, number],\n italic: true,\n },\n\n literata: {\n family: GoogleVariableFont.LITERATA,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n newsreader: {\n family: GoogleVariableFont.NEWSREADER,\n weightRange: [200, 800] as [number, number],\n italic: true,\n },\n\n // ============================================================================\n // DISPLAY: MARKETING / HEROES\n // ============================================================================\n\n unbounded: {\n family: GoogleVariableFont.UNBOUNDED,\n weightRange: [200, 900] as [number, number],\n },\n\n familjenGrotesk: {\n family: GoogleVariableFont.FAMILJEN_GROTESK,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n oswald: {\n family: GoogleVariableFont.OSWALD,\n weightRange: [200, 700] as [number, number],\n },\n\n bebasNeue: {\n family: GoogleVariableFont.BEBAS_NEUE,\n weights: [400],\n },\n\n anton: {\n family: GoogleVariableFont.ANTON,\n weights: [400],\n },\n\n lobster: {\n family: GoogleVariableFont.LOBSTER,\n weights: [400],\n },\n\n pacifico: {\n family: GoogleVariableFont.PACIFICO,\n weights: [400],\n },\n\n // ============================================================================\n // MONOSPACE: CODE\n // ============================================================================\n\n jetbrainsMono: {\n family: GoogleVariableFont.JETBRAINS_MONO,\n weightRange: [100, 800] as [number, number],\n italic: true,\n },\n\n firaCode: {\n family: GoogleVariableFont.FIRA_CODE,\n weightRange: [300, 700] as [number, number],\n },\n\n sourceCodePro: {\n family: GoogleVariableFont.SOURCE_CODE_PRO,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n inconsolata: {\n family: GoogleVariableFont.INCONSOLATA,\n weightRange: [200, 900] as [number, number],\n },\n\n robotoMono: {\n family: GoogleVariableFont.ROBOTO_MONO,\n weightRange: [100, 700] as [number, number],\n italic: true,\n },\n\n ibmPlexMono: {\n family: GoogleVariableFont.IBM_PLEX_MONO,\n weights: [100, 200, 300, 400, 500, 600, 700],\n italic: true,\n },\n\n spaceMono: {\n family: GoogleVariableFont.SPACE_MONO,\n weights: [400, 700],\n italic: true,\n },\n\n redHatMono: {\n family: GoogleVariableFont.RED_HAT_MONO,\n weightRange: [300, 700] as [number, number],\n italic: true,\n },\n};\n\n// ============================================================================\n// Font Loading Watcher\n// ============================================================================\n\n/**\n * Wait for specific fonts to be loaded using the CSS Font Loading API\n * Returns a promise that resolves when all fonts are loaded or timeout occurs\n *\n * @param fontFamilies - Array of font family names to wait for\n * @param options - Configuration options\n * @returns Promise with load result\n */\nexport async function waitForFontsLoaded(\n fontFamilies: string[],\n options: {\n timeout?: number;\n logger?: DesignTokenLogger;\n } = {}\n): Promise<FontLoadResult> {\n const { timeout = 5000, logger } = options;\n const startTime = performance.now();\n\n if (typeof document === 'undefined' || !('fonts' in document)) {\n logger?.warn('[FontLoader] Font Loading API not available');\n return {\n success: true, // Assume success in non-browser environment\n loadedFonts: fontFamilies,\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n const loadedFonts: string[] = [];\n const failedFonts: string[] = [];\n\n try {\n // Helper to check if a stylesheet link exists and contains the font family\n const checkStylesheetForFont = (fontFamily: string): boolean => {\n const cleanFamily = fontFamily.replace(/['\"]/g, '');\n const stylesheetLinks = document.querySelectorAll<HTMLLinkElement>(\n 'link[href*=\"fonts.googleapis.com\"][rel=\"stylesheet\"]'\n );\n\n for (const link of Array.from(stylesheetLinks)) {\n const href = link.href || link.getAttribute('href') || '';\n if (!href) continue;\n\n // Google Fonts URLs use format:\n // https://fonts.googleapis.com/css2?family=FontName:wght@...&family=OtherFont&display=swap\n // Check for family parameter with this specific font name\n // Encode the family name to match URL encoding\n const encodedFamily = encodeURIComponent(cleanFamily);\n\n // Check for family=FontName followed by:\n // - : (colon for parameters like :wght@) or %3A (encoded colon)\n // - & (next parameter) or %26 (encoded ampersand)\n // - End of string/query\n // This prevents false matches (e.g., \"Roboto\" matching \"Roboto Mono\" or \"RobotoMono\")\n // The encoded family name ensures exact match (spaces become %20, etc.)\n // We require the family name to be followed by a delimiter or end of string\n const escapedFamily = encodedFamily.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const familyPattern = new RegExp(\n `[?&]family=${escapedFamily}(?:[:&%]|$|%3A|%26)`,\n 'i'\n );\n\n if (familyPattern.test(href)) {\n // Stylesheet contains this font family\n // Note: link.sheet might be null if stylesheet hasn't loaded yet\n // We'll be lenient and assume it's loading if the link exists\n return true;\n }\n }\n return false;\n };\n\n // Wait a brief moment for stylesheet to start loading (especially important on hot reload)\n await new Promise(resolve => setTimeout(resolve, 100));\n\n // Wait for document.fonts.ready to ensure font loading API is ready\n // Use a shorter timeout to avoid blocking too long\n const fontsReadyTimeout = Math.min(timeout, 2000);\n try {\n await Promise.race([\n document.fonts.ready,\n new Promise((_, reject) =>\n setTimeout(() => reject(new Error('Fonts ready timeout')), fontsReadyTimeout)\n ),\n ]);\n } catch {\n // Fonts ready timeout is not critical, continue with checks\n logger?.debug('[FontLoader] document.fonts.ready timeout, continuing anyway');\n }\n\n // Calculate remaining timeout for individual font checks\n const elapsed = performance.now() - startTime;\n const remainingTimeout = Math.max(1000, timeout - elapsed - 500); // Reserve 500ms for overhead\n\n // Create font check promises with timeout\n const fontPromises = fontFamilies.map(async (fontFamily) => {\n const cleanFamily = fontFamily.replace(/['\"]/g, '');\n const fontCheckStartTime = performance.now();\n\n try {\n const testString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const fontSpec = `400 16px \"${cleanFamily}\"`;\n\n // First check if font is already loaded (common on hot reload)\n if (document.fonts.check(fontSpec)) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font already loaded: ${cleanFamily}`);\n return;\n }\n\n // Check if stylesheet exists for this specific font\n const stylesheetExists = checkStylesheetForFont(cleanFamily);\n\n // Try to load the font\n let loadAttempted = false;\n try {\n await Promise.race([\n document.fonts.load(fontSpec, testString),\n new Promise((_, reject) =>\n setTimeout(() => reject(new Error('Font load timeout')), remainingTimeout)\n ),\n ]);\n loadAttempted = true;\n } catch (loadError) {\n // Font load failed or timed out, but check if it's available anyway (might be cached)\n loadAttempted = true;\n }\n\n // Wait a bit for font to become available after load attempt\n await new Promise(resolve => setTimeout(resolve, 100));\n\n // Verify font is available with retry logic\n // Use remaining timeout to ensure we don't exceed total timeout\n const checkElapsed = performance.now() - fontCheckStartTime;\n const checkTimeout = Math.max(500, remainingTimeout - checkElapsed);\n const maxRetries = 5;\n const retryDelays = [50, 100, 150, 200, 250]; // Total max delay: 750ms\n\n let isLoaded = false;\n let totalRetryTime = 0;\n\n for (let attempt = 0; attempt < maxRetries && totalRetryTime < checkTimeout; attempt++) {\n isLoaded = document.fonts.check(fontSpec);\n if (isLoaded) break;\n\n if (attempt < maxRetries - 1) {\n const delay = retryDelays[attempt] || 250;\n await new Promise(resolve => setTimeout(resolve, delay));\n totalRetryTime += delay;\n }\n }\n\n if (isLoaded) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font loaded: ${cleanFamily}`);\n } else {\n // Font check failed - decide whether to treat as failure or assume loading\n if (stylesheetExists && loadAttempted) {\n // Stylesheet exists and we attempted to load - likely a timing issue on hot reload\n // Be lenient and assume font will load (prevents false warnings)\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, timing issue): ${cleanFamily}`);\n } else if (stylesheetExists && !loadAttempted) {\n // Stylesheet exists but load wasn't attempted (timeout too short)\n // Still be lenient - stylesheet is there, font should load\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, load not attempted): ${cleanFamily}`);\n } else {\n // No stylesheet found - this is a real failure\n failedFonts.push(cleanFamily);\n logger?.warn(`[FontLoader] Font check failed: ${cleanFamily} (no stylesheet found)`);\n }\n }\n } catch (error) {\n // On error, check if font might still be available\n const fontSpec = `400 16px \"${cleanFamily}\"`;\n if (document.fonts.check(fontSpec)) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font available despite error: ${cleanFamily}`);\n } else {\n // Check if stylesheet exists - if so, be lenient (common on hot reload)\n const stylesheetExists = checkStylesheetForFont(cleanFamily);\n if (stylesheetExists) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, error): ${cleanFamily}`);\n } else {\n failedFonts.push(cleanFamily);\n logger?.warn(`[FontLoader] Failed to load font: ${cleanFamily}`, {\n error: describeCaughtError(error),\n });\n }\n }\n }\n });\n\n await Promise.all(fontPromises);\n\n const loadTimeMs = Math.round(performance.now() - startTime);\n\n logger?.debug('[FontLoader] Font loading complete', {\n loadedCount: loadedFonts.length,\n failedCount: failedFonts.length,\n loadTimeMs,\n loadedFonts,\n failedFonts,\n });\n\n return {\n success: failedFonts.length === 0,\n loadedFonts,\n failedFonts,\n loadTimeMs,\n };\n } catch (error) {\n const loadTimeMs = Math.round(performance.now() - startTime);\n logger?.error('[FontLoader] Font loading error', {\n error: describeCaughtError(error),\n loadTimeMs,\n });\n\n return {\n success: false,\n loadedFonts,\n failedFonts: fontFamilies.filter(f => !loadedFonts.includes(f.replace(/['\"]/g, ''))),\n loadTimeMs,\n };\n }\n}\n\n/**\n * Extract font family name from a CSS font-family string\n * E.g., \"Inter, system-ui, sans-serif\" => \"Inter\"\n */\nexport function extractPrimaryFontFamily(fontStack: string): string | null {\n const match = fontStack.match(/^['\"]?([^'\",]+)['\"]?/);\n return match ? match[1].trim() : null;\n}\n\n/**\n * Check if a font family is a Google Font (not system font)\n */\nexport function isGoogleFont(fontFamily: string): boolean {\n const systemFonts = [\n 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI',\n 'Roboto', 'Helvetica', 'Arial', 'sans-serif', 'serif', 'monospace',\n 'Georgia', 'Times New Roman', 'Times', 'Cambria', 'Courier New',\n 'Monaco', 'Menlo', 'Consolas', 'SF Mono', 'ui-sans-serif', 'ui-serif',\n 'ui-monospace'\n ];\n return !systemFonts.some(sf => fontFamily.toLowerCase() === sf.toLowerCase());\n}\n\n\n\n// ============================================================================\n// Chart Color Utilities\n// ============================================================================\n\n/**\n * Tailwind color palette with all shades\n * Complete color values from Tailwind CSS v3/v4\n * @see https://tailwindcss.com/docs/customizing-colors\n */\nconst TAILWIND_COLOR_SHADES: Record<string, Record<ColorShade, string>> = {\n red: { 50: '#fef2f2', 100: '#fee2e2', 200: '#fecaca', 300: '#fca5a5', 400: '#f87171', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c', 800: '#991b1b', 900: '#7f1d1d', 950: '#450a0a' },\n orange: { 50: '#fff7ed', 100: '#ffedd5', 200: '#fed7aa', 300: '#fdba74', 400: '#fb923c', 500: '#f97316', 600: '#ea580c', 700: '#c2410c', 800: '#9a3412', 900: '#7c2d12', 950: '#431407' },\n amber: { 50: '#fffbeb', 100: '#fef3c7', 200: '#fde68a', 300: '#fcd34d', 400: '#fbbf24', 500: '#f59e0b', 600: '#d97706', 700: '#b45309', 800: '#92400e', 900: '#78350f', 950: '#451a03' },\n yellow: { 50: '#fefce8', 100: '#fef9c3', 200: '#fef08a', 300: '#fde047', 400: '#facc15', 500: '#eab308', 600: '#ca8a04', 700: '#a16207', 800: '#854d0e', 900: '#713f12', 950: '#422006' },\n lime: { 50: '#f7fee7', 100: '#ecfccb', 200: '#d9f99d', 300: '#bef264', 400: '#a3e635', 500: '#84cc16', 600: '#65a30d', 700: '#4d7c0f', 800: '#3f6212', 900: '#365314', 950: '#1a2e05' },\n green: { 50: '#f0fdf4', 100: '#dcfce7', 200: '#bbf7d0', 300: '#86efac', 400: '#4ade80', 500: '#22c55e', 600: '#16a34a', 700: '#15803d', 800: '#166534', 900: '#14532d', 950: '#052e16' },\n emerald: { 50: '#ecfdf5', 100: '#d1fae5', 200: '#a7f3d0', 300: '#6ee7b7', 400: '#34d399', 500: '#10b981', 600: '#059669', 700: '#047857', 800: '#065f46', 900: '#064e3b', 950: '#022c22' },\n teal: { 50: '#f0fdfa', 100: '#ccfbf1', 200: '#99f6e4', 300: '#5eead4', 400: '#2dd4bf', 500: '#14b8a6', 600: '#0d9488', 700: '#0f766e', 800: '#115e59', 900: '#134e4a', 950: '#042f2e' },\n cyan: { 50: '#ecfeff', 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9', 400: '#22d3ee', 500: '#06b6d4', 600: '#0891b2', 700: '#0e7490', 800: '#155e75', 900: '#164e63', 950: '#083344' },\n sky: { 50: '#f0f9ff', 100: '#e0f2fe', 200: '#bae6fd', 300: '#7dd3fc', 400: '#38bdf8', 500: '#0ea5e9', 600: '#0284c7', 700: '#0369a1', 800: '#075985', 900: '#0c4a6e', 950: '#082f49' },\n blue: { 50: '#eff6ff', 100: '#dbeafe', 200: '#bfdbfe', 300: '#93c5fd', 400: '#60a5fa', 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8', 800: '#1e40af', 900: '#1e3a8a', 950: '#172554' },\n indigo: { 50: '#eef2ff', 100: '#e0e7ff', 200: '#c7d2fe', 300: '#a5b4fc', 400: '#818cf8', 500: '#6366f1', 600: '#4f46e5', 700: '#4338ca', 800: '#3730a3', 900: '#312e81', 950: '#1e1b4b' },\n violet: { 50: '#f5f3ff', 100: '#ede9fe', 200: '#ddd6fe', 300: '#c4b5fd', 400: '#a78bfa', 500: '#8b5cf6', 600: '#7c3aed', 700: '#6d28d9', 800: '#5b21b6', 900: '#4c1d95', 950: '#2e1065' },\n purple: { 50: '#faf5ff', 100: '#f3e8ff', 200: '#e9d5ff', 300: '#d8b4fe', 400: '#c084fc', 500: '#a855f7', 600: '#9333ea', 700: '#7e22ce', 800: '#6b21a8', 900: '#581c87', 950: '#3b0764' },\n fuchsia: { 50: '#fdf4ff', 100: '#fae8ff', 200: '#f5d0fe', 300: '#f0abfc', 400: '#e879f9', 500: '#d946ef', 600: '#c026d3', 700: '#a21caf', 800: '#86198f', 900: '#701a75', 950: '#4a044e' },\n pink: { 50: '#fdf2f8', 100: '#fce7f3', 200: '#fbcfe8', 300: '#f9a8d4', 400: '#f472b6', 500: '#ec4899', 600: '#db2777', 700: '#be185d', 800: '#9d174d', 900: '#831843', 950: '#500724' },\n rose: { 50: '#fff1f2', 100: '#ffe4e6', 200: '#fecdd3', 300: '#fda4af', 400: '#fb7185', 500: '#f43f5e', 600: '#e11d48', 700: '#be123c', 800: '#9f1239', 900: '#881337', 950: '#4c0519' },\n slate: { 50: '#f8fafc', 100: '#f1f5f9', 200: '#e2e8f0', 300: '#cbd5e1', 400: '#94a3b8', 500: '#64748b', 600: '#475569', 700: '#334155', 800: '#1e293b', 900: '#0f172a', 950: '#020617' },\n gray: { 50: '#f9fafb', 100: '#f3f4f6', 200: '#e5e7eb', 300: '#d1d5db', 400: '#9ca3af', 500: '#6b7280', 600: '#4b5563', 700: '#374151', 800: '#1f2937', 900: '#111827', 950: '#030712' },\n zinc: { 50: '#fafafa', 100: '#f4f4f5', 200: '#e4e4e7', 300: '#d4d4d8', 400: '#a1a1aa', 500: '#71717a', 600: '#52525b', 700: '#3f3f46', 800: '#27272a', 900: '#18181b', 950: '#09090b' },\n neutral: { 50: '#fafafa', 100: '#f5f5f5', 200: '#e5e5e5', 300: '#d4d4d4', 400: '#a3a3a3', 500: '#737373', 600: '#525252', 700: '#404040', 800: '#262626', 900: '#171717', 950: '#0a0a0a' },\n stone: { 50: '#fafaf9', 100: '#f5f5f4', 200: '#e7e5e4', 300: '#d6d3d1', 400: '#a8a29e', 500: '#78716c', 600: '#57534e', 700: '#44403c', 800: '#292524', 900: '#1c1917', 950: '#0c0a09' },\n};\n\n/**\n * Get a single Tailwind color hex value\n * @param colorName - Tailwind color name (e.g., 'sky', 'emerald')\n * @param shade - Color shade (400, 500, or 600), defaults to 500\n */\nexport function getTailwindColor(colorName: TailwindColor | string, shade: ColorShade = 500): string {\n const normalizedName = colorName.toLowerCase() as keyof typeof TAILWIND_COLOR_SHADES;\n const color = TAILWIND_COLOR_SHADES[normalizedName];\n if (!color) {\n console.warn(`[ChartColors] Unknown Tailwind color: ${colorName}, falling back to gray`);\n return TAILWIND_COLOR_SHADES.gray[shade];\n }\n return color[shade];\n}\n\n/**\n * Parse chart color palette from CSS variable or string\n * @param paletteValue - Comma-separated list of Tailwind color names\n */\nexport function parseChartColorPalette(paletteValue?: string | null): TailwindColor[] {\n if (!paletteValue) {\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n const parsedPalette = paletteValue\n .split(',')\n .map(c => c.trim().toLowerCase() as TailwindColor)\n .filter(c => c in TAILWIND_COLOR_SHADES);\n\n if (parsedPalette.length === 0) {\n console.warn('[ChartColors] Chart palette resolved to no known Tailwind colors, falling back to default palette');\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n return parsedPalette;\n}\n\n/**\n * Get chart color palette from document CSS variables\n */\nexport function getChartColorPaletteFromCSS(): TailwindColor[] {\n if (typeof document === 'undefined') {\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n const paletteValue = getComputedStyle(document.documentElement)\n .getPropertyValue('--chart-color-palette')\n .trim();\n\n return parseChartColorPalette(paletteValue || null);\n}\n\n/**\n * Generate chart colors array from palette\n * @param count - Number of colors needed\n * @param options - Configuration options\n */\nexport function getChartColors(\n count: number,\n options: {\n palette?: TailwindColor[];\n shade?: ColorShade;\n cycleIfNeeded?: boolean;\n } = {}\n): string[] {\n const {\n palette = getChartColorPaletteFromCSS(),\n shade = 500,\n cycleIfNeeded = true,\n } = options;\n const safePalette = palette.length > 0 ? palette : DEFAULT_CHART_COLOR_PALETTE;\n\n const colors: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const colorIndex = cycleIfNeeded ? i % safePalette.length : Math.min(i, safePalette.length - 1);\n colors.push(getTailwindColor(safePalette[colorIndex], shade));\n }\n\n return colors;\n}\n\n/**\n * Generate a ChartConfig object with auto-assigned colors\n * Compatible with ECharts chart components\n *\n * @example\n * const config = generateChartConfig({\n * sales: { label: 'Sales' },\n * revenue: { label: 'Revenue' },\n * profit: { label: 'Profit' },\n * });\n * // Result: Each key gets an auto-assigned color from the palette\n */\nexport function generateChartConfig<T extends Record<string, { label?: React.ReactNode; icon?: React.ComponentType }>>(\n keys: T,\n options: {\n palette?: TailwindColor[];\n shade?: ColorShade;\n } = {}\n): T & { [K in keyof T]: { color: string } } {\n const {\n palette = getChartColorPaletteFromCSS(),\n shade = 500,\n } = options;\n\n const keyArray = Object.keys(keys);\n const colors = getChartColors(keyArray.length, { palette, shade });\n\n const result = { ...keys } as T & { [K in keyof T]: { color: string } };\n\n keyArray.forEach((key, index) => {\n (result as any)[key] = {\n ...keys[key],\n color: colors[index],\n };\n });\n\n return result;\n}\n\n/**\n * Apply chart color palette to CSS variables\n * Generates CHART_1 through CHART_N from the palette\n */\nexport function applyChartColorPalette(\n palette: TailwindColor[] = DEFAULT_CHART_COLOR_PALETTE,\n options: {\n target?: HTMLElement;\n maxColors?: number;\n shade?: ColorShade;\n } = {}\n): void {\n const {\n target = typeof document !== 'undefined' ? document.documentElement : null,\n maxColors = 10,\n shade = 500,\n } = options;\n\n if (!target) return;\n\n const colorsToApply = Math.min(palette.length, maxColors);\n // Track applied chart-* keys in the per-target bucket so\n // `clearAppliedDesignTokens` can clean them up too. Note this helper is\n // currently called outside `applyDesignSystemConfiguration` (no reconcile\n // sweep), so a previous larger palette won't auto-prune from a later\n // smaller one — pass `maxColors` consistently if that matters.\n const bucket: Set<string> = getAppliedKeys(target);\n\n for (let i = 0; i < colorsToApply; i++) {\n const color = getTailwindColor(palette[i], shade);\n const name = `--chart-${i + 1}`;\n target.style.setProperty(name, color);\n bucket.add(name);\n }\n\n // Store palette for runtime access\n target.style.setProperty('--chart-color-palette', palette.slice(0, maxColors).join(','));\n bucket.add('--chart-color-palette');\n}\n"]}
1
+ {"version":3,"file":"design-token.utils.js","sourceRoot":"","sources":["../../../../../src/core/ui/design-token.utils.ts"],"names":[],"mappings":"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,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACvL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACvL,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACtL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACvL,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;IACzL,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE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","sourcesContent":["/**\n * Design Token Utilities\n * Handles dynamic application of design tokens as CSS variables\n *\n * Types/schemas: import from @wildo-ai/presets-components-models\n * Utilities: import from this file via @wildo-ai/saas-frontend-lib\n */\n\nimport type * as React from 'react';\nimport {\n DesignSystemToken,\n DesignTokenValueType,\n DesignTokenConfiguration,\n DesignSystemConfiguration,\n getDesignTokenValue,\n isDesignTokenLightDarkValueConfiguration,\n mergeDesignSystemConfiguration as mergeDesignSystemConfigurationShared,\n TypographyConfiguration,\n FontConfiguration,\n TypographyRole,\n FontAxis,\n FontWeight,\n GoogleVariableFont,\n TypeScaleEntry,\n TailwindColor,\n ColorShade,\n DEFAULT_CHART_COLOR_PALETTE,\n DesignSystemColorError,\n normalizeDesignSystemColor,\n} from '@wildo-ai/presets-components-models';\nimport { UserTheme, describeCaughtError } from '@wildo-ai/saas-models';\n\n/*\n * The storage key is NOT declared here. It is shared with the document-head bootstrap\n * (`browser-bootstrap/theme-bootstrap.ts`), which resolves the same preference before this module\n * — or any React — exists. Two writers of one key must read one declaration; see the atom's JSDoc.\n */\nimport { THEME_PREFERENCE_STORAGE_KEY as DARK_MODE_PREFERENCE_STORAGE_KEY } from './theme-preference-storage.shared';\n\n/**\n * Deep merge two DesignSystemConfiguration objects.\n * Override only replaces tokens that are explicitly provided.\n *\n * Use cases:\n * - Merge engine defaults with backend-provided config\n * - Merge with apps-custom overrides\n * - Partial token customization (only override primary color, keep rest)\n *\n * Re-exported from `@wildo-ai/presets-components-models` so generated CSS and\n * frontend runtime use the same merge semantics.\n */\nexport const mergeDesignSystemConfiguration = mergeDesignSystemConfigurationShared;\n\n/**\n * Convert enum to CSS variable name\n * DesignSystemToken enum values already match kebab-case CSS variable names\n */\nconst enumToCssVar = (token: DesignSystemToken): string => `--${token}`;\n\n/**\n * The CSS value a design-token colour is applied as, read by the SAME design-system colour reader the\n * stylesheet generator uses (#2354), so the page after mount and the stylesheet before it cannot disagree.\n *\n * Before this, the runtime and the generator each guessed: a hex brand colour became mid grey here and the\n * invalid `oklch(#635BFF)` there, and an `rgb()` value rendered differently in the two. Now hex, `rgb()` and\n * `hsl()` are converted to OKLCH in both places. A value that is not a design-system colour is REFUSED: it is\n * reported with its token and not applied, so the stylesheet's value stays on the page. The old code painted\n * mid grey instead, which replaced a correct colour with a wrong one and hid that anything had happened.\n */\nfunction resolveRuntimeColor(value: string, token: string, logger?: Pick<DesignTokenLogger, 'warn'>): string | null {\n try {\n return normalizeDesignSystemColor(value);\n } catch (error) {\n if (!(error instanceof DesignSystemColorError)) throw error;\n logger?.warn('[DesignTokens] Refused a value that is not a design-system colour; the stylesheet value stays', {\n token,\n value,\n refusal: error.refusal,\n });\n return null;\n }\n}\n\n/**\n * Convert size values to ensure proper CSS format\n */\nfunction ensureProperSizeFormat(value: string): string {\n // If it's already a proper CSS size, return as is\n if (value.match(/^\\d+(\\.\\d+)?(px|rem|em|vh|vw|%)$/)) {\n return value;\n }\n // If it's just a number, assume rem\n if (value.match(/^\\d+(\\.\\d+)?$/)) {\n return `${value}rem`;\n }\n return value;\n}\n\n/**\n * Check if dark mode is currently active\n * Works with both data-theme=\"dark\" and .dark class approaches\n */\nfunction isCurrentlyDarkMode(): boolean {\n if (typeof window === 'undefined') return false;\n\n const element = document.documentElement;\n // Check data-theme attribute first (preferred method)\n const dataTheme = element.getAttribute('data-theme');\n if (dataTheme === 'dark') return true;\n if (dataTheme === 'light') return false;\n\n // Fallback to class-based approach\n return element.classList.contains('dark');\n}\n\nfunction isUserThemePreference(value: string | null): value is UserTheme {\n return value === UserTheme.LIGHT || value === UserTheme.DARK || value === UserTheme.AUTO;\n}\n\nfunction resolveSystemDarkMode(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\nfunction resolveStoredDarkModePreference(): UserTheme | null {\n try {\n const savedPreference = localStorage.getItem(DARK_MODE_PREFERENCE_STORAGE_KEY);\n return isUserThemePreference(savedPreference) ? savedPreference : null;\n } catch {\n /**\n * Storage is an optional persistence mechanism, not the source of the\n * browser's current color scheme. Privacy modes and browser policies may\n * deny it; in that case a missing preference semantically means AUTO.\n */\n return null;\n }\n}\n\nfunction applyDarkModeState(enabled: boolean): void {\n const element = document.documentElement;\n\n // Set data-theme attribute (primary method)\n element.setAttribute('data-theme', enabled ? 'dark' : 'light');\n\n // Also set .dark class for compatibility\n element.classList.toggle('dark', enabled);\n}\n\nfunction persistDarkModePreference(\n context: { _debounceTimeout: number | null },\n preference: UserTheme,\n): void {\n if (context._debounceTimeout) {\n clearTimeout(context._debounceTimeout);\n }\n\n context._debounceTimeout = window.setTimeout(() => {\n try {\n localStorage.setItem(DARK_MODE_PREFERENCE_STORAGE_KEY, preference);\n } catch (error) {\n console.warn('[DarkMode] Failed to persist theme preference:', error);\n }\n context._debounceTimeout = null;\n }, 150);\n}\n\nfunction resolvePreferredDarkMode(): boolean {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const savedPreference = resolveStoredDarkModePreference();\n if (savedPreference === UserTheme.DARK) return true;\n if (savedPreference === UserTheme.LIGHT) return false;\n\n /**\n * AUTO and a missing/invalid/unavailable stored preference all mean the same\n * thing: follow the browser's live system color-scheme. A derived Boolean\n * must never be persisted as a second source of truth because it becomes\n * stale as soon as the operating-system appearance changes.\n */\n return resolveSystemDarkMode();\n}\n\n/** Logger interface for design token utilities */\nexport interface DesignTokenLogger {\n debug: (message: string, context?: Record<string, unknown>) => void;\n warn: (message: string, context?: Record<string, unknown>) => void;\n error: (message: string, context?: Record<string, unknown>) => void;\n}\n\n// ============================================================================\n// Applied-property tracking\n// ============================================================================\n// Track which CSS custom properties we've set per target element so we can:\n// 1. Remove tokens that disappear when the design system is swapped at runtime\n// (e.g. theme change, tenant switch) instead of leaving stale variables on\n// the root and letting old colors leak through.\n// 2. Cleanly reset everything we own from `UIContext` unmount, which avoids\n// polluting the document for the next mount during HMR / SPA navigation.\n//\n// The map is keyed by HTMLElement so multiple roots (document.documentElement,\n// shadow roots, preview iframes) can be managed independently.\n// ============================================================================\nconst appliedTokenKeys: WeakMap<HTMLElement, Set<string>> = new WeakMap();\n\nfunction getAppliedKeys(target: HTMLElement): Set<string> {\n let bucket = appliedTokenKeys.get(target);\n if (!bucket) {\n bucket = new Set<string>();\n appliedTokenKeys.set(target, bucket);\n }\n return bucket;\n}\n\n/**\n * Remove every CSS custom property that this module has applied to `target`.\n * Call from `UIProvider` unmount (or an HMR boundary) to leave the document\n * in a clean state. No-op when nothing has been applied to the given target.\n */\nexport function clearAppliedDesignTokens(\n target: HTMLElement = document.documentElement,\n): void {\n const previous: Set<string> | undefined = appliedTokenKeys.get(target);\n if (!previous) return;\n\n for (const key of previous) {\n target.style.removeProperty(key);\n }\n appliedTokenKeys.delete(target);\n}\n\n/**\n * Apply design tokens as CSS variables to the document root or specified target\n * Works with existing Tailwind v4 setup and OKLCH color space with batched DOM operations\n */\nexport function applyDesignTokens(\n tokens: Partial<Record<DesignSystemToken, DesignTokenConfiguration>>,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const {\n target = document.documentElement,\n dark = isCurrentlyDarkMode(),\n logger\n } = options;\n\n const appliedCount = { light: 0, dark: 0, invalid: 0 };\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Batch process all tokens first\n for (const [key, config] of Object.entries(tokens) as Array<[DesignSystemToken, DesignTokenConfiguration]>) {\n const varName = enumToCssVar(key);\n const rawValue = getDesignTokenValue(config, dark ? 'dark' : 'light');\n\n // Convert value based on type with validation\n let finalValue: string;\n\n try {\n switch (config.type as DesignTokenValueType) {\n case DesignTokenValueType.COLOR: {\n const color = resolveRuntimeColor(rawValue, varName, logger);\n if (color === null) {\n appliedCount.invalid++;\n continue;\n }\n finalValue = color;\n break;\n }\n case DesignTokenValueType.SIZE:\n finalValue = ensureProperSizeFormat(rawValue);\n break;\n case DesignTokenValueType.NUMBER:\n case DesignTokenValueType.STRING:\n default:\n finalValue = rawValue;\n break;\n }\n\n // Add to batch\n cssProperties.push({ name: varName, value: finalValue });\n\n // Track what was applied\n if (dark && isDesignTokenLightDarkValueConfiguration(config)) {\n appliedCount.dark++;\n } else {\n appliedCount.light++;\n }\n } catch (error) {\n logger?.error('[DesignTokens] Error processing token', {\n token: key,\n value: rawValue,\n error: (error as Error).message\n });\n appliedCount.invalid++;\n }\n }\n\n // Batch apply all CSS properties in single DOM operation\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n\n // Merge into the per-target tracking bucket so subsequent calls can\n // diff. We don't reconcile here (would prematurely drop custom-token /\n // typography keys); reconciliation happens in\n // `applyDesignSystemConfiguration` once all three branches have run.\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n}\n\n/**\n * Apply custom tokens (non-shadcn/ui tokens) with validation and batching\n */\nexport function applyCustomTokens(\n customTokens: Record<string, DesignTokenConfiguration>,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const {\n target = document.documentElement,\n dark = isCurrentlyDarkMode(),\n logger\n } = options;\n\n const appliedCount = { valid: 0, invalid: 0 };\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Batch process all custom tokens\n for (const [tokenName, config] of Object.entries(customTokens) as Array<[string, DesignTokenConfiguration]>) {\n const varName = `--${tokenName}`;\n const rawValue = getDesignTokenValue(config, dark ? 'dark' : 'light');\n\n let finalValue: string;\n\n try {\n // Format value based on type with validation\n switch (config.type as DesignTokenValueType) {\n case DesignTokenValueType.COLOR: {\n const color = resolveRuntimeColor(rawValue, varName, logger);\n if (color === null) {\n appliedCount.invalid++;\n continue;\n }\n finalValue = color;\n break;\n }\n case DesignTokenValueType.SIZE:\n finalValue = ensureProperSizeFormat(rawValue);\n break;\n case DesignTokenValueType.NUMBER:\n case DesignTokenValueType.STRING:\n default:\n finalValue = rawValue;\n break;\n }\n\n // Add to batch\n cssProperties.push({ name: varName, value: finalValue });\n\n appliedCount.valid++;\n } catch (error) {\n logger?.error('[DesignTokens] Error processing custom token', {\n token: tokenName,\n value: rawValue,\n error: (error as Error).message\n });\n appliedCount.invalid++;\n }\n }\n\n // Batch apply all CSS properties\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n // Merge into the per-target tracking bucket; reconciliation happens at\n // the orchestrator level (`applyDesignSystemConfiguration`).\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n\n logger?.debug('[DesignTokens] Applied custom OKLCH CSS variables with validation', {\n totalCustomTokens: Object.keys(customTokens).length,\n darkMode: dark,\n validTokens: appliedCount.valid,\n invalidTokens: appliedCount.invalid,\n batchSize: cssProperties.length,\n target: target === document.documentElement ? 'document.documentElement' : 'custom element'\n });\n}\n\n/**\n * Apply complete design system configuration.\n *\n * **Concurrency contract (single-flight)**: this function is **not** safe to\n * invoke concurrently against the same `target`. The reconcile step uses a\n * snapshot-then-replace pattern on a single shared `WeakMap` bucket;\n * two overlapping calls would race on the bucket and could either drop\n * legitimate keys or leave stale ones behind.\n *\n * In practice the only caller is `UIContext`'s mount/update effect, which is\n * already single-flight by virtue of React's effect serialization on a single\n * `target`. If you ever need to call this from outside `UIContext`, ensure\n * mutual exclusion at the call-site (e.g. queue/await previous apply).\n */\nexport function applyDesignSystemConfiguration(\n designSystem: DesignSystemConfiguration,\n options: {\n target?: HTMLElement;\n dark?: boolean;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const { target = document.documentElement } = options;\n\n // Snapshot the keys applied during *this* configuration so we can\n // diff against any prior application on the same target. Each apply* helper\n // adds to the per-target bucket; we capture-and-replace before they run so\n // the reconcile step at the end has both old + new sets to compare.\n //\n // NOTE: snapshot-replace is non-atomic. The single-flight contract above\n // guarantees no other call mutates the bucket between these two lines.\n const previousKeys: Set<string> = new Set(getAppliedKeys(target));\n appliedTokenKeys.set(target, new Set<string>());\n\n // The three branches write disjoint variables, so their order decides nothing. Precedence between a theme\n // and the application is decided BEFORE this call, by `resolveThemedDesignSystemConfiguration` (#2355): the\n // configuration handed in already holds the theme's values wherever the application declared none, and the\n // application's own values everywhere else. The order used to BE the precedence — theme custom tokens last, so a\n // theme repainted the brand over the application's declaration, and only after mount.\n if (designSystem.tokens) {\n applyDesignTokens(designSystem.tokens as Partial<Record<DesignSystemToken, DesignTokenConfiguration>>, options);\n }\n\n if (designSystem.typography) {\n applyTypographyConfiguration(designSystem.typography as TypographyConfiguration, options);\n }\n\n if (designSystem.customTokens) {\n applyCustomTokens(designSystem.customTokens as Record<string, DesignTokenConfiguration>, options);\n }\n\n // Now reconcile: anything that *was* applied previously but is NOT in the\n // newly-collected set gets removed, eliminating stale CSS variables when a\n // theme/preset shrinks the token surface (e.g. neo-brutalist → glass).\n const currentKeys: Set<string> = getAppliedKeys(target);\n for (const oldKey of previousKeys) {\n if (!currentKeys.has(oldKey)) {\n target.style.removeProperty(oldKey);\n }\n }\n\n // logger?.debug('[DesignTokens] Complete design system applied', {\n // hasStandardTokens: !!designSystem.tokens,\n // hasCustomTokens: !!designSystem.customTokens,\n // hasTypography: !!designSystem.typography,\n // standardTokenCount: designSystem.tokens ? Object.keys(designSystem.tokens).length : 0,\n // customTokenCount: designSystem.customTokens ? Object.keys(designSystem.customTokens).length : 0\n // });\n}\n\n// ============================================================================\n// Typography Configuration\n// ============================================================================\n\n/**\n * Build CSS font-family string from FontConfiguration\n */\nfunction buildFontStack(config: FontConfiguration): string {\n const primary = config.family.includes(' ') ? `'${config.family}'` : config.family;\n const fallbacks = config.fallbacks.map(f =>\n f.includes(' ') && !f.startsWith(\"'\") && !f.startsWith('\"') ? `'${f}'` : f\n );\n return [primary, ...fallbacks].join(', ');\n}\n\n/**\n * Build font-variation-settings string from defaults\n */\nfunction buildVariationSettings(config: FontConfiguration): string | null {\n const settings: string[] = [];\n\n if (config.defaults?.weight !== undefined) {\n settings.push(`'wght' ${config.defaults.weight}`);\n }\n if (config.defaults?.width !== undefined) {\n settings.push(`'wdth' ${config.defaults.width}`);\n }\n if (config.defaults?.opticalSize !== undefined) {\n settings.push(`'opsz' ${config.defaults.opticalSize}`);\n }\n\n return settings.length > 0 ? settings.join(', ') : null;\n}\n\n/**\n * Apply typography configuration as CSS variables\n * Sets font families, weights, and features per typography role\n */\nexport function applyTypographyConfiguration(\n typography: TypographyConfiguration,\n options: {\n target?: HTMLElement;\n logger?: DesignTokenLogger;\n } = {}\n): void {\n const { target = document.documentElement, logger } = options;\n const cssProperties: Array<{ name: string; value: string }> = [];\n\n // Apply font configurations for each role\n for (const role of Object.values(TypographyRole)) {\n const config = typography.fonts[role];\n if (!config) continue;\n\n // Font family\n const fontStack = buildFontStack(config);\n cssProperties.push({ name: `--font-${role}`, value: fontStack });\n\n // Default weight\n if (config.defaults?.weight !== undefined) {\n cssProperties.push({\n name: `--font-${role}-weight`,\n value: String(config.defaults.weight)\n });\n }\n\n // Default width\n if (config.defaults?.width !== undefined) {\n cssProperties.push({\n name: `--font-${role}-width`,\n value: String(config.defaults.width)\n });\n }\n\n // Optical size\n if (config.defaults?.opticalSize !== undefined) {\n cssProperties.push({\n name: `--font-${role}-opsz`,\n value: String(config.defaults.opticalSize)\n });\n }\n\n // Font feature settings\n if (config.features) {\n cssProperties.push({\n name: `--font-${role}-features`,\n value: config.features\n });\n }\n\n // Font variation settings (combined string)\n const variationSettings = buildVariationSettings(config);\n if (variationSettings) {\n cssProperties.push({\n name: `--font-${role}-variation`,\n value: variationSettings\n });\n }\n }\n\n // Apply type scale if provided\n if (typography.scale) {\n for (const [sizeName, entry] of Object.entries(typography.scale)) {\n if (entry) {\n cssProperties.push({ name: `--type-size-${sizeName}`, value: entry.size });\n cssProperties.push({ name: `--type-lh-${sizeName}`, value: entry.lineHeight });\n if (entry.letterSpacing) {\n cssProperties.push({ name: `--type-ls-${sizeName}`, value: entry.letterSpacing });\n }\n }\n }\n }\n\n // Batch apply all CSS properties\n const style = target.style;\n const appliedNames: string[] = [];\n cssProperties.forEach(({ name, value }) => {\n style.setProperty(name, value);\n appliedNames.push(name);\n });\n // Merge into the per-target tracking bucket; reconciliation happens at\n // the orchestrator level (`applyDesignSystemConfiguration`).\n const bucket: Set<string> = getAppliedKeys(target);\n appliedNames.forEach(n => bucket.add(n));\n\n // logger?.debug('[Typography] Applied typography CSS variables', {\n // rolesConfigured: Object.keys(typography.fonts).length,\n // scaleEntries: typography.scale ? Object.keys(typography.scale).length : 0,\n // totalProperties: cssProperties.length,\n // });\n}\n\n/**\n * Dark mode utilities with debouncing and error handling\n * Works with existing data-theme approach while maintaining .dark class compatibility\n */\nexport const darkModeUtils = {\n _debounceTimeout: null as number | null,\n\n /**\n * Set dark mode and persist preference with debouncing\n * Uses both data-theme attribute and .dark class for compatibility\n */\n setDark(enabled: boolean): void {\n if (typeof window === 'undefined') return;\n\n try {\n applyDarkModeState(enabled);\n persistDarkModePreference(this, enabled ? UserTheme.DARK : UserTheme.LIGHT);\n } catch (error) {\n console.error('[DarkMode] Failed to set dark mode:', error);\n }\n },\n\n /**\n * Apply \"follow system\" mode while persisting AUTO as the real preference.\n */\n setAuto(): boolean {\n if (typeof window === 'undefined') return false;\n\n try {\n const enabled = resolveSystemDarkMode();\n applyDarkModeState(enabled);\n persistDarkModePreference(this, UserTheme.AUTO);\n return enabled;\n } catch (error) {\n console.error('[DarkMode] Failed to apply auto theme preference:', error);\n return false;\n }\n },\n\n /**\n * Initialize dark mode from localStorage or system preference\n */\n initDark(): boolean {\n const shouldBeDark = resolvePreferredDarkMode();\n if (typeof window !== 'undefined') {\n applyDarkModeState(shouldBeDark);\n }\n return shouldBeDark;\n },\n\n /**\n * Check if dark mode is currently active\n */\n isDark(): boolean {\n return isCurrentlyDarkMode();\n },\n\n resolvePreferredDarkMode(): boolean {\n return resolvePreferredDarkMode();\n },\n\n getStoredPreference(): UserTheme | null {\n if (typeof window === 'undefined') {\n return null;\n }\n\n return resolveStoredDarkModePreference();\n },\n\n /**\n * Toggle dark mode with debouncing\n */\n toggle(): boolean {\n const newState = !this.isDark();\n this.setDark(newState);\n return newState;\n },\n\n /**\n * Cleanup utility for memory management\n */\n cleanup(): void {\n if (this._debounceTimeout) {\n clearTimeout(this._debounceTimeout);\n this._debounceTimeout = null;\n }\n }\n};\n\n/**\n * Generate CSS string with OKLCH tokens for debugging or inspection\n * Useful for development debugging or static CSS generation\n */\nexport function generateTokensCSS(\n designSystem: DesignSystemConfiguration,\n options: {\n includeDark?: boolean;\n priorityTokens?: DesignSystemToken[];\n } = {}\n): string {\n const { includeDark = true, priorityTokens } = options;\n\n let css = ':root {\\n';\n\n if (designSystem.tokens) {\n const tokens = designSystem.tokens as Record<DesignSystemToken, DesignTokenConfiguration>;\n const tokensToInclude = priorityTokens\n ? priorityTokens.filter(token => token in tokens)\n : Object.keys(tokens) as DesignSystemToken[];\n\n // Light mode tokens\n for (const token of tokensToInclude) {\n const config = tokens[token];\n if (config) {\n const rawValue = getDesignTokenValue(config, 'light');\n const value = (config.type as DesignTokenValueType) === DesignTokenValueType.COLOR\n ? resolveRuntimeColor(rawValue, token)\n : rawValue;\n if (value !== null) css += ` --${token}: ${value};\\n`;\n }\n }\n }\n\n css += '}\\n';\n\n if (includeDark && designSystem.tokens) {\n css += '.dark {\\n';\n\n const tokens = designSystem.tokens as Record<DesignSystemToken, DesignTokenConfiguration>;\n const tokensToInclude = priorityTokens\n ? priorityTokens.filter(token => token in tokens)\n : Object.keys(tokens) as DesignSystemToken[];\n\n for (const token of tokensToInclude) {\n const config = tokens[token];\n if (config && isDesignTokenLightDarkValueConfiguration(config)) {\n const rawValue = getDesignTokenValue(config, 'dark');\n const value = (config.type as DesignTokenValueType) === DesignTokenValueType.COLOR\n ? resolveRuntimeColor(rawValue, token)\n : rawValue;\n if (value !== null) css += ` --${token}: ${value};\\n`;\n }\n }\n\n css += '}\\n';\n }\n\n return css;\n}\n\n// ============================================================================\n// Google Fonts Loading\n// ============================================================================\n\n/** Font configuration for Google Fonts API */\nexport interface GoogleFontConfig {\n family: string;\n weights?: (100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)[];\n /** Use weight range for variable fonts: [min, max] */\n weightRange?: [number, number];\n /** Use width range for variable fonts: [min, max] */\n widthRange?: [number, number];\n italic?: boolean;\n display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n}\n\n/**\n * Generate Google Fonts URL from font configurations\n * Supports both static weights and variable font ranges\n *\n * @see https://developers.google.com/fonts/docs/css2\n */\nexport function generateGoogleFontsUrl(fonts: GoogleFontConfig[]): string {\n if (fonts.length === 0) return '';\n\n const families = fonts.map(font => {\n const family = encodeURIComponent(font.family);\n\n // Check if using variable font range\n if (font.weightRange) {\n const [minWeight, maxWeight] = font.weightRange;\n\n // Variable font with weight range\n if (font.widthRange) {\n const [minWidth, maxWidth] = font.widthRange;\n // Full variable with width and weight\n if (font.italic) {\n return `family=${family}:ital,wdth,wght@0,${minWidth}..${maxWidth},${minWeight}..${maxWeight};1,${minWidth}..${maxWidth},${minWeight}..${maxWeight}`;\n }\n return `family=${family}:wdth,wght@${minWidth}..${maxWidth},${minWeight}..${maxWeight}`;\n }\n\n // Variable with only weight range\n if (font.italic) {\n return `family=${family}:ital,wght@0,${minWeight}..${maxWeight};1,${minWeight}..${maxWeight}`;\n }\n return `family=${family}:wght@${minWeight}..${maxWeight}`;\n }\n\n // Static weights (traditional approach)\n const weights = font.weights ?? [400, 500, 600, 700];\n const weightStr = weights.join(';');\n\n if (font.italic) {\n const italicWeights = weights.map(w => `0,${w};1,${w}`).join(';');\n return `family=${family}:ital,wght@${italicWeights}`;\n }\n return `family=${family}:wght@${weightStr}`;\n });\n\n const display = fonts[0]?.display ?? 'swap';\n return `https://fonts.googleapis.com/css2?${families.join('&')}&display=${display}`;\n}\n\n/**\n * Convert FontConfiguration to GoogleFontConfig for loading\n */\nexport function fontConfigToGoogleFontConfig(config: FontConfiguration): GoogleFontConfig | null {\n // Check if this is a Google Font\n if (!isGoogleFont(config.family)) {\n return null;\n }\n\n const result: GoogleFontConfig = {\n family: config.family,\n display: 'swap',\n italic: config.italic,\n };\n\n // Check for axis ranges (variable font)\n const weightRange = config.axisRanges?.[FontAxis.WEIGHT];\n const widthRange = config.axisRanges?.[FontAxis.WIDTH];\n\n if (weightRange) {\n result.weightRange = [weightRange.min, weightRange.max];\n } else {\n // Default weights for static loading\n result.weights = [300, 400, 500, 600, 700];\n }\n\n if (widthRange) {\n result.widthRange = [widthRange.min, widthRange.max];\n }\n\n return result;\n}\n\n// ============================================================================\n// Font Loading Types\n// ============================================================================\n\nexport interface FontLoadResult {\n success: boolean;\n loadedFonts: string[];\n failedFonts: string[];\n loadTimeMs: number;\n}\n\n/**\n * Load Google Fonts from typography configuration\n * Automatically detects which fonts need loading and handles variable font ranges\n *\n * @returns Promise that resolves when all fonts are loaded (or timeout)\n */\nexport async function loadFontsFromTypography(\n typography: TypographyConfiguration,\n options: {\n logger?: DesignTokenLogger;\n timeout?: number;\n waitForLoad?: boolean;\n } = {}\n): Promise<FontLoadResult> {\n const { logger, timeout = 5000, waitForLoad = true } = options;\n\n if (typeof document === 'undefined') {\n return {\n success: true,\n loadedFonts: [],\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n // Collect unique fonts to load\n const fontsToLoad = new Map<string, GoogleFontConfig>();\n const fontFamilies: string[] = [];\n\n for (const role of Object.values(TypographyRole)) {\n const config = typography.fonts[role];\n if (!config) continue;\n\n const googleConfig = fontConfigToGoogleFontConfig(config);\n if (googleConfig && !fontsToLoad.has(googleConfig.family)) {\n fontsToLoad.set(googleConfig.family, googleConfig);\n fontFamilies.push(googleConfig.family);\n }\n }\n\n if (fontsToLoad.size === 0) {\n logger?.debug('[Typography] No Google Fonts to load');\n return {\n success: true,\n loadedFonts: [],\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n logger?.debug('[Typography] Loading Google Fonts', {\n fonts: fontFamilies,\n count: fontsToLoad.size,\n });\n\n // Inject font stylesheet links\n loadGoogleFonts(Array.from(fontsToLoad.values()));\n\n // Optionally wait for fonts to actually load\n if (waitForLoad) {\n const result = await waitForFontsLoaded(fontFamilies, { timeout, logger });\n logger?.debug('[Typography] Fonts loaded', {\n success: result.success,\n loadedFonts: result.loadedFonts,\n failedFonts: result.failedFonts,\n loadTimeMs: result.loadTimeMs,\n });\n return result;\n }\n\n return {\n success: true,\n loadedFonts: fontFamilies,\n failedFonts: [],\n loadTimeMs: 0,\n };\n}\n\n/**\n * Load Google Fonts dynamically\n * Call this early in your application startup\n */\nexport function loadGoogleFonts(fonts: GoogleFontConfig[]): void {\n if (typeof document === 'undefined' || fonts.length === 0) return;\n\n const url = generateGoogleFontsUrl(fonts);\n if (!url) return;\n\n // Check if already loaded with same URL\n const existingLink = document.querySelector(`link[href^=\"https://fonts.googleapis.com/css2\"]`);\n if (existingLink && existingLink.getAttribute('href') === url) {\n return; // Already loaded with same fonts\n }\n if (existingLink) {\n existingLink.remove();\n }\n\n // Check/create preconnect links (only once)\n if (!document.querySelector('link[href=\"https://fonts.googleapis.com\"][rel=\"preconnect\"]')) {\n const preconnectGoogle = document.createElement('link');\n preconnectGoogle.rel = 'preconnect';\n preconnectGoogle.href = 'https://fonts.googleapis.com';\n document.head.insertBefore(preconnectGoogle, document.head.firstChild);\n }\n\n if (!document.querySelector('link[href=\"https://fonts.gstatic.com\"][rel=\"preconnect\"]')) {\n const preconnectGstatic = document.createElement('link');\n preconnectGstatic.rel = 'preconnect';\n preconnectGstatic.href = 'https://fonts.gstatic.com';\n preconnectGstatic.crossOrigin = 'anonymous';\n document.head.insertBefore(preconnectGstatic, document.head.firstChild.nextSibling);\n }\n\n // Create the font stylesheet link\n const fontLink = document.createElement('link');\n fontLink.rel = 'stylesheet';\n fontLink.href = url;\n document.head.appendChild(fontLink);\n}\n\n/**\n * Common Google Font presets for easy usage\n * Uses variable font weight ranges where available\n *\n * @see https://fonts.google.com/variablefonts\n *\n * Organized by category:\n * - Sans-serif: Modern UI (40+ fonts)\n * - Serif: Editorial/Premium (10+ fonts)\n * - Display: Marketing/Heroes (10+ fonts)\n * - Monospace: Code (8+ fonts)\n */\nexport const GoogleFontPresets: Record<string, GoogleFontConfig> = {\n // ============================================================================\n // SANS-SERIF: MODERN UI\n // ============================================================================\n\n // --- Geometric Sans ---\n inter: {\n family: GoogleVariableFont.INTER,\n weightRange: [100, 900] as [number, number],\n },\n\n plusJakartaSans: {\n family: GoogleVariableFont.PLUS_JAKARTA_SANS,\n weightRange: [200, 800] as [number, number],\n },\n\n dmSans: {\n family: GoogleVariableFont.DM_SANS,\n weightRange: [100, 1000] as [number, number],\n italic: true,\n },\n\n outfit: {\n family: GoogleVariableFont.OUTFIT,\n weightRange: [100, 900] as [number, number],\n },\n\n manrope: {\n family: GoogleVariableFont.MANROPE,\n weightRange: [200, 800] as [number, number],\n },\n\n spaceGrotesk: {\n family: GoogleVariableFont.SPACE_GROTESK,\n weightRange: [300, 700] as [number, number],\n },\n\n lexend: {\n family: GoogleVariableFont.LEXEND,\n weightRange: [100, 900] as [number, number],\n },\n\n sora: {\n family: GoogleVariableFont.SORA,\n weightRange: [100, 800] as [number, number],\n },\n\n figtree: {\n family: GoogleVariableFont.FIGTREE,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n urbanist: {\n family: GoogleVariableFont.URBANIST,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n onest: {\n family: GoogleVariableFont.ONEST,\n weightRange: [100, 900] as [number, number],\n },\n\n albertSans: {\n family: GoogleVariableFont.ALBERT_SANS,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n // --- Humanist/Friendly Sans ---\n poppins: {\n family: GoogleVariableFont.POPPINS,\n weights: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n italic: true,\n },\n\n montserrat: {\n family: GoogleVariableFont.MONTSERRAT,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n workSans: {\n family: GoogleVariableFont.WORK_SANS,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n raleway: {\n family: GoogleVariableFont.RALEWAY,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n nunito: {\n family: GoogleVariableFont.NUNITO,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n nunitoSans: {\n family: GoogleVariableFont.NUNITO_SANS,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n quicksand: {\n family: GoogleVariableFont.QUICKSAND,\n weightRange: [300, 700] as [number, number],\n },\n\n rubik: {\n family: GoogleVariableFont.RUBIK,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n karla: {\n family: GoogleVariableFont.KARLA,\n weightRange: [200, 800] as [number, number],\n italic: true,\n },\n\n cabin: {\n family: GoogleVariableFont.CABIN,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n barlow: {\n family: GoogleVariableFont.BARLOW,\n weights: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n italic: true,\n },\n\n mulish: {\n family: GoogleVariableFont.MULISH,\n weightRange: [200, 1000] as [number, number],\n italic: true,\n },\n\n josefinSans: {\n family: GoogleVariableFont.JOSEFIN_SANS,\n weightRange: [100, 700] as [number, number],\n italic: true,\n },\n\n exo2: {\n family: GoogleVariableFont.EXO_2,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n mavenPro: {\n family: GoogleVariableFont.MAVEN_PRO,\n weightRange: [400, 900] as [number, number],\n },\n\n archivo: {\n family: GoogleVariableFont.ARCHIVO,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n // --- Advanced Variable (width axis) ---\n robotoFlex: {\n family: GoogleVariableFont.ROBOTO_FLEX,\n weightRange: [100, 1000] as [number, number],\n widthRange: [25, 151] as [number, number],\n },\n\n epilogue: {\n family: GoogleVariableFont.EPILOGUE,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n hankenGrotesk: {\n family: GoogleVariableFont.HANKEN_GROTESK,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n bricolageGrotesque: {\n family: GoogleVariableFont.BRICOLAGE_GROTESQUE,\n weightRange: [200, 800] as [number, number],\n },\n\n redHatDisplay: {\n family: GoogleVariableFont.RED_HAT_DISPLAY,\n weightRange: [300, 900] as [number, number],\n italic: true,\n },\n\n // ============================================================================\n // SERIF: EDITORIAL / PREMIUM\n // ============================================================================\n\n fraunces: {\n family: GoogleVariableFont.FRAUNCES,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n playfairDisplay: {\n family: GoogleVariableFont.PLAYFAIR_DISPLAY,\n weightRange: [400, 900] as [number, number],\n italic: true,\n },\n\n sourceSerif: {\n family: GoogleVariableFont.SOURCE_SERIF_4,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n crimsonPro: {\n family: GoogleVariableFont.CRIMSON_PRO,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n lora: {\n family: GoogleVariableFont.LORA,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n bitter: {\n family: GoogleVariableFont.BITTER,\n weightRange: [100, 900] as [number, number],\n italic: true,\n },\n\n cormorant: {\n family: GoogleVariableFont.CORMORANT,\n weightRange: [300, 700] as [number, number],\n italic: true,\n },\n\n literata: {\n family: GoogleVariableFont.LITERATA,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n newsreader: {\n family: GoogleVariableFont.NEWSREADER,\n weightRange: [200, 800] as [number, number],\n italic: true,\n },\n\n // ============================================================================\n // DISPLAY: MARKETING / HEROES\n // ============================================================================\n\n unbounded: {\n family: GoogleVariableFont.UNBOUNDED,\n weightRange: [200, 900] as [number, number],\n },\n\n familjenGrotesk: {\n family: GoogleVariableFont.FAMILJEN_GROTESK,\n weightRange: [400, 700] as [number, number],\n italic: true,\n },\n\n oswald: {\n family: GoogleVariableFont.OSWALD,\n weightRange: [200, 700] as [number, number],\n },\n\n bebasNeue: {\n family: GoogleVariableFont.BEBAS_NEUE,\n weights: [400],\n },\n\n anton: {\n family: GoogleVariableFont.ANTON,\n weights: [400],\n },\n\n lobster: {\n family: GoogleVariableFont.LOBSTER,\n weights: [400],\n },\n\n pacifico: {\n family: GoogleVariableFont.PACIFICO,\n weights: [400],\n },\n\n // ============================================================================\n // MONOSPACE: CODE\n // ============================================================================\n\n jetbrainsMono: {\n family: GoogleVariableFont.JETBRAINS_MONO,\n weightRange: [100, 800] as [number, number],\n italic: true,\n },\n\n firaCode: {\n family: GoogleVariableFont.FIRA_CODE,\n weightRange: [300, 700] as [number, number],\n },\n\n sourceCodePro: {\n family: GoogleVariableFont.SOURCE_CODE_PRO,\n weightRange: [200, 900] as [number, number],\n italic: true,\n },\n\n inconsolata: {\n family: GoogleVariableFont.INCONSOLATA,\n weightRange: [200, 900] as [number, number],\n },\n\n robotoMono: {\n family: GoogleVariableFont.ROBOTO_MONO,\n weightRange: [100, 700] as [number, number],\n italic: true,\n },\n\n ibmPlexMono: {\n family: GoogleVariableFont.IBM_PLEX_MONO,\n weights: [100, 200, 300, 400, 500, 600, 700],\n italic: true,\n },\n\n spaceMono: {\n family: GoogleVariableFont.SPACE_MONO,\n weights: [400, 700],\n italic: true,\n },\n\n redHatMono: {\n family: GoogleVariableFont.RED_HAT_MONO,\n weightRange: [300, 700] as [number, number],\n italic: true,\n },\n};\n\n// ============================================================================\n// Font Loading Watcher\n// ============================================================================\n\n/**\n * Wait for specific fonts to be loaded using the CSS Font Loading API\n * Returns a promise that resolves when all fonts are loaded or timeout occurs\n *\n * @param fontFamilies - Array of font family names to wait for\n * @param options - Configuration options\n * @returns Promise with load result\n */\nexport async function waitForFontsLoaded(\n fontFamilies: string[],\n options: {\n timeout?: number;\n logger?: DesignTokenLogger;\n } = {}\n): Promise<FontLoadResult> {\n const { timeout = 5000, logger } = options;\n const startTime = performance.now();\n\n if (typeof document === 'undefined' || !('fonts' in document)) {\n logger?.warn('[FontLoader] Font Loading API not available');\n return {\n success: true, // Assume success in non-browser environment\n loadedFonts: fontFamilies,\n failedFonts: [],\n loadTimeMs: 0,\n };\n }\n\n const loadedFonts: string[] = [];\n const failedFonts: string[] = [];\n\n try {\n // Helper to check if a stylesheet link exists and contains the font family\n const checkStylesheetForFont = (fontFamily: string): boolean => {\n const cleanFamily = fontFamily.replace(/['\"]/g, '');\n const stylesheetLinks = document.querySelectorAll<HTMLLinkElement>(\n 'link[href*=\"fonts.googleapis.com\"][rel=\"stylesheet\"]'\n );\n\n for (const link of Array.from(stylesheetLinks)) {\n const href = link.href || link.getAttribute('href') || '';\n if (!href) continue;\n\n // Google Fonts URLs use format:\n // https://fonts.googleapis.com/css2?family=FontName:wght@...&family=OtherFont&display=swap\n // Check for family parameter with this specific font name\n // Encode the family name to match URL encoding\n const encodedFamily = encodeURIComponent(cleanFamily);\n\n // Check for family=FontName followed by:\n // - : (colon for parameters like :wght@) or %3A (encoded colon)\n // - & (next parameter) or %26 (encoded ampersand)\n // - End of string/query\n // This prevents false matches (e.g., \"Roboto\" matching \"Roboto Mono\" or \"RobotoMono\")\n // The encoded family name ensures exact match (spaces become %20, etc.)\n // We require the family name to be followed by a delimiter or end of string\n const escapedFamily = encodedFamily.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const familyPattern = new RegExp(\n `[?&]family=${escapedFamily}(?:[:&%]|$|%3A|%26)`,\n 'i'\n );\n\n if (familyPattern.test(href)) {\n // Stylesheet contains this font family\n // Note: link.sheet might be null if stylesheet hasn't loaded yet\n // We'll be lenient and assume it's loading if the link exists\n return true;\n }\n }\n return false;\n };\n\n // Wait a brief moment for stylesheet to start loading (especially important on hot reload)\n await new Promise(resolve => setTimeout(resolve, 100));\n\n // Wait for document.fonts.ready to ensure font loading API is ready\n // Use a shorter timeout to avoid blocking too long\n const fontsReadyTimeout = Math.min(timeout, 2000);\n try {\n await Promise.race([\n document.fonts.ready,\n new Promise((_, reject) =>\n setTimeout(() => reject(new Error('Fonts ready timeout')), fontsReadyTimeout)\n ),\n ]);\n } catch {\n // Fonts ready timeout is not critical, continue with checks\n logger?.debug('[FontLoader] document.fonts.ready timeout, continuing anyway');\n }\n\n // Calculate remaining timeout for individual font checks\n const elapsed = performance.now() - startTime;\n const remainingTimeout = Math.max(1000, timeout - elapsed - 500); // Reserve 500ms for overhead\n\n // Create font check promises with timeout\n const fontPromises = fontFamilies.map(async (fontFamily) => {\n const cleanFamily = fontFamily.replace(/['\"]/g, '');\n const fontCheckStartTime = performance.now();\n\n try {\n const testString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const fontSpec = `400 16px \"${cleanFamily}\"`;\n\n // First check if font is already loaded (common on hot reload)\n if (document.fonts.check(fontSpec)) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font already loaded: ${cleanFamily}`);\n return;\n }\n\n // Check if stylesheet exists for this specific font\n const stylesheetExists = checkStylesheetForFont(cleanFamily);\n\n // Try to load the font\n let loadAttempted = false;\n try {\n await Promise.race([\n document.fonts.load(fontSpec, testString),\n new Promise((_, reject) =>\n setTimeout(() => reject(new Error('Font load timeout')), remainingTimeout)\n ),\n ]);\n loadAttempted = true;\n } catch (loadError) {\n // Font load failed or timed out, but check if it's available anyway (might be cached)\n loadAttempted = true;\n }\n\n // Wait a bit for font to become available after load attempt\n await new Promise(resolve => setTimeout(resolve, 100));\n\n // Verify font is available with retry logic\n // Use remaining timeout to ensure we don't exceed total timeout\n const checkElapsed = performance.now() - fontCheckStartTime;\n const checkTimeout = Math.max(500, remainingTimeout - checkElapsed);\n const maxRetries = 5;\n const retryDelays = [50, 100, 150, 200, 250]; // Total max delay: 750ms\n\n let isLoaded = false;\n let totalRetryTime = 0;\n\n for (let attempt = 0; attempt < maxRetries && totalRetryTime < checkTimeout; attempt++) {\n isLoaded = document.fonts.check(fontSpec);\n if (isLoaded) break;\n\n if (attempt < maxRetries - 1) {\n const delay = retryDelays[attempt] || 250;\n await new Promise(resolve => setTimeout(resolve, delay));\n totalRetryTime += delay;\n }\n }\n\n if (isLoaded) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font loaded: ${cleanFamily}`);\n } else {\n // Font check failed - decide whether to treat as failure or assume loading\n if (stylesheetExists && loadAttempted) {\n // Stylesheet exists and we attempted to load - likely a timing issue on hot reload\n // Be lenient and assume font will load (prevents false warnings)\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, timing issue): ${cleanFamily}`);\n } else if (stylesheetExists && !loadAttempted) {\n // Stylesheet exists but load wasn't attempted (timeout too short)\n // Still be lenient - stylesheet is there, font should load\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, load not attempted): ${cleanFamily}`);\n } else {\n // No stylesheet found - this is a real failure\n failedFonts.push(cleanFamily);\n logger?.warn(`[FontLoader] Font check failed: ${cleanFamily} (no stylesheet found)`);\n }\n }\n } catch (error) {\n // On error, check if font might still be available\n const fontSpec = `400 16px \"${cleanFamily}\"`;\n if (document.fonts.check(fontSpec)) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font available despite error: ${cleanFamily}`);\n } else {\n // Check if stylesheet exists - if so, be lenient (common on hot reload)\n const stylesheetExists = checkStylesheetForFont(cleanFamily);\n if (stylesheetExists) {\n loadedFonts.push(cleanFamily);\n logger?.debug(`[FontLoader] Font assumed loaded (stylesheet present, error): ${cleanFamily}`);\n } else {\n failedFonts.push(cleanFamily);\n logger?.warn(`[FontLoader] Failed to load font: ${cleanFamily}`, {\n error: describeCaughtError(error),\n });\n }\n }\n }\n });\n\n await Promise.all(fontPromises);\n\n const loadTimeMs = Math.round(performance.now() - startTime);\n\n logger?.debug('[FontLoader] Font loading complete', {\n loadedCount: loadedFonts.length,\n failedCount: failedFonts.length,\n loadTimeMs,\n loadedFonts,\n failedFonts,\n });\n\n return {\n success: failedFonts.length === 0,\n loadedFonts,\n failedFonts,\n loadTimeMs,\n };\n } catch (error) {\n const loadTimeMs = Math.round(performance.now() - startTime);\n logger?.error('[FontLoader] Font loading error', {\n error: describeCaughtError(error),\n loadTimeMs,\n });\n\n return {\n success: false,\n loadedFonts,\n failedFonts: fontFamilies.filter(f => !loadedFonts.includes(f.replace(/['\"]/g, ''))),\n loadTimeMs,\n };\n }\n}\n\n/**\n * Extract font family name from a CSS font-family string\n * E.g., \"Inter, system-ui, sans-serif\" => \"Inter\"\n */\nexport function extractPrimaryFontFamily(fontStack: string): string | null {\n const match = fontStack.match(/^['\"]?([^'\",]+)['\"]?/);\n return match ? match[1].trim() : null;\n}\n\n/**\n * Check if a font family is a Google Font (not system font)\n */\nexport function isGoogleFont(fontFamily: string): boolean {\n const systemFonts = [\n 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI',\n 'Roboto', 'Helvetica', 'Arial', 'sans-serif', 'serif', 'monospace',\n 'Georgia', 'Times New Roman', 'Times', 'Cambria', 'Courier New',\n 'Monaco', 'Menlo', 'Consolas', 'SF Mono', 'ui-sans-serif', 'ui-serif',\n 'ui-monospace'\n ];\n return !systemFonts.some(sf => fontFamily.toLowerCase() === sf.toLowerCase());\n}\n\n\n\n// ============================================================================\n// Chart Color Utilities\n// ============================================================================\n\n/**\n * Tailwind color palette with all shades\n * Complete color values from Tailwind CSS v3/v4\n * @see https://tailwindcss.com/docs/customizing-colors\n */\nconst TAILWIND_COLOR_SHADES: Record<string, Record<ColorShade, string>> = {\n red: { 50: '#fef2f2', 100: '#fee2e2', 200: '#fecaca', 300: '#fca5a5', 400: '#f87171', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c', 800: '#991b1b', 900: '#7f1d1d', 950: '#450a0a' },\n orange: { 50: '#fff7ed', 100: '#ffedd5', 200: '#fed7aa', 300: '#fdba74', 400: '#fb923c', 500: '#f97316', 600: '#ea580c', 700: '#c2410c', 800: '#9a3412', 900: '#7c2d12', 950: '#431407' },\n amber: { 50: '#fffbeb', 100: '#fef3c7', 200: '#fde68a', 300: '#fcd34d', 400: '#fbbf24', 500: '#f59e0b', 600: '#d97706', 700: '#b45309', 800: '#92400e', 900: '#78350f', 950: '#451a03' },\n yellow: { 50: '#fefce8', 100: '#fef9c3', 200: '#fef08a', 300: '#fde047', 400: '#facc15', 500: '#eab308', 600: '#ca8a04', 700: '#a16207', 800: '#854d0e', 900: '#713f12', 950: '#422006' },\n lime: { 50: '#f7fee7', 100: '#ecfccb', 200: '#d9f99d', 300: '#bef264', 400: '#a3e635', 500: '#84cc16', 600: '#65a30d', 700: '#4d7c0f', 800: '#3f6212', 900: '#365314', 950: '#1a2e05' },\n green: { 50: '#f0fdf4', 100: '#dcfce7', 200: '#bbf7d0', 300: '#86efac', 400: '#4ade80', 500: '#22c55e', 600: '#16a34a', 700: '#15803d', 800: '#166534', 900: '#14532d', 950: '#052e16' },\n emerald: { 50: '#ecfdf5', 100: '#d1fae5', 200: '#a7f3d0', 300: '#6ee7b7', 400: '#34d399', 500: '#10b981', 600: '#059669', 700: '#047857', 800: '#065f46', 900: '#064e3b', 950: '#022c22' },\n teal: { 50: '#f0fdfa', 100: '#ccfbf1', 200: '#99f6e4', 300: '#5eead4', 400: '#2dd4bf', 500: '#14b8a6', 600: '#0d9488', 700: '#0f766e', 800: '#115e59', 900: '#134e4a', 950: '#042f2e' },\n cyan: { 50: '#ecfeff', 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9', 400: '#22d3ee', 500: '#06b6d4', 600: '#0891b2', 700: '#0e7490', 800: '#155e75', 900: '#164e63', 950: '#083344' },\n sky: { 50: '#f0f9ff', 100: '#e0f2fe', 200: '#bae6fd', 300: '#7dd3fc', 400: '#38bdf8', 500: '#0ea5e9', 600: '#0284c7', 700: '#0369a1', 800: '#075985', 900: '#0c4a6e', 950: '#082f49' },\n blue: { 50: '#eff6ff', 100: '#dbeafe', 200: '#bfdbfe', 300: '#93c5fd', 400: '#60a5fa', 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8', 800: '#1e40af', 900: '#1e3a8a', 950: '#172554' },\n indigo: { 50: '#eef2ff', 100: '#e0e7ff', 200: '#c7d2fe', 300: '#a5b4fc', 400: '#818cf8', 500: '#6366f1', 600: '#4f46e5', 700: '#4338ca', 800: '#3730a3', 900: '#312e81', 950: '#1e1b4b' },\n violet: { 50: '#f5f3ff', 100: '#ede9fe', 200: '#ddd6fe', 300: '#c4b5fd', 400: '#a78bfa', 500: '#8b5cf6', 600: '#7c3aed', 700: '#6d28d9', 800: '#5b21b6', 900: '#4c1d95', 950: '#2e1065' },\n purple: { 50: '#faf5ff', 100: '#f3e8ff', 200: '#e9d5ff', 300: '#d8b4fe', 400: '#c084fc', 500: '#a855f7', 600: '#9333ea', 700: '#7e22ce', 800: '#6b21a8', 900: '#581c87', 950: '#3b0764' },\n fuchsia: { 50: '#fdf4ff', 100: '#fae8ff', 200: '#f5d0fe', 300: '#f0abfc', 400: '#e879f9', 500: '#d946ef', 600: '#c026d3', 700: '#a21caf', 800: '#86198f', 900: '#701a75', 950: '#4a044e' },\n pink: { 50: '#fdf2f8', 100: '#fce7f3', 200: '#fbcfe8', 300: '#f9a8d4', 400: '#f472b6', 500: '#ec4899', 600: '#db2777', 700: '#be185d', 800: '#9d174d', 900: '#831843', 950: '#500724' },\n rose: { 50: '#fff1f2', 100: '#ffe4e6', 200: '#fecdd3', 300: '#fda4af', 400: '#fb7185', 500: '#f43f5e', 600: '#e11d48', 700: '#be123c', 800: '#9f1239', 900: '#881337', 950: '#4c0519' },\n slate: { 50: '#f8fafc', 100: '#f1f5f9', 200: '#e2e8f0', 300: '#cbd5e1', 400: '#94a3b8', 500: '#64748b', 600: '#475569', 700: '#334155', 800: '#1e293b', 900: '#0f172a', 950: '#020617' },\n gray: { 50: '#f9fafb', 100: '#f3f4f6', 200: '#e5e7eb', 300: '#d1d5db', 400: '#9ca3af', 500: '#6b7280', 600: '#4b5563', 700: '#374151', 800: '#1f2937', 900: '#111827', 950: '#030712' },\n zinc: { 50: '#fafafa', 100: '#f4f4f5', 200: '#e4e4e7', 300: '#d4d4d8', 400: '#a1a1aa', 500: '#71717a', 600: '#52525b', 700: '#3f3f46', 800: '#27272a', 900: '#18181b', 950: '#09090b' },\n neutral: { 50: '#fafafa', 100: '#f5f5f5', 200: '#e5e5e5', 300: '#d4d4d4', 400: '#a3a3a3', 500: '#737373', 600: '#525252', 700: '#404040', 800: '#262626', 900: '#171717', 950: '#0a0a0a' },\n stone: { 50: '#fafaf9', 100: '#f5f5f4', 200: '#e7e5e4', 300: '#d6d3d1', 400: '#a8a29e', 500: '#78716c', 600: '#57534e', 700: '#44403c', 800: '#292524', 900: '#1c1917', 950: '#0c0a09' },\n};\n\n/**\n * Get a single Tailwind color hex value\n * @param colorName - Tailwind color name (e.g., 'sky', 'emerald')\n * @param shade - Color shade (400, 500, or 600), defaults to 500\n */\nexport function getTailwindColor(colorName: TailwindColor | string, shade: ColorShade = 500): string {\n const normalizedName = colorName.toLowerCase() as keyof typeof TAILWIND_COLOR_SHADES;\n const color = TAILWIND_COLOR_SHADES[normalizedName];\n if (!color) {\n console.warn(`[ChartColors] Unknown Tailwind color: ${colorName}, falling back to gray`);\n return TAILWIND_COLOR_SHADES.gray[shade];\n }\n return color[shade];\n}\n\n/**\n * Parse chart color palette from CSS variable or string\n * @param paletteValue - Comma-separated list of Tailwind color names\n */\nexport function parseChartColorPalette(paletteValue?: string | null): TailwindColor[] {\n if (!paletteValue) {\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n const parsedPalette = paletteValue\n .split(',')\n .map(c => c.trim().toLowerCase() as TailwindColor)\n .filter(c => c in TAILWIND_COLOR_SHADES);\n\n if (parsedPalette.length === 0) {\n console.warn('[ChartColors] Chart palette resolved to no known Tailwind colors, falling back to default palette');\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n return parsedPalette;\n}\n\n/**\n * Get chart color palette from document CSS variables\n */\nexport function getChartColorPaletteFromCSS(): TailwindColor[] {\n if (typeof document === 'undefined') {\n return DEFAULT_CHART_COLOR_PALETTE;\n }\n\n const paletteValue = getComputedStyle(document.documentElement)\n .getPropertyValue('--chart-color-palette')\n .trim();\n\n return parseChartColorPalette(paletteValue || null);\n}\n\n/**\n * Generate chart colors array from palette\n * @param count - Number of colors needed\n * @param options - Configuration options\n */\nexport function getChartColors(\n count: number,\n options: {\n palette?: TailwindColor[];\n shade?: ColorShade;\n cycleIfNeeded?: boolean;\n } = {}\n): string[] {\n const {\n palette = getChartColorPaletteFromCSS(),\n shade = 500,\n cycleIfNeeded = true,\n } = options;\n const safePalette = palette.length > 0 ? palette : DEFAULT_CHART_COLOR_PALETTE;\n\n const colors: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const colorIndex = cycleIfNeeded ? i % safePalette.length : Math.min(i, safePalette.length - 1);\n colors.push(getTailwindColor(safePalette[colorIndex], shade));\n }\n\n return colors;\n}\n\n/**\n * Generate a ChartConfig object with auto-assigned colors\n * Compatible with ECharts chart components\n *\n * @example\n * const config = generateChartConfig({\n * sales: { label: 'Sales' },\n * revenue: { label: 'Revenue' },\n * profit: { label: 'Profit' },\n * });\n * // Result: Each key gets an auto-assigned color from the palette\n */\nexport function generateChartConfig<T extends Record<string, { label?: React.ReactNode; icon?: React.ComponentType }>>(\n keys: T,\n options: {\n palette?: TailwindColor[];\n shade?: ColorShade;\n } = {}\n): T & { [K in keyof T]: { color: string } } {\n const {\n palette = getChartColorPaletteFromCSS(),\n shade = 500,\n } = options;\n\n const keyArray = Object.keys(keys);\n const colors = getChartColors(keyArray.length, { palette, shade });\n\n const result = { ...keys } as T & { [K in keyof T]: { color: string } };\n\n keyArray.forEach((key, index) => {\n (result as any)[key] = {\n ...keys[key],\n color: colors[index],\n };\n });\n\n return result;\n}\n\n/**\n * Apply chart color palette to CSS variables\n * Generates CHART_1 through CHART_N from the palette\n */\nexport function applyChartColorPalette(\n palette: TailwindColor[] = DEFAULT_CHART_COLOR_PALETTE,\n options: {\n target?: HTMLElement;\n maxColors?: number;\n shade?: ColorShade;\n } = {}\n): void {\n const {\n target = typeof document !== 'undefined' ? document.documentElement : null,\n maxColors = 10,\n shade = 500,\n } = options;\n\n if (!target) return;\n\n const colorsToApply = Math.min(palette.length, maxColors);\n // Track applied chart-* keys in the per-target bucket so\n // `clearAppliedDesignTokens` can clean them up too. Note this helper is\n // currently called outside `applyDesignSystemConfiguration` (no reconcile\n // sweep), so a previous larger palette won't auto-prune from a later\n // smaller one — pass `maxColors` consistently if that matters.\n const bucket: Set<string> = getAppliedKeys(target);\n\n for (let i = 0; i < colorsToApply; i++) {\n const color = getTailwindColor(palette[i], shade);\n const name = `--chart-${i + 1}`;\n target.style.setProperty(name, color);\n bucket.add(name);\n }\n\n // Store palette for runtime access\n target.style.setProperty('--chart-color-palette', palette.slice(0, maxColors).join(','));\n bucket.add('--chart-color-palette');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"default.theme.d.ts","sourceRoot":"","sources":["../../../../../../src/core/ui/themes/default.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AA0uB/E,eAAO,MAAM,YAAY,EAAE,mBAqB1B,CAAC"}
1
+ {"version":3,"file":"default.theme.d.ts","sourceRoot":"","sources":["../../../../../../src/core/ui/themes/default.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AA40B/E,eAAO,MAAM,YAAY,EAAE,mBAqB1B,CAAC"}