@wildo-ai/saas-frontend-lib 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2521) hide show
  1. package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
  2. package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
  3. package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
  4. package/dist/esm/browser-bootstrap.exports.js.map +1 -1
  5. package/dist/esm/companion-exports.d.ts +1 -1
  6. package/dist/esm/companion-exports.d.ts.map +1 -1
  7. package/dist/esm/companion-exports.js +1 -1
  8. package/dist/esm/companion-exports.js.map +1 -1
  9. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  10. package/dist/esm/companion-runtime-exports.js.map +1 -1
  11. package/dist/esm/components/actions/action-bar.d.ts +30 -0
  12. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  13. package/dist/esm/components/actions/action-bar.js.map +1 -1
  14. package/dist/esm/components/actions/action-button.d.ts +5 -0
  15. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  16. package/dist/esm/components/actions/action-button.js.map +1 -1
  17. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button-group.js.map +1 -1
  19. package/dist/esm/components/actions/button.d.ts +15 -0
  20. package/dist/esm/components/actions/button.d.ts.map +1 -1
  21. package/dist/esm/components/actions/button.js +14 -0
  22. package/dist/esm/components/actions/button.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +38 -0
  32. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  33. package/dist/esm/components/ai-elements/artifacts/diff-block.js +9 -0
  34. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  35. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  37. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts +68 -0
  38. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts.map +1 -0
  39. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js +162 -0
  40. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js.map +1 -0
  41. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  45. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  47. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  48. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  49. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  51. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.d.ts +30 -1
  54. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  56. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  68. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  78. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts +0 -1
  79. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  81. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  83. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  85. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  87. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  89. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  91. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  93. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +22 -0
  94. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +29 -3
  96. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  97. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  98. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  99. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  101. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  103. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  106. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  107. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +84 -9
  108. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  109. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts +40 -0
  110. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -0
  111. package/dist/esm/components/app/AppLayout_ConsentGate.js +17 -0
  112. package/dist/esm/components/app/AppLayout_ConsentGate.js.map +1 -0
  113. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts +3 -0
  114. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -0
  115. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js +75 -0
  116. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js.map +1 -0
  117. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts +32 -0
  118. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -0
  119. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js +13 -0
  120. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js.map +1 -0
  121. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts +3 -0
  122. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -0
  123. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js +46 -0
  124. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js.map +1 -0
  125. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  126. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  127. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  128. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  129. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  130. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  131. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  132. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  133. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  134. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  135. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  136. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  137. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  138. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js +27 -25
  139. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  140. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  141. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js +4 -6
  142. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  143. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  144. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  145. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts +3 -0
  146. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  147. package/dist/esm/components/app/PublicLayout_MainContainer.js +24 -0
  148. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  149. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  150. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  151. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  152. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  153. package/dist/esm/components/app/PublicLayout_Terms.d.ts +59 -0
  154. package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -0
  155. package/dist/esm/components/app/PublicLayout_Terms.js +8 -0
  156. package/dist/esm/components/app/PublicLayout_Terms.js.map +1 -0
  157. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  158. package/dist/esm/components/app/PublicLayout_Terms.labels.js +16 -6
  159. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  160. package/dist/esm/components/auth/Auth_AuthCallback.d.ts +3 -1
  161. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_AuthCallback.js +21 -7
  163. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  164. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  165. package/dist/esm/components/auth/Auth_AuthCallback.labels.js +2 -0
  166. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_ConfirmEmail.js +35 -17
  169. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  170. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  171. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  172. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  173. package/dist/esm/components/auth/Auth_EnrollmentRequired.js +121 -11
  174. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  175. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js +1 -0
  177. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  178. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  179. package/dist/esm/components/auth/Auth_Invitation.js +91 -59
  180. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  181. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  182. package/dist/esm/components/auth/Auth_Invitation.labels.js +7 -0
  183. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  184. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts +8 -3
  185. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  186. package/dist/esm/components/auth/Auth_MagicLinkVerify.js +38 -21
  187. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  188. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  189. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  190. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  191. package/dist/esm/components/auth/Auth_Main.js +224 -41
  192. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  193. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  194. package/dist/esm/components/auth/Auth_Main.labels.js +4 -0
  195. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  196. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts +3 -0
  197. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  198. package/dist/esm/components/auth/Auth_MfaChallenge.js +76 -19
  199. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  200. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  201. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  202. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  203. package/dist/esm/components/auth/Auth_OAuthConsent.js +2 -1
  204. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  205. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  206. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  207. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  208. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  209. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  210. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  211. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  212. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  213. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  214. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  215. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  216. package/dist/esm/components/auth/Auth_OneOffSession.js +5 -3
  217. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  218. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  219. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  220. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts +34 -0
  221. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -0
  222. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js +158 -0
  223. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js.map +1 -0
  224. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts +3 -0
  225. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -0
  226. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js +22 -0
  227. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js.map +1 -0
  228. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  229. package/dist/esm/components/auth/Auth_PasswordLost.js +9 -7
  230. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  231. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  232. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +5 -0
  233. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  234. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  235. package/dist/esm/components/auth/Auth_Register.js +403 -55
  236. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  237. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  238. package/dist/esm/components/auth/Auth_Register.labels.js +71 -2
  239. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  240. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +67 -2
  241. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  242. package/dist/esm/components/auth/StepUpAuthDialog.js +131 -15
  243. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  244. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  245. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +40 -58
  246. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  247. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  248. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +23 -1
  249. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  250. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  251. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +6 -5
  252. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  253. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  254. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  255. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  256. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +5 -4
  257. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  258. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  259. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +6 -4
  260. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  261. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  262. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js +7 -4
  263. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  264. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  265. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js +7 -4
  266. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  267. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts +10 -2
  268. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  269. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  270. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  271. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js +10 -7
  272. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  273. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  274. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +5 -3
  275. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  276. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  277. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js +8 -5
  278. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  279. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  280. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js +11 -8
  281. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  282. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  283. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +7 -6
  284. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  285. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  286. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js +15 -17
  287. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  288. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  289. package/dist/esm/components/auth/methods/PasswordAuthMethod.js +4 -18
  290. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  291. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  292. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js +10 -7
  293. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  294. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  295. package/dist/esm/components/auth/methods/TotpAuthMethod.js +5 -3
  296. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  297. package/dist/esm/components/auth/methods/auth-method-components.d.ts +15 -18
  298. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  299. package/dist/esm/components/auth/methods/auth-method-components.js +9 -26
  300. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  301. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts +105 -0
  302. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts.map +1 -0
  303. package/dist/esm/components/auth/methods/auth-method-presentation.js +103 -0
  304. package/dist/esm/components/auth/methods/auth-method-presentation.js.map +1 -0
  305. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  306. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  307. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  308. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  309. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  310. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  311. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  312. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  313. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  314. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  315. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts +2 -1
  316. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  317. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js +4 -2
  318. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  319. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  320. package/dist/esm/components/auth/pages/AuthPage_Main.js +3 -1
  321. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  322. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  323. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  324. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  325. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  326. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  327. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  328. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  329. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  330. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  331. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  332. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts +11 -0
  333. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -0
  334. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js +15 -0
  335. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js.map +1 -0
  336. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  337. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  338. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts +3 -0
  339. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -0
  340. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js +51 -0
  341. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js.map +1 -0
  342. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  343. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  344. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts +54 -0
  345. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -0
  346. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js +53 -0
  347. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js.map +1 -0
  348. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts +15 -0
  349. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -0
  350. package/dist/esm/components/auth/utils/AuthMethodIcon.js +16 -0
  351. package/dist/esm/components/auth/utils/AuthMethodIcon.js.map +1 -0
  352. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts +24 -0
  353. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -0
  354. package/dist/esm/components/auth/utils/AuthSecondaryLink.js +20 -0
  355. package/dist/esm/components/auth/utils/AuthSecondaryLink.js.map +1 -0
  356. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  357. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  358. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  359. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  360. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  361. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  362. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts +11 -1
  363. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  364. package/dist/esm/components/auth/utils/OAuthProvidersSection.js +5 -3
  365. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  366. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts +8 -1
  367. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  368. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +15 -6
  369. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  370. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  371. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  372. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  373. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  374. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts +32 -0
  375. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -0
  376. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js +44 -0
  377. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js.map +1 -0
  378. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -0
  379. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  380. package/dist/esm/components/billing/billing-invoice-history.js +7 -3
  381. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  382. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +17 -0
  383. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  384. package/dist/esm/components/billing/billing-plan-change-preview.js +8 -0
  385. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  386. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -0
  387. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  388. package/dist/esm/components/billing/billing-portal-link.js +6 -2
  389. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  390. package/dist/esm/components/billing/billing-pricing-table.d.ts +4 -1
  391. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  392. package/dist/esm/components/billing/billing-pricing-table.js +30 -8
  393. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  394. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -0
  395. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  396. package/dist/esm/components/billing/billing-subscription-status.js +8 -4
  397. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  398. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
  399. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  400. package/dist/esm/components/billing/billing-usage-dashboard.js +9 -4
  401. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  402. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts +74 -0
  403. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -0
  404. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +197 -0
  405. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -0
  406. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts +28 -2
  407. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  408. package/dist/esm/components/data-display/AutomaticDisplayer.js +18 -9
  409. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  410. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts +43 -0
  411. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  412. package/dist/esm/components/data-display/DisplayContextKindContext.js +45 -0
  413. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  414. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  415. package/dist/esm/components/data-display/DisplayField.js +92 -9
  416. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  417. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  418. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  419. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  420. package/dist/esm/components/data-display/DisplayFieldEditable.js +8 -3
  421. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  422. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  423. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +7 -5
  424. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  425. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  426. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  427. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  428. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  429. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts +11 -0
  430. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  431. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  432. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +2 -2
  433. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  434. package/dist/esm/components/data-display/DisplayValueDispatcher.js +162 -15
  435. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  436. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts +4 -0
  437. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  438. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +97 -14
  439. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  440. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  441. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +6 -1
  442. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  443. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  444. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  445. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +19 -0
  446. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  447. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  448. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  449. package/dist/esm/components/data-display/avatar.js.map +1 -1
  450. package/dist/esm/components/data-display/badge-tone.d.ts +37 -0
  451. package/dist/esm/components/data-display/badge-tone.d.ts.map +1 -0
  452. package/dist/esm/components/data-display/badge-tone.js +54 -0
  453. package/dist/esm/components/data-display/badge-tone.js.map +1 -0
  454. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  455. package/dist/esm/components/data-display/badge.js.map +1 -1
  456. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  457. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  458. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  459. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  460. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +23 -6
  461. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  462. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +17 -12
  463. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  464. package/dist/esm/components/data-display/description-list.d.ts +5 -1
  465. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  466. package/dist/esm/components/data-display/description-list.js.map +1 -1
  467. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts +14 -7
  468. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  469. package/dist/esm/components/data-display/display-field-resolution.utils.js +17 -36
  470. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  471. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  472. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  473. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  474. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  475. package/dist/esm/components/data-display/duration.d.ts +46 -0
  476. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  477. package/dist/esm/components/data-display/duration.js +9 -0
  478. package/dist/esm/components/data-display/duration.js.map +1 -0
  479. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +22 -0
  480. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  481. package/dist/esm/components/data-display/formatters/display-field-address.js +8 -0
  482. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  483. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  484. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  485. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  486. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  487. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  488. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  489. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  490. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  491. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  492. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  493. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  494. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  495. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  496. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  497. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  498. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  499. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  500. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  501. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  502. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  503. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  504. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  505. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  506. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  507. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  508. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  509. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  510. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  511. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  512. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  513. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  514. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  515. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  516. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  517. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  518. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  519. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  520. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  521. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  522. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  523. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  524. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  525. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  526. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  527. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  528. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  529. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  530. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  531. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  532. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  533. package/dist/esm/components/data-display/identifier.d.ts +54 -0
  534. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  535. package/dist/esm/components/data-display/identifier.js +9 -0
  536. package/dist/esm/components/data-display/identifier.js.map +1 -0
  537. package/dist/esm/components/data-display/kbd.d.ts +32 -0
  538. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  539. package/dist/esm/components/data-display/kbd.js +9 -0
  540. package/dist/esm/components/data-display/kbd.js.map +1 -0
  541. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  542. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  543. package/dist/esm/components/data-display/timeline.d.ts +89 -0
  544. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  545. package/dist/esm/components/data-display/timeline.js +31 -0
  546. package/dist/esm/components/data-display/timeline.js.map +1 -0
  547. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  548. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  549. package/dist/esm/components/feedback/celebration-overlay.d.ts +20 -1
  550. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  551. package/dist/esm/components/feedback/celebration-overlay.js +35 -15
  552. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  553. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  554. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  555. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  556. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  557. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  558. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  559. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  560. package/dist/esm/components/feedback/error-display.js.map +1 -1
  561. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  562. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  563. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  564. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  565. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  566. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  567. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  568. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  569. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts +57 -0
  570. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -0
  571. package/dist/esm/components/feedback/lazy-door-error-boundary.js +66 -0
  572. package/dist/esm/components/feedback/lazy-door-error-boundary.js.map +1 -0
  573. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  574. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  575. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  576. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  577. package/dist/esm/components/feedback/notification-center.d.ts +8 -8
  578. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  579. package/dist/esm/components/feedback/notification-center.js +7 -6
  580. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  581. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +13 -0
  582. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  583. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  584. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  585. package/dist/esm/components/feedback/progress.js.map +1 -1
  586. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  587. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  588. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  589. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  590. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  591. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  592. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  593. package/dist/esm/components/feedback/toast.js.map +1 -1
  594. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  595. package/dist/esm/components/files/Files_UploadGrantDrop.js +13 -11
  596. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  597. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
  598. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -1
  599. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
  600. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -1
  601. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  602. package/dist/esm/components/flows-actors/actor.js +6 -2
  603. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  604. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  605. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  606. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  607. package/dist/esm/components/flows-actors/agent-config.js +0 -1
  608. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  609. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  610. package/dist/esm/components/flows-actors/agent-config.labels.js +5 -4
  611. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  612. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts +14 -0
  613. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -0
  614. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +30 -0
  615. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -0
  616. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  617. package/dist/esm/components/flows-actors/approval.js +74 -13
  618. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  619. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  620. package/dist/esm/components/flows-actors/approval.labels.js +15 -0
  621. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  622. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  623. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  624. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  625. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  626. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  627. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  628. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  629. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  630. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  631. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  632. package/dist/esm/components/flows-actors/flow-execution.js +8 -10
  633. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  634. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  635. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  636. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +3 -0
  637. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  638. package/dist/esm/components/flows-actors/flow-node-badges.js +37 -10
  639. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  640. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  641. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  642. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  643. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  644. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  645. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  646. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  647. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +13 -12
  648. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  649. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  650. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  651. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  652. package/dist/esm/components/flows-actors/system-catalog.js +3 -3
  653. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  654. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  655. package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -1
  656. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  657. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  658. package/dist/esm/components/flows-actors/task-detail.js +4 -2
  659. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  660. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  661. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  662. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  663. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  664. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  665. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  666. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  667. package/dist/esm/components/form/Form.d.ts +5 -4
  668. package/dist/esm/components/form/Form.d.ts.map +1 -1
  669. package/dist/esm/components/form/Form.js +12 -9
  670. package/dist/esm/components/form/Form.js.map +1 -1
  671. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  672. package/dist/esm/components/form/automated/AutomatedArrayField.js +44 -34
  673. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  674. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  675. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  676. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  677. package/dist/esm/components/form/automated/AutosaveContext.js +4 -2
  678. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  679. package/dist/esm/components/form/automated/FormField.d.ts +12 -1
  680. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  681. package/dist/esm/components/form/automated/FormField.js +126 -30
  682. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  683. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  684. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  685. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  686. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  687. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  688. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  689. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  690. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  691. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  692. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  693. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  694. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  695. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  696. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +140 -40
  697. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  698. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  699. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  700. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +20 -0
  701. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/automated/automated-form-submit.utils.js +46 -0
  703. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  704. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -1
  705. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -1
  706. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  707. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  708. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  709. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  710. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  711. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  712. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts +42 -0
  713. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.map +1 -0
  714. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js +47 -0
  715. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js.map +1 -0
  716. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  717. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  718. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  719. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  720. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  721. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  722. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  723. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  724. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  725. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  726. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  727. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  728. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  729. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  730. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  731. package/dist/esm/components/form/chromes/FormFieldChrome.js +32 -20
  732. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  733. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  734. package/dist/esm/components/form/chromes/field.js.map +1 -1
  735. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  736. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  737. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  738. package/dist/esm/components/form/combobox.js.map +1 -1
  739. package/dist/esm/components/form/controls/boolean/checkbox.d.ts +10 -0
  740. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  741. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  742. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  743. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  744. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  745. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  746. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  747. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  748. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  749. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  750. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  751. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  752. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  753. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  754. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  755. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  756. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  757. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  758. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  759. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  760. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  761. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  762. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  763. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  764. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  765. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  766. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  767. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  768. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +23 -0
  769. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  770. package/dist/esm/components/form/controls/enum/toggle-group.js +20 -0
  771. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  772. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts +19 -0
  773. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -0
  774. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js +50 -0
  775. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js.map +1 -0
  776. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  777. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  778. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  779. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  780. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  781. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  782. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  783. package/dist/esm/components/form/controls/form-field-checkbox-group.js +33 -32
  784. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  785. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  786. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  787. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  788. package/dist/esm/components/form/controls/input.js.map +1 -1
  789. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  790. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  791. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  792. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  793. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  794. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  795. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  796. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  797. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  798. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  799. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  800. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  801. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  802. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  803. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  804. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  805. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  806. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  807. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  808. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts +15 -0
  809. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -0
  810. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js +53 -0
  811. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js.map +1 -0
  812. package/dist/esm/components/form/fields/form-field-address.d.ts +56 -0
  813. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -0
  814. package/dist/esm/components/form/fields/form-field-address.js +178 -0
  815. package/dist/esm/components/form/fields/form-field-address.js.map +1 -0
  816. package/dist/esm/components/form/fields/form-field-address.labels.d.ts +3 -0
  817. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -0
  818. package/dist/esm/components/form/fields/form-field-address.labels.js +53 -0
  819. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -0
  820. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  821. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  822. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  823. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  824. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  825. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  826. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  827. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  828. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  829. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  830. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  831. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  832. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  833. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  834. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  835. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  836. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  837. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  838. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  839. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  840. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  841. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  842. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  843. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  844. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  845. package/dist/esm/components/form/fields/form-field-enum.d.ts +14 -1
  846. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  847. package/dist/esm/components/form/fields/form-field-enum.js +310 -32
  848. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  849. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  850. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  851. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +18 -27
  852. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  853. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +19 -46
  854. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  855. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  856. package/dist/esm/components/form/fields/form-field-file.js +267 -114
  857. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  858. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  859. package/dist/esm/components/form/fields/form-field-file.labels.js +18 -2
  860. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  861. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  862. package/dist/esm/components/form/fields/form-field-money.js +8 -34
  863. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  864. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  865. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  866. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  867. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  868. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  869. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  870. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  871. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  872. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  873. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  874. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  875. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  876. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  877. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  878. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  879. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  880. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  881. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  882. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  883. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  884. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  885. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  886. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  887. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  888. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  889. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  890. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  891. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  892. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  893. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  894. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  895. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  896. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  897. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  898. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  899. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  900. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  901. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  902. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  903. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  904. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  905. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  906. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  907. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  908. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  909. package/dist/esm/components/form/form-context.js.map +1 -1
  910. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  911. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  912. package/dist/esm/components/form/form-external-validation.d.ts +11 -0
  913. package/dist/esm/components/form/form-external-validation.d.ts.map +1 -0
  914. package/dist/esm/components/form/form-external-validation.js +17 -0
  915. package/dist/esm/components/form/form-external-validation.js.map +1 -0
  916. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  917. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  918. package/dist/esm/components/form/form-field-types.js.map +1 -1
  919. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  920. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  921. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  922. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  923. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts +13 -12
  924. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  925. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js +15 -17
  926. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  927. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  928. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  929. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  930. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  931. package/dist/esm/components/form/validation-errors/getFieldError.js +12 -1
  932. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  933. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +23 -0
  934. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -0
  935. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +10 -0
  936. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -0
  937. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  938. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  939. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts +60 -0
  940. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts.map +1 -0
  941. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js +79 -0
  942. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js.map +1 -0
  943. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  944. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js +5 -2
  945. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  946. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts +6 -1
  947. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  948. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +10 -2
  949. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  950. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts +32 -0
  951. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -0
  952. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js +35 -0
  953. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js.map +1 -0
  954. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +17 -0
  955. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -0
  956. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +73 -0
  957. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -0
  958. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  959. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  960. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  961. package/dist/esm/components/layout/carousel.js.map +1 -1
  962. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  963. package/dist/esm/components/layout/divider.js.map +1 -1
  964. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  965. package/dist/esm/components/layout/resizable.js.map +1 -1
  966. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  967. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  968. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  969. package/dist/esm/components/layout/separator.js.map +1 -1
  970. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +7 -1
  971. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  972. package/dist/esm/components/navigation/NavigationItemBadge.js +29 -1
  973. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  974. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  975. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  976. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  977. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  978. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  979. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  980. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  981. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  982. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  983. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  984. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  985. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  986. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  987. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  988. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  989. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  990. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  991. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  992. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  993. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  994. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  995. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  996. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  997. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  998. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  999. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  1000. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  1001. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  1002. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  1003. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +26 -10
  1004. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  1005. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  1006. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  1007. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts +14 -0
  1008. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -0
  1009. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js +13 -0
  1010. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js.map +1 -0
  1011. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  1012. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  1013. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  1014. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +16 -12
  1015. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  1016. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  1017. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js +12 -9
  1018. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  1019. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts +9 -0
  1020. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  1021. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +38 -2
  1022. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  1023. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  1024. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  1025. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  1026. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  1027. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  1028. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +34 -15
  1029. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  1030. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  1031. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  1032. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  1033. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  1034. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  1035. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  1036. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +26 -3
  1037. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  1038. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  1039. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  1040. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  1041. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  1042. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +16 -1
  1043. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  1044. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +20 -25
  1045. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  1046. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  1047. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  1048. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  1049. package/dist/esm/components/navigation/command.js.map +1 -1
  1050. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  1051. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  1052. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  1053. package/dist/esm/components/navigation/navbar.js.map +1 -1
  1054. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  1055. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  1056. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  1057. package/dist/esm/components/overlays/containers/OverlayContainer.js +44 -14
  1058. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  1059. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  1060. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  1061. package/dist/esm/components/overlays/containers/alert-dialog.d.ts +16 -12
  1062. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  1063. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  1064. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  1065. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  1066. package/dist/esm/components/overlays/containers/dialog.d.ts +3 -1
  1067. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  1068. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  1069. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts +25 -7
  1070. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  1071. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  1072. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  1073. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  1074. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts +21 -1
  1075. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  1076. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js +34 -1
  1077. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  1078. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  1079. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  1080. package/dist/esm/components/overlays/containers/sheet.d.ts +6 -4
  1081. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  1082. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  1083. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  1084. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  1085. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  1086. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  1087. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  1088. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  1089. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  1090. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  1091. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  1092. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  1093. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  1094. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  1095. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  1096. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  1097. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  1098. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  1099. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts +55 -4
  1100. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  1101. package/dist/esm/components/progression/ProgressionMilestoneTracker.js +265 -32
  1102. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  1103. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  1104. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +42 -4
  1105. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  1106. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +34 -15
  1107. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  1108. package/dist/esm/components/resources/CollectionSelectionControls.js +4 -3
  1109. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  1110. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +30 -0
  1111. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +1 -0
  1112. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +17 -0
  1113. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +1 -0
  1114. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  1115. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  1116. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  1117. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  1118. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +10 -1
  1119. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  1120. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +9 -5
  1121. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  1122. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +45 -0
  1123. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -0
  1124. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +81 -0
  1125. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -0
  1126. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +22 -4
  1127. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  1128. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +31 -6
  1129. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  1130. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +25 -9
  1131. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  1132. package/dist/esm/components/resources/ResourceCollectionToolbar.js +3 -2
  1133. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  1134. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  1135. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js +2 -2
  1136. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  1137. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  1138. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  1139. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  1140. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  1141. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  1142. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +2 -1
  1143. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  1144. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  1145. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  1146. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  1147. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +2 -2
  1148. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  1149. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  1150. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  1151. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  1152. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  1153. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  1154. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +3 -3
  1155. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  1156. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  1157. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js +4 -4
  1158. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  1159. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  1160. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  1161. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  1162. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +1 -0
  1163. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  1164. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  1165. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +13 -18
  1166. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  1167. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  1168. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  1169. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  1170. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +13 -2
  1171. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  1172. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  1173. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  1174. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  1175. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +2 -0
  1176. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  1177. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +7 -1
  1178. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  1179. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +66 -11
  1180. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  1181. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  1182. package/dist/esm/components/resources/ResourceLayout_Header.js +85 -42
  1183. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  1184. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  1185. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  1186. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  1187. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  1188. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  1189. package/dist/esm/components/resources/ResourceLayout_List.js +130 -46
  1190. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  1191. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  1192. package/dist/esm/components/resources/ResourceLayout_List.labels.js +12 -0
  1193. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  1194. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  1195. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  1196. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +23 -1
  1197. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  1198. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +52 -16
  1199. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  1200. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  1201. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +44 -0
  1202. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  1203. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  1204. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +2 -2
  1205. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  1206. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  1207. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +78 -0
  1208. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  1209. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  1210. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  1211. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  1212. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  1213. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  1214. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  1215. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  1216. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  1217. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  1218. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  1219. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  1220. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  1221. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  1222. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +2 -2
  1223. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  1224. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  1225. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  1226. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  1227. package/dist/esm/components/resources/ResourceLayout_Search.js +48 -25
  1228. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  1229. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  1230. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  1231. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  1232. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  1233. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  1234. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +60 -44
  1235. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  1236. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  1237. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  1238. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  1239. package/dist/esm/components/resources/ResourceLayout_Update.js +18 -65
  1240. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  1241. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  1242. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  1243. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +26 -6
  1244. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  1245. package/dist/esm/components/resources/ResourceListItemRenderer.js +29 -11
  1246. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  1247. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  1248. package/dist/esm/components/resources/ResourceOperationActionPopover.js +2 -2
  1249. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  1250. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts +43 -0
  1251. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -0
  1252. package/dist/esm/components/resources/ResourceOperationDetachedHost.js +94 -0
  1253. package/dist/esm/components/resources/ResourceOperationDetachedHost.js.map +1 -0
  1254. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  1255. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  1256. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  1257. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  1258. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  1259. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  1260. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  1261. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  1262. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -0
  1263. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  1264. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -0
  1265. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  1266. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  1267. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  1268. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  1269. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  1270. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  1271. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  1272. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  1273. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  1274. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  1275. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  1276. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  1277. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -5
  1278. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  1279. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  1280. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  1281. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +9 -0
  1282. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  1283. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +1 -0
  1284. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  1285. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  1286. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  1287. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  1288. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  1289. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  1290. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  1291. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  1292. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  1293. package/dist/esm/components/resources/resourceLayout.utils.d.ts +10 -0
  1294. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  1295. package/dist/esm/components/resources/resourceLayout.utils.js +20 -43
  1296. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  1297. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  1298. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  1299. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  1300. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  1301. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  1302. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  1303. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts +42 -0
  1304. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -0
  1305. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js +44 -0
  1306. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js.map +1 -0
  1307. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  1308. package/dist/esm/components/resources/skeleton/DisplayLayout.js +1 -1
  1309. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  1310. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  1311. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  1312. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  1313. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  1314. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  1315. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  1316. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  1317. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  1318. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1319. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1320. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1321. package/dist/esm/components/resources/skeleton/Group.js +1 -1
  1322. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1323. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1324. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1325. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +32 -0
  1326. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1327. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +21 -3
  1328. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1329. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1330. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1331. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1332. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1333. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1334. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1335. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1336. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1337. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts +8 -0
  1338. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1339. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1340. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts +12 -1
  1341. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1342. package/dist/esm/components/resources/skeleton/SubmitButton.js +2 -2
  1343. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1344. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1345. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1346. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1347. package/dist/esm/components/resources/skeleton/SummaryLayout.js +53 -1
  1348. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1349. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1350. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1351. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1352. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1353. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1354. package/dist/esm/components/resources/skeleton/WizardLayout.js +7 -0
  1355. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1356. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1357. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1358. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1359. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1360. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1361. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1362. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1363. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1364. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts +2 -2
  1365. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1366. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +2 -2
  1367. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1368. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1369. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1370. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1371. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1372. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts +1 -1
  1373. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1374. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +30 -7
  1375. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1376. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1377. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1378. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1379. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1380. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1381. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1382. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts +7 -0
  1383. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1384. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1385. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1386. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1387. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1388. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1389. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts +3 -3
  1390. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1391. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +12 -13
  1392. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1393. package/dist/esm/components/sections/ContentSectionContainer.d.ts +4 -0
  1394. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1395. package/dist/esm/components/sections/ContentSectionContainer.js +12 -5
  1396. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1397. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1398. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1399. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1400. package/dist/esm/components/sections/accordion.js.map +1 -1
  1401. package/dist/esm/components/sections/card.d.ts +50 -0
  1402. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1403. package/dist/esm/components/sections/card.js +34 -1
  1404. package/dist/esm/components/sections/card.js.map +1 -1
  1405. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1406. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1407. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1408. package/dist/esm/components/sections/content-section.js.map +1 -1
  1409. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1410. package/dist/esm/components/sections/pagination.js.map +1 -1
  1411. package/dist/esm/components/sections/section-grouping.shared.d.ts +10 -1
  1412. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1413. package/dist/esm/components/sections/section-grouping.shared.js +11 -2
  1414. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1415. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1416. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1417. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1418. package/dist/esm/components/sections/stepper.js.map +1 -1
  1419. package/dist/esm/components/sections/surface.d.ts +4 -2
  1420. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1421. package/dist/esm/components/sections/surface.js +36 -1
  1422. package/dist/esm/components/sections/surface.js.map +1 -1
  1423. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1424. package/dist/esm/components/sections/table.js.map +1 -1
  1425. package/dist/esm/components/sections/tabs.d.ts +44 -0
  1426. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1427. package/dist/esm/components/sections/tabs.js +32 -0
  1428. package/dist/esm/components/sections/tabs.js.map +1 -1
  1429. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1430. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1431. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1432. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1433. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1434. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1435. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1436. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1437. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +116 -49
  1438. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  1439. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +392 -109
  1440. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  1441. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  1442. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +39 -3
  1443. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  1444. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1445. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1446. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1447. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1448. package/dist/esm/components/settings/SettingsHub.d.ts +16 -8
  1449. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1450. package/dist/esm/components/settings/SettingsHub.js +218 -47
  1451. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1452. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1453. package/dist/esm/components/settings/SettingsHub.labels.js +3 -0
  1454. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1455. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1456. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +26 -3
  1457. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1458. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1459. package/dist/esm/components/settings/SettingsSectionNavigationHost.js +7 -0
  1460. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1461. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1462. package/dist/esm/components/typography/heading.js.map +1 -1
  1463. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1464. package/dist/esm/components/typography/label.js.map +1 -1
  1465. package/dist/esm/components/typography/link.d.ts +1 -0
  1466. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1467. package/dist/esm/components/typography/link.js.map +1 -1
  1468. package/dist/esm/components/typography/text.d.ts +7 -1
  1469. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1470. package/dist/esm/components/typography/text.js.map +1 -1
  1471. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1472. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1473. package/dist/esm/components/views/ViewLayout_Header.d.ts +4 -3
  1474. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1475. package/dist/esm/components/views/ViewLayout_Header.js +10 -7
  1476. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1477. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1478. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1479. package/dist/esm/components/views/ViewNotFound.labels.d.ts +16 -0
  1480. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1481. package/dist/esm/components/views/ViewNotFound.labels.js +33 -9
  1482. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1483. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1484. package/dist/esm/components/views/chart-view/ChartEmptyState.js +5 -5
  1485. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1486. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1487. package/dist/esm/components/views/chart-view/ChartErrorState.js +4 -6
  1488. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1489. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1490. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1491. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1492. package/dist/esm/components/views/chart-view/ChartView.js +10 -3
  1493. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1494. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1495. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1496. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts +3 -1
  1497. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1498. package/dist/esm/components/views/chart-view/ChartView.lazy.js +22 -2
  1499. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1500. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1501. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1502. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1503. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1504. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1505. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1506. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1507. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1508. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1509. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1510. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1511. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1512. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1513. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1514. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1515. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1516. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1517. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1518. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +16 -13
  1519. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1520. package/dist/esm/components/views/chart-view/enum-color-bridge.js +33 -30
  1521. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1522. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +11 -4
  1523. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1524. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +16 -6
  1525. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1526. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1527. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +3 -3
  1528. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1529. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1530. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  1531. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1532. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1533. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js +1 -1
  1534. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1535. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1536. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1537. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1538. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1539. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1540. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1541. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1542. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +2 -2
  1543. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1544. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1545. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1546. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1547. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js +1 -1
  1548. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1549. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1550. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js +1 -1
  1551. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1552. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1553. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1554. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1555. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  1556. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1557. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1558. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1559. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +5 -0
  1560. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1561. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1562. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1563. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +2 -1
  1564. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1565. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +4 -0
  1566. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1567. package/dist/esm/components/views/composite-view/CompositeLayout.js +14 -2
  1568. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1569. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1570. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1571. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1572. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1573. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1574. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1575. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1576. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1577. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1578. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1579. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1580. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1581. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1582. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +77 -34
  1583. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1584. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1585. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +24 -0
  1586. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1587. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1588. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1589. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1590. package/dist/esm/components/views/onboarding-view/OnboardingView.js +42 -41
  1591. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1592. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1593. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1594. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1595. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1596. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1597. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1598. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +31 -4
  1599. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1600. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1601. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1602. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1603. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1604. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1605. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1606. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1607. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts +2 -1
  1608. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1609. package/dist/esm/core/app-shell/usePublicShellLayout.js +15 -2
  1610. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1611. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1612. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1613. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1614. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1615. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +16 -9
  1616. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1617. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +106 -13
  1618. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1619. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts +39 -0
  1620. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -0
  1621. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +100 -0
  1622. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -0
  1623. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +21 -7
  1624. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1625. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +160 -122
  1626. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1627. package/dist/esm/core/billing/BillingContext.d.ts +15 -3
  1628. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1629. package/dist/esm/core/billing/BillingContext.js +91 -28
  1630. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1631. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1632. package/dist/esm/core/billing/BillingErrorNotifier.js +9 -5
  1633. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1634. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1635. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1636. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1637. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1638. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1639. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1640. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1641. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1642. package/dist/esm/core/billing/useBillingAction.js +6 -5
  1643. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1644. package/dist/esm/core/billing/useBillingPlanChange.d.ts +37 -0
  1645. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -0
  1646. package/dist/esm/core/billing/useBillingPlanChange.js +113 -0
  1647. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -0
  1648. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts +3 -0
  1649. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1650. package/dist/esm/core/billing/useSafeBillingActionExecutor.js +7 -5
  1651. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1652. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1653. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1654. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1655. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1656. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1657. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1658. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts +15 -0
  1659. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1660. package/dist/esm/core/commons/local-storage.frontend.schemas.js +16 -0
  1661. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1662. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1663. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1664. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1665. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1666. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1667. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1668. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1669. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +23 -3
  1670. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1671. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1672. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1673. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts +24 -2
  1674. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1675. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1676. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts +12 -12
  1677. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1678. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1679. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1680. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1681. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +133 -18
  1682. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  1683. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +181 -21
  1684. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  1685. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1686. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1687. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1688. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +20 -5
  1689. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  1690. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +13 -5
  1691. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  1692. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +31 -31
  1693. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1694. package/dist/esm/core/config/app-configuration-frontend.schemas.js +10 -0
  1695. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1696. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1697. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1698. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +8 -8
  1699. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1700. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1701. package/dist/esm/core/config/composite-view.schemas.d.ts +26 -4
  1702. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1703. package/dist/esm/core/config/composite-view.schemas.js +10 -0
  1704. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1705. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1706. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1707. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -69
  1708. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1709. package/dist/esm/core/config/engine-settings-destinations.js +430 -90
  1710. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1711. package/dist/esm/core/config/execution-view.schemas.d.ts +3 -3
  1712. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1713. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1714. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1715. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +3 -2
  1716. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1717. package/dist/esm/core/config/flows-actors-view.schemas.js +1 -1
  1718. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1719. package/dist/esm/core/config/full-custom-view.schemas.d.ts +9 -0
  1720. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1721. package/dist/esm/core/config/full-custom-view.schemas.js +16 -0
  1722. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1723. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1724. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1725. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1726. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1727. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +19 -5
  1728. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1729. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1730. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts +18 -10
  1731. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1732. package/dist/esm/core/config/onboarding-view.frontend.schemas.js +17 -21
  1733. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1734. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1736. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1737. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1738. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +22 -0
  1739. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -0
  1740. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +91 -0
  1741. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -0
  1742. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +39 -11
  1743. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1744. package/dist/esm/core/config/settings-hub.frontend.schemas.js +14 -2
  1745. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1746. package/dist/esm/core/config/useSettingsHubConfig.d.ts +24 -3
  1747. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1748. package/dist/esm/core/config/useSettingsHubConfig.js +38 -10
  1749. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1750. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +28 -1
  1751. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1752. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +36 -4
  1753. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1754. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1755. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1756. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1757. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1758. package/dist/esm/core/config/verify-settings-hub-content.d.ts +13 -2
  1759. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1760. package/dist/esm/core/config/verify-settings-hub-content.js +33 -2
  1761. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1762. package/dist/esm/core/config/view-label-declaration.schemas.d.ts +22 -0
  1763. package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -0
  1764. package/dist/esm/core/config/view-label-declaration.schemas.js +1 -0
  1765. package/dist/esm/core/config/view-label-declaration.schemas.js.map +1 -0
  1766. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1767. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1768. package/dist/esm/core/enums/common-enum-registry.d.ts +28 -5
  1769. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1770. package/dist/esm/core/enums/common-enum-registry.js +41 -7
  1771. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1772. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1773. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1774. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1775. package/dist/esm/core/errors/ErrorContext.js +12 -29
  1776. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1777. package/dist/esm/core/errors/ErrorModalContent.d.ts +18 -0
  1778. package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -0
  1779. package/dist/esm/core/errors/ErrorModalContent.js +18 -0
  1780. package/dist/esm/core/errors/ErrorModalContent.js.map +1 -0
  1781. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1782. package/dist/esm/core/errors/GlobalErrorHandler.js +12 -41
  1783. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1784. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1785. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1786. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1787. package/dist/esm/core/errors/error-management.frontend.service.js +4 -4
  1788. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1789. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1790. package/dist/esm/core/errors/errors-builder.frontend.services.js +3 -3
  1791. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1792. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +24 -11
  1793. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1794. package/dist/esm/core/errors/errors.frontend.schemas.js +8 -11
  1795. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1796. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1797. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1798. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1799. package/dist/esm/core/errors/useError.js.map +1 -1
  1800. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts +40 -0
  1801. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -0
  1802. package/dist/esm/core/errors/useUserFacingErrorMessage.js +48 -0
  1803. package/dist/esm/core/errors/useUserFacingErrorMessage.js.map +1 -0
  1804. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +141 -0
  1805. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -0
  1806. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +256 -0
  1807. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -0
  1808. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1809. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1810. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1811. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1812. package/dist/esm/core/events/NotificationContext.d.ts +22 -0
  1813. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1814. package/dist/esm/core/events/NotificationContext.js +239 -70
  1815. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1816. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1817. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1818. package/dist/esm/core/events/events.frontend.schemas.d.ts +121 -46
  1819. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1820. package/dist/esm/core/events/events.frontend.schemas.js +68 -7
  1821. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1822. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts +0 -13
  1823. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1824. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js +0 -23
  1825. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1826. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1827. package/dist/esm/core/events/toast.js.map +1 -1
  1828. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1829. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1830. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1831. package/dist/esm/core/events/useNotification.js.map +1 -1
  1832. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1833. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1834. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1835. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1836. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1837. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1838. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1839. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1840. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1841. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1842. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1843. package/dist/esm/core/execution/execution-outcome-emission.utils.js +3 -4
  1844. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1845. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1846. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1847. package/dist/esm/core/execution/useExecution.d.ts +7 -1
  1848. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1849. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1850. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1851. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1852. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1853. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1854. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1855. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1856. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1857. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1858. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1859. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1860. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1861. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +8 -1
  1862. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1863. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +24 -1
  1864. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  1865. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +47 -4
  1866. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  1867. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1868. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1869. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +1 -2
  1870. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1871. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1872. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +1 -2
  1873. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
  1874. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -1
  1875. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1876. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1877. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1878. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1879. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1880. package/dist/esm/core/features/FeaturesContext.js +30 -3
  1881. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1882. package/dist/esm/core/features/feature-gate-surface.example.d.ts +44 -0
  1883. package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -0
  1884. package/dist/esm/core/features/feature-gate-surface.example.js +38 -0
  1885. package/dist/esm/core/features/feature-gate-surface.example.js.map +1 -0
  1886. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1887. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1888. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1889. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1890. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1891. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1892. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1893. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1894. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1895. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1896. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +48 -4
  1897. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1898. package/dist/esm/core/flows-actors/FlowsActorsContext.js +144 -20
  1899. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1900. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1901. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1902. package/dist/esm/core/guidance/GuidanceContext.d.ts +34 -1
  1903. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1904. package/dist/esm/core/guidance/GuidanceContext.js +1004 -117
  1905. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1906. package/dist/esm/core/guidance/GuidanceRenderer.d.ts +54 -1
  1907. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1908. package/dist/esm/core/guidance/GuidanceRenderer.js +355 -13
  1909. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1910. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts +22 -2
  1911. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1912. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js +59 -1
  1913. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1914. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1915. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js +51 -1
  1916. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1917. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1918. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1919. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1920. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1921. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1922. package/dist/esm/core/guidance/renderers/GuidanceBadge.js +17 -8
  1923. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1924. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1925. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1926. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1927. package/dist/esm/core/guidance/renderers/GuidanceBanner.js +11 -1
  1928. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1929. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1930. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1931. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1932. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1933. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1934. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1935. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1936. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js +4 -1
  1937. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1938. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1939. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1940. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1941. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1942. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1943. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js +4 -0
  1944. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1945. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1946. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1947. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1948. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1949. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1950. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js +28 -5
  1951. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1952. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1953. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js +8 -0
  1954. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1955. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1956. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js +14 -1
  1957. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1958. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1959. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1960. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1961. package/dist/esm/core/guidance/renderers/GuidanceTour.js +26 -3
  1962. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1963. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1964. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1965. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1966. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1967. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +8 -4
  1968. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1969. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +9 -5
  1970. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1971. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1972. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +3 -2
  1973. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1974. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1975. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js +2 -1
  1976. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1977. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +25 -1
  1978. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1979. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +28 -2
  1980. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1981. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1982. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1983. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1984. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1985. package/dist/esm/core/i18n/I18nContext.d.ts +59 -6
  1986. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1987. package/dist/esm/core/i18n/I18nContext.js +125 -28
  1988. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1989. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +41 -30
  1990. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1991. package/dist/esm/core/i18n/component-label-resolution.utils.js +69 -34
  1992. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1993. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts +23 -0
  1994. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts.map +1 -0
  1995. package/dist/esm/core/i18n/operation-title-resolution.utils.js +25 -0
  1996. package/dist/esm/core/i18n/operation-title-resolution.utils.js.map +1 -0
  1997. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1998. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1999. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  2000. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  2001. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  2002. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  2003. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  2004. package/dist/esm/core/icons/IconRegistryContext.js +10 -0
  2005. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  2006. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  2007. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  2008. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +8 -0
  2009. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  2010. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +8 -0
  2011. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  2012. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  2013. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  2014. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  2015. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  2016. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  2017. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  2018. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  2019. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  2020. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  2021. package/dist/esm/core/loading/LoadingGate.js +41 -7
  2022. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  2023. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  2024. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  2025. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  2026. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  2027. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  2028. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  2029. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  2030. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  2031. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  2032. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  2033. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  2034. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  2035. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  2036. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  2037. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  2038. package/dist/esm/core/loading/useLoading.js.map +1 -1
  2039. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  2040. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  2041. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  2042. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  2043. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +9 -1
  2044. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  2045. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +131 -59
  2046. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  2047. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts +9 -0
  2048. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  2049. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +80 -73
  2050. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  2051. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts +5 -0
  2052. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.map +1 -0
  2053. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js +16 -0
  2054. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js.map +1 -0
  2055. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  2056. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  2057. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  2058. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  2059. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  2060. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  2061. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  2062. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  2063. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  2064. package/dist/esm/core/monitoring/analytics/useAnalytics.js +1 -1
  2065. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  2066. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
  2067. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -1
  2068. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  2069. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  2070. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +66 -2
  2071. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  2072. package/dist/esm/core/navigation/NavigationContentAreas.js +482 -73
  2073. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  2074. package/dist/esm/core/navigation/NavigationContext.d.ts +42 -0
  2075. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  2076. package/dist/esm/core/navigation/NavigationContext.js +8 -0
  2077. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  2078. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  2079. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  2080. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  2081. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  2082. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  2083. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  2084. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  2085. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  2086. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts +22 -0
  2087. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  2088. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +24 -0
  2089. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  2090. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  2091. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +79 -17
  2092. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  2093. package/dist/esm/core/navigation/navigation.schemas.d.ts +38 -14
  2094. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  2095. package/dist/esm/core/navigation/navigation.schemas.js +10 -4
  2096. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  2097. package/dist/esm/core/navigation/navigation.utils.d.ts +60 -2
  2098. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  2099. package/dist/esm/core/navigation/navigation.utils.js +123 -17
  2100. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  2101. package/dist/esm/core/navigation/primary-destination-layout.d.ts +58 -0
  2102. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  2103. package/dist/esm/core/navigation/primary-destination-layout.js +58 -0
  2104. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  2105. package/dist/esm/core/navigation/split-fit.d.ts +56 -0
  2106. package/dist/esm/core/navigation/split-fit.d.ts.map +1 -0
  2107. package/dist/esm/core/navigation/split-fit.js +61 -0
  2108. package/dist/esm/core/navigation/split-fit.js.map +1 -0
  2109. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  2110. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  2111. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +4 -2
  2112. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  2113. package/dist/esm/core/navigation/useLauncherResolutionContext.js +26 -4
  2114. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  2115. package/dist/esm/core/navigation/useNavigationController.d.ts +6 -3
  2116. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  2117. package/dist/esm/core/navigation/useNavigationController.js +167 -22
  2118. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  2119. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  2120. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  2121. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  2122. package/dist/esm/core/navigation/useOverlayTitle.js +2 -5
  2123. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  2124. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts +58 -0
  2125. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts.map +1 -0
  2126. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js +68 -0
  2127. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js.map +1 -0
  2128. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  2129. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  2130. package/dist/esm/core/navigation/view-title-resolution.d.ts +18 -0
  2131. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  2132. package/dist/esm/core/navigation/view-title-resolution.js +20 -2
  2133. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  2134. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  2135. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  2136. package/dist/esm/core/navigation/zone-emphasis.d.ts +42 -0
  2137. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -0
  2138. package/dist/esm/core/navigation/zone-emphasis.js +50 -0
  2139. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -0
  2140. package/dist/esm/core/navigation/zone-empty-behavior.d.ts +22 -0
  2141. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  2142. package/dist/esm/core/navigation/zone-empty-behavior.js +21 -0
  2143. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  2144. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  2145. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  2146. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  2147. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  2148. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  2149. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  2150. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  2151. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  2152. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  2153. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  2154. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  2155. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  2156. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  2157. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  2158. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  2159. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  2160. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  2161. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  2162. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts +1 -0
  2163. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  2164. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +22 -0
  2165. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  2166. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  2167. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  2168. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  2169. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  2170. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  2171. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  2172. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  2173. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  2174. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +417 -30
  2175. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  2176. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +232 -17
  2177. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  2178. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +19 -2
  2179. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  2180. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +129 -13
  2181. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  2182. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +22 -4
  2183. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  2184. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +24 -4
  2185. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  2186. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  2187. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  2188. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  2189. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  2190. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  2191. package/dist/esm/core/resources/ResourceReadCacheBridge.js +148 -51
  2192. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  2193. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  2194. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  2195. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  2196. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  2197. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts +26 -0
  2198. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -0
  2199. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js +23 -0
  2200. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js.map +1 -0
  2201. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  2202. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  2203. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +41 -0
  2204. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -0
  2205. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +143 -0
  2206. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -0
  2207. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts +7 -0
  2208. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  2209. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +7 -1
  2210. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  2211. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  2212. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  2213. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  2214. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  2215. package/dist/esm/core/resources/frontend-resource.utils.d.ts +74 -2
  2216. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  2217. package/dist/esm/core/resources/frontend-resource.utils.js +152 -19
  2218. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  2219. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -0
  2220. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  2221. package/dist/esm/core/resources/hooks/useOperationEnabled.js +18 -4
  2222. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  2223. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  2224. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  2225. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  2226. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  2227. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +137 -7
  2228. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  2229. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +209 -16
  2230. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  2231. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  2232. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  2233. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  2234. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  2235. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +42 -0
  2236. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  2237. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +36 -1
  2238. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  2239. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +59 -0
  2240. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -0
  2241. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +151 -0
  2242. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -0
  2243. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  2244. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  2245. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  2246. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  2247. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts +26 -0
  2248. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  2249. package/dist/esm/core/resources/resource-read-cache.frontend.service.js +30 -0
  2250. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  2251. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  2252. package/dist/esm/core/resources/resources-repository.frontend.service.js +2 -2
  2253. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  2254. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +231 -14
  2255. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  2256. package/dist/esm/core/resources/resources.frontend.schemas.js +182 -8
  2257. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  2258. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +6 -0
  2259. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  2260. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +14 -2
  2261. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  2262. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  2263. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  2264. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  2265. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  2266. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  2267. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js +3 -3
  2268. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  2269. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  2270. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +77 -8
  2271. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  2272. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  2273. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  2274. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  2275. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  2276. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts +18 -0
  2277. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts.map +1 -0
  2278. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js +21 -0
  2279. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js.map +1 -0
  2280. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  2281. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  2282. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  2283. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  2284. package/dist/esm/core/resources/rmm/types.d.ts +14 -0
  2285. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  2286. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  2287. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  2288. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  2289. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  2290. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  2291. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  2292. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  2293. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  2294. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  2295. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  2296. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  2297. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  2298. package/dist/esm/core/resources/rmm/useResourceRMM.js +2 -3
  2299. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  2300. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  2301. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  2302. package/dist/esm/core/resources/useBulkJobProgress.d.ts +22 -0
  2303. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -0
  2304. package/dist/esm/core/resources/useBulkJobProgress.js +51 -0
  2305. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -0
  2306. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  2307. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  2308. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  2309. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  2310. package/dist/esm/core/resources/useResourceLabels.d.ts +27 -9
  2311. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  2312. package/dist/esm/core/resources/useResourceLabels.js +45 -138
  2313. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  2314. package/dist/esm/core/resources/useResourceOperationActions.d.ts +33 -0
  2315. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  2316. package/dist/esm/core/resources/useResourceOperationActions.js +393 -87
  2317. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  2318. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +23 -0
  2319. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -0
  2320. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +85 -0
  2321. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -0
  2322. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -0
  2323. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  2324. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  2325. package/dist/esm/core/resources/useResourceRegistry.d.ts +18 -0
  2326. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  2327. package/dist/esm/core/resources/useResourceRegistry.js +23 -0
  2328. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  2329. package/dist/esm/core/resources/useResourceSelection.d.ts +36 -1
  2330. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  2331. package/dist/esm/core/resources/useResourceSelection.js +32 -1
  2332. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  2333. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  2334. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  2335. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  2336. package/dist/esm/core/runtime/AppRouter.js +25 -4
  2337. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  2338. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  2339. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  2340. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +3 -0
  2341. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  2342. package/dist/esm/core/runtime/ApplicationMainContext.js +30 -2
  2343. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  2344. package/dist/esm/core/runtime/StartupFailureScreen.d.ts +24 -0
  2345. package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -0
  2346. package/dist/esm/core/runtime/StartupFailureScreen.js +25 -0
  2347. package/dist/esm/core/runtime/StartupFailureScreen.js.map +1 -0
  2348. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  2349. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  2350. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  2351. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  2352. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts +16 -0
  2353. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  2354. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js +22 -0
  2355. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  2356. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  2357. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  2358. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +28 -4
  2359. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  2360. package/dist/esm/core/runtime/routes.frontend.definitions.js +29 -5
  2361. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  2362. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  2363. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  2364. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +2 -2
  2365. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  2366. package/dist/esm/core/runtime/start-application.frontend.service.js +54 -15
  2367. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  2368. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts +48 -0
  2369. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -0
  2370. package/dist/esm/core/runtime/startup-failure-copy.frontend.js +95 -0
  2371. package/dist/esm/core/runtime/startup-failure-copy.frontend.js.map +1 -0
  2372. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  2373. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  2374. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  2375. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  2376. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  2377. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  2378. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  2379. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  2380. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  2381. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  2382. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  2383. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  2384. package/dist/esm/core/security/AuthSessionContext.d.ts +88 -3
  2385. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  2386. package/dist/esm/core/security/AuthSessionContext.js +607 -116
  2387. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  2388. package/dist/esm/core/security/StepUpAuthContext.d.ts +12 -0
  2389. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  2390. package/dist/esm/core/security/StepUpAuthContext.js +58 -12
  2391. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  2392. package/dist/esm/core/security/UserOrgsContext.d.ts +15 -1
  2393. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  2394. package/dist/esm/core/security/UserOrgsContext.js +110 -16
  2395. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  2396. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  2397. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  2398. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  2399. package/dist/esm/core/security/auth-session.utils.js +21 -4
  2400. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  2401. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts +102 -0
  2402. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts.map +1 -0
  2403. package/dist/esm/core/security/consent-gate.frontend.utils.js +112 -0
  2404. package/dist/esm/core/security/consent-gate.frontend.utils.js.map +1 -0
  2405. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  2406. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  2407. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts +74 -0
  2408. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -0
  2409. package/dist/esm/core/security/federated-reauthentication.frontend.js +135 -0
  2410. package/dist/esm/core/security/federated-reauthentication.frontend.js.map +1 -0
  2411. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  2412. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  2413. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts +50 -0
  2414. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -0
  2415. package/dist/esm/core/security/organization-onboarding.frontend.utils.js +55 -0
  2416. package/dist/esm/core/security/organization-onboarding.frontend.utils.js.map +1 -0
  2417. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts +58 -0
  2418. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts.map +1 -0
  2419. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js +88 -0
  2420. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js.map +1 -0
  2421. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts +78 -0
  2422. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -0
  2423. package/dist/esm/core/security/registration-outcome.frontend.utils.js +114 -0
  2424. package/dist/esm/core/security/registration-outcome.frontend.utils.js.map +1 -0
  2425. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +75 -0
  2426. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -0
  2427. package/dist/esm/core/security/route-organization-access.frontend.utils.js +78 -0
  2428. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -0
  2429. package/dist/esm/core/security/security.frontend.schemas.d.ts +70 -1
  2430. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  2431. package/dist/esm/core/security/security.frontend.schemas.js +68 -0
  2432. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  2433. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  2434. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  2435. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  2436. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  2437. package/dist/esm/core/security/useConsentGateBehavior.d.ts +36 -0
  2438. package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -0
  2439. package/dist/esm/core/security/useConsentGateBehavior.js +59 -0
  2440. package/dist/esm/core/security/useConsentGateBehavior.js.map +1 -0
  2441. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts +76 -0
  2442. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -0
  2443. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js +168 -0
  2444. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js.map +1 -0
  2445. package/dist/esm/core/security/useResolvedAuthConfig.d.ts +21 -2
  2446. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  2447. package/dist/esm/core/security/useResolvedAuthConfig.js +9 -5
  2448. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  2449. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +13 -0
  2450. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -0
  2451. package/dist/esm/core/security/useRouteOrganizationAccess.js +101 -0
  2452. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -0
  2453. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  2454. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  2455. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  2456. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  2457. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts +3 -0
  2458. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  2459. package/dist/esm/core/ui/SurfaceErrorBoundary.js +46 -14
  2460. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  2461. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts +3 -0
  2462. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -0
  2463. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js +14 -0
  2464. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js.map +1 -0
  2465. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  2466. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  2467. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  2468. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  2469. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  2470. package/dist/esm/core/ui/UIContext.js +22 -5
  2471. package/dist/esm/core/ui/UIContext.js.map +1 -1
  2472. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  2473. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  2474. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  2475. package/dist/esm/core/ui/cn.js.map +1 -1
  2476. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  2477. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  2478. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  2479. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  2480. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  2481. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  2482. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  2483. package/dist/esm/core/ui/design-token.utils.js +3 -3
  2484. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  2485. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  2486. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  2487. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  2488. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  2489. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  2490. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  2491. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  2492. package/dist/esm/core/ui/themes/default.theme.js +109 -13
  2493. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  2494. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +2 -5
  2495. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  2496. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  2497. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  2498. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  2499. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  2500. package/dist/esm/core/ui/useUI.js.map +1 -1
  2501. package/dist/esm/index.d.ts +29 -0
  2502. package/dist/esm/index.d.ts.map +1 -1
  2503. package/dist/esm/index.js +41 -0
  2504. package/dist/esm/index.js.map +1 -1
  2505. package/dist/esm/tailwind/index.d.ts.map +1 -1
  2506. package/dist/esm/tailwind/index.js +95 -2
  2507. package/dist/esm/tailwind/index.js.map +1 -1
  2508. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  2509. package/dist/esm/testing/mock-builders.js +35 -1
  2510. package/dist/esm/testing/mock-builders.js.map +1 -1
  2511. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  2512. package/dist/esm/testing/mock-factory.js.map +1 -1
  2513. package/dist/esm/testing/rmm-helpers.d.ts +2 -0
  2514. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  2515. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  2516. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  2517. package/dist/esm/testing/test-providers.js.map +1 -1
  2518. package/dist/esm/testing.d.ts.map +1 -1
  2519. package/dist/esm/testing.js.map +1 -1
  2520. package/dist/tsconfig.build.tsbuildinfo +1 -1
  2521. package/package.json +22 -33
@@ -1 +1 @@
1
- {"version":3,"file":"GuidanceContext.js","sourceRoot":"","sources":["../../../../src/core/guidance/GuidanceContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Guidance Context Provider\n *\n * Central frontend context for managing guidance flows (onboarding, tooltips,\n * tours, banners, surveys, checklists). Provides:\n * - Multi-scope state management (USER / ORGANIZATION)\n * - 5 trigger types (FIRST_VISIT, ROUTE_MATCH, EVENT, DELAYED, MANUAL)\n * - Audience evaluation (roles, features, completed flows, creation date)\n * - Coexistence rules (max 1 overlay, max 1 checklist, N inline)\n * - Real-time sync via EventBus\n */\n\nimport React, { createContext, useContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type {\n GuidanceFlowDefinition,\n GuidanceFlowState,\n OnboardingElement,\n GuidanceState,\n GuidanceAudience,\n ProgressionState,\n ProgressionMilestoneAchieved,\n ProgressionCategoryProgress,\n MilestoneDefinition,\n LifecycleState,\n WS_LifecycleStageChangedPayload,\n ActivationCriterion,\n} from '@wildo-ai/saas-models';\nimport {\n GuidanceFlowScope,\n GuidanceRenderMode,\n GUIDANCE_SCOPE_TO_RESOURCE,\n OnboardingTriggerType,\n OnboardingStatus,\n isTerminalOnboardingStatus,\n ProgressionScope,\n PROGRESSION_SCOPE_TO_RESOURCE,\n LifecycleStage,\n LifecycleScope,\n LIFECYCLE_SCOPE_TO_RESOURCE,\n GuidanceStateUtils,\n hasReachedStage as hasReachedStageUtil,\n MilestoneRewardType,\n CelebrationDisplayMode,\n CoreResourceOperation,\n ResourceOperationVariantType,\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport { compileResourceGuidance } from './guidance-resource-compiler.shared.utils';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { FrontendEvent_GuidanceFlow, FrontendEvent_MilestoneAchieved, FrontendEvent_ProgressionUpdated, FrontendEvent_LifecycleStageChanged } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { ResourceRegistryContextType } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport { FeaturesContext } from '~wildo-frontend-lib/core/features/FeaturesContext';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { errorManagement } from '~wildo-frontend-lib/core/errors/error-management.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport {\n evaluateGuidanceAudience,\n type GuidanceAudienceContext,\n} from './guidance-audience.frontend.utils';\n\n// ─── Progression Context Slice (Phase 4) ────────────────────────\n\nexport interface ProgressionContextSlice {\n /** Scoped progression states — separate state per active scope */\n scopedStates: Record<ProgressionScope, ProgressionState | null>;\n /** Quick lookup: is a specific milestone achieved? (searches all scopes) */\n isMilestoneAchieved: (milestoneRef: string) => boolean;\n /** Get achievement details for a milestone (searches all scopes) */\n getMilestoneAchievement: (milestoneRef: string) => ProgressionMilestoneAchieved | undefined;\n /** Get progress for a category (merged across scopes) */\n getCategoryProgress: (category: string) => ProgressionCategoryProgress | undefined;\n /** Total points (summed across all scopes) */\n totalPoints: number;\n /** All milestone definitions (for display) */\n milestoneDefinitions: MilestoneDefinition[];\n /** Whether initial progression state is still loading */\n isLoading: boolean;\n}\n\n// ─── Lifecycle Context Slice (Phase 5) ───────────────────────────\n\nexport interface LifecycleContextSlice {\n /** Current lifecycle stage (null if system disabled or loading) */\n currentStage: LifecycleStage | null;\n /** When the current stage was entered */\n stageEnteredAt: Date | null;\n /** Whether lifecycle system is enabled (from app config) */\n isEnabled: boolean;\n /** Whether initial state is loading */\n isLoading: boolean;\n /** Check if user has reached at least a specific stage */\n hasReachedStage: (stage: LifecycleStage) => boolean;\n /** Activation progress (which criteria are met) */\n activationProgress: {\n criteriaMet: Record<string, boolean>;\n /** Full activation criteria definitions (for tActivationCriterion dispatch) */\n criteria: ActivationCriterion[];\n totalCriteria: number;\n metCriteria: number;\n isFullyActivated: boolean;\n };\n}\n\n// ─── Context Value Interface ────────────────────────────────────\n\nexport interface GuidanceContextValue {\n /** Currently active (visible) guidance flow definitions */\n activeFlows: GuidanceFlowDefinition[];\n /** All flow states keyed by flow ref (across all scopes) */\n flowStates: Record<string, GuidanceFlowState>;\n /** Manually activate a flow by ref (MANUAL trigger or re-activate) */\n activateFlow: (ref: string) => void;\n /** Mark a specific element within a flow as completed */\n completeElement: (flowRef: string, elementRef: string, data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number }) => void;\n /** Mark an entire flow as completed */\n completeFlow: (flowRef: string) => void;\n /** Dismiss a flow (user closed it; may re-trigger later based on config) */\n dismissFlow: (flowRef: string) => void;\n /** Skip a flow (user chose to skip; recorded as SKIPPED status) */\n skipFlow: (flowRef: string) => void;\n /** Check if a flow is currently active */\n isFlowActive: (ref: string) => boolean;\n /** Check if a flow has been completed */\n isFlowCompleted: (ref: string) => boolean;\n /**\n * Whether a ref has a persistence identity in this context — i.e. it is a\n * registered guidance flow OR an app-config onboarding view. A standalone\n * `OnboardingView` uses this to know whether dismiss/complete/skip under its\n * `doc.ref` will actually persist (vs. transient local-only state).\n */\n isFlowPersistable: (ref: string) => boolean;\n /** Whether guidance state is still loading */\n isLoading: boolean;\n /** Progression sub-object — added by Phase 4.\n * Separate from guidance but co-located in the same context to avoid provider multiplication.\n * useProgression() hook selects only this slice. */\n progression: ProgressionContextSlice;\n /** Lifecycle sub-object — added by Phase 5.\n * Tracks user lifecycle stage (signed_up → activated → engaged → dormant → reactivated).\n * useLifecycle() hook selects only this slice. */\n lifecycle: LifecycleContextSlice;\n}\n\n// ─── Context ────────────────────────────────────────────────────\n\n// Note: useGuidance / useLifecycle / useProgression hooks are in useGuidance.ts for React Fast Refresh compatibility.\nexport const GuidanceContext = createContext<GuidanceContextValue | null>(null);\n\nconst EMPTY_ACTIVE_FLOWS: GuidanceFlowDefinition[] = [];\nconst EMPTY_FLOW_STATES: Record<string, GuidanceFlowState> = {};\nconst EMPTY_MILESTONE_DEFINITIONS: MilestoneDefinition[] = [];\nconst EMPTY_SCOPED_PROGRESSION: Record<ProgressionScope, ProgressionState | null> = {\n [ProgressionScope.USER]: null,\n [ProgressionScope.ORGANIZATION]: null,\n};\n\nexport const PROGRESSION_DEFAULTS: ProgressionContextSlice = {\n scopedStates: EMPTY_SCOPED_PROGRESSION,\n isMilestoneAchieved: () => false,\n getMilestoneAchievement: () => undefined,\n getCategoryProgress: () => undefined,\n totalPoints: 0,\n milestoneDefinitions: EMPTY_MILESTONE_DEFINITIONS,\n isLoading: false,\n};\n\nexport const LIFECYCLE_DEFAULTS: LifecycleContextSlice = {\n currentStage: null,\n stageEnteredAt: null,\n isEnabled: false,\n isLoading: false,\n hasReachedStage: () => false,\n activationProgress: {\n criteriaMet: {},\n criteria: [],\n totalCriteria: 0,\n metCriteria: 0,\n isFullyActivated: false,\n },\n};\n\n// H3-10: Module-level stable fallback — prevents new object on every render outside provider\nexport const GUIDANCE_FALLBACK: GuidanceContextValue = {\n activeFlows: EMPTY_ACTIVE_FLOWS,\n flowStates: EMPTY_FLOW_STATES,\n activateFlow: () => {},\n completeElement: () => {},\n completeFlow: () => {},\n dismissFlow: () => {},\n skipFlow: () => {},\n isFlowActive: () => false,\n isFlowCompleted: () => false,\n isFlowPersistable: () => false,\n isLoading: false,\n progression: PROGRESSION_DEFAULTS,\n lifecycle: LIFECYCLE_DEFAULTS,\n};\n\n\n// ─── Internal Types ─────────────────────────────────────────────\n\n/** Merged state across all applicable scopes */\n/**\n * Minimal projection of a \"persistable\" guidance entity used by the lifecycle\n * guards (complete / dismiss / skip / completeElement) + scope resolution. Both\n * registered guidance flows AND app-config onboarding views project into this\n * shape via `persistenceRegistry`. `renderMode` is present only for real\n * guidance flows; `undefined` marks an onboarding view, which suppresses\n * `GUIDANCE_FLOW_*` events (an onboarding view is not a flow).\n */\ninterface PersistenceFlowEntry {\n ref: string;\n scope: GuidanceFlowScope;\n elements: OnboardingElement[];\n renderMode?: GuidanceRenderMode;\n}\n\ntype ScopedStates = Partial<Record<GuidanceFlowScope, GuidanceState>>;\n\n// ─── State Persistence Helpers ──────────────────────────────────\n\nfunction findApiCallOperation(\n registry: ResourceRegistryContextType['registry'],\n resourceType: string,\n operationId: string,\n) {\n const config = registry.resourceConfigurations[resourceType];\n if (!config) return null;\n return config.operations.find(\n (o: any) => o.operationIdentifier === operationId\n && o.isOperationDefault === true\n && o.isBulkOperation !== true\n && (\n o.variantType === ResourceOperationVariantType.API_CALL\n || o.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n )\n ) ?? null;\n}\n\nasync function fetchGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState | null> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { flows: {} };\n }\n}\n\nasync function createGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.CREATE);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n {\n contextualParameters: {},\n requestData: { flows: {} },\n },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch {\n // M14: Another tab may have created it — retry read\n const existingState = await fetchGuidanceState(scope, doOperation, registry);\n if (existingState) return existingState;\n return { flows: {} };\n }\n}\n\nasync function persistGuidanceState(\n scope: GuidanceFlowScope,\n state: GuidanceState,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<void> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.UPDATE);\n if (!operation) return;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n await doOperation(operationPath, { contextualParameters: {}, requestData: state });\n } catch {\n /* Best-effort persistence — ScopedResourceRegistryProvider injects scope params */\n }\n}\n\n// ─── Progression State Persistence Helpers ──────────────────────\n\ntype ProgressionScopedStates = Record<ProgressionScope, ProgressionState | null>;\n\nasync function fetchProgressionState(\n scope: ProgressionScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<ProgressionState | null> {\n const resourceType = PROGRESSION_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<ProgressionState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, valueMomentsAchieved: {}, categoriesProgress: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, valueMomentsAchieved: {}, categoriesProgress: {} };\n }\n}\n\nasync function fetchMilestoneDefinitions(analyticsEnabled: boolean): Promise<MilestoneDefinition[]> {\n if (!analyticsEnabled) {\n return [];\n }\n\n try {\n const response = await getManualCallsHttpClient().getMilestoneDefinitions({ silent: true });\n return response?.definitions ?? [];\n } catch {\n return [];\n }\n}\n\n// ─── Lifecycle State Persistence Helpers (Phase 5) ──────────────\n\ntype LifecycleScopedStates = Record<LifecycleScope, LifecycleState | null>;\n\nconst EMPTY_SCOPED_LIFECYCLE: LifecycleScopedStates = {\n [LifecycleScope.USER]: null,\n [LifecycleScope.ORGANIZATION]: null,\n};\n\nasync function fetchLifecycleState(\n scope: LifecycleScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<LifecycleState | null> {\n const resourceType = LIFECYCLE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<LifecycleState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? null;\n } catch {\n return null;\n }\n}\n\n// ─── Audience Evaluator ─────────────────────────────────────────\n\n// ─── Coexistence Enforcer ───────────────────────────────────────\n\nfunction enforceCoexistence(\n eligible: GuidanceFlowDefinition[],\n): GuidanceFlowDefinition[] {\n const sorted = [...eligible].sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));\n\n const result: GuidanceFlowDefinition[] = [];\n let hasOverlay = false;\n let hasChecklist = false;\n\n for (const flow of sorted) {\n switch (flow.renderMode) {\n case GuidanceRenderMode.OVERLAY:\n if (!hasOverlay) {\n result.push(flow);\n hasOverlay = true;\n }\n break;\n case GuidanceRenderMode.CHECKLIST:\n if (!hasChecklist) {\n result.push(flow);\n hasChecklist = true;\n }\n break;\n case GuidanceRenderMode.INLINE:\n result.push(flow);\n break;\n }\n }\n\n return result;\n}\n\n// ─── Provider Component ─────────────────────────────────────────\n\nexport interface GuidanceContextProviderProps {\n children: React.ReactNode;\n}\n\nexport const GuidanceContextProvider: React.FC<GuidanceContextProviderProps> = ({ children }) => {\n const appContext = useContext(ApplicationContext);\n const { on, emit } = useEventBus();\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const resourceRegistry = useResourceRegistry();\n const featuresCtx = useContext(FeaturesContext);\n\n // Latest-value ref for the resource registry, read from inside the async\n // initialization effects below (guidance / progression / lifecycle).\n //\n // WHY A REF INSTEAD OF A DEP: `resourceRegistry` (and `userOrgs`) are\n // stable-INTENT service handles, but their memoized context-value identity\n // legitimately changes several times during app boot — e.g. `useUserOrgs()`\n // re-memoizes as `user`, `permissions`, `privacy`, and `organizations` resolve\n // at independent times, none of which change `applicableScopes`. If these\n // handles are listed directly in an init effect's dependency array, every such\n // identity change re-runs the effect MID-FETCH: the previous run's cleanup sets\n // `cancelled = true` (so its `if (cancelled) return` guard drops the in-flight\n // commit), while the re-run immediately hits the `initRef` re-entry guard —\n // which is only reset by the M9 scope-change effect, NOT by a handle-identity\n // change — so no replacement fetch ever starts. The net effect is that the\n // fetched guidance/progression state is silently never committed to state:\n // `flowStates` stays empty, onboarding/guidance re-appear on every load, and\n // the next user action full-replaces the persisted document. Reading the\n // registry through this render-synced ref lets each init effect depend ONLY on\n // its genuine fetch inputs (the applicable scope set + the auth gate) while\n // still using the latest handle at call time.\n const resourceRegistryRef = useRef(resourceRegistry);\n resourceRegistryRef.current = resourceRegistry;\n\n const logger = useMemo(() => LoggerFrontendService.getLogger(), []);\n const logDebug = useMemo(() => {\n const debugFn = logger.debugByType('GuidanceContext');\n logger.setDebugTypeLogging('GuidanceContext', false);\n return debugFn;\n }, [logger]);\n\n // ─── Flow Registry ──────────────────────────────────────────\n\n const flowDefinitions = useMemo<GuidanceFlowDefinition[]>(() => {\n const appFlows: GuidanceFlowDefinition[] = [];\n const frontendConfig = appContext?.frontendConfiguration;\n if (frontendConfig?.guidanceFlows) {\n appFlows.push(...frontendConfig.guidanceFlows);\n }\n\n // Compile resource-level guidance declarations into standard GuidanceFlowDefinition objects\n const resourceFlows: GuidanceFlowDefinition[] = [];\n if (resourceRegistry?.registry) {\n for (const resourceType of resourceRegistry.getAvailableResourceTypes()) {\n const config = resourceRegistry.getResourceConfiguration(resourceType);\n const guidanceDeclarations = (config as any)?.frontendConfiguration?.guidance;\n if (guidanceDeclarations && Array.isArray(guidanceDeclarations) && guidanceDeclarations.length > 0) {\n const compiled = compileResourceGuidance({\n resourceType,\n guidanceFlows: guidanceDeclarations,\n });\n resourceFlows.push(...compiled);\n }\n }\n }\n\n return [...appFlows, ...resourceFlows];\n }, [appContext?.frontendConfiguration, resourceRegistry]);\n\n // flowRegistry — guidance flows ONLY. Used by the trigger engine\n // (`tryActivateFlow`), which needs the full `GuidanceFlowDefinition`\n // (audience / renderMode / trigger). Onboarding views are deliberately NOT\n // here, so they never auto-activate and `GuidanceRenderer` never renders them\n // as overlays (they are rendered explicitly via `<EmbedOnboarding/>`).\n const flowRegistry = useMemo<Map<string, GuidanceFlowDefinition>>(() => {\n const map = new Map<string, GuidanceFlowDefinition>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, flow);\n }\n return map;\n }, [flowDefinitions]);\n\n // Onboarding views declared in app config (`<EmbedOnboarding/>` / OnboardingView\n // surfaces). They are NOT guidance flows — explicitly embedded, never triggered —\n // but they DO get a first-class persistence identity so an embedded wizard's\n // dismiss / complete / skip sticks under the view's OWN ref (no parallel\n // guidance flow required).\n const onboardingViewDefinitions = useMemo(\n () => appContext?.frontendConfiguration?.onboardingViews ?? [],\n [appContext?.frontendConfiguration],\n );\n\n // persistenceRegistry — SUPERSET of flowRegistry that also includes onboarding\n // views, projected into the minimal `PersistenceFlowEntry` shape. Used ONLY by\n // the lifecycle guards (completeElement / completeFlow / dismissFlow / skipFlow)\n // + scope resolution + the init gate — deliberately NOT by the trigger engine,\n // `activeFlows`, or `GuidanceRenderer`.\n const persistenceRegistry = useMemo<Map<string, PersistenceFlowEntry>>(() => {\n const map = new Map<string, PersistenceFlowEntry>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, {\n ref: flow.ref,\n scope: flow.scope ?? GuidanceFlowScope.USER,\n elements: flow.elements,\n renderMode: flow.renderMode,\n });\n }\n for (const view of onboardingViewDefinitions) {\n // First registration wins so an explicit guidance flow with the same ref is\n // never shadowed. Onboarding views persist under USER scope (personal\n // \"dismissed\" state); `renderMode: undefined` marks them as non-flows so the\n // guards suppress `GUIDANCE_FLOW_*` events for them.\n if (!map.has(view.ref)) {\n map.set(view.ref, {\n ref: view.ref,\n scope: GuidanceFlowScope.USER,\n elements: view.elements,\n renderMode: undefined,\n });\n }\n }\n return map;\n }, [flowDefinitions, onboardingViewDefinitions]);\n\n // True when there is anything whose persisted state must be loaded (guidance\n // flows OR onboarding views). Gates guidance-state loading + init so an app\n // with onboarding views but zero guidance flows still hydrates its state.\n const hasPersistableFlows = persistenceRegistry.size > 0;\n\n const flowScopeMap = useMemo<Record<string, GuidanceFlowScope>>(() => {\n const map: Record<string, GuidanceFlowScope> = {};\n for (const entry of persistenceRegistry.values()) {\n map[entry.ref] = entry.scope;\n }\n return map;\n }, [persistenceRegistry]);\n\n // ─── State ──────────────────────────────────────────────────\n\n const [scopedStates, setScopedStates] = useState<ScopedStates>({});\n const scopedStatesRef = useRef<ScopedStates>({});\n const [activeFlowRefs, setActiveFlowRefs] = useState<Set<string>>(new Set());\n const [isLoading, setIsLoading] = useState(true);\n const initRef = useRef(false);\n const delayTimersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map());\n const pendingFeatureActivationRefsRef = useRef<Set<string>>(new Set());\n\n const commitScopedStates = useCallback((nextStates: ScopedStates): ScopedStates => {\n scopedStatesRef.current = nextStates;\n setScopedStates(nextStates);\n return nextStates;\n }, []);\n\n const updateScopedStates = useCallback((\n updater: (prev: ScopedStates) => ScopedStates,\n ): ScopedStates => {\n const nextStates = updater(scopedStatesRef.current);\n return commitScopedStates(nextStates);\n }, [commitScopedStates]);\n\n // Progression state (Phase 4)\n const [progressionScopedStates, setProgressionScopedStates] = useState<ProgressionScopedStates>({ ...EMPTY_SCOPED_PROGRESSION });\n const [progressionIsLoading, setProgressionIsLoading] = useState(true);\n const progressionInitRef = useRef(false);\n const [milestoneDefinitions, setMilestoneDefinitions] = useState<MilestoneDefinition[]>(EMPTY_MILESTONE_DEFINITIONS);\n\n // ─── Lifecycle State (Phase 5) ────────────────────────────────\n const lifecycleConfig = appContext?.appConfig?.lifecycle;\n const lifecycleEnabled = !!lifecycleConfig?.enabled;\n const [lifecycleScopedStates, setLifecycleScopedStates] = useState<LifecycleScopedStates>({ ...EMPTY_SCOPED_LIFECYCLE });\n const [lifecycleIsLoading, setLifecycleIsLoading] = useState(lifecycleEnabled);\n const lifecycleInitRef = useRef(false);\n const lifecycleActivationCriteria = useMemo(\n () => lifecycleConfig?.activationCriteria,\n [lifecycleConfig?.activationCriteria],\n );\n const currentUserId = userOrgs.user?._id ?? null;\n const isAuthenticated = !!userOrgs.auth.accessToken;\n const analyticsEnabled = !!appContext?.appConfig?.analytics?.enabled;\n const featuresAreLoading = featuresCtx?.isLoading ?? false;\n const guidanceIsBootstrapping = isAuthenticated && hasPersistableFlows && !initRef.current;\n const guidanceIsLoading = isAuthenticated\n ? (hasPersistableFlows ? (isLoading || guidanceIsBootstrapping) : false)\n : false;\n\n // L-2.b: publish progression + lifecycle loading lifecycles to LoadingContext\n // so unrelated components can observe via `useComponentLoading({\n // customIdentifier: ContextLoadingIdentifier.PROGRESSION | .LIFECYCLE })`.\n // Local boolean state is still exposed for direct consumers (back-compat).\n //\n // `hasLoadedOnce` is intentionally **omitted** here: the progression and\n // lifecycle subsystems do not have a granular \"refresh existing data\"\n // path — every transition that flips `isLoading` back to `true` (auth\n // change, scope change, org switch) ALSO resets the underlying scoped\n // states to empty in the same render commit (see the auth-switch effect\n // and the scope-change effect above). A \"refresh\" with stale data on\n // screen never happens, so the hook's default `INITIAL` phase is the\n // correct semantic. Reading `progressionInitRef.current` /\n // `lifecycleInitRef.current` here would be misleading: those refs flip\n // to `true` at the **start** of init (as a re-entry guard), not on\n // success — they would always read `false` at emission time anyway,\n // because they're reset to `false` in the same commit that flips\n // `isLoading` back to `true`.\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.PROGRESSION,\n isLoading: progressionIsLoading,\n });\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.LIFECYCLE,\n isLoading: lifecycleIsLoading,\n });\n\n // Derive applicable scopes from current user context\n const applicableScopes = useMemo<GuidanceFlowScope[]>(() => {\n const scopes: GuidanceFlowScope[] = [GuidanceFlowScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(GuidanceFlowScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n useEffect(() => {\n scopedStatesRef.current = scopedStates;\n }, [scopedStates]);\n\n // M9: Reset init refs and org-scoped caches when applicable scopes change.\n const prevScopesRef = useRef(applicableScopes);\n useEffect(() => {\n if (prevScopesRef.current !== applicableScopes) {\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n prevScopesRef.current = applicableScopes;\n\n if (isAuthenticated && hasPersistableFlows) {\n setIsLoading(true);\n }\n if (isAuthenticated) {\n setProgressionIsLoading(true);\n }\n if (isAuthenticated && lifecycleEnabled) {\n setLifecycleIsLoading(true);\n }\n\n updateScopedStates(prev => {\n if (!(GuidanceFlowScope.ORGANIZATION in prev)) {\n return prev;\n }\n const next = { ...prev };\n delete next[GuidanceFlowScope.ORGANIZATION];\n return next;\n });\n setProgressionScopedStates(prev => ({\n ...prev,\n [ProgressionScope.ORGANIZATION]: null,\n }));\n setLifecycleScopedStates(prev => ({\n ...prev,\n [LifecycleScope.ORGANIZATION]: null,\n }));\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n for (const flow of flowDefinitions) {\n if ((flow.scope ?? GuidanceFlowScope.USER) === GuidanceFlowScope.ORGANIZATION) {\n next.delete(flow.ref);\n }\n }\n return next;\n });\n }\n }, [applicableScopes, flowDefinitions, hasPersistableFlows, isAuthenticated, lifecycleEnabled, updateScopedStates]);\n\n const previousAuthStateRef = useRef<{\n isAuthenticated: boolean;\n userId: string | null;\n }>({\n isAuthenticated,\n userId: currentUserId,\n });\n useEffect(() => {\n const previousAuthState = previousAuthStateRef.current;\n const loggedOut = previousAuthState.isAuthenticated && !isAuthenticated;\n const switchedUsers =\n previousAuthState.userId !== null\n && currentUserId !== null\n && previousAuthState.userId !== currentUserId;\n\n previousAuthStateRef.current = {\n isAuthenticated,\n userId: currentUserId,\n };\n\n if (!loggedOut && !switchedUsers) {\n return;\n }\n\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n\n commitScopedStates({});\n setActiveFlowRefs(new Set());\n setProgressionScopedStates({ ...EMPTY_SCOPED_PROGRESSION });\n setMilestoneDefinitions(EMPTY_MILESTONE_DEFINITIONS);\n setLifecycleScopedStates({ ...EMPTY_SCOPED_LIFECYCLE });\n\n setIsLoading(isAuthenticated && hasPersistableFlows);\n setProgressionIsLoading(isAuthenticated);\n setLifecycleIsLoading(isAuthenticated && lifecycleEnabled);\n }, [commitScopedStates, currentUserId, hasPersistableFlows, isAuthenticated, lifecycleEnabled]);\n\n // Flatten all flow states across scopes into a single record\n const flowStates = useMemo<Record<string, GuidanceFlowState>>(() => {\n const merged: Record<string, GuidanceFlowState> = {};\n for (const scope of applicableScopes) {\n const state = scopedStates[scope];\n if (state?.flows) {\n Object.assign(merged, state.flows);\n }\n }\n return merged;\n }, [scopedStates, applicableScopes]);\n\n // Build audience context for evaluations\n const audienceContext = useMemo<GuidanceAudienceContext>(() => {\n const completedRefs = new Set<string>();\n for (const [ref, state] of Object.entries(flowStates)) {\n if (state.status === OnboardingStatus.COMPLETED) {\n completedRefs.add(ref);\n }\n }\n const userRoles = buildFeaturePolicyRoles(userOrgs.permissions, appScope?.currentOrganizationId)\n .filter(Boolean);\n // H3-3: Collect user features from FeaturesContext (resolved features from backend)\n const userFeatures: string[] = featuresCtx?.resolvedFeatures?.features ?? [];\n const featureLimits = featuresCtx?.resolvedFeatures?.limits ?? {};\n const currentUsage = featuresCtx?.resolvedFeatures?.currentUsage ?? {};\n return {\n userRoles,\n userFeatures,\n featureLimits,\n currentUsage,\n completedFlowRefs: completedRefs,\n userCreatedAt: userOrgs.user?.createdAt ? new Date(userOrgs.user.createdAt) : undefined,\n };\n }, [\n flowStates,\n userOrgs.permissions,\n appScope?.currentOrganizationId,\n userOrgs.user?.createdAt,\n featuresCtx?.resolvedFeatures?.features,\n featuresCtx?.resolvedFeatures?.limits,\n featuresCtx?.resolvedFeatures?.currentUsage,\n ]);\n\n // ─── Initialization ─────────────────────────────────────────\n\n // H3-8: Abort guard prevents setState on unmounted/stale effect\n useEffect(() => {\n if (initRef.current || !hasPersistableFlows || !isAuthenticated) return;\n initRef.current = true;\n let cancelled = false;\n\n const initialize = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing guidance state', { scopes: applicableScopes, flowCount: persistenceRegistry.size });\n\n const stateResults = await Promise.allSettled(\n applicableScopes.map(async (scope) => {\n let state = await fetchGuidanceState(scope, registry.doOperation, registry.registry);\n if (state === null) {\n logDebug(`Auto-creating guidance state for scope ${scope}`);\n state = await createGuidanceState(scope, registry.doOperation, registry.registry);\n }\n return { scope, state };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: ScopedStates = {};\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with any concurrent WS updates\n updateScopedStates(prev => ({ ...prev, ...newStates }));\n setIsLoading(false);\n logDebug('Guidance state loaded', { scopeCount: Object.keys(newStates).length });\n };\n\n initialize();\n return () => { cancelled = true; };\n // Deps are the genuine fetch inputs ONLY: the applicable scope set + the\n // auth gate + the persistable-flows gate. Service handles (resourceRegistry)\n // are read via ref so their boot-time identity churn cannot cancel the\n // in-flight fetch before it commits. logDebug / updateScopedStates are stable\n // (useMemo/useCallback with stable deps).\n }, [hasPersistableFlows, applicableScopes, isAuthenticated, logDebug, updateScopedStates]);\n\n // ─── Progression Initialization (Phase 4) ──────────────────\n\n const progressionApplicableScopes = useMemo<ProgressionScope[]>(() => {\n const scopes: ProgressionScope[] = [ProgressionScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(ProgressionScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for progression init\n useEffect(() => {\n if (progressionInitRef.current || !isAuthenticated) return;\n progressionInitRef.current = true;\n let cancelled = false;\n\n const initializeProgression = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing progression state', { scopes: progressionApplicableScopes });\n\n const [stateResults, definitions] = await Promise.all([\n Promise.allSettled(\n progressionApplicableScopes.map(async (scope) => {\n const state = await fetchProgressionState(scope, registry.doOperation, registry.registry);\n return { scope, state };\n }),\n ),\n fetchMilestoneDefinitions(analyticsEnabled),\n ]);\n\n if (cancelled) return;\n\n const newStates: ProgressionScopedStates = { ...EMPTY_SCOPED_PROGRESSION };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setProgressionScopedStates(prev => ({ ...prev, ...newStates }));\n if (definitions.length > 0) {\n setMilestoneDefinitions(definitions);\n }\n setProgressionIsLoading(false);\n logDebug('Progression state loaded', {\n scopeCount: Object.values(newStates).filter(Boolean).length,\n milestoneDefinitionCount: definitions.length,\n });\n };\n\n initializeProgression();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + analytics gate + auth gate).\n // resourceRegistry read via ref; appContext dropped (only its derived\n // `analyticsEnabled` boolean is used, and it is already a dep).\n }, [analyticsEnabled, progressionApplicableScopes, isAuthenticated, logDebug]);\n\n // ─── Lifecycle Initialization (Phase 5) ─────────────────────\n\n const lifecycleApplicableScopes = useMemo<LifecycleScope[]>(() => {\n if (!lifecycleEnabled) return [];\n const scopes: LifecycleScope[] = [LifecycleScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(LifecycleScope.ORGANIZATION);\n }\n return scopes;\n }, [lifecycleEnabled, appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for lifecycle init\n useEffect(() => {\n if (lifecycleInitRef.current || !isAuthenticated || !lifecycleEnabled) {\n return;\n }\n lifecycleInitRef.current = true;\n let cancelled = false;\n\n const initializeLifecycle = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n setLifecycleIsLoading(true);\n logDebug('Initializing lifecycle state', { scopes: lifecycleApplicableScopes });\n\n const stateResults = await Promise.allSettled(\n lifecycleApplicableScopes.map(async (scope) => {\n const state = await fetchLifecycleState(scope, registry.doOperation, registry.registry);\n return { scope, state: state ?? GuidanceStateUtils.createInitialLifecycleState() };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: LifecycleScopedStates = { ...EMPTY_SCOPED_LIFECYCLE };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setLifecycleScopedStates(prev => ({ ...prev, ...newStates }));\n setLifecycleIsLoading(false);\n logDebug('Lifecycle state loaded', { scopeCount: Object.values(newStates).filter(Boolean).length });\n };\n\n initializeLifecycle();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + lifecycle gate + auth gate).\n // resourceRegistry read via ref so boot-time identity churn cannot cancel\n // the in-flight fetch before it commits.\n }, [lifecycleApplicableScopes, isAuthenticated, lifecycleEnabled, logDebug]);\n\n // ─── State Mutation Helpers ─────────────────────────────────\n\n const resolveFlowStateScope = useCallback((\n flowRef: string,\n candidateStates: ScopedStates = scopedStatesRef.current,\n ): GuidanceFlowScope => {\n const matchingScopes = [GuidanceFlowScope.USER, GuidanceFlowScope.ORGANIZATION].filter(\n (scope) => candidateStates[scope]?.flows?.[flowRef] !== undefined,\n );\n const activeScope = matchingScopes.find(\n (scope) => candidateStates[scope]?.flows?.[flowRef]?.status === OnboardingStatus.IN_PROGRESS,\n );\n\n return activeScope\n ?? matchingScopes[0]\n ?? flowScopeMap[flowRef]\n ?? GuidanceFlowScope.USER;\n }, [flowScopeMap]);\n\n // H5: Compute the persisted state synchronously from the latest committed ref.\n // React may defer functional state updaters, so deriving persistence payloads\n // from inside `setState(...)` can skip writes entirely at runtime.\n const updateFlowState = useCallback((\n flowRef: string,\n updater: (prev: GuidanceFlowState) => GuidanceFlowState,\n options?: {\n scopeOverride?: GuidanceFlowScope;\n },\n ) => {\n const currentScopedStates = scopedStatesRef.current;\n const scope = options?.scopeOverride ?? resolveFlowStateScope(flowRef, currentScopedStates);\n const scopeState = currentScopedStates[scope] ?? { flows: {} };\n const currentFlowState = scopeState.flows[flowRef] ?? {\n status: OnboardingStatus.NOT_STARTED,\n elements: {},\n triggerCount: 0,\n };\n const updatedFlowState = updater(currentFlowState);\n const nextScopeState = {\n ...scopeState,\n flows: { ...scopeState.flows, [flowRef]: updatedFlowState },\n };\n\n commitScopedStates({\n ...currentScopedStates,\n [scope]: nextScopeState,\n });\n void persistGuidanceState(\n scope,\n nextScopeState,\n resourceRegistry.doOperation,\n resourceRegistry.registry,\n );\n }, [commitScopedStates, resolveFlowStateScope, resourceRegistry]);\n\n // ─── Trigger Engine ─────────────────────────────────────────\n\n const tryActivateFlow = useCallback((flowRef: string) => {\n const flow = flowRegistry.get(flowRef);\n if (!flow) return;\n const scope = flowScopeMap[flowRef] ?? GuidanceFlowScope.USER;\n if (!applicableScopes.includes(scope)) return;\n if (featuresAreLoading && flow.audience?.requiredFeatures) {\n pendingFeatureActivationRefsRef.current.add(flowRef);\n return;\n }\n\n const state = flowStates[flowRef];\n\n // H3-4: Block terminal (completed / dismissed / skipped) flows from re-activating\n if (isTerminalOnboardingStatus(state?.status)) return;\n if (state?.status === OnboardingStatus.IN_PROGRESS && activeFlowRefs.has(flowRef)) return;\n\n if (!evaluateGuidanceAudience(flow.audience, audienceContext)) return;\n\n logDebug(`Activating flow: ${flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(flowRef);\n return next;\n });\n\n // H3-1 + H3-2: Set IN_PROGRESS and increment triggerCount\n updateFlowState(flowRef, prev => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }));\n\n emit(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, {\n flowRef,\n renderMode: flow.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }, [flowRegistry, flowStates, activeFlowRefs, audienceContext, flowScopeMap, applicableScopes, emit, logDebug, updateFlowState, featuresAreLoading]);\n\n // FIRST_VISIT trigger: run after each relevant state load boundary.\n useEffect(() => {\n if (guidanceIsLoading || featuresAreLoading || flowDefinitions.length === 0) return;\n\n for (const flow of flowDefinitions) {\n if (flow.trigger.type !== OnboardingTriggerType.FIRST_VISIT) continue;\n const state = flowStates[flow.ref];\n if (!state || state.triggerCount === 0) {\n tryActivateFlow(flow.ref);\n }\n }\n // Re-run after load boundaries or scope changes, but not on every flow-state mutation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, featuresAreLoading, applicableScopes]);\n\n useEffect(() => {\n if (featuresAreLoading || pendingFeatureActivationRefsRef.current.size === 0) {\n return;\n }\n\n const pendingFlowRefs = Array.from(pendingFeatureActivationRefsRef.current);\n pendingFeatureActivationRefsRef.current.clear();\n\n for (const flowRef of pendingFlowRefs) {\n tryActivateFlow(flowRef);\n }\n }, [featuresAreLoading, tryActivateFlow]);\n\n // H3-11: Pre-compile route-match regexes to avoid ReDoS on every navigation event\n const routeFlowsCompiled = useMemo(() =>\n flowDefinitions\n .filter(f => f.trigger.type === OnboardingTriggerType.ROUTE_MATCH && f.trigger.routePattern)\n .map(f => {\n try {\n return { ...f, _compiledPattern: new RegExp(f.trigger.routePattern!) };\n } catch {\n return null;\n }\n })\n .filter((f): f is NonNullable<typeof f> => f !== null),\n [flowDefinitions],\n );\n\n // ROUTE_MATCH trigger: subscribe to navigation pane changes\n useEffect(() => {\n if (guidanceIsLoading || routeFlowsCompiled.length === 0) return;\n\n return on(FrontendEvents.NAVIGATION_ZONE_CHANGED, (payload) => {\n const currentPath = (payload.currentContent as { urlPath?: string })?.urlPath;\n if (!currentPath) return;\n\n for (const flow of routeFlowsCompiled) {\n if (flow._compiledPattern.test(currentPath)) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, routeFlowsCompiled, on, tryActivateFlow]);\n\n // EVENT trigger: subscribe to resource success events\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const eventFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.EVENT && f.trigger.eventName);\n if (eventFlows.length === 0) return;\n\n return on(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, (payload) => {\n const eventName = `${payload.resourceType}:${payload.operationIdentifier}`;\n for (const flow of eventFlows) {\n if (flow.trigger.eventName === eventName || flow.trigger.eventName === payload.operationIdentifier) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, flowDefinitions, on, tryActivateFlow]);\n\n // H4: Stable ref for tryActivateFlow — prevents DELAYED timers from restarting on every state change\n const tryActivateFlowRef = useRef(tryActivateFlow);\n useEffect(() => { tryActivateFlowRef.current = tryActivateFlow; }, [tryActivateFlow]);\n\n // DELAYED trigger: start timers after state loads\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const delayedFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.DELAYED && f.trigger.delayMs);\n if (delayedFlows.length === 0) return;\n\n for (const flow of delayedFlows) {\n if (delayTimersRef.current.has(flow.ref)) continue;\n const timer = setTimeout(() => {\n tryActivateFlowRef.current(flow.ref);\n delayTimersRef.current.delete(flow.ref);\n }, flow.trigger.delayMs!);\n delayTimersRef.current.set(flow.ref, timer);\n }\n\n return () => {\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, flowDefinitions]);\n\n // ─── Active Flows (with coexistence enforcement) ────────────\n\n const activeFlows = useMemo<GuidanceFlowDefinition[]>(() => {\n const eligible = flowDefinitions.filter(f => activeFlowRefs.has(f.ref));\n return enforceCoexistence(eligible);\n }, [flowDefinitions, activeFlowRefs]);\n\n // ─── Public API ─────────────────────────────────────────────\n\n // H3-9: Guard activateFlow against pre-init — no-op while loading\n const activateFlow = useCallback((ref: string) => {\n if (guidanceIsLoading) return;\n tryActivateFlow(ref);\n }, [tryActivateFlow, guidanceIsLoading]);\n\n const completeElement = useCallback((\n flowRef: string,\n elementRef: string,\n data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number },\n ) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n\n // L18: Validate survey answers against schema before persisting\n let validatedSurveyAnswers: Record<string, string | number | boolean | string[]> | undefined;\n if (data?.surveyAnswers) {\n const sanitized: Record<string, string | number | boolean | string[]> = {};\n for (const [key, value] of Object.entries(data.surveyAnswers)) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n sanitized[key] = value;\n } else if (Array.isArray(value) && value.every(v => typeof v === 'string')) {\n sanitized[key] = value as string[];\n }\n }\n validatedSurveyAnswers = sanitized;\n }\n\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: prev.status === OnboardingStatus.NOT_STARTED ? OnboardingStatus.IN_PROGRESS : prev.status,\n elements: {\n ...prev.elements,\n [elementRef]: {\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n surveyAnswers: validatedSurveyAnswers,\n lastStepIndex: data?.lastStepIndex,\n },\n },\n }));\n\n // GUIDANCE_* events are flow-only: skip for onboarding views (no renderMode).\n const entry = persistenceRegistry.get(flowRef);\n if (entry?.renderMode) {\n const element = entry.elements.find(e => e.ref === elementRef);\n if (element) {\n emit(FrontendEvents.GUIDANCE_ELEMENT_COMPLETED, {\n flowRef,\n elementRef,\n elementType: element.type,\n });\n }\n }\n\n logDebug(`Element completed: ${flowRef}/${elementRef}`);\n }, [updateFlowState, persistenceRegistry, emit, logDebug]);\n\n const completeFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A flow shown by a direct renderer (standalone OnboardingView) may still be\n // NOT_STARTED/undefined when the user completes it (it is never routed through\n // the trigger engine), so allow any non-terminal status to reach COMPLETED —\n // mirrors dismiss/skip and keeps the four lifecycle guards aligned.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_COMPLETED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow completed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const dismissFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A standalone OnboardingView persists its dismiss through this flow ref\n // without ever activating the flow, so it is typically NOT_STARTED/undefined\n // at first dismiss; allow any non-terminal status to be dismissed (mirrors\n // skip) so the dismissal is actually persisted to the backend.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_DISMISSED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow dismissed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const skipFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state\n // (mirrors complete/dismiss via the shared predicate).\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.SKIPPED,\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n logDebug(`Flow skipped: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, logDebug]);\n\n const isFlowActive = useCallback((ref: string): boolean => {\n return activeFlowRefs.has(ref);\n }, [activeFlowRefs]);\n\n const isFlowCompleted = useCallback((ref: string): boolean => {\n return flowStates[ref]?.status === OnboardingStatus.COMPLETED;\n }, [flowStates]);\n\n // True for guidance flows AND app-config onboarding views — see persistenceRegistry.\n const isFlowPersistable = useCallback((ref: string): boolean => {\n return persistenceRegistry.has(ref);\n }, [persistenceRegistry]);\n\n // ─── WS / EventBus Subscriptions ───────────────────────────\n\n // Listen for backend-pushed guidance events\n useEffect(() => {\n const unsubActivated = on(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend activated flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubCompleted = on(FrontendEvents.GUIDANCE_FLOW_COMPLETED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend completed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubDismissed = on(FrontendEvents.GUIDANCE_FLOW_DISMISSED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend dismissed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n return () => {\n unsubActivated();\n unsubCompleted();\n unsubDismissed();\n };\n }, [on, logDebug, updateFlowState]);\n\n // ─── Progression WS Subscription (Phase 4) ────────────────\n\n useEffect(() => {\n const unsubMilestone = on(FrontendEvents.MILESTONE_ACHIEVED, (payload: FrontendEvent_MilestoneAchieved) => {\n logDebug(`Milestone achieved: ${payload.milestoneRef} (scope: ${payload.scope})`);\n\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n milestonesAchieved: {\n ...current.milestonesAchieved,\n [payload.milestoneRef]: {\n achievedAt: new Date(),\n count: 1,\n },\n },\n totalPoints: payload.totalPoints,\n categoriesProgress: {\n ...current.categoriesProgress,\n [payload.category]: {\n completedCount: (current.categoriesProgress[payload.category]?.completedCount ?? 0) + 1,\n totalPoints: (current.categoriesProgress[payload.category]?.totalPoints ?? 0) + (payload.points ?? 0),\n },\n },\n },\n };\n });\n\n // M11: Re-fetch features + notify user when a feature is unlocked\n if (payload.reward?.type === MilestoneRewardType.FEATURE_UNLOCK) {\n featuresCtx?.refetch();\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.feature_unlock.${payload.milestoneRef}`,\n data: {\n milestoneRef: payload.milestoneRef,\n featureRef: payload.reward.featureRef,\n },\n });\n }\n\n // C3: Trigger celebration overlay for celebration-type rewards\n if (payload.reward?.type === MilestoneRewardType.CELEBRATION && payload.reward?.celebrationLevel) {\n const levelToMode: Record<string, CelebrationDisplayMode> = {\n low: CelebrationDisplayMode.CONFETTI,\n medium: CelebrationDisplayMode.OVERLAY,\n high: CelebrationDisplayMode.LOTTIE,\n };\n const mode = levelToMode[payload.reward.celebrationLevel] ?? CelebrationDisplayMode.CONFETTI;\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.${payload.milestoneRef}`,\n data: {\n frontendDisplayHints: { celebration: { mode } },\n milestoneRef: payload.milestoneRef,\n category: payload.category,\n points: payload.points,\n },\n });\n }\n });\n\n // Progression progress (non-achievement): merge the authoritative\n // post-increment operationCounts so in-progress milestone bars advance live\n // (e.g. 8/10 → 9/10) without waiting for achievement or a page reload. The\n // MILESTONE_ACHIEVED handler above owns milestonesAchieved / categories /\n // celebration; here we only refresh counts + totalPoints.\n const unsubProgressionUpdate = on(FrontendEvents.PROGRESSION_UPDATED, (payload: FrontendEvent_ProgressionUpdated) => {\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n operationCounts: payload.operationCounts,\n totalPoints: payload.totalPoints,\n },\n };\n });\n });\n\n return () => {\n unsubMilestone();\n unsubProgressionUpdate();\n };\n }, [on, logDebug, emit, featuresCtx]);\n\n // ─── Lifecycle WS Subscription (Phase 5) ────────────────────\n\n useEffect(() => {\n if (!lifecycleEnabled) return;\n\n const unsubLifecycle = on(FrontendEvents.LIFECYCLE_STAGE_CHANGED, (payload: FrontendEvent_LifecycleStageChanged) => {\n logDebug(`Lifecycle stage changed: ${payload.previousStage} → ${payload.newStage} (scope: ${payload.scope})`);\n\n const scope = payload.scope as LifecycleScope;\n setLifecycleScopedStates(prev => {\n const current = prev[scope] ?? GuidanceStateUtils.createInitialLifecycleState(new Date(payload.changedAt));\n const changedAtDate = new Date(payload.changedAt);\n const updatedHistory = [...current.stageHistory];\n if (updatedHistory.length > 0 && !updatedHistory[0].exitedAt) {\n updatedHistory[0] = { ...updatedHistory[0], exitedAt: changedAtDate };\n }\n updatedHistory.unshift({\n stage: payload.newStage,\n enteredAt: changedAtDate,\n trigger: payload.trigger,\n });\n return {\n ...prev,\n [scope]: {\n ...current,\n currentStage: payload.newStage,\n stageEnteredAt: changedAtDate,\n stageHistory: updatedHistory,\n ...(payload.activationCriteriaMet ? { activationCriteriaMet: payload.activationCriteriaMet } : {}),\n },\n };\n });\n });\n\n return () => {\n unsubLifecycle();\n };\n }, [on, logDebug, lifecycleEnabled]);\n\n // ─── Progression Context Slice (Phase 4) ───────────────────\n\n const progressionSlice = useMemo<ProgressionContextSlice>(() => {\n const isMilestoneAchieved = (milestoneRef: string): boolean => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state?.milestonesAchieved[milestoneRef]) return true;\n }\n return false;\n };\n\n const getMilestoneAchievement = (milestoneRef: string): ProgressionMilestoneAchieved | undefined => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const achievement = state?.milestonesAchieved[milestoneRef];\n if (achievement) return achievement;\n }\n return undefined;\n };\n\n const getCategoryProgress = (category: string): ProgressionCategoryProgress | undefined => {\n let merged: ProgressionCategoryProgress | undefined;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const catProgress = state?.categoriesProgress[category];\n if (catProgress) {\n if (!merged) {\n merged = { completedCount: 0, totalPoints: 0 };\n }\n merged.completedCount += catProgress.completedCount;\n merged.totalPoints += catProgress.totalPoints;\n }\n }\n return merged;\n };\n\n let totalPoints = 0;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state) {\n totalPoints += state.totalPoints;\n }\n }\n\n return {\n scopedStates: progressionScopedStates,\n isMilestoneAchieved,\n getMilestoneAchievement,\n getCategoryProgress,\n totalPoints,\n milestoneDefinitions,\n isLoading: progressionIsLoading,\n };\n }, [progressionScopedStates, progressionIsLoading, milestoneDefinitions]);\n\n // ─── Lifecycle Context Slice (Phase 5) ─────────────────────\n\n const lifecycleSlice = useMemo<LifecycleContextSlice>(() => {\n if (!lifecycleEnabled) return LIFECYCLE_DEFAULTS;\n\n // Use USER scope as the primary lifecycle state (most common)\n const primaryState = lifecycleScopedStates[LifecycleScope.USER];\n\n const currentStage = primaryState?.currentStage ?? null;\n const stageEnteredAt = primaryState?.stageEnteredAt ? new Date(primaryState.stageEnteredAt) : null;\n\n const hasReachedStage = (stage: LifecycleStage): boolean => {\n if (!primaryState) return false;\n return hasReachedStageUtil(primaryState, stage);\n };\n\n // Build activation progress from criteria config + state\n const criteriaMet = primaryState?.activationCriteriaMet ?? {};\n const criteria = lifecycleActivationCriteria?.criteria ?? [];\n const totalCriteria = criteria.length;\n const metCriteria = Object.values(criteriaMet).filter(Boolean).length;\n\n return {\n currentStage,\n stageEnteredAt,\n isEnabled: true,\n isLoading: lifecycleIsLoading,\n hasReachedStage,\n activationProgress: {\n criteriaMet,\n criteria,\n totalCriteria,\n metCriteria,\n isFullyActivated: totalCriteria > 0 ? metCriteria >= totalCriteria : currentStage !== LifecycleStage.SIGNED_UP,\n },\n };\n }, [lifecycleEnabled, lifecycleScopedStates, lifecycleIsLoading, lifecycleActivationCriteria]);\n\n // ─── Context Value ──────────────────────────────────────────\n\n // M8/L19: Context re-render isolation analysis\n // The context value depends on 13 values — any change creates a new value and re-renders all consumers.\n // Options considered:\n // 1. Split into separate contexts (GuidanceContext, ProgressionContext, LifecycleContext) — most effective\n // 2. useSyncExternalStore with granular subscriptions — less invasive\n // 3. Accept current behavior + optimize consumers with React.memo\n // Decision: Option 3 for v1. The provider-level useMemo on progressionSlice and lifecycleSlice\n // ensures reference stability for the most commonly-used slices. Hook-level useMemo in\n // useLifecycle() and useProgression() provides additional stability.\n // Revisit if profiling shows re-render performance issues.\n const contextValue = useMemo<GuidanceContextValue>(() => ({\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n isLoading: guidanceIsLoading,\n progression: progressionSlice,\n lifecycle: lifecycleSlice,\n }), [\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n guidanceIsLoading,\n progressionSlice,\n lifecycleSlice,\n ]);\n\n return (\n <GuidanceContext.Provider value={contextValue}>\n {children}\n </GuidanceContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"GuidanceContext.js","sourceRoot":"","sources":["../../../../../src/core/guidance/GuidanceContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Guidance Context Provider\n *\n * Central frontend context for managing guidance flows (onboarding, tooltips,\n * tours, banners, surveys, checklists). Provides:\n * - Multi-scope state management (USER / ORGANIZATION)\n * - 5 trigger types (FIRST_VISIT, ROUTE_MATCH, EVENT, DELAYED, MANUAL)\n * - Audience evaluation (roles, features, completed flows, creation date)\n * - Coexistence rules (max 1 overlay, max 1 checklist, N inline)\n * - Real-time sync via EventBus\n */\n\nimport React, { createContext, useContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type {\n GuidanceFlowDefinition,\n GuidanceFlowState,\n OnboardingElement,\n GuidanceState,\n GuidanceAudience,\n ProgressionState,\n ProgressionMilestoneAchieved,\n ProgressionCategoryProgress,\n MilestoneDefinition,\n LifecycleState,\n WS_LifecycleStageChangedPayload,\n ActivationCriterion,\n} from '@wildo-ai/saas-models';\nimport {\n CoreResourceType,\n GuidanceFlowScope,\n GuidanceRenderMode,\n GUIDANCE_SCOPE_TO_RESOURCE,\n OnboardingTriggerType,\n OnboardingStatus,\n isTerminalOnboardingStatus,\n ProgressionScope,\n PROGRESSION_SCOPE_TO_RESOURCE,\n LifecycleStage,\n LifecycleScope,\n LIFECYCLE_SCOPE_TO_RESOURCE,\n GuidanceStateUtils,\n hasReachedStage as hasReachedStageUtil,\n MilestoneRewardType,\n CelebrationDisplayMode,\n resolveCelebrationDisplayMode,\n CoreResourceOperation,\n GUIDANCE_SCOPE_TO_LIFECYCLE_SCOPE,\n GUIDANCE_SCOPE_TO_PROGRESSION_SCOPE,\n OnboardingElementType,\n ResourceOperationVariantType,\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport { compileResourceGuidance } from './guidance-resource-compiler.shared.utils';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { FrontendEvent_GuidanceFlow, FrontendEvent_MilestoneAchieved, FrontendEvent_ProgressionUpdated, FrontendEvent_LifecycleStageChanged } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { ResourceRegistryContextType } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport { FeaturesContext } from '~wildo-frontend-lib/core/features/FeaturesContext';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { errorManagement } from '~wildo-frontend-lib/core/errors/error-management.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport {\n evaluateGuidanceAudience,\n type GuidanceAudienceContext,\n} from './guidance-audience.frontend.utils';\n\n// ─── Progression Context Slice (Phase 4) ────────────────────────\n\nexport interface ProgressionContextSlice {\n /** Scoped progression states — separate state per active scope */\n scopedStates: Record<ProgressionScope, ProgressionState | null>;\n /** Quick lookup: is a specific milestone achieved? (searches all scopes) */\n isMilestoneAchieved: (milestoneRef: string) => boolean;\n /** Get achievement details for a milestone (searches all scopes) */\n getMilestoneAchievement: (milestoneRef: string) => ProgressionMilestoneAchieved | undefined;\n /** Get progress for a category (merged across scopes) */\n getCategoryProgress: (category: string) => ProgressionCategoryProgress | undefined;\n /** Total points (summed across all scopes) */\n totalPoints: number;\n /** All milestone definitions (for display) */\n milestoneDefinitions: MilestoneDefinition[];\n /** Whether initial progression state is still loading */\n isLoading: boolean;\n}\n\n// ─── Lifecycle Context Slice (Phase 5) ───────────────────────────\n\nexport interface LifecycleContextSlice {\n /** Current lifecycle stage (null if system disabled or loading) */\n currentStage: LifecycleStage | null;\n /** When the current stage was entered */\n stageEnteredAt: Date | null;\n /** Whether lifecycle system is enabled (from app config) */\n isEnabled: boolean;\n /** Whether initial state is loading */\n isLoading: boolean;\n /** Check if user has reached at least a specific stage */\n hasReachedStage: (stage: LifecycleStage) => boolean;\n /** Activation progress (which criteria are met) */\n activationProgress: {\n criteriaMet: Record<string, boolean>;\n /** Full activation criteria definitions (for tActivationCriterion dispatch) */\n criteria: ActivationCriterion[];\n totalCriteria: number;\n metCriteria: number;\n isFullyActivated: boolean;\n };\n}\n\n// ─── Context Value Interface ────────────────────────────────────\n\nexport interface GuidanceContextValue {\n /** Currently active (visible) guidance flow definitions */\n activeFlows: GuidanceFlowDefinition[];\n /** All flow states keyed by flow ref (across all scopes) */\n flowStates: Record<string, GuidanceFlowState>;\n /** Manually activate a flow by ref (MANUAL trigger or re-activate) */\n activateFlow: (ref: string) => void;\n /**\n * Record that an active flow was actually SHOWN — the moment its once-per-user\n * occasion is spent. Called by the renderer, the only layer that knows whether the\n * flow's copy exists; activation alone persists nothing (#539). Idempotent per\n * activation, and a no-op for a flow that is not active.\n */\n recordFlowPresented: (ref: string) => void;\n /**\n * Report that a flow resolved to ZERO presented elements, so it stops holding the single OVERLAY\n * slot against a flow that would render. The renderer is the only party that can know.\n */\n reportFlowNotPresentable: (ref: string, notPresentable: boolean) => void;\n /** Mark a specific element within a flow as completed */\n /**\n * Record an element complete, and — for a survey that binds to a resource — write its answers\n * first (#1372).\n *\n * REJECTS when a bound write is refused, and records nothing in that case, so the person keeps\n * what they filled in. A caller that completes an element which cannot bind (every type but\n * SURVEY, and every unbound survey) may ignore the promise exactly as before; only a renderer\n * that can surface a failure needs to await it.\n */\n completeElement: (flowRef: string, elementRef: string, data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number; declineResourceBinding?: boolean }) => Promise<void>;\n /** Mark an entire flow as completed */\n completeFlow: (flowRef: string) => void;\n /** Dismiss a flow (user closed it; may re-trigger later based on config) */\n dismissFlow: (flowRef: string) => void;\n /** Skip a flow (user chose to skip; recorded as SKIPPED status) */\n skipFlow: (flowRef: string) => void;\n /** Check if a flow is currently active */\n isFlowActive: (ref: string) => boolean;\n /** Check if a flow has been completed */\n isFlowCompleted: (ref: string) => boolean;\n /**\n * Whether a ref has a persistence identity in this context — i.e. it is a\n * registered guidance flow OR an app-config onboarding view. A standalone\n * `OnboardingView` uses this to know whether dismiss/complete/skip under its\n * `doc.ref` will actually persist (vs. transient local-only state).\n */\n isFlowPersistable: (ref: string) => boolean;\n /** Whether guidance state is still loading */\n isLoading: boolean;\n /** Progression sub-object — added by Phase 4.\n * Separate from guidance but co-located in the same context to avoid provider multiplication.\n * useProgression() hook selects only this slice. */\n progression: ProgressionContextSlice;\n /** Lifecycle sub-object — added by Phase 5.\n * Tracks user lifecycle stage (signed_up → activated → engaged → dormant → reactivated).\n * useLifecycle() hook selects only this slice. */\n lifecycle: LifecycleContextSlice;\n}\n\n// ─── Context ────────────────────────────────────────────────────\n\n// Note: useGuidance / useLifecycle / useProgression hooks are in useGuidance.ts for React Fast Refresh compatibility.\nexport const GuidanceContext = createContext<GuidanceContextValue | null>(null);\n\nconst EMPTY_ACTIVE_FLOWS: GuidanceFlowDefinition[] = [];\nconst EMPTY_FLOW_STATES: Record<string, GuidanceFlowState> = {};\nconst EMPTY_MILESTONE_DEFINITIONS: MilestoneDefinition[] = [];\nconst EMPTY_SCOPED_PROGRESSION: Record<ProgressionScope, ProgressionState | null> = {\n [ProgressionScope.USER]: null,\n [ProgressionScope.ORGANIZATION]: null,\n};\n\nexport const PROGRESSION_DEFAULTS: ProgressionContextSlice = {\n scopedStates: EMPTY_SCOPED_PROGRESSION,\n isMilestoneAchieved: () => false,\n getMilestoneAchievement: () => undefined,\n getCategoryProgress: () => undefined,\n totalPoints: 0,\n milestoneDefinitions: EMPTY_MILESTONE_DEFINITIONS,\n isLoading: false,\n};\n\nexport const LIFECYCLE_DEFAULTS: LifecycleContextSlice = {\n currentStage: null,\n stageEnteredAt: null,\n isEnabled: false,\n isLoading: false,\n hasReachedStage: () => false,\n activationProgress: {\n criteriaMet: {},\n criteria: [],\n totalCriteria: 0,\n metCriteria: 0,\n isFullyActivated: false,\n },\n};\n\n// H3-10: Module-level stable fallback — prevents new object on every render outside provider\nexport const GUIDANCE_FALLBACK: GuidanceContextValue = {\n activeFlows: EMPTY_ACTIVE_FLOWS,\n flowStates: EMPTY_FLOW_STATES,\n activateFlow: () => {},\n recordFlowPresented: () => {},\n reportFlowNotPresentable: () => {},\n completeElement: async () => {},\n completeFlow: () => {},\n dismissFlow: () => {},\n skipFlow: () => {},\n isFlowActive: () => false,\n isFlowCompleted: () => false,\n isFlowPersistable: () => false,\n isLoading: false,\n progression: PROGRESSION_DEFAULTS,\n lifecycle: LIFECYCLE_DEFAULTS,\n};\n\n\n// ─── Internal Types ─────────────────────────────────────────────\n\n/** Merged state across all applicable scopes */\n/**\n * Minimal projection of a \"persistable\" guidance entity used by the lifecycle\n * guards (complete / dismiss / skip / completeElement) + scope resolution. Both\n * registered guidance flows AND app-config onboarding views project into this\n * shape via `persistenceRegistry`. `renderMode` is present only for real\n * guidance flows; `undefined` marks an onboarding view, which suppresses\n * `GUIDANCE_FLOW_*` events (an onboarding view is not a flow).\n */\ninterface PersistenceFlowEntry {\n ref: string;\n scope: GuidanceFlowScope;\n elements: OnboardingElement[];\n renderMode?: GuidanceRenderMode;\n}\n\ntype ScopedStates = Partial<Record<GuidanceFlowScope, GuidanceState>>;\n\n// ─── State Persistence Helpers ──────────────────────────────────\n\nfunction findApiCallOperation(\n registry: ResourceRegistryContextType['registry'],\n resourceType: string,\n operationId: string,\n) {\n const config = registry.resourceConfigurations[resourceType];\n if (!config) return null;\n return config.operations.find(\n (o: any) => o.operationIdentifier === operationId\n && o.isOperationDefault === true\n && o.isBulkOperation !== true\n && (\n o.variantType === ResourceOperationVariantType.API_CALL\n || o.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n )\n ) ?? null;\n}\n\n/**\n * What a guidance-state read established — three outcomes that must never be collapsed.\n *\n * ## Why this vocabulary exists\n *\n * This read used to answer `GuidanceState | null`, which gave \"the row is empty\" and \"I could\n * not find out\" the SAME value, `{ flows: {} }`. That is indistinguishable from a brand-new\n * user, and it is load-bearing because {@link persistGuidanceState} writes the WHOLE document:\n * so one transient network failure produced an in-memory empty state, the user's next dismissal\n * built `nextScopeState` from it, and the write replaced their real onboarding history with a\n * one-entry document. Silent, permanent data loss from a recoverable error.\n *\n * - `LOADED` — the server answered; `state` is what it holds (possibly legitimately empty).\n * - `ABSENT` — the server answered NOT FOUND; no row exists yet, so one may be created.\n * This is a POSITIVE answer and is why it is not folded into `UNAVAILABLE`.\n * - `UNAVAILABLE`— the read failed for any other reason. Nothing is known about the stored\n * document, so the scope must stay out of `scopedStates` and every write for\n * it must be refused until a later read succeeds.\n */\nenum ScopedStateReadOutcome {\n LOADED = 'loaded',\n ABSENT = 'absent',\n UNAVAILABLE = 'unavailable',\n}\n\n/**\n * Shared by the guidance AND progression lanes deliberately.\n *\n * The guidance half of this was fixed first and the progression half was left behind — the same\n * `catch` collapsing an unknown into an empty value, one lane over, in the same file. A single\n * generic result type is what makes the next scoped-state reader inherit the distinction instead of\n * re-deriving it, which is the whole reason the twin existed.\n */\ntype ScopedStateReadResult<TState> =\n | { outcome: ScopedStateReadOutcome.LOADED; state: TState }\n | { outcome: ScopedStateReadOutcome.ABSENT }\n | { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n\ntype GuidanceStateReadResult = ScopedStateReadResult<GuidanceState>;\n\n/** Resource + operation pairs already reported, so a missing door is named once per session. */\nconst reportedMissingGuidanceOperations = new Set<string>();\n\n/**\n * Name a guidance door the resource registry does not expose.\n *\n * Every one of these three doors — READ, CREATE, UPDATE — answers `UNAVAILABLE` when its operation\n * is absent, and `UNAVAILABLE` correctly suppresses writes for the scope. What was missing is the\n * DISTINCTION an operator needs: a transient backend failure and a consumer registry that trims an\n * operation produce the identical, permanent symptom — guidance that appears to work and records\n * nothing — and only the second one is repaired by editing configuration rather than by waiting.\n *\n * Not reachable with the core resource configuration, where all three are `API_CALL` defaults. It\n * is reachable by any consumer that narrows the operation set, and there the message is the only\n * thing standing between the symptom and a day of debugging.\n */\nfunction reportMissingGuidanceOperation(resourceType: CoreResourceType, operation: CoreResourceOperation): void {\n const key = `${resourceType}:${operation}`;\n if (reportedMissingGuidanceOperations.has(key)) return;\n reportedMissingGuidanceOperations.add(key);\n LoggerFrontendService.getLogger().warn(\n `GuidanceContext: no default non-bulk API_CALL ${operation} operation is registered for `\n + `\"${resourceType}\". Guidance for this scope cannot be persisted and every change will be `\n + `local to the session. Register the operation, or stop declaring persistable flows for it.`,\n );\n}\n\n/**\n * The server's document with this session's own flows laid over it.\n *\n * ## Why a merge, and why this direction\n *\n * Two paths read a scope's stored document while the session may already hold local changes for it:\n * initialization, and the recovery that follows a suppressed write. Both face the same collision and\n * must resolve it the same way, which is why this is one function rather than two spreads.\n *\n * The SESSION wins per flow, because a local entry is a change the user just made and the server has\n * not seen — `updateFlowState` commits locally before it decides whether to persist, precisely so the\n * surface keeps behaving while a write is refused. The SERVER supplies every flow the session has not\n * touched, which is the history a whole-document write would otherwise overwrite.\n *\n * ## The residual, stated rather than implied\n *\n * The merge is per FLOW, not per field within a flow. For the one flow a suppressed write touched,\n * the local entry was built from `{ NOT_STARTED, elements: {}, triggerCount: 0 }` — `updateFlowState`\n * has no stored copy to start from, that being the whole problem — so the server's `elements` and\n * `triggerCount` for THAT flow are replaced rather than combined. The user's action wins, which is\n * the right answer for the status it carries; what is lost is per-element progress on a flow the user\n * has just dismissed or completed. Merging field-by-field would need a delta this path does not have.\n */\nfunction mergeScopedStateOverLocal(serverState: GuidanceState, localState: GuidanceState | undefined): GuidanceState {\n if (!localState) return serverState;\n return { ...serverState, flows: { ...serverState.flows, ...localState.flows } };\n}\n\nasync function fetchGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceStateReadResult> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n // No READ operation registered for this scope: the application cannot persist guidance here\n // at all. UNAVAILABLE rather than an empty state, so nothing is ever written back either.\n if (!operation) {\n reportMissingGuidanceOperation(resourceType, CoreResourceOperation.READ);\n return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n }\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return { outcome: ScopedStateReadOutcome.LOADED, state: result ?? { flows: {} } };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return { outcome: ScopedStateReadOutcome.ABSENT };\n return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n }\n}\n\nasync function createGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceStateReadResult> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.CREATE);\n // Same reasoning as the READ door: no CREATE operation means this scope is not persistable,\n // which is not the same fact as \"its document is empty\".\n if (!operation) {\n reportMissingGuidanceOperation(resourceType, CoreResourceOperation.CREATE);\n return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n }\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n {\n contextualParameters: {},\n requestData: { flows: {} },\n },\n { silent: true },\n );\n return { outcome: ScopedStateReadOutcome.LOADED, state: result ?? { flows: {} } };\n } catch {\n // M14: Another tab may have created it — retry read. Whatever that read establishes is the\n // answer, INCLUDING `UNAVAILABLE`: a failed create followed by a failed read tells us nothing\n // about the stored document, and inventing an empty one here is the data-loss path this\n // whole vocabulary exists to close.\n return fetchGuidanceState(scope, doOperation, registry);\n }\n}\n\nasync function persistGuidanceState(\n scope: GuidanceFlowScope,\n state: GuidanceState,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<void> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.UPDATE);\n // The write door, and the quietest of the three: this one returned with no trace at all.\n if (!operation) {\n reportMissingGuidanceOperation(resourceType, CoreResourceOperation.UPDATE);\n return;\n }\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n await doOperation(operationPath, { contextualParameters: {}, requestData: state });\n } catch {\n /* Best-effort persistence — ScopedResourceRegistryProvider injects scope params */\n }\n}\n\n// ─── Bound Survey Answers ───────────────────────────────────────\n\n/** Why a bound survey's answers could not be written. Carried to the renderer so it can say so. */\nexport enum SurveyBindingWriteOutcome {\n /** Every bound answer was written to the target resource. */\n WRITTEN = 'written',\n /** The survey binds nothing — there was no write to make, which is not a failure. */\n NOT_BOUND = 'not_bound',\n /** The target resource registers no default non-bulk API_CALL UPDATE this consumer can reach. */\n NO_OPERATION = 'no_operation',\n /** The write was attempted and refused. */\n REFUSED = 'refused',\n}\n\n/**\n * Write a bound survey's answers to the resource it names (#1372).\n *\n * ## Why this runs BEFORE the element is recorded complete\n *\n * A survey that reports success while its answers went nowhere is the defect this capability was\n * built to remove, one layer up: the person answered, the element went green, and the row stayed\n * empty. So the write is the gate. `completeElement` awaits this and records nothing unless it\n * answers `WRITTEN` or `NOT_BOUND`.\n *\n * ## The row is never addressed by id\n *\n * `ScopedResourceRegistryProvider` injects the scope parameters, exactly as it does for the\n * guidance-state write beside this one. So the target is whichever row belongs to the current\n * subject, and a binding cannot reach another subject's data by construction rather than by a check.\n *\n * ## Only answers with a declared field travel\n *\n * A question without `bindToField` stays telemetry on the guidance-state row. That keeps an\n * unbound survey exactly as it was, and means a bound survey does not silently widen into sending\n * every answer it happens to hold.\n *\n * v1 UPDATEs and does not create a missing row; a target with no row answers `REFUSED`, loudly,\n * rather than appearing to succeed.\n */\nasync function writeBoundSurveyAnswers(\n element: OnboardingElement,\n answers: Record<string, string | number | boolean | string[]> | undefined,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<SurveyBindingWriteOutcome> {\n if (element.type !== OnboardingElementType.SURVEY) return SurveyBindingWriteOutcome.NOT_BOUND;\n const survey = element as Extract<OnboardingElement, { type: OnboardingElementType.SURVEY }>;\n const resourceType = survey.bindTo?.resourceType;\n if (!resourceType) return SurveyBindingWriteOutcome.NOT_BOUND;\n\n const requestData: Record<string, string | number | boolean | string[]> = {};\n for (const question of survey.questions ?? []) {\n if (!question.bindToField) continue;\n const answer = answers?.[question.id];\n // An unanswered optional question writes nothing rather than nulling the field: the person\n // declined to say, which is not the same as asking for the stored value to be cleared.\n if (answer === undefined) continue;\n requestData[question.bindToField] = answer;\n }\n if (Object.keys(requestData).length === 0) return SurveyBindingWriteOutcome.NOT_BOUND;\n\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.UPDATE);\n if (!operation) {\n LoggerFrontendService.getLogger().warn(\n `GuidanceContext: survey \"${element.ref}\" binds to \"${resourceType}\", which registers no default `\n + 'non-bulk API_CALL UPDATE operation. Its answers cannot be written, so the survey will not complete. '\n + 'Register the operation, or remove the binding.',\n { elementRef: element.ref, resourceType },\n );\n return SurveyBindingWriteOutcome.NO_OPERATION;\n }\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n await doOperation(operationPath, { contextualParameters: {}, requestData });\n return SurveyBindingWriteOutcome.WRITTEN;\n } catch (err: unknown) {\n // NOT swallowed, unlike the guidance-state write beside it. That one is best-effort because\n // losing it costs a re-shown banner; this one carries what the person typed.\n LoggerFrontendService.getLogger().warn(\n `GuidanceContext: writing survey \"${element.ref}\" answers to \"${resourceType}\" was refused. `\n + 'The survey has not been completed, so the person can retry.',\n { elementRef: element.ref, resourceType, fields: Object.keys(requestData), error: String(err) },\n );\n return SurveyBindingWriteOutcome.REFUSED;\n }\n}\n\n// ─── Progression State Persistence Helpers ──────────────────────\n\ntype ProgressionScopedStates = Record<ProgressionScope, ProgressionState | null>;\n\nasync function fetchProgressionState(\n scope: ProgressionScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<ScopedStateReadResult<ProgressionState>> {\n const resourceType = PROGRESSION_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n // No READ operation registered for this scope — this consumer cannot reach progression at all,\n // which is not the same fact as \"this user has achieved nothing\" (#1069).\n if (!operation) return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<ProgressionState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return {\n outcome: ScopedStateReadOutcome.LOADED,\n state: result ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, valueMomentsAchieved: {}, categoriesProgress: {} },\n };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return { outcome: ScopedStateReadOutcome.ABSENT };\n /**\n * The twin of the guidance read defect, and it was left behind when that one was fixed.\n *\n * A failed read used to answer a ZEROED progression state — `totalPoints: 0`, no milestones, no\n * value moments — which is indistinguishable from a user who has genuinely achieved nothing. The\n * milestone tracker then rendered a confident \"0 points\" and an empty achievement list on a\n * transient network failure, telling the user their progress was gone.\n *\n * Unlike guidance this is NOT data loss: progression UPDATE is `INTERNAL_CALL`, so\n * `findApiCallOperation` can never resolve a write and the frontend never persists this\n * document. The damage is confined to what the user is shown — which is still a lie, and still\n * the same collapse of \"I could not find out\" into \"there is nothing\".\n */\n return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n }\n}\n\nasync function fetchMilestoneDefinitions(analyticsEnabled: boolean): Promise<MilestoneDefinition[]> {\n if (!analyticsEnabled) {\n return [];\n }\n\n try {\n const response = await getManualCallsHttpClient().getMilestoneDefinitions({ silent: true });\n return response?.definitions ?? [];\n } catch {\n return [];\n }\n}\n\n// ─── Lifecycle State Persistence Helpers (Phase 5) ──────────────\n\ntype LifecycleScopedStates = Record<LifecycleScope, LifecycleState | null>;\n\nconst EMPTY_SCOPED_LIFECYCLE: LifecycleScopedStates = {\n [LifecycleScope.USER]: null,\n [LifecycleScope.ORGANIZATION]: null,\n};\n\n/**\n * The THIRD lane of the same distinction, and the one that was left behind twice.\n *\n * `ScopedStateReadResult`'s own docblock above says it is shared \"so the next scoped-state reader\n * inherits the distinction instead of re-deriving it\" — and this reader is that next one. It\n * collapsed a missing READ operation, a 404, a network failure and a 500 into a single `null`, and\n * its caller turned that `null` into `createInitialLifecycleState()`: `currentStage: SIGNED_UP`,\n * `stagesVisited: [SIGNED_UP]`, no criteria met.\n *\n * That is not a degraded answer, it is a confident wrong one. A user who reached ENGAGED months ago\n * and whose lifecycle read hits one transient 502 was shown the onboarding activation checklist at\n * 0 of N on their own home screen, and `hasReachedStage` answered false for every stage they had\n * actually passed, for the whole session — with no re-read to recover it.\n *\n * ABSENT is the one case where the initial state is TRUTHFUL: no row means the subject really is at\n * SIGNED_UP. UNAVAILABLE means nothing is known, so the scope stays out of `lifecycleScopedStates`\n * and `currentStage` stays `null` — which `AppLayout_Home` already reads as \"show the generic\n * welcome\" rather than as a stage.\n */\nasync function fetchLifecycleState(\n scope: LifecycleScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<ScopedStateReadResult<LifecycleState>> {\n const resourceType = LIFECYCLE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n // No READ operation registered: nothing can be known about this scope's stage, ever.\n if (!operation) return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<LifecycleState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n // A 200 with no body is a row that does not exist yet — the same reading as a 404 below.\n if (!result) return { outcome: ScopedStateReadOutcome.ABSENT };\n return { outcome: ScopedStateReadOutcome.LOADED, state: result };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return { outcome: ScopedStateReadOutcome.ABSENT };\n return { outcome: ScopedStateReadOutcome.UNAVAILABLE };\n }\n}\n\n// ─── Audience Evaluator ─────────────────────────────────────────\n\n// ─── Coexistence Enforcer ───────────────────────────────────────\n\n/**\n * A flow that renders NOTHING must not hold the single OVERLAY slot.\n *\n * This admits at most one OVERLAY flow, chosen by priority, with no visibility input — while the\n * renderer skips a flow whose elements all resolve to nothing (a tooltip whose target never\n * mounted, a tour with no steps, a checklist with no container). Such a flow therefore never\n * reaches IN_PROGRESS, never reaches a terminal status, and stays in the active set for the\n * session, so a higher-priority invisible flow permanently suppressed a lower-priority one that\n * WOULD have rendered — and nothing logged it, because the renderer's missing-label warning is\n * skipped by the same early return.\n *\n * `unpresentable` is reported by the renderer, which is the only party that knows. It DEPRIORITISES\n * rather than excludes: a target that has not mounted yet is the ordinary case on first paint, and\n * dropping the flow outright would lose it the moment its element appears. So an invisible flow\n * still takes the slot when nothing else wants it, and yields the moment something else can use it.\n */\nfunction enforceCoexistence(\n eligible: GuidanceFlowDefinition[],\n unpresentableFlowRefs: ReadonlySet<string> = new Set(),\n): GuidanceFlowDefinition[] {\n const sorted = [...eligible].sort((a, b) => {\n const aUnpresentable = unpresentableFlowRefs.has(a.ref) ? 1 : 0;\n const bUnpresentable = unpresentableFlowRefs.has(b.ref) ? 1 : 0;\n if (aUnpresentable !== bUnpresentable) return aUnpresentable - bUnpresentable;\n return (a.priority ?? 100) - (b.priority ?? 100);\n });\n\n const result: GuidanceFlowDefinition[] = [];\n let hasOverlay = false;\n let hasChecklist = false;\n\n for (const flow of sorted) {\n switch (flow.renderMode) {\n case GuidanceRenderMode.OVERLAY:\n if (!hasOverlay) {\n result.push(flow);\n hasOverlay = true;\n }\n break;\n case GuidanceRenderMode.CHECKLIST:\n if (!hasChecklist) {\n result.push(flow);\n hasChecklist = true;\n }\n break;\n case GuidanceRenderMode.INLINE:\n result.push(flow);\n break;\n }\n }\n\n return result;\n}\n\n// ─── Provider Component ─────────────────────────────────────────\n\nexport interface GuidanceContextProviderProps {\n children: React.ReactNode;\n}\n\nexport const GuidanceContextProvider: React.FC<GuidanceContextProviderProps> = ({ children }) => {\n const appContext = useContext(ApplicationContext);\n const { on, emit } = useEventBus();\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const resourceRegistry = useResourceRegistry();\n const featuresCtx = useContext(FeaturesContext);\n\n // Latest-value ref for the resource registry, read from inside the async\n // initialization effects below (guidance / progression / lifecycle).\n //\n // WHY A REF INSTEAD OF A DEP: `resourceRegistry` (and `userOrgs`) are\n // stable-INTENT service handles, but their memoized context-value identity\n // legitimately changes several times during app boot — e.g. `useUserOrgs()`\n // re-memoizes as `user`, `permissions`, `privacy`, and `organizations` resolve\n // at independent times, none of which change `applicableScopes`. If these\n // handles are listed directly in an init effect's dependency array, every such\n // identity change re-runs the effect MID-FETCH: the previous run's cleanup sets\n // `cancelled = true` (so its `if (cancelled) return` guard drops the in-flight\n // commit), while the re-run immediately hits the `initRef` re-entry guard — so\n // no replacement fetch ever starts. The net effect is that the fetched\n // guidance/progression state is silently never committed to state:\n // `flowStates` stays empty, onboarding/guidance re-appear on every load, and\n // the next user action full-replaces the persisted document. Reading the\n // registry through this render-synced ref lets each init effect depend ONLY on\n // its genuine fetch inputs (the applicable scope set + the auth gate) while\n // still using the latest handle at call time.\n //\n // THE GATE ITSELF NOW RELEASES. This said the guard \"is only reset by the M9\n // scope-change effect, NOT by a handle-identity change\" — sound as the contrast\n // it was drawing (a SCOPE change resets; a handle-identity change does not), and\n // already one short read literally, since the logout/user-switch reset cleared it\n // too. Either way it is why the ref above was the whole remedy. Each init effect's\n // own cleanup now clears its re-entry ref when the run did not COMMIT, so the\n // cancel-then-blocked sequence cannot survive any re-run — which is what\n // StrictMode's deliberate remount needed, and which makes this ref an optimisation\n // (fewer wasted fetches) rather than the only thing standing between a boot and an\n // empty `flowStates`.\n const resourceRegistryRef = useRef(resourceRegistry);\n resourceRegistryRef.current = resourceRegistry;\n\n const logger = useMemo(() => LoggerFrontendService.getLogger(), []);\n const logDebug = useMemo(() => {\n const debugFn = logger.debugByType('GuidanceContext');\n logger.setDebugTypeLogging('GuidanceContext', false);\n return debugFn;\n }, [logger]);\n\n // ─── Flow Registry ──────────────────────────────────────────\n\n const flowDefinitions = useMemo<GuidanceFlowDefinition[]>(() => {\n const appFlows: GuidanceFlowDefinition[] = [];\n const frontendConfig = appContext?.frontendConfiguration;\n if (frontendConfig?.guidanceFlows) {\n appFlows.push(...frontendConfig.guidanceFlows);\n }\n\n // Compile resource-level guidance declarations into standard GuidanceFlowDefinition objects\n const resourceFlows: GuidanceFlowDefinition[] = [];\n if (resourceRegistry?.registry) {\n for (const resourceType of resourceRegistry.getAvailableResourceTypes()) {\n const config = resourceRegistry.getResourceConfiguration(resourceType);\n const guidanceDeclarations = (config as any)?.frontendConfiguration?.guidance;\n if (guidanceDeclarations && Array.isArray(guidanceDeclarations) && guidanceDeclarations.length > 0) {\n const compiled = compileResourceGuidance({\n resourceType,\n guidanceFlows: guidanceDeclarations,\n });\n resourceFlows.push(...compiled);\n }\n }\n }\n\n return [...appFlows, ...resourceFlows];\n }, [appContext?.frontendConfiguration, resourceRegistry]);\n\n // flowRegistry — guidance flows ONLY. Used by the trigger engine\n // (`tryActivateFlow`), which needs the full `GuidanceFlowDefinition`\n // (audience / renderMode / trigger). Onboarding views are deliberately NOT\n // here, so they never auto-activate and `GuidanceRenderer` never renders them\n // as overlays (they are rendered explicitly via `<EmbedOnboarding/>`).\n const flowRegistry = useMemo<Map<string, GuidanceFlowDefinition>>(() => {\n const map = new Map<string, GuidanceFlowDefinition>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, flow);\n }\n return map;\n }, [flowDefinitions]);\n\n // Onboarding views declared in app config (`<EmbedOnboarding/>` / OnboardingView\n // surfaces). They are NOT guidance flows — explicitly embedded, never triggered —\n // but they DO get a first-class persistence identity so an embedded wizard's\n // dismiss / complete / skip sticks under the view's OWN ref (no parallel\n // guidance flow required).\n const onboardingViewDefinitions = useMemo(\n () => appContext?.frontendConfiguration?.onboardingViews ?? [],\n [appContext?.frontendConfiguration],\n );\n\n // persistenceRegistry — SUPERSET of flowRegistry that also includes onboarding\n // views, projected into the minimal `PersistenceFlowEntry` shape. Used ONLY by\n // the lifecycle guards (completeElement / completeFlow / dismissFlow / skipFlow)\n // + scope resolution + the init gate — deliberately NOT by the trigger engine,\n // `activeFlows`, or `GuidanceRenderer`.\n const persistenceRegistry = useMemo<Map<string, PersistenceFlowEntry>>(() => {\n const map = new Map<string, PersistenceFlowEntry>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, {\n ref: flow.ref,\n scope: flow.scope ?? GuidanceFlowScope.USER,\n elements: flow.elements,\n renderMode: flow.renderMode,\n });\n }\n for (const view of onboardingViewDefinitions) {\n // First registration wins so an explicit guidance flow with the same ref is\n // never shadowed. Onboarding views persist under USER scope (personal\n // \"dismissed\" state); `renderMode: undefined` marks them as non-flows so the\n // guards suppress `GUIDANCE_FLOW_*` events for them.\n if (!map.has(view.ref)) {\n map.set(view.ref, {\n ref: view.ref,\n scope: GuidanceFlowScope.USER,\n elements: view.elements,\n renderMode: undefined,\n });\n }\n }\n return map;\n }, [flowDefinitions, onboardingViewDefinitions]);\n\n // True when there is anything whose persisted state must be loaded (guidance\n // flows OR onboarding views). Gates guidance-state loading + init so an app\n // with onboarding views but zero guidance flows still hydrates its state.\n const hasPersistableFlows = persistenceRegistry.size > 0;\n\n const flowScopeMap = useMemo<Record<string, GuidanceFlowScope>>(() => {\n const map: Record<string, GuidanceFlowScope> = {};\n for (const entry of persistenceRegistry.values()) {\n map[entry.ref] = entry.scope;\n }\n return map;\n }, [persistenceRegistry]);\n\n // ─── State ──────────────────────────────────────────────────\n\n const [scopedStates, setScopedStates] = useState<ScopedStates>({});\n const scopedStatesRef = useRef<ScopedStates>({});\n /**\n * Scopes whose stored guidance document this session has actually ESTABLISHED — read, or created\n * after a positive 404.\n *\n * Tracked SEPARATELY from `scopedStates`, and the reason is the trap that makes this whole area\n * hard. Presence in `scopedStates` looks like the same question and is not: `updateFlowState`\n * COMMITS locally before it decides whether to persist, so the first suppressed interaction puts\n * the scope into the map and every interaction after it reads as \"loaded\". A predicate over the\n * map therefore suppresses exactly one write and then writes a one-entry document over the\n * server's real history — the defect, one interaction later.\n *\n * It also supersedes an earlier `unreadableScopesRef`, which recorded only the scopes whose read\n * FAILED. That set is empty during initialization and empty again for the whole re-read window\n * after a scope or identity change, which is precisely when a websocket-driven update arrives\n * carrying a scope straight off the wire. Recording what HAS been established, rather than what is\n * known to have failed, answers the loading window and the failure with one fact.\n */\n /**\n * False once the provider unmounts, so an in-flight recovery cannot commit into a dead session.\n *\n * RAISED in the effect body as well as lowered in its cleanup, and the raise is the load-bearing\n * half. React StrictMode mounts, tears down and re-mounts effects on the SAME fiber, and a `useRef`\n * object survives that — so a cleanup-only effect leaves this `false` for the provider's entire\n * life after the first double-invoke. Every application scaffolded by this framework renders under\n * `<React.StrictMode>` in development, so the guard would have refused every recovery in exactly\n * the environment the recovery exists for, silently. This file already reasons about the same\n * double-invoke for `initRef`.\n */\n const isMountedRef = useRef(true);\n useEffect(() => {\n isMountedRef.current = true;\n return () => { isMountedRef.current = false; };\n }, []);\n const loadedScopesRef = useRef<Set<GuidanceFlowScope>>(new Set());\n /**\n * Whether the initialization read is in flight.\n *\n * `initRef` says initialization has STARTED and is never lowered until a reset, so it cannot tell\n * \"still reading\" from \"finished\". The recovery path needs that distinction: a write suppressed\n * during the loading window is the normal case, and firing a second read for a scope the init\n * pass is already fetching would double every boot-time request for no gain.\n */\n const initInFlightRef = useRef(false);\n /** Identifies the CURRENT initialization run — see where it is set for why a token is needed. */\n const initRunTokenRef = useRef<symbol | null>(null);\n /**\n * Which SCOPE SET / IDENTITY the current reads belong to.\n *\n * `isMountedRef` is not enough for anything that awaits: a tenant switch and a user switch do NOT\n * unmount this provider, they run the two reset effects below. Those clear `loadedScopesRef` and\n * `recoveringScopesRef`, but they cannot cancel a promise already in flight or invalidate what it\n * resolves to — so a read issued for tenant A could land after the switch, mark the scope\n * writable, and commit A's document as B's. The next interaction then persists it through the\n * scoped registry, which injects B's parameters: A's guidance written into B's row.\n *\n * `initialize()` already carries `initRunTokenRef` for exactly this reason. This is the same\n * discipline for every OTHER awaiting path, bumped wherever those refs are cleared.\n */\n const scopeGenerationRef = useRef(0);\n const [activeFlowRefs, setActiveFlowRefs] = useState<Set<string>>(new Set());\n const [isLoading, setIsLoading] = useState(true);\n const initRef = useRef(false);\n const delayTimersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map());\n const pendingFeatureActivationRefsRef = useRef<Set<string>>(new Set());\n\n const commitScopedStates = useCallback((nextStates: ScopedStates): ScopedStates => {\n scopedStatesRef.current = nextStates;\n setScopedStates(nextStates);\n return nextStates;\n }, []);\n\n const updateScopedStates = useCallback((\n updater: (prev: ScopedStates) => ScopedStates,\n ): ScopedStates => {\n const nextStates = updater(scopedStatesRef.current);\n return commitScopedStates(nextStates);\n }, [commitScopedStates]);\n\n // Progression state (Phase 4)\n const [progressionScopedStates, setProgressionScopedStates] = useState<ProgressionScopedStates>({ ...EMPTY_SCOPED_PROGRESSION });\n const [progressionIsLoading, setProgressionIsLoading] = useState(true);\n const progressionInitRef = useRef(false);\n const [milestoneDefinitions, setMilestoneDefinitions] = useState<MilestoneDefinition[]>(EMPTY_MILESTONE_DEFINITIONS);\n\n // ─── Lifecycle State (Phase 5) ────────────────────────────────\n const lifecycleConfig = appContext?.appConfig?.lifecycle;\n const lifecycleEnabled = !!lifecycleConfig?.enabled;\n const [lifecycleScopedStates, setLifecycleScopedStates] = useState<LifecycleScopedStates>({ ...EMPTY_SCOPED_LIFECYCLE });\n const [lifecycleIsLoading, setLifecycleIsLoading] = useState(lifecycleEnabled);\n const lifecycleInitRef = useRef(false);\n const lifecycleActivationCriteria = useMemo(\n () => lifecycleConfig?.activationCriteria,\n [lifecycleConfig?.activationCriteria],\n );\n const currentUserId = userOrgs.user?._id ?? null;\n const isAuthenticated = !!userOrgs.auth.accessToken;\n const analyticsEnabled = !!appContext?.appConfig?.analytics?.enabled;\n const featuresAreLoading = featuresCtx?.isLoading ?? false;\n const guidanceIsBootstrapping = isAuthenticated && hasPersistableFlows && !initRef.current;\n const guidanceIsLoading = isAuthenticated\n ? (hasPersistableFlows ? (isLoading || guidanceIsBootstrapping) : false)\n : false;\n\n // L-2.b: publish progression + lifecycle loading lifecycles to LoadingContext\n // so unrelated components can observe via `useComponentLoading({\n // customIdentifier: ContextLoadingIdentifier.PROGRESSION | .LIFECYCLE })`.\n // Local boolean state is still exposed for direct consumers (back-compat).\n //\n // `hasLoadedOnce` is intentionally **omitted** here: the progression and\n // lifecycle subsystems do not have a granular \"refresh existing data\"\n // path — every transition that flips `isLoading` back to `true` (auth\n // change, scope change, org switch) ALSO resets the underlying scoped\n // states to empty in the same render commit (see the auth-switch effect\n // and the scope-change effect above). A \"refresh\" with stale data on\n // screen never happens, so the hook's default `INITIAL` phase is the\n // correct semantic. Reading `progressionInitRef.current` /\n // `lifecycleInitRef.current` here would be misleading: those refs flip\n // to `true` at the **start** of init (as a re-entry guard), not on\n // success — they would always read `false` at emission time anyway,\n // because they're reset to `false` in the same commit that flips\n // `isLoading` back to `true`.\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.PROGRESSION,\n isLoading: progressionIsLoading,\n });\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.LIFECYCLE,\n isLoading: lifecycleIsLoading,\n });\n\n // Derive applicable scopes from current user context\n const applicableScopes = useMemo<GuidanceFlowScope[]>(() => {\n const scopes: GuidanceFlowScope[] = [GuidanceFlowScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(GuidanceFlowScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n useEffect(() => {\n scopedStatesRef.current = scopedStates;\n }, [scopedStates]);\n\n // M9: Reset init refs and org-scoped caches when applicable scopes change.\n const prevScopesRef = useRef(applicableScopes);\n useEffect(() => {\n if (prevScopesRef.current !== applicableScopes) {\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n // What a scope's read established belongs to the scope set that was in play. Carrying the\n // suppression REPORT across would silence the warning for a newly applicable scope on the\n // strength of a different one's failure, and carrying the in-flight marker across would\n // block its first recovery attempt.\n loadedScopesRef.current.clear();\n initInFlightRef.current = false;\n reportedSuppressedScopesRef.current.clear();\n recoveringScopesRef.current.clear();\n // Any read still in flight belongs to the previous scope set and must not land.\n scopeGenerationRef.current += 1;\n prevScopesRef.current = applicableScopes;\n\n if (isAuthenticated && hasPersistableFlows) {\n setIsLoading(true);\n }\n if (isAuthenticated) {\n setProgressionIsLoading(true);\n }\n if (isAuthenticated && lifecycleEnabled) {\n setLifecycleIsLoading(true);\n }\n\n updateScopedStates(prev => {\n if (!(GuidanceFlowScope.ORGANIZATION in prev)) {\n return prev;\n }\n const next = { ...prev };\n delete next[GuidanceFlowScope.ORGANIZATION];\n return next;\n });\n setProgressionScopedStates(prev => ({\n ...prev,\n [ProgressionScope.ORGANIZATION]: null,\n }));\n setLifecycleScopedStates(prev => ({\n ...prev,\n [LifecycleScope.ORGANIZATION]: null,\n }));\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n for (const flow of flowDefinitions) {\n if ((flow.scope ?? GuidanceFlowScope.USER) === GuidanceFlowScope.ORGANIZATION) {\n next.delete(flow.ref);\n }\n }\n return next;\n });\n }\n }, [applicableScopes, flowDefinitions, hasPersistableFlows, isAuthenticated, lifecycleEnabled, updateScopedStates]);\n\n const previousAuthStateRef = useRef<{\n isAuthenticated: boolean;\n userId: string | null;\n }>({\n isAuthenticated,\n userId: currentUserId,\n });\n useEffect(() => {\n const previousAuthState = previousAuthStateRef.current;\n const loggedOut = previousAuthState.isAuthenticated && !isAuthenticated;\n const switchedUsers =\n previousAuthState.userId !== null\n && currentUserId !== null\n && previousAuthState.userId !== currentUserId;\n\n previousAuthStateRef.current = {\n isAuthenticated,\n userId: currentUserId,\n };\n\n if (!loggedOut && !switchedUsers) {\n return;\n }\n\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n // Same reasoning as the scope-change reset: an identity change starts over, and one user's\n // failed read must not silence the next user's warning or block their first recovery read.\n loadedScopesRef.current.clear();\n initInFlightRef.current = false;\n reportedSuppressedScopesRef.current.clear();\n recoveringScopesRef.current.clear();\n // Same reason as the scope-change reset: one identity's in-flight read must not land on the next.\n scopeGenerationRef.current += 1;\n\n commitScopedStates({});\n setActiveFlowRefs(new Set());\n setProgressionScopedStates({ ...EMPTY_SCOPED_PROGRESSION });\n setMilestoneDefinitions(EMPTY_MILESTONE_DEFINITIONS);\n setLifecycleScopedStates({ ...EMPTY_SCOPED_LIFECYCLE });\n\n setIsLoading(isAuthenticated && hasPersistableFlows);\n setProgressionIsLoading(isAuthenticated);\n setLifecycleIsLoading(isAuthenticated && lifecycleEnabled);\n }, [commitScopedStates, currentUserId, hasPersistableFlows, isAuthenticated, lifecycleEnabled]);\n\n // Flatten all flow states across scopes into a single record\n const flowStates = useMemo<Record<string, GuidanceFlowState>>(() => {\n const merged: Record<string, GuidanceFlowState> = {};\n for (const scope of applicableScopes) {\n const state = scopedStates[scope];\n if (state?.flows) {\n Object.assign(merged, state.flows);\n }\n }\n return merged;\n }, [scopedStates, applicableScopes]);\n\n // Build audience context for evaluations\n const audienceContext = useMemo<GuidanceAudienceContext>(() => {\n const completedRefs = new Set<string>();\n for (const [ref, state] of Object.entries(flowStates)) {\n if (state.status === OnboardingStatus.COMPLETED) {\n completedRefs.add(ref);\n }\n }\n const userRoles = buildFeaturePolicyRoles(userOrgs.permissions, appScope?.currentOrganizationId)\n .filter(Boolean);\n // H3-3: Collect user features from FeaturesContext (resolved features from backend)\n const userFeatures: string[] = featuresCtx?.resolvedFeatures?.features ?? [];\n const featureLimits = featuresCtx?.resolvedFeatures?.limits ?? {};\n const currentUsage = featuresCtx?.resolvedFeatures?.currentUsage ?? {};\n /*\n * Progression and lifecycle PER GUIDANCE SCOPE (#1373), so a flow asks about its own: a USER\n * flow about the user's milestones and stage, an ORGANIZATION flow about the organization's.\n *\n * A scope whose document has not been read is OMITTED rather than given an empty entry, and the\n * evaluator treats an absent scope as \"nothing achieved, no stage\". That direction is\n * deliberate: a gated flow must stay hidden while nothing is known, not appear for the window\n * before the documents land — which is exactly when a new subject is looking at the screen.\n */\n const scopedState: GuidanceAudienceContext['scopedState'] = {};\n for (const guidanceScope of [GuidanceFlowScope.USER, GuidanceFlowScope.ORGANIZATION]) {\n const progression = progressionScopedStates[GUIDANCE_SCOPE_TO_PROGRESSION_SCOPE[guidanceScope]];\n const lifecycle = lifecycleScopedStates[GUIDANCE_SCOPE_TO_LIFECYCLE_SCOPE[guidanceScope]];\n if (!progression && !lifecycle) continue;\n scopedState[guidanceScope] = {\n achievedMilestoneRefs: new Set(Object.keys(progression?.milestonesAchieved ?? {})),\n currentLifecycleStage: lifecycle?.currentStage,\n stagesReached: new Set(lifecycle?.stagesVisited ?? []),\n };\n }\n\n return {\n userRoles,\n userFeatures,\n featureLimits,\n currentUsage,\n completedFlowRefs: completedRefs,\n userCreatedAt: userOrgs.user?.createdAt ? new Date(userOrgs.user.createdAt) : undefined,\n scopedState,\n // Reads the SAME merged `flowStates` the completion set above is built from, so a criterion\n // about an answer and a criterion about a completion can never disagree about which document\n // they are looking at.\n recordedSurveyAnswer: (flowRef, elementRef, questionId) =>\n flowStates[flowRef]?.elements?.[elementRef]?.surveyAnswers?.[questionId],\n };\n }, [\n flowStates,\n progressionScopedStates,\n lifecycleScopedStates,\n userOrgs.permissions,\n appScope?.currentOrganizationId,\n userOrgs.user?.createdAt,\n featuresCtx?.resolvedFeatures?.features,\n featuresCtx?.resolvedFeatures?.limits,\n featuresCtx?.resolvedFeatures?.currentUsage,\n ]);\n\n // ─── Initialization ─────────────────────────────────────────\n\n // H3-8: Abort guard prevents setState on unmounted/stale effect\n useEffect(() => {\n if (initRef.current || !hasPersistableFlows || !isAuthenticated) return;\n initRef.current = true;\n /**\n * A token for THIS run, so a stale run's `finally` cannot lower a newer run's flag.\n *\n * On a scope or identity change the sequence is: cleanup lowers the flag, the new effect raises\n * it, and only then does the OLD promise settle — whose `finally` would lower the flag the new\n * run had just raised, re-enabling exactly the duplicate boot-time read it exists to prevent.\n */\n const runToken = Symbol('guidance-init');\n initRunTokenRef.current = runToken;\n initInFlightRef.current = true;\n let cancelled = false;\n /**\n * Whether this run got as far as COMMITTING. The cleanup releases the re-entry gate when it did\n * not — see the cleanup for the sequence that made this necessary.\n */\n let committed = false;\n\n const initialize = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing guidance state', { scopes: applicableScopes, flowCount: persistenceRegistry.size });\n\n const stateResults = await Promise.allSettled(\n applicableScopes.map(async (scope) => {\n let read = await fetchGuidanceState(scope, registry.doOperation, registry.registry);\n if (read.outcome === ScopedStateReadOutcome.ABSENT) {\n logDebug(`Auto-creating guidance state for scope ${scope}`);\n read = await createGuidanceState(scope, registry.doOperation, registry.registry);\n }\n return { scope, read };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: ScopedStates = {};\n for (const result of stateResults) {\n if (result.status !== 'fulfilled') continue;\n const { scope, read } = result.value;\n // A scope whose state could not be read is deliberately LEFT OUT of `scopedStates`\n // rather than seeded with an empty document. `updateFlowState` refuses to persist a\n // scope that is absent here, so an unreadable backend degrades to \"guidance does not\n // record anything this session\" instead of overwriting what the server holds.\n if (read.outcome !== ScopedStateReadOutcome.LOADED) {\n logDebug(`Guidance state unavailable for scope ${scope} — writes suppressed for this scope`);\n continue;\n }\n loadedScopesRef.current.add(scope);\n newStates[scope] = read.state;\n }\n\n /**\n * Functional updater, merging PER FLOW — see {@link mergeScopedStateOverLocal}.\n *\n * The comment here said \"merge with any concurrent WS updates\" over a scope-level spread\n * (`{ ...prev, ...newStates }`), which replaces a scope's whole document rather than merging\n * it. Anything committed locally during the loading window — a dismissal the user made while\n * this read was in flight, which `updateFlowState` deliberately commits and refuses to persist\n * — was therefore dropped the moment the read landed. The claim named the behaviour the code\n * did not have.\n */\n updateScopedStates(prev => {\n const merged: ScopedStates = { ...prev };\n for (const [scope, state] of Object.entries(newStates) as Array<[GuidanceFlowScope, GuidanceState]>) {\n merged[scope] = mergeScopedStateOverLocal(state, prev[scope]);\n }\n return merged;\n });\n committed = true;\n setIsLoading(false);\n logDebug('Guidance state loaded', { scopeCount: Object.keys(newStates).length });\n };\n\n // `finally`, so an initialization that THROWS does not leave the flag raised — which would\n // disable the recovery path for the rest of the session, exactly when it is needed most.\n /*\n * A REJECTED initialization must not leave the lane latched.\n *\n * `committed` is only consulted by the CLEANUP, which runs on a dependency change or an\n * unmount — neither of which happens because a promise rejected. So a throw left the re-entry\n * ref raised and `isLoading` true for the rest of the session, and every consumer gated on\n * that loading flag stayed inert: no flow could activate, and the tracker returned null\n * forever. Two of the three lanes did not even attach a handler, so the rejection was also\n * unhandled.\n *\n * The body's own try/catch covers the READS; what reaches here is everything outside them —\n * a registry handle that is not what was assumed, a throw from a setState subscriber.\n */\n initialize().catch((error: unknown) => {\n LoggerFrontendService.getLogger().warn('GuidanceContext: guidance initialization failed', { error });\n initRef.current = false;\n setIsLoading(false);\n }).finally(() => {\n if (initRunTokenRef.current === runToken) initInFlightRef.current = false;\n });\n return () => {\n cancelled = true;\n /**\n * RELEASE the re-entry gate when this run never committed, so a re-mount actually re-fetches.\n *\n * The comment on `resourceRegistryRef` above describes this exact sequence — cleanup sets\n * `cancelled`, the re-run hits the `initRef` gate, \"no replacement fetch ever starts… the\n * fetched guidance state is silently never committed\" — and closes it for ONE cause,\n * dependency-identity churn, by keeping service handles out of the dependency array. React\n * StrictMode is a SECOND cause of the same sequence, it is deliberate rather than accidental,\n * and it happens on EVERY development mount: the skeleton template wraps every generated\n * application in `<React.StrictMode>`, so `isLoading` never settled and no guidance flow ever\n * triggered in dev. Releasing the gate here closes both causes at the gate itself, which makes\n * the dependency hygiene above an optimisation rather than the only thing holding this up.\n */\n if (!committed) initRef.current = false;\n if (initRunTokenRef.current === runToken) initInFlightRef.current = false;\n };\n // Deps are the genuine fetch inputs ONLY: the applicable scope set + the\n // auth gate + the persistable-flows gate. Service handles (resourceRegistry)\n // are read via ref so their boot-time identity churn cannot cancel the\n // in-flight fetch before it commits. logDebug / updateScopedStates are stable\n // (useMemo/useCallback with stable deps).\n }, [hasPersistableFlows, applicableScopes, isAuthenticated, logDebug, updateScopedStates]);\n\n // ─── Progression Initialization (Phase 4) ──────────────────\n\n const progressionApplicableScopes = useMemo<ProgressionScope[]>(() => {\n const scopes: ProgressionScope[] = [ProgressionScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(ProgressionScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for progression init\n useEffect(() => {\n if (progressionInitRef.current || !isAuthenticated) return;\n progressionInitRef.current = true;\n let cancelled = false;\n // Released by the cleanup when this run never commits — see the guidance init effect above.\n let committed = false;\n\n const initializeProgression = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing progression state', { scopes: progressionApplicableScopes });\n\n const [stateResults, definitions] = await Promise.all([\n Promise.allSettled(\n progressionApplicableScopes.map(async (scope) => {\n const read = await fetchProgressionState(scope, registry.doOperation, registry.registry);\n return { scope, read };\n }),\n ),\n // Reachability, not only configuration (#1069, the #268 rule): milestone definitions are served\n // beside the progression store, which a consumer that excludes the resource does not serve.\n fetchMilestoneDefinitions(analyticsEnabled && registry.hasResource(CoreResourceType.USER_PROGRESSION_STATE)),\n ]);\n\n if (cancelled) return;\n\n const newStates: ProgressionScopedStates = { ...EMPTY_SCOPED_PROGRESSION };\n for (const result of stateResults) {\n if (result.status !== 'fulfilled') continue;\n const { scope, read } = result.value;\n /**\n * A scope whose progression could not be READ is left `null`, not seeded with zeroes.\n *\n * `null` is what the tracker already treats as \"no progression to show\", so it renders\n * nothing — which is honest. A zeroed state renders \"0 points\" and an empty achievement\n * list, telling a user with a transient network failure that their progress is gone.\n *\n * ABSENT is folded in here too: unlike guidance there is no create-on-absent path, because\n * the row is seeded server-side by `onParentCreate` and the frontend cannot write this\n * document at all (progression UPDATE is `INTERNAL_CALL`).\n */\n if (read.outcome !== ScopedStateReadOutcome.LOADED) {\n logDebug(`Progression state unavailable for scope ${scope} — showing nothing rather than zeroes`);\n continue;\n }\n newStates[scope] = read.state;\n }\n\n /*\n * A functional updater, and a SCOPE-LEVEL spread — which REPLACES each scope's document\n * rather than merging within it. This comment used to say \"merge with concurrent WS\n * updates\"; it was deleted from the guidance lane as false and survived here, over code\n * that does the same thing. A WS event that landed during the loading window is overwritten\n * by the document read before it, so the delta is lost until reload.\n */\n setProgressionScopedStates(prev => ({ ...prev, ...newStates }));\n if (definitions.length > 0) {\n setMilestoneDefinitions(definitions);\n }\n committed = true;\n setProgressionIsLoading(false);\n logDebug('Progression state loaded', {\n scopeCount: Object.values(newStates).filter(Boolean).length,\n milestoneDefinitionCount: definitions.length,\n });\n };\n\n /*\n * A REJECTED initialization must not leave the lane latched.\n *\n * `committed` is only consulted by the CLEANUP, which runs on a dependency change or an\n * unmount — neither of which happens because a promise rejected. So a throw left the re-entry\n * ref raised and `isLoading` true for the rest of the session, and every consumer gated on\n * that loading flag stayed inert: no flow could activate, and the tracker returned null\n * forever. Two of the three lanes did not even attach a handler, so the rejection was also\n * unhandled.\n *\n * The body's own try/catch covers the READS; what reaches here is everything outside them —\n * a registry handle that is not what was assumed, a throw from a setState subscriber.\n */\n initializeProgression().catch((error: unknown) => {\n LoggerFrontendService.getLogger().warn('GuidanceContext: progression initialization failed', { error });\n progressionInitRef.current = false;\n setProgressionIsLoading(false);\n });\n return () => {\n cancelled = true;\n if (!committed) progressionInitRef.current = false;\n };\n // Genuine fetch inputs ONLY (scope set + analytics gate + auth gate).\n // resourceRegistry read via ref; appContext dropped (only its derived\n // `analyticsEnabled` boolean is used, and it is already a dep).\n }, [analyticsEnabled, progressionApplicableScopes, isAuthenticated, logDebug]);\n\n // ─── Lifecycle Initialization (Phase 5) ─────────────────────\n\n const lifecycleApplicableScopes = useMemo<LifecycleScope[]>(() => {\n if (!lifecycleEnabled) return [];\n const scopes: LifecycleScope[] = [LifecycleScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(LifecycleScope.ORGANIZATION);\n }\n return scopes;\n }, [lifecycleEnabled, appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for lifecycle init\n useEffect(() => {\n if (lifecycleInitRef.current || !isAuthenticated || !lifecycleEnabled) {\n return;\n }\n lifecycleInitRef.current = true;\n let cancelled = false;\n // Released by the cleanup when this run never commits — see the guidance init effect above.\n let committed = false;\n\n const initializeLifecycle = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n setLifecycleIsLoading(true);\n logDebug('Initializing lifecycle state', { scopes: lifecycleApplicableScopes });\n\n const stateResults = await Promise.allSettled(\n lifecycleApplicableScopes.map(async (scope) => {\n const read = await fetchLifecycleState(scope, registry.doOperation, registry.registry);\n return { scope, read };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: LifecycleScopedStates = { ...EMPTY_SCOPED_LIFECYCLE };\n for (const result of stateResults) {\n if (result.status !== 'fulfilled') continue;\n const { scope, read } = result.value;\n /*\n * ABSENT is the only outcome that may materialize a default: no stored row means the\n * subject genuinely is at the first stage. UNAVAILABLE leaves the scope unset, so\n * `currentStage` stays null and nothing downstream states a stage nobody read.\n */\n if (read.outcome === ScopedStateReadOutcome.LOADED) newStates[scope] = read.state;\n else if (read.outcome === ScopedStateReadOutcome.ABSENT) newStates[scope] = GuidanceStateUtils.createInitialLifecycleState();\n }\n\n /*\n * A functional updater, and a SCOPE-LEVEL spread — which REPLACES each scope's document\n * rather than merging within it. This comment used to say \"merge with concurrent WS\n * updates\"; it was deleted from the guidance lane as false and survived here, over code\n * that does the same thing. A WS event that landed during the loading window is overwritten\n * by the document read before it, so the delta is lost until reload.\n */\n setLifecycleScopedStates(prev => ({ ...prev, ...newStates }));\n committed = true;\n setLifecycleIsLoading(false);\n logDebug('Lifecycle state loaded', { scopeCount: Object.values(newStates).filter(Boolean).length });\n };\n\n /*\n * A REJECTED initialization must not leave the lane latched.\n *\n * `committed` is only consulted by the CLEANUP, which runs on a dependency change or an\n * unmount — neither of which happens because a promise rejected. So a throw left the re-entry\n * ref raised and `isLoading` true for the rest of the session, and every consumer gated on\n * that loading flag stayed inert: no flow could activate, and the tracker returned null\n * forever. Two of the three lanes did not even attach a handler, so the rejection was also\n * unhandled.\n *\n * The body's own try/catch covers the READS; what reaches here is everything outside them —\n * a registry handle that is not what was assumed, a throw from a setState subscriber.\n */\n initializeLifecycle().catch((error: unknown) => {\n LoggerFrontendService.getLogger().warn('GuidanceContext: lifecycle initialization failed', { error });\n lifecycleInitRef.current = false;\n setLifecycleIsLoading(false);\n });\n return () => {\n cancelled = true;\n if (!committed) lifecycleInitRef.current = false;\n };\n // Genuine fetch inputs ONLY (scope set + lifecycle gate + auth gate).\n // resourceRegistry read via ref so boot-time identity churn cannot cancel\n // the in-flight fetch before it commits.\n }, [lifecycleApplicableScopes, isAuthenticated, lifecycleEnabled, logDebug]);\n\n // ─── State Mutation Helpers ─────────────────────────────────\n\n const resolveFlowStateScope = useCallback((\n flowRef: string,\n candidateStates: ScopedStates = scopedStatesRef.current,\n ): GuidanceFlowScope => {\n const matchingScopes = [GuidanceFlowScope.USER, GuidanceFlowScope.ORGANIZATION].filter(\n (scope) => candidateStates[scope]?.flows?.[flowRef] !== undefined,\n );\n const activeScope = matchingScopes.find(\n (scope) => candidateStates[scope]?.flows?.[flowRef]?.status === OnboardingStatus.IN_PROGRESS,\n );\n\n return activeScope\n ?? matchingScopes[0]\n ?? flowScopeMap[flowRef]\n ?? GuidanceFlowScope.USER;\n }, [flowScopeMap]);\n\n // H5: Compute the persisted state synchronously from the latest committed ref.\n // React may defer functional state updaters, so deriving persistence payloads\n // from inside `setState(...)` can skip writes entirely at runtime.\n /**\n * Scopes whose suppression has already been reported, so the warning below fires once per scope\n * rather than once per interaction.\n */\n const reportedSuppressedScopesRef = useRef<Set<GuidanceFlowScope>>(new Set());\n /** Scopes with a recovery read in flight, so concurrent interactions do not stack requests. */\n const recoveringScopesRef = useRef<Set<GuidanceFlowScope>>(new Set());\n\n /**\n * Try again to establish a scope whose document this session never read.\n *\n * ## Why a retry exists at all\n *\n * Without one, a single transient failure at boot disabled guidance persistence for the rest of\n * the session: `initRef` is only reset by a scope change or an identity change, so nothing re-read\n * the scope, and every dismissal appeared to work while none of them stuck. The user's only remedy\n * was to switch organization or sign out.\n *\n * ## Why it is demand-driven rather than timed\n *\n * It runs from the one place that proves the state is WANTED — a suppressed write — so there are\n * no timers, no backoff policy to tune, and no requests on a surface nobody is using. The attempt\n * rate is the interaction rate, and it is bounded by an in-flight guard rather than a counter,\n * because \"the user keeps trying\" is exactly when trying again is correct.\n *\n * The write that triggered it is NOT replayed here. It does not need to be: the local commit has\n * already happened, `persistGuidanceState` writes the WHOLE document, and the next interaction on\n * a now-readable scope carries it.\n */\n /** Progression scopes whose recovery read is in flight, so an event storm asks once. */\n const recoveringProgressionScopesRef = useRef<Set<ProgressionScope>>(new Set());\n\n /**\n * Re-read a progression scope whose boot read failed, when an event for it arrives.\n *\n * The two progression websocket handlers DROP an event for a scope that reads `null`, and the\n * comment there justified it with \"initialization is still running and will land the\n * authoritative document, which already contains this achievement\". That is true of one of the\n * two states `null` encodes and false of the other: a scope whose read FAILED is left `null`,\n * `committed` is set regardless, and the init ref is never released — so for that scope\n * initialization is permanently over, and every later event is dropped with nothing to land it.\n * Progression has no `create-on-absent` path either, so unlike guidance there was no second door.\n *\n * The event that would have been dropped now asks for the document instead. Generation-guarded\n * like the guidance recovery: a tenant switch does not unmount, so a read issued for the previous\n * scope set must not land on the next one.\n */\n const recoverProgressionScope = useCallback(async (scope: ProgressionScope) => {\n if (recoveringProgressionScopesRef.current.has(scope)) return;\n recoveringProgressionScopesRef.current.add(scope);\n const generation = scopeGenerationRef.current;\n try {\n const registry = resourceRegistryRef.current;\n const read = await fetchProgressionState(scope, registry.doOperation, registry.registry);\n if (read.outcome !== ScopedStateReadOutcome.LOADED) return;\n if (!isMountedRef.current) return;\n if (scopeGenerationRef.current !== generation) return;\n setProgressionScopedStates(prev => ({ ...prev, [scope]: read.state }));\n logDebug(`Progression state for scope ${scope} recovered after a failed read`);\n } finally {\n recoveringProgressionScopesRef.current.delete(scope);\n }\n }, [logDebug]);\n\n const recoverScopedState = useCallback(async (scope: GuidanceFlowScope) => {\n if (loadedScopesRef.current.has(scope)) return;\n // Initialization is already fetching this scope; its answer is the one to wait for.\n if (initInFlightRef.current) return;\n if (recoveringScopesRef.current.has(scope)) return;\n recoveringScopesRef.current.add(scope);\n const generation = scopeGenerationRef.current;\n try {\n const registry = resourceRegistryRef.current;\n let read = await fetchGuidanceState(scope, registry.doOperation, registry.registry);\n if (read.outcome === ScopedStateReadOutcome.ABSENT) {\n read = await createGuidanceState(scope, registry.doOperation, registry.registry);\n }\n if (read.outcome !== ScopedStateReadOutcome.LOADED) return;\n /**\n * The provider may have unmounted while this read was in flight — `initialize()` one function\n * above carries the same discipline through its own `cancelled` flag. Landing here would mark\n * a scope established and commit a document into a session that has ended, which is the shape\n * this whole area exists to refuse.\n */\n if (!isMountedRef.current) return;\n /*\n * And the tenant/identity this read was issued FOR must still be the one in play. A switch\n * does not unmount, so `isMountedRef` alone would let the previous tenant's document land as\n * the current one's — and `mergeScopedStateOverLocal` makes the session win per flow, so a\n * later correct read cannot undo it.\n */\n if (scopeGenerationRef.current !== generation) return;\n loadedScopesRef.current.add(scope);\n LoggerFrontendService.getLogger().info(\n `GuidanceContext: guidance state for scope \"${scope}\" recovered — persistence resumes for this scope.`,\n );\n reportedSuppressedScopesRef.current.delete(scope);\n /**\n * MERGE the server's document under the session's, never discard either.\n *\n * The only caller is the suppressed branch of `updateFlowState`, and that branch COMMITS\n * LOCALLY before it calls this — so by the time the read lands, this scope is always present\n * in `scopedStates`. A `prev[scope] === undefined ? … : prev` guard is therefore always false\n * in practice, and it threw the freshly-read server document away while\n * `loadedScopesRef.add(scope)` above had already made the scope writable. The next interaction\n * then wrote the session's one-entry document over the server's real history — the exact data\n * loss this whole mechanism exists to close, arriving through its own repair path, with no\n * concurrency needed: failed boot read, dismiss A, dismiss B.\n *\n * The resolution lives in {@link mergeScopedStateOverLocal}, which `initialize()` also uses —\n * the two paths face the same collision and now genuinely resolve it the same way. They did\n * not, and this said they did: `initialize()` was a scope-level spread that replaced the local\n * document wholesale, which is the opposite direction and dropped anything committed during\n * the loading window.\n */\n updateScopedStates(prev => ({ ...prev, [scope]: mergeScopedStateOverLocal(read.state, prev[scope]) }));\n } finally {\n recoveringScopesRef.current.delete(scope);\n }\n }, [updateScopedStates]);\n\n const updateFlowState = useCallback((\n flowRef: string,\n updater: (prev: GuidanceFlowState) => GuidanceFlowState,\n options?: {\n scopeOverride?: GuidanceFlowScope;\n },\n ) => {\n const currentScopedStates = scopedStatesRef.current;\n const scope = options?.scopeOverride ?? resolveFlowStateScope(flowRef, currentScopedStates);\n /**\n * Whether this scope's stored document was ever successfully READ (or created) this session.\n *\n * Read from {@link loadedScopesRef}, NOT from `scopedStates` — see that ref's own docblock for\n * why the two are different questions and why the map cannot answer this one.\n */\n const scopeWasRead = loadedScopesRef.current.has(scope);\n const scopeState = currentScopedStates[scope] ?? { flows: {} };\n const currentFlowState = scopeState.flows[flowRef] ?? {\n status: OnboardingStatus.NOT_STARTED,\n elements: {},\n triggerCount: 0,\n };\n const updatedFlowState = updater(currentFlowState);\n const nextScopeState = {\n ...scopeState,\n flows: { ...scopeState.flows, [flowRef]: updatedFlowState },\n };\n\n commitScopedStates({\n ...currentScopedStates,\n [scope]: nextScopeState,\n });\n // `persistGuidanceState` writes the WHOLE document. Doing that for a scope whose stored\n // document we never managed to READ would replace the server's real history with whatever\n // this session happens to hold — which, having started from `{ flows: {} }` above, is one\n // entry. The local commit above is kept so the surface still behaves for this session, and a\n // later update on a scope that has since loaded carries the skipped change with it, because\n // the whole document is what gets written; only THIS write leaves.\n if (!scopeWasRead) {\n /**\n * WARN, not `logDebug`.\n *\n * This file disables its own debug channel (`setDebugTypeLogging('GuidanceContext', false)`),\n * so the only record of a silently non-persisting session was written to a stream nobody\n * turns on. Suppression is the thing an operator most needs to see: every dismissal appears\n * to work and none of them sticks, and every request involved answers 200.\n */\n if (!reportedSuppressedScopesRef.current.has(scope)) {\n reportedSuppressedScopesRef.current.add(scope);\n LoggerFrontendService.getLogger().warn(\n `GuidanceContext: guidance persistence is SUPPRESSED for scope \"${scope}\" — its stored document `\n + `was never read this session, so writing would replace the server's history with this session's `\n + `single entry. Changes apply locally and are retried on the next interaction.`,\n );\n }\n void recoverScopedState(scope);\n return;\n }\n void persistGuidanceState(\n scope,\n nextScopeState,\n resourceRegistry.doOperation,\n resourceRegistry.registry,\n );\n }, [commitScopedStates, resolveFlowStateScope, resourceRegistry, recoverScopedState]);\n\n // ─── Trigger Engine ─────────────────────────────────────────\n\n const tryActivateFlow = useCallback((flowRef: string) => {\n const flow = flowRegistry.get(flowRef);\n if (!flow) return;\n const scope = flowScopeMap[flowRef] ?? GuidanceFlowScope.USER;\n if (!applicableScopes.includes(scope)) return;\n if (featuresAreLoading && flow.audience?.requiredFeatures) {\n pendingFeatureActivationRefsRef.current.add(flowRef);\n return;\n }\n\n const state = flowStates[flowRef];\n\n // H3-4: Block terminal (completed / dismissed / skipped) flows from re-activating\n if (isTerminalOnboardingStatus(state?.status)) return;\n if (state?.status === OnboardingStatus.IN_PROGRESS && activeFlowRefs.has(flowRef)) return;\n\n if (!evaluateGuidanceAudience(flow.audience, audienceContext, flow.scope ?? GuidanceFlowScope.USER)) return;\n\n logDebug(`Activating flow: ${flowRef}`);\n /*\n * ACTIVATION IS IN-MEMORY ONLY. It used to write IN_PROGRESS and increment\n * `triggerCount` here, i.e. at the moment a trigger FIRED — before anything\n * could know whether the flow's copy existed. A flow whose labels had not been\n * generated yet then rendered an empty card and had already spent its\n * once-per-user occasion: a FIRST_VISIT flow never fires again once\n * `triggerCount > 0`, and nothing in the console, network tab or DOM said why\n * (#539). The persisted transition, and the ACTIVATED event, now happen in\n * `recordFlowPresented`, which the renderer calls once every required label of\n * every element resolves.\n */\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(flowRef);\n return next;\n });\n }, [flowRegistry, flowStates, activeFlowRefs, audienceContext, flowScopeMap, applicableScopes, logDebug, featuresAreLoading]);\n\n /*\n * Flow refs whose CURRENT activation has already been recorded as presented.\n * A ref, not state: the renderer calls in an effect that re-runs on every flow\n * state change, and the guard must not itself cause a render. Pruned whenever a\n * flow leaves the active set, so a later re-activation is a new occasion.\n */\n const presentedActivationRefsRef = useRef<Set<string>>(new Set());\n useEffect(() => {\n for (const flowRef of presentedActivationRefsRef.current) {\n if (!activeFlowRefs.has(flowRef)) presentedActivationRefsRef.current.delete(flowRef);\n }\n // Same pruning for the unpresentable set, so a later activation is judged afresh.\n let unpresentableChanged = false;\n for (const flowRef of unpresentableFlowRefsRef.current) {\n if (!activeFlowRefs.has(flowRef)) {\n unpresentableFlowRefsRef.current.delete(flowRef);\n unpresentableChanged = true;\n }\n }\n if (unpresentableChanged) setUnpresentableFlowRefs(new Set(unpresentableFlowRefsRef.current));\n }, [activeFlowRefs]);\n\n /**\n * Flows the renderer resolved to ZERO presented elements. Reported by the only party that can\n * know, and pruned when the flow leaves the active set so a later activation starts clean.\n */\n const unpresentableFlowRefsRef = useRef<Set<string>>(new Set());\n const [unpresentableFlowRefs, setUnpresentableFlowRefs] = useState<ReadonlySet<string>>(new Set());\n\n const reportFlowNotPresentable = useCallback((flowRef: string, notPresentable: boolean) => {\n const held = unpresentableFlowRefsRef.current.has(flowRef);\n if (held === notPresentable) return;\n if (notPresentable) unpresentableFlowRefsRef.current.add(flowRef);\n else unpresentableFlowRefsRef.current.delete(flowRef);\n setUnpresentableFlowRefs(new Set(unpresentableFlowRefsRef.current));\n }, []);\n\n const recordFlowPresented = useCallback((flowRef: string) => {\n if (!activeFlowRefs.has(flowRef)) return;\n if (presentedActivationRefsRef.current.has(flowRef)) return;\n const flow = flowRegistry.get(flowRef);\n if (!flow) return;\n presentedActivationRefsRef.current.add(flowRef);\n\n // H3-1 + H3-2: Set IN_PROGRESS and increment triggerCount — once per activation\n // that a person was actually shown.\n updateFlowState(flowRef, prev => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }));\n\n emit(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, {\n flowRef,\n renderMode: flow.renderMode,\n triggerSource: 'frontend',\n scope: flowScopeMap[flowRef] ?? GuidanceFlowScope.USER,\n });\n }, [activeFlowRefs, flowRegistry, flowScopeMap, updateFlowState, emit]);\n\n // FIRST_VISIT trigger: run after each relevant state load boundary.\n useEffect(() => {\n if (guidanceIsLoading || featuresAreLoading || flowDefinitions.length === 0) return;\n\n for (const flow of flowDefinitions) {\n if (flow.trigger.type !== OnboardingTriggerType.FIRST_VISIT) continue;\n const state = flowStates[flow.ref];\n if (!state || state.triggerCount === 0) {\n tryActivateFlow(flow.ref);\n }\n }\n // Re-run after load boundaries or scope changes, but not on every flow-state mutation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, featuresAreLoading, applicableScopes]);\n\n useEffect(() => {\n if (featuresAreLoading || pendingFeatureActivationRefsRef.current.size === 0) {\n return;\n }\n\n const pendingFlowRefs = Array.from(pendingFeatureActivationRefsRef.current);\n pendingFeatureActivationRefsRef.current.clear();\n\n for (const flowRef of pendingFlowRefs) {\n tryActivateFlow(flowRef);\n }\n }, [featuresAreLoading, tryActivateFlow]);\n\n // H3-11: Pre-compile route-match regexes to avoid ReDoS on every navigation event\n const routeFlowsCompiled = useMemo(() =>\n flowDefinitions\n .filter(f => f.trigger.type === OnboardingTriggerType.ROUTE_MATCH && f.trigger.routePattern)\n .map(f => {\n try {\n return { ...f, _compiledPattern: new RegExp(f.trigger.routePattern!) };\n } catch {\n return null;\n }\n })\n .filter((f): f is NonNullable<typeof f> => f !== null),\n [flowDefinitions],\n );\n\n // ROUTE_MATCH trigger: subscribe to navigation pane changes\n useEffect(() => {\n if (guidanceIsLoading || routeFlowsCompiled.length === 0) return;\n\n return on(FrontendEvents.NAVIGATION_ZONE_CHANGED, (payload) => {\n const currentPath = (payload.currentContent as { urlPath?: string })?.urlPath;\n if (!currentPath) return;\n\n for (const flow of routeFlowsCompiled) {\n if (flow._compiledPattern.test(currentPath)) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, routeFlowsCompiled, on, tryActivateFlow]);\n\n /** Flow refs already reported as carrying an unqualified EVENT name, so the warning fires once. */\n const warnedUnqualifiedEventFlowRefsRef = useRef<Set<string>>(new Set());\n\n // EVENT trigger: subscribe to resource success events\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const eventFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.EVENT && f.trigger.eventName);\n if (eventFlows.length === 0) return;\n\n /**\n * An UNQUALIFIED `eventName` can never match, and this is the only place that can say so.\n *\n * `OnboardingTriggerSchema.eventName` is a bare `z.string().optional()` — nothing checks the\n * `<resourceType>:<operationIdentifier>` shape at authoring time — and the unqualified matching\n * arm was removed from the loop below because it fired a flow on every resource's operation. The\n * removal is right, and it silently moved a mis-authored flow from \"fires everywhere\" to \"never\n * fires, ever\": both are wrong, and the second one produces no evidence at all.\n *\n * Warned once per flow ref per subscription, at the moment the subscription is built, so an\n * author sees it on the first load of a surface carrying the flow rather than having to wait for\n * an event that will never arrive.\n */\n for (const flow of eventFlows) {\n const eventName = flow.trigger.eventName!;\n if (eventName.includes(':')) continue;\n if (warnedUnqualifiedEventFlowRefsRef.current.has(flow.ref)) continue;\n warnedUnqualifiedEventFlowRefsRef.current.add(flow.ref);\n LoggerFrontendService.getLogger().warn(\n `GuidanceContext: guidance flow \"${flow.ref}\" declares an EVENT trigger with the unqualified `\n + `eventName \"${eventName}\". Event names are matched as \"<resourceType>:<operationIdentifier>\", `\n + `so this flow can never fire. Qualify it with the resource it belongs to.`,\n );\n }\n\n return on(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, (payload) => {\n /**\n * The event name is QUALIFIED by resource, and only the qualified form matches.\n *\n * There was a second arm here — `flow.trigger.eventName === payload.operationIdentifier` — an\n * unqualified fallback on the bare operation. A flow authored with `eventName: 'CREATE'`\n * therefore fired on EVERY resource's create: a todo-list onboarding banner triggered by\n * creating an invoice. Nothing in the authoring surface suggested the name was global, and\n * nothing reported the cross-resource activation.\n *\n * Removed rather than narrowed: the qualified form is what the authoring guidance documents\n * (`${resourceType}:${operationIdentifier}`) and what Wonder Todos' own flow composes from the\n * two enums, so the fallback served no declared shape — it only made a mis-authored name fire\n * on the wrong resources instead of visibly not firing.\n */\n const eventName = `${payload.resourceType}:${payload.operationIdentifier}`;\n for (const flow of eventFlows) {\n if (flow.trigger.eventName === eventName) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, flowDefinitions, on, tryActivateFlow]);\n\n // H4: Stable ref for tryActivateFlow — prevents DELAYED timers from restarting on every state change\n const tryActivateFlowRef = useRef(tryActivateFlow);\n useEffect(() => { tryActivateFlowRef.current = tryActivateFlow; }, [tryActivateFlow]);\n\n // DELAYED trigger: start timers after state loads\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const delayedFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.DELAYED && f.trigger.delayMs);\n if (delayedFlows.length === 0) return;\n\n for (const flow of delayedFlows) {\n if (delayTimersRef.current.has(flow.ref)) continue;\n const timer = setTimeout(() => {\n tryActivateFlowRef.current(flow.ref);\n delayTimersRef.current.delete(flow.ref);\n }, flow.trigger.delayMs!);\n delayTimersRef.current.set(flow.ref, timer);\n }\n\n return () => {\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, flowDefinitions]);\n\n // ─── Active Flows (with coexistence enforcement) ────────────\n\n const activeFlows = useMemo<GuidanceFlowDefinition[]>(() => {\n const eligible = flowDefinitions.filter(f => activeFlowRefs.has(f.ref));\n return enforceCoexistence(eligible, unpresentableFlowRefs);\n }, [flowDefinitions, activeFlowRefs]);\n\n // ─── Public API ─────────────────────────────────────────────\n\n // H3-9: Guard activateFlow against pre-init — no-op while loading\n const activateFlow = useCallback((ref: string) => {\n if (guidanceIsLoading) return;\n tryActivateFlow(ref);\n }, [tryActivateFlow, guidanceIsLoading]);\n\n /**\n * The EFFECTS of a flow reaching COMPLETED, separated from the state write that causes it.\n *\n * They are separate because the write has two callers that must each make exactly ONE state\n * update: `completeFlow` (the flow is completed on its own) and `completeElement` (the flow is\n * completed BY its last element, in the same update that records that element).\n *\n * Why one update rather than two: `updateFlowState` fires a fire-and-forget PUT of the WHOLE\n * document per call, so two calls in one tick race, and the loser is whichever response the\n * server happens to write last. Measured live 2026-09-22 (#1481): completing the last element and\n * then completing the flow issued two PUTs, the element-only one landed second, and the stored row\n * read `status: \"in-progress\"` beside an element that said `\"completed\"` — the flow re-activated on\n * the next trigger and asked its survey again.\n */\n const announceFlowCompleted = useCallback((flowRef: string) => {\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_COMPLETED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow completed: ${flowRef}`);\n }, [persistenceRegistry, resolveFlowStateScope, emit, logDebug]);\n\n const completeFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A flow shown by a direct renderer (standalone OnboardingView) may still be\n // NOT_STARTED/undefined when the user completes it (it is never routed through\n // the trigger engine), so allow any non-terminal status to reach COMPLETED —\n // mirrors dismiss/skip and keeps the four lifecycle guards aligned.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }));\n\n announceFlowCompleted(flowRef);\n }, [updateFlowState, persistenceRegistry, flowStates, announceFlowCompleted]);\n\n const completeElement = useCallback(async (\n flowRef: string,\n elementRef: string,\n data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number; declineResourceBinding?: boolean },\n ): Promise<void> => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n\n // L18: Validate survey answers against schema before persisting\n let validatedSurveyAnswers: Record<string, string | number | boolean | string[]> | undefined;\n if (data?.surveyAnswers) {\n const sanitized: Record<string, string | number | boolean | string[]> = {};\n for (const [key, value] of Object.entries(data.surveyAnswers)) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n sanitized[key] = value;\n } else if (Array.isArray(value) && value.every(v => typeof v === 'string')) {\n sanitized[key] = value as string[];\n }\n }\n validatedSurveyAnswers = sanitized;\n }\n\n /*\n * A bound survey writes its answers BEFORE anything is recorded (#1372).\n *\n * Ordering is the whole guarantee: if the target refuses, nothing is marked complete, so the\n * person keeps the form they filled in and can retry. Recording first and writing after would\n * reproduce the defect this binding exists to remove — a green element over an empty row.\n *\n * Every other element type, and every unbound survey, answers NOT_BOUND without a round trip,\n * so this costs them nothing.\n */\n const completingElement = persistenceRegistry.get(flowRef)?.elements.find(e => e.ref === elementRef);\n if (completingElement && !data?.declineResourceBinding) {\n // Latest registry handle at call time, like the init effects (see resourceRegistryRef).\n const resourceRegistryHandle = resourceRegistryRef.current;\n const writeOutcome = await writeBoundSurveyAnswers(\n completingElement,\n validatedSurveyAnswers,\n resourceRegistryHandle.doOperation,\n resourceRegistryHandle.registry,\n );\n if (\n writeOutcome === SurveyBindingWriteOutcome.REFUSED\n || writeOutcome === SurveyBindingWriteOutcome.NO_OPERATION\n ) {\n // The renderer surfaces this; the write helper has already said why in the log.\n throw new Error(`guidance_survey_binding_write_failed:${writeOutcome}`);\n }\n }\n\n const entry = persistenceRegistry.get(flowRef);\n\n /*\n * A flow whose every DECLARED element is finished is itself finished, and that transition is\n * written in the SAME update that records the element — never in a second one.\n *\n * `completeFlow` had exactly ONE caller, `OnboardingView` (the standalone onboarding-view\n * surface), so a flow rendered through the TRIGGER ENGINE never reached a terminal status. It\n * stayed `IN_PROGRESS` for ever, stayed in the active set, and `GuidanceRenderer` re-rendered\n * every element the flow declares on the next trigger, whatever their recorded state.\n *\n * Measured live 2026-09-22 on Wonder Todos (#1481): the bound display-name survey was ANSWERED\n * (its answer written to `userProfiles.displayName`), then SKIPPED, then asked a THIRD time on\n * the next `todos:update` — with an empty field, and answering again overwrote the profile.\n *\n * The declared set comes from the REGISTRY, never from the recorded state map, so the flow is\n * complete only when nothing it declares is outstanding. The element being recorded right now\n * counts as finished: `prev` cannot contain it yet.\n */\n const flowIsNowComplete = entry !== undefined && entry.elements.every(\n el => el.ref === elementRef\n || flowStates[flowRef]?.elements?.[el.ref]?.status === OnboardingStatus.COMPLETED,\n );\n\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: flowIsNowComplete\n ? OnboardingStatus.COMPLETED\n : (prev.status === OnboardingStatus.NOT_STARTED ? OnboardingStatus.IN_PROGRESS : prev.status),\n ...(flowIsNowComplete ? { completedAt: new Date() } : {}),\n elements: {\n ...prev.elements,\n [elementRef]: {\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n surveyAnswers: validatedSurveyAnswers,\n lastStepIndex: data?.lastStepIndex,\n },\n },\n }));\n\n // GUIDANCE_* events are flow-only: skip for onboarding views (no renderMode).\n if (entry?.renderMode) {\n const element = entry.elements.find(e => e.ref === elementRef);\n if (element) {\n emit(FrontendEvents.GUIDANCE_ELEMENT_COMPLETED, {\n flowRef,\n elementRef,\n elementType: element.type,\n });\n }\n }\n\n logDebug(`Element completed: ${flowRef}/${elementRef}`);\n\n // The state write above already carried the terminal status; only the effects remain.\n if (flowIsNowComplete) announceFlowCompleted(flowRef);\n }, [updateFlowState, persistenceRegistry, emit, logDebug, announceFlowCompleted, flowStates]);\n\n const dismissFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A standalone OnboardingView persists its dismiss through this flow ref\n // without ever activating the flow, so it is typically NOT_STARTED/undefined\n // at first dismiss; allow any non-terminal status to be dismissed (mirrors\n // skip) so the dismissal is actually persisted to the backend.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_DISMISSED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow dismissed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const skipFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state\n // (mirrors complete/dismiss via the shared predicate).\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.SKIPPED,\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n logDebug(`Flow skipped: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, logDebug]);\n\n const isFlowActive = useCallback((ref: string): boolean => {\n return activeFlowRefs.has(ref);\n }, [activeFlowRefs]);\n\n const isFlowCompleted = useCallback((ref: string): boolean => {\n return flowStates[ref]?.status === OnboardingStatus.COMPLETED;\n }, [flowStates]);\n\n // True for guidance flows AND app-config onboarding views — see persistenceRegistry.\n const isFlowPersistable = useCallback((ref: string): boolean => {\n return persistenceRegistry.has(ref);\n }, [persistenceRegistry]);\n\n // ─── WS / EventBus Subscriptions ───────────────────────────\n\n // Listen for backend-pushed guidance events\n useEffect(() => {\n const unsubActivated = on(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend activated flow: ${payload.flowRef}`);\n /*\n * IN-MEMORY ONLY, exactly like `activateFlow`.\n *\n * This wrote IN_PROGRESS and incremented `triggerCount` here — the precise thing #539\n * removed from the frontend trigger lane, left in place one handler over. Two consequences,\n * both reachable:\n *\n * - DOUBLE COUNTING. `GuidanceRenderer` is mounted unconditionally and sees the flow in\n * `activeFlows`, so it calls `recordFlowPresented`, whose guard passes (active, not yet\n * presented) and increments a SECOND time, emitting a second ACTIVATED event with\n * `triggerSource: 'frontend'`.\n * - the #539 defect itself. Spending the occasion at ACTIVATION time is what let a flow\n * whose labels had not been generated render raw keys and still be recorded as shown —\n * a FIRST_VISIT flow never fires again once `triggerCount > 0`, and nothing said why.\n *\n * The persisted transition and the event belong to `recordFlowPresented`, which runs once\n * every required label of every element resolves. Where the flow came from does not change\n * when it was SEEN.\n */\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(payload.flowRef);\n return next;\n });\n }\n });\n\n const unsubCompleted = on(FrontendEvents.GUIDANCE_FLOW_COMPLETED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend completed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubDismissed = on(FrontendEvents.GUIDANCE_FLOW_DISMISSED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend dismissed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n return () => {\n unsubActivated();\n unsubCompleted();\n unsubDismissed();\n };\n }, [on, logDebug, updateFlowState]);\n\n // ─── Progression WS Subscription (Phase 4) ────────────────\n\n useEffect(() => {\n const unsubMilestone = on(FrontendEvents.MILESTONE_ACHIEVED, (payload: FrontendEvent_MilestoneAchieved) => {\n logDebug(`Milestone achieved: ${payload.milestoneRef} (scope: ${payload.scope})`);\n\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope];\n /**\n * `null` means the scope's progression has not been read — the fetch failed, or it is\n * still in flight, which is exactly when a websocket event arrives. This event carries a\n * DELTA (one milestone, a category increment); applying it to a fabricated zeroed base\n * would publish a state that is wrong in every field the event does not mention, and\n * `null` is the one value the consumers treat as \"not known\" rather than \"known to be\n * zero\".\n *\n * Dropping the DELTA is right; leaving it at that was not. This said \"initialization is\n * still running and will land the authoritative document\", which is true of one of the two\n * states `null` encodes and false of the other. A scope whose read FAILED is also `null`,\n * `committed` is set regardless, and the init ref is never released — so for that scope\n * nothing is still running, and every later event was dropped with nothing to land it. Nor\n * is the in-flight case airtight: `Promise.allSettled` holds the commit until the SLOWEST\n * scope answers, so a document read before this event can land after it.\n *\n * So the event now ASKS for the document instead of only being discarded. The celebration\n * is emitted outside this updater and is unaffected either way.\n */\n if (!current) {\n logDebug(`Milestone event for unread progression scope ${scope} — dropped rather than seeded`);\n // The celebration is emitted OUTSIDE this updater, so it is unaffected; what is lost is\n // the delta, which a re-read replaces with the authoritative document.\n void recoverProgressionScope(scope);\n return prev;\n }\n return {\n ...prev,\n [scope]: {\n ...current,\n milestonesAchieved: {\n ...current.milestonesAchieved,\n [payload.milestoneRef]: {\n achievedAt: new Date(),\n count: 1,\n },\n },\n totalPoints: payload.totalPoints,\n categoriesProgress: {\n ...current.categoriesProgress,\n [payload.category]: {\n completedCount: (current.categoriesProgress[payload.category]?.completedCount ?? 0) + 1,\n totalPoints: (current.categoriesProgress[payload.category]?.totalPoints ?? 0) + (payload.points ?? 0),\n },\n },\n },\n };\n });\n\n // M11: Re-fetch features + notify user when a feature is unlocked\n if (payload.reward?.type === MilestoneRewardType.FEATURE_UNLOCK) {\n featuresCtx?.refetch();\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.feature_unlock.${payload.milestoneRef}`,\n data: {\n milestoneRef: payload.milestoneRef,\n featureRef: payload.reward.featureRef,\n },\n });\n }\n\n // C3: Trigger celebration overlay for celebration-type rewards\n if (payload.reward?.type === MilestoneRewardType.CELEBRATION && payload.reward?.celebrationLevel) {\n // What the MILESTONE asked for, else what its level defaults to — the precedence is a\n // named rule in saas-models, beside the vocabulary, rather than a `levelToMode` object\n // literal here where an application could neither read it nor override it.\n const mode = resolveCelebrationDisplayMode(payload.reward);\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.${payload.milestoneRef}`,\n data: {\n frontendDisplayHints: { celebration: { mode } },\n milestoneRef: payload.milestoneRef,\n category: payload.category,\n points: payload.points,\n },\n });\n }\n });\n\n // Progression progress (non-achievement): merge the authoritative\n // post-increment operationCounts so in-progress milestone bars advance live\n // (e.g. 8/10 → 9/10) without waiting for achievement or a page reload. The\n // MILESTONE_ACHIEVED handler above owns milestonesAchieved / categories /\n // celebration; here we only refresh counts + totalPoints.\n const unsubProgressionUpdate = on(FrontendEvents.PROGRESSION_UPDATED, (payload: FrontendEvent_ProgressionUpdated) => {\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope];\n // Same reasoning as MILESTONE_ACHIEVED above: an unread scope is `null`, and seeding it\n // from this event would assert `milestonesAchieved: {}` and `categoriesProgress: {}` —\n // two fields this event says nothing about — as facts.\n if (!current) {\n logDebug(`Progression update for unread progression scope ${scope} — dropped rather than seeded`);\n void recoverProgressionScope(scope);\n return prev;\n }\n return {\n ...prev,\n [scope]: {\n ...current,\n operationCounts: payload.operationCounts,\n totalPoints: payload.totalPoints,\n },\n };\n });\n });\n\n return () => {\n unsubMilestone();\n unsubProgressionUpdate();\n };\n }, [on, logDebug, emit, featuresCtx, recoverProgressionScope]);\n\n // ─── Lifecycle WS Subscription (Phase 5) ────────────────────\n\n useEffect(() => {\n if (!lifecycleEnabled) return;\n\n const unsubLifecycle = on(FrontendEvents.LIFECYCLE_STAGE_CHANGED, (payload: FrontendEvent_LifecycleStageChanged) => {\n logDebug(`Lifecycle stage changed: ${payload.previousStage} → ${payload.newStage} (scope: ${payload.scope})`);\n\n const scope = payload.scope as LifecycleScope;\n setLifecycleScopedStates(prev => {\n const current = prev[scope] ?? GuidanceStateUtils.createInitialLifecycleState(new Date(payload.changedAt));\n const changedAtDate = new Date(payload.changedAt);\n const updatedHistory = [...current.stageHistory];\n if (updatedHistory.length > 0 && !updatedHistory[0].exitedAt) {\n updatedHistory[0] = { ...updatedHistory[0], exitedAt: changedAtDate };\n }\n updatedHistory.unshift({\n stage: payload.newStage,\n enteredAt: changedAtDate,\n trigger: payload.trigger,\n });\n return {\n ...prev,\n [scope]: {\n ...current,\n currentStage: payload.newStage,\n stageEnteredAt: changedAtDate,\n stageHistory: updatedHistory,\n ...(payload.activationCriteriaMet ? { activationCriteriaMet: payload.activationCriteriaMet } : {}),\n },\n };\n });\n });\n\n return () => {\n unsubLifecycle();\n };\n }, [on, logDebug, lifecycleEnabled]);\n\n // ─── Progression Context Slice (Phase 4) ───────────────────\n\n const progressionSlice = useMemo<ProgressionContextSlice>(() => {\n const isMilestoneAchieved = (milestoneRef: string): boolean => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state?.milestonesAchieved[milestoneRef]) return true;\n }\n return false;\n };\n\n const getMilestoneAchievement = (milestoneRef: string): ProgressionMilestoneAchieved | undefined => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const achievement = state?.milestonesAchieved[milestoneRef];\n if (achievement) return achievement;\n }\n return undefined;\n };\n\n const getCategoryProgress = (category: string): ProgressionCategoryProgress | undefined => {\n let merged: ProgressionCategoryProgress | undefined;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const catProgress = state?.categoriesProgress[category];\n if (catProgress) {\n if (!merged) {\n merged = { completedCount: 0, totalPoints: 0 };\n }\n merged.completedCount += catProgress.completedCount;\n merged.totalPoints += catProgress.totalPoints;\n }\n }\n return merged;\n };\n\n let totalPoints = 0;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state) {\n totalPoints += state.totalPoints;\n }\n }\n\n return {\n scopedStates: progressionScopedStates,\n isMilestoneAchieved,\n getMilestoneAchievement,\n getCategoryProgress,\n totalPoints,\n milestoneDefinitions,\n isLoading: progressionIsLoading,\n };\n }, [progressionScopedStates, progressionIsLoading, milestoneDefinitions]);\n\n // ─── Lifecycle Context Slice (Phase 5) ─────────────────────\n\n const lifecycleSlice = useMemo<LifecycleContextSlice>(() => {\n if (!lifecycleEnabled) return LIFECYCLE_DEFAULTS;\n\n // Use USER scope as the primary lifecycle state (most common)\n const primaryState = lifecycleScopedStates[LifecycleScope.USER];\n\n const currentStage = primaryState?.currentStage ?? null;\n const stageEnteredAt = primaryState?.stageEnteredAt ? new Date(primaryState.stageEnteredAt) : null;\n\n const hasReachedStage = (stage: LifecycleStage): boolean => {\n if (!primaryState) return false;\n return hasReachedStageUtil(primaryState, stage);\n };\n\n // Build activation progress from criteria config + state\n const criteriaMet = primaryState?.activationCriteriaMet ?? {};\n const criteria = lifecycleActivationCriteria?.criteria ?? [];\n const totalCriteria = criteria.length;\n const metCriteria = Object.values(criteriaMet).filter(Boolean).length;\n\n return {\n currentStage,\n stageEnteredAt,\n isEnabled: true,\n isLoading: lifecycleIsLoading,\n hasReachedStage,\n activationProgress: {\n criteriaMet,\n criteria,\n totalCriteria,\n metCriteria,\n isFullyActivated: totalCriteria > 0 ? metCriteria >= totalCriteria : currentStage !== LifecycleStage.SIGNED_UP,\n },\n };\n }, [lifecycleEnabled, lifecycleScopedStates, lifecycleIsLoading, lifecycleActivationCriteria]);\n\n // ─── Context Value ──────────────────────────────────────────\n\n // M8/L19: Context re-render isolation analysis\n // The context value depends on 13 values — any change creates a new value and re-renders all consumers.\n // Options considered:\n // 1. Split into separate contexts (GuidanceContext, ProgressionContext, LifecycleContext) — most effective\n // 2. useSyncExternalStore with granular subscriptions — less invasive\n // 3. Accept current behavior + optimize consumers with React.memo\n // Decision: Option 3 for v1. The provider-level useMemo on progressionSlice and lifecycleSlice\n // ensures reference stability for the most commonly-used slices. Hook-level useMemo in\n // useLifecycle() and useProgression() provides additional stability.\n // Revisit if profiling shows re-render performance issues.\n const contextValue = useMemo<GuidanceContextValue>(() => ({\n activeFlows,\n flowStates,\n activateFlow,\n recordFlowPresented,\n reportFlowNotPresentable,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n isLoading: guidanceIsLoading,\n progression: progressionSlice,\n lifecycle: lifecycleSlice,\n }), [\n activeFlows,\n flowStates,\n activateFlow,\n recordFlowPresented,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n guidanceIsLoading,\n progressionSlice,\n lifecycleSlice,\n ]);\n\n return (\n <GuidanceContext.Provider value={contextValue}>\n {children}\n </GuidanceContext.Provider>\n );\n};\n"]}