@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":"zone-empty-behavior.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAuB1F;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACK;IACxB,IAAI,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,OAAO,mBAAmB;WACrB,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO;WACtB,iBAAiB,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA2B;IACpE,OAAO,QAAQ,KAAK,iBAAiB,CAAC,WAAW,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4CAA4C,CAAC,MAG5D;IACC,OAAO,0CAA0C,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Zone empty-behavior resolution — what an ADJACENT zone does once its last content is dismissed.\n *\n * ## Why this is a resolver rather than a field read\n *\n * `ZoneConfig.onEmpty` is declared per ZONE, so one value covers every destination that splits into\n * that zone — and destinations legitimately disagree. A LIST wants the detail pane to stay put so the\n * layout does not reflow while a reviewer steps through rows; a CANVAS wants its width back the moment\n * nothing is selected. They share one secondary zone, so a single zone-level value is wrong for one of\n * them whichever way it is set.\n *\n * The override therefore lives on the DESTINATION — the thing occupying primary — because the question\n * \"what should happen to my detail pane when it empties\" is a property of the surface being returned\n * TO, not of the content that just left.\n *\n * ## Precedence, and why COLLAPSE is the floor\n *\n * destination override → zone config → `ZoneEmptyBehavior.COLLAPSE`\n *\n * COLLAPSE is the schema default and, until this resolver existed, the UNCONDITIONAL behavior: nothing\n * read `onEmpty` at all, so every zone collapsed regardless of what its layout declared (issue #191).\n * Keeping COLLAPSE as the floor is what makes this change invisible to every layout that authored\n * nothing — and to every layout that authored COLLAPSE and was silently getting it by accident.\n */\n\nimport { NavigationZoneName, ZoneEmptyBehavior } from '@wildo-ai/saas-models';\nimport type { NavigationLayout } from '@wildo-ai/saas-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/**\n * The destination-level override, already resolved from whatever is in primary.\n *\n * Passed in rather than looked up here so this stays a pure function of its arguments: resolving a\n * composite view's or a resource operation's frontend config needs the registry and the app config,\n * and threading those through would make the precedence rule — the part worth testing — untestable\n * without mounting half the runtime.\n */\nexport interface ZoneEmptyBehaviorInputs {\n /** The zone whose empty behavior is being resolved. PRIMARY never empties; see the guard below. */\n zone: NavigationZoneName;\n /** The resolved layout's zone declarations, or `undefined` when no layout is configured. */\n zones: NavigationLayout['zones'] | undefined;\n /**\n * `adjacentZoneOnEmpty` declared by whatever currently occupies PRIMARY, or `undefined` when the\n * destination declares nothing (the common case).\n */\n destinationOverride: ZoneEmptyBehavior | undefined;\n}\n\n/**\n * Resolve what `zone` does when its stack empties.\n *\n * PRIMARY always answers COLLAPSE, which is not a behavior so much as a refusal: primary never empties\n * (it falls back to the router's own children), so no caller should be asking. Answering the floor\n * rather than throwing keeps a mis-call from taking the shell down over a layout question.\n */\nexport function resolveZoneEmptyBehavior({\n zone,\n zones,\n destinationOverride,\n}: ZoneEmptyBehaviorInputs): ZoneEmptyBehavior {\n if (zone === NavigationZoneName.PRIMARY) {\n return ZoneEmptyBehavior.COLLAPSE;\n }\n return destinationOverride\n ?? zones?.[zone]?.onEmpty\n ?? ZoneEmptyBehavior.COLLAPSE;\n}\n\n/**\n * Should `zone` occupy space right now?\n *\n * Two reasons a zone is shown, and they are different questions: it HAS content, or it has none and\n * its resolved behavior is `EMPTY_STATE` (a reserved pane carrying a placeholder). Kept beside the\n * resolver so the two can never drift — a caller that resolved the behavior and then wrote its own\n * visibility expression is how one of them ends up reading the field and the other not.\n */\nexport function zoneOccupiesSpaceWhenEmpty(behavior: ZoneEmptyBehavior): boolean {\n return behavior === ZoneEmptyBehavior.EMPTY_STATE;\n}\n\n/**\n * Read `adjacentZoneOnEmpty` off whatever occupies PRIMARY.\n *\n * A thin projection over {@link resolvePrimaryDestinationLayoutDeclaration}, which owns the\n * content-kind switch shared with `zoneContentFill`. Kept as a named function rather than inlined at\n * the call site so the pins below exercise the same path the runtime takes.\n */\nexport function resolvePrimaryDestinationAdjacentZoneOnEmpty(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneEmptyBehavior | undefined {\n return resolvePrimaryDestinationLayoutDeclaration(params)?.adjacentZoneOnEmpty;\n}\n"]}
1
+ {"version":3,"file":"zone-empty-behavior.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAuB1F;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACK;IACxB,IAAI,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,OAAO,mBAAmB;WACrB,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO;WACtB,iBAAiB,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA2B;IACpE,OAAO,QAAQ,KAAK,iBAAiB,CAAC,WAAW,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA4D;IAC5F,OAAO,MAAM,CAAC,UAAU,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4CAA4C,CAAC,MAG5D;IACC,OAAO,0CAA0C,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Zone empty-behavior resolution — what an ADJACENT zone does once its last content is dismissed.\n *\n * ## Why this is a resolver rather than a field read\n *\n * `ZoneConfig.onEmpty` is declared per ZONE, so one value covers every destination that splits into\n * that zone — and destinations legitimately disagree. A LIST wants the detail pane to stay put so the\n * layout does not reflow while a reviewer steps through rows; a CANVAS wants its width back the moment\n * nothing is selected. They share one secondary zone, so a single zone-level value is wrong for one of\n * them whichever way it is set.\n *\n * The override therefore lives on the DESTINATION — the thing occupying primary — because the question\n * \"what should happen to my detail pane when it empties\" is a property of the surface being returned\n * TO, not of the content that just left.\n *\n * ## Precedence, and why COLLAPSE is the floor\n *\n * destination override → zone config → `ZoneEmptyBehavior.COLLAPSE`\n *\n * COLLAPSE is the schema default and, until this resolver existed, the UNCONDITIONAL behavior: nothing\n * read `onEmpty` at all, so every zone collapsed regardless of what its layout declared (issue #191).\n * Keeping COLLAPSE as the floor is what makes this change invisible to every layout that authored\n * nothing — and to every layout that authored COLLAPSE and was silently getting it by accident.\n */\n\nimport { NavigationZoneName, ZoneEmptyBehavior } from '@wildo-ai/saas-models';\nimport type { NavigationLayout } from '@wildo-ai/saas-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/**\n * The destination-level override, already resolved from whatever is in primary.\n *\n * Passed in rather than looked up here so this stays a pure function of its arguments: resolving a\n * composite view's or a resource operation's frontend config needs the registry and the app config,\n * and threading those through would make the precedence rule — the part worth testing — untestable\n * without mounting half the runtime.\n */\nexport interface ZoneEmptyBehaviorInputs {\n /** The zone whose empty behavior is being resolved. PRIMARY never empties; see the guard below. */\n zone: NavigationZoneName;\n /** The resolved layout's zone declarations, or `undefined` when no layout is configured. */\n zones: NavigationLayout['zones'] | undefined;\n /**\n * `adjacentZoneOnEmpty` declared by whatever currently occupies PRIMARY, or `undefined` when the\n * destination declares nothing (the common case).\n */\n destinationOverride: ZoneEmptyBehavior | undefined;\n}\n\n/**\n * Resolve what `zone` does when its stack empties.\n *\n * PRIMARY always answers COLLAPSE, which is not a behavior so much as a refusal: primary never empties\n * (it falls back to the router's own children), so no caller should be asking. Answering the floor\n * rather than throwing keeps a mis-call from taking the shell down over a layout question.\n */\nexport function resolveZoneEmptyBehavior({\n zone,\n zones,\n destinationOverride,\n}: ZoneEmptyBehaviorInputs): ZoneEmptyBehavior {\n if (zone === NavigationZoneName.PRIMARY) {\n return ZoneEmptyBehavior.COLLAPSE;\n }\n return destinationOverride\n ?? zones?.[zone]?.onEmpty\n ?? ZoneEmptyBehavior.COLLAPSE;\n}\n\n/**\n * Should `zone` occupy space right now?\n *\n * Two reasons a zone is shown, and they are different questions: it HAS content, or it has none and\n * its resolved behavior is `EMPTY_STATE` (a reserved pane carrying a placeholder). Kept beside the\n * resolver so the two can never drift — a caller that resolved the behavior and then wrote its own\n * visibility expression is how one of them ends up reading the field and the other not.\n */\nexport function zoneOccupiesSpaceWhenEmpty(behavior: ZoneEmptyBehavior): boolean {\n return behavior === ZoneEmptyBehavior.EMPTY_STATE;\n}\n\n/**\n * May this zone be DISMISSED — is a close control worth offering on it?\n *\n * Two conditions, and both are about whether the gesture would DO anything:\n *\n * - **It holds something.** Closing an empty pane is a no-op by definition.\n * - **Closing gives the width back**, i.e. the resolved behavior is not `EMPTY_STATE`. A zone that\n * stays on screen when empty has declared that it stays; \"closing\" it would swap a record for a\n * placeholder and return no room, so the control would appear to do nothing. That is a worse\n * affordance than no control at all.\n *\n * Kept beside {@link zoneOccupiesSpaceWhenEmpty} — it is that predicate's inverse plus the content\n * test — so the two cannot drift: the control can never appear on a pane that would stay put, nor be\n * withheld from one that would go.\n *\n * Deliberately NOT conditioned on emphasis: closing an emphasized pane is the fastest way back to\n * the list beneath it, and hiding the control there strands the reader on the expand toggle.\n */\nexport function zoneIsDismissable(params: { hasContent: boolean; behavior: ZoneEmptyBehavior }): boolean {\n return params.hasContent && !zoneOccupiesSpaceWhenEmpty(params.behavior);\n}\n\n/**\n * Read `adjacentZoneOnEmpty` off whatever occupies PRIMARY.\n *\n * A thin projection over {@link resolvePrimaryDestinationLayoutDeclaration}, which owns the\n * content-kind switch shared with `zoneContentFill`. Kept as a named function rather than inlined at\n * the call site so the pins below exercise the same path the runtime takes.\n */\nexport function resolvePrimaryDestinationAdjacentZoneOnEmpty(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneEmptyBehavior | undefined {\n return resolvePrimaryDestinationLayoutDeclaration(params)?.adjacentZoneOnEmpty;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-visible-entry.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,YAAY,EAAE,0BAA0B,GAAG,SAAS,EACpD,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAuDR"}
1
+ {"version":3,"file":"zone-visible-entry.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,YAAY,EAAE,0BAA0B,GAAG,SAAS,EACpD,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAuDR"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-visible-entry.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA6B,EAC7B,YAAoD,EACpD,WAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEhD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,0BAA0B,CAAC,MAAM;YACpC,OAAO,QAAQ,CAAC;QAClB,KAAK,0BAA0B,CAAC,MAAM;YACpC,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,sBAAsB,GAAU,YAAY,CAAC;YACnD;;;;;eAKG;YACH,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,CAAC,sBAAsB,CAAC,yBAAyB;kBACzF,8EAA8E,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACvE,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC","sourcesContent":["/**\n * Which entry of a zone's stack is the VISIBLE one — the single behavioural difference between the\n * two `NavigationZoneContentModel` members (#411).\n *\n * Both models keep every entry mounted. `SINGLE` shows the TOP of the stack and BACK pops it;\n * `TABBED` shows the ACTIVE tab and the rest are one click away. Everything else about the two\n * renderings is identical, so this function is the whole distinction and is the only place it is\n * decided.\n *\n * It exists as a named pure function rather than an expression inside `ZoneContentRenderer` because\n * that expression is what `TABBED` was missing for its entire life: the member was declared,\n * documented as \"parallel tabs, tab bar visible\", validated by the layout schema and selected by one\n * of the framework's own shipped presets, while the renderer showed the top of the stack — with no\n * error. A behaviour that is one inline ternary is a behaviour nothing can pin.\n */\n\nimport { NavigationZoneContentModel } from '@wildo-ai/saas-models';\n\nimport type { NavigationStackEntry } from './navigation.schemas';\n\n/**\n * @param stack The zone's entries, oldest first.\n * @param contentModel The zone's DECLARED content model. `undefined` reads as `SINGLE` — the schema\n * default, and the behaviour every zone had before a model was declarable.\n * @param activeTabId `NavigationZoneState.activeTabId`. Ignored outside `TABBED`.\n * @returns The index to render, or `-1` for an empty stack.\n */\nexport function resolveVisibleEntryIndex(\n stack: NavigationStackEntry[],\n contentModel: NavigationZoneContentModel | undefined,\n activeTabId: string | undefined,\n): number {\n if (stack.length === 0) return -1;\n\n const topIndex = stack.length - 1;\n\n /*\n * ─── EXHAUSTIVE ON PURPOSE: a new content model must not be able to ship silently ───────────────\n *\n * This switch is the fourth item of #411, and it is the one that outlives the other three. All\n * three behaviours that issue fixed failed the SAME way — declared in a vocabulary, validated by a\n * schema, selected by a config, and read by no renderer, with no error — and `TABBED` is the\n * clearest case because the framework's own preset chose it and got a single stack.\n *\n * A `switch` with a `never` assignment turns the next such member into a COMPILE error at the\n * exact place a renderer has to exist. That is strictly stronger than a runtime warning, which\n * fires only if someone happens to configure the member and happens to be reading the console;\n * `preset-navigation.ts` selected TABBED for months with nobody reading anything.\n *\n * `undefined` (the schema default, and every zone that predates the field) is handled BEFORE the\n * switch so that adding a member cannot be satisfied by widening a `default:` arm — there is no\n * `default:` arm to widen.\n */\n if (contentModel === undefined) return topIndex;\n\n switch (contentModel) {\n case NavigationZoneContentModel.SINGLE:\n return topIndex;\n case NavigationZoneContentModel.TABBED:\n break;\n default: {\n const unrenderedContentModel: never = contentModel;\n /*\n * Unreachable while the switch is exhaustive. Kept as a THROW rather than a silent fallback\n * because the alternative — quietly returning the top entry — is precisely the degradation\n * this whole guard exists to make impossible, and a build that somehow reaches here (a value\n * from an older bundle, a cast) should say so rather than pretend.\n */\n throw new Error(\n `[navigation] Zone content model '${String(unrenderedContentModel)}' reaches no renderer. `\n + 'Add a case to resolveVisibleEntryIndex, and the rendering that case implies.',\n );\n }\n }\n\n /*\n * The TOP entry is the fallback in two situations, and both are ordinary rather than exceptional:\n * nothing has been activated yet (the frame after the first tab opens), and `activeTabId` names an\n * entry the stack no longer holds (a tab closed while it was active). Rendering nothing in either\n * case would blank the zone under a full tab bar.\n *\n * Falling back to the TOP rather than the FIRST is deliberate: the newest tab is the one the user\n * just caused to exist, so it is the one they are looking for.\n */\n const activeIndex = stack.findIndex(entry => entry.id === activeTabId);\n return activeIndex >= 0 ? activeIndex : topIndex;\n}\n"]}
1
+ {"version":3,"file":"zone-visible-entry.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA6B,EAC7B,YAAoD,EACpD,WAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEhD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,0BAA0B,CAAC,MAAM;YACpC,OAAO,QAAQ,CAAC;QAClB,KAAK,0BAA0B,CAAC,MAAM;YACpC,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,sBAAsB,GAAU,YAAY,CAAC;YACnD;;;;;eAKG;YACH,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,CAAC,sBAAsB,CAAC,yBAAyB;kBACzF,8EAA8E,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACvE,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC","sourcesContent":["/**\n * Which entry of a zone's stack is the VISIBLE one — the single behavioural difference between the\n * two `NavigationZoneContentModel` members (#411).\n *\n * Both models keep every entry mounted. `SINGLE` shows the TOP of the stack and BACK pops it;\n * `TABBED` shows the ACTIVE tab and the rest are one click away. Everything else about the two\n * renderings is identical, so this function is the whole distinction and is the only place it is\n * decided.\n *\n * It exists as a named pure function rather than an expression inside `ZoneContentRenderer` because\n * that expression is what `TABBED` was missing for its entire life: the member was declared,\n * documented as \"parallel tabs, tab bar visible\", validated by the layout schema and selected by one\n * of the framework's own shipped presets, while the renderer showed the top of the stack — with no\n * error. A behaviour that is one inline ternary is a behaviour nothing can pin.\n */\n\nimport { NavigationZoneContentModel } from '@wildo-ai/saas-models';\n\nimport type { NavigationStackEntry } from './navigation.schemas';\n\n/**\n * @param stack The zone's entries, oldest first.\n * @param contentModel The zone's DECLARED content model. `undefined` reads as `SINGLE` — the schema\n * default, and the behaviour every zone had before a model was declarable.\n * @param activeTabId `NavigationZoneState.activeTabId`. Ignored outside `TABBED`.\n * @returns The index to render, or `-1` for an empty stack.\n */\nexport function resolveVisibleEntryIndex(\n stack: NavigationStackEntry[],\n contentModel: NavigationZoneContentModel | undefined,\n activeTabId: string | undefined,\n): number {\n if (stack.length === 0) return -1;\n\n const topIndex = stack.length - 1;\n\n /*\n * ─── EXHAUSTIVE ON PURPOSE: a new content model must not be able to ship silently ───────────────\n *\n * This switch is the fourth item of #411, and it is the one that outlives the other three. All\n * three behaviours that issue fixed failed the SAME way — declared in a vocabulary, validated by a\n * schema, selected by a config, and read by no renderer, with no error — and `TABBED` is the\n * clearest case because the framework's own preset chose it and got a single stack.\n *\n * A `switch` with a `never` assignment turns the next such member into a COMPILE error at the\n * exact place a renderer has to exist. That is strictly stronger than a runtime warning, which\n * fires only if someone happens to configure the member and happens to be reading the console;\n * `preset-navigation.ts` selected TABBED for months with nobody reading anything.\n *\n * `undefined` (the schema default, and every zone that predates the field) is handled BEFORE the\n * switch so that adding a member cannot be satisfied by widening a `default:` arm — there is no\n * `default:` arm to widen.\n */\n if (contentModel === undefined) return topIndex;\n\n switch (contentModel) {\n case NavigationZoneContentModel.SINGLE:\n return topIndex;\n case NavigationZoneContentModel.TABBED:\n break;\n default: {\n const unrenderedContentModel: never = contentModel;\n /*\n * Unreachable while the switch is exhaustive. Kept as a THROW rather than a silent fallback\n * because the alternative — quietly returning the top entry — is precisely the degradation\n * this whole guard exists to make impossible, and a build that somehow reaches here (a value\n * from an older bundle, a cast) should say so rather than pretend.\n */\n throw new Error(\n `[navigation] Zone content model '${String(unrenderedContentModel)}' reaches no renderer. `\n + 'Add a case to resolveVisibleEntryIndex, and the rendering that case implies.',\n );\n }\n }\n\n /*\n * The TOP entry is the fallback in two situations, and both are ordinary rather than exceptional:\n * nothing has been activated yet (the frame after the first tab opens), and `activeTabId` names an\n * entry the stack no longer holds (a tab closed while it was active). Rendering nothing in either\n * case would blank the zone under a full tab bar.\n *\n * Falling back to the TOP rather than the FIRST is deliberate: the newest tab is the one the user\n * just caused to exist, so it is the one they are looking for.\n */\n const activeIndex = stack.findIndex(entry => entry.id === activeTabId);\n return activeIndex >= 0 ? activeIndex : topIndex;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"api-readiness-checker.frontend.service.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,gBAAgB,CAA8B;IAItD,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,sBAA2B;IAYhE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,SAAS;IAsBvB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;OAEG;YACW,qBAAqB;IAgEnC;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAK5C;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,sBAAsB,GAC9B,mBAAmB,CAUrB"}
1
+ {"version":3,"file":"api-readiness-checker.frontend.service.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,gBAAgB,CAA8B;IAItD,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,sBAA2B;IAYhE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,SAAS;IAsBvB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;OAEG;YACW,qBAAqB;IAgEnC;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAK5C;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,sBAAsB,GAC9B,mBAAmB,CAUrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-readiness-checker.frontend.service.js","sourceRoot":"","sources":["../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { fullJitterBackoffMs, recoveryOffsetMs } from './network-backoff.frontend.utils';\n\n/**\n * Readiness check response from /health/ready endpoint\n */\ninterface ReadinessResponse {\n status: 'healthy' | 'unhealthy' | 'degraded';\n timestamp: string;\n uptime: number;\n version: string;\n}\n\n/**\n * Configuration for the readiness checker\n */\nexport interface ReadinessCheckerConfig {\n /** Base delay in ms for exponential backoff (default: 100) */\n baseDelayMs?: number;\n /** Maximum delay cap in ms (default: 10000 = 10s) */\n maxDelayMs?: number;\n /** Timeout for each health check request in ms (default: 5000) */\n requestTimeoutMs?: number;\n}\n\nconst DEFAULT_BASE_DELAY_MS = 100;\nconst DEFAULT_MAX_DELAY_MS = 10000;\nconst DEFAULT_REQUEST_TIMEOUT_MS = 5000;\n\n/**\n * Typed rejection produced when a BOUNDED {@link ApiReadinessChecker.waitForReady}\n * gives up before the backend reports ready.\n *\n * This is the first-class \"network unavailable\" lane for foreground requests:\n * before it existed, every request issued after a connection loss parked forever\n * on the never-settling readiness promise (audit finding B2 — an FK dropdown\n * spinner that never resolves). Callers and retry ladders classify it by `name`\n * / `code` (or via {@link isApiNotReadyError}); it is a TRANSIENT condition —\n * the backend may come back — never a validation or server failure.\n *\n * The background poll loop is NOT stopped by this rejection: it keeps polling\n * `/health/ready` (that part is by design, see {@link ApiReadinessChecker}),\n * so a later request finds the gate open again once the backend recovers.\n */\nexport class ApiNotReadyError extends Error {\n override readonly name = 'ApiNotReadyError';\n /** Stable machine-readable classifier for retry logic. */\n readonly code = 'API_NOT_READY';\n readonly baseUrl: string;\n readonly timeoutMs: number;\n\n constructor(baseUrl: string, timeoutMs: number) {\n super(`Backend API at ${baseUrl || '<unset baseUrl>'} did not become ready within ${timeoutMs}ms`);\n this.baseUrl = baseUrl;\n this.timeoutMs = timeoutMs;\n }\n}\n\n/**\n * Recognise an {@link ApiNotReadyError} across module instances (dual-package /\n * multiple bundles), matching by the stable `name` rather than `instanceof`.\n */\nexport function isApiNotReadyError(error: unknown): error is ApiNotReadyError {\n return error instanceof Error && error.name === 'ApiNotReadyError';\n}\n\n/**\n * API Readiness Checker\n *\n * Checks if the target API is ready by polling /health/ready endpoint.\n * Uses exponential backoff: 2^attempts * baseDelay, capped at maxDelay.\n * The background poll loop never stops — it keeps retrying until the API is\n * ready. Individual waiters may bound their wait (`waitForReady(timeoutMs)`)\n * and receive a typed {@link ApiNotReadyError} rejection without affecting\n * the shared loop.\n *\n * @example\n * ```typescript\n * const checker = new ApiReadinessChecker('https://api.example.com');\n * await checker.waitForReady(); // Blocks until API is ready (unbounded)\n * await checker.waitForReady(10_000); // Rejects with ApiNotReadyError after 10s\n * ```\n */\nexport class ApiReadinessChecker {\n private baseUrl: string;\n private config: Required<ReadinessCheckerConfig>;\n private logger: LoggerFrontendService;\n private logDebug: (message: string, context?: any) => void;\n private isReady: boolean = false;\n private readinessPromise: Promise<void> | null = null;\n // True while a `performReadinessCheck` loop is actively polling. Guards against\n // `reset()` nulling `readinessPromise` mid-poll and letting a second concurrent\n // loop spawn on the same instance (redundant /health/ready load).\n private isChecking: boolean = false;\n\n constructor(baseUrl: string, config: ReadinessCheckerConfig = {}) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n this.config = {\n baseDelayMs: config.baseDelayMs ?? DEFAULT_BASE_DELAY_MS,\n maxDelayMs: config.maxDelayMs ?? DEFAULT_MAX_DELAY_MS,\n requestTimeoutMs: config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,\n };\n this.logger = LoggerFrontendService.getLogger();\n this.logDebug = this.logger.debugByType('ApiReadinessChecker');\n this.logger.setDebugTypeLogging('ApiReadinessChecker', false);\n }\n\n /**\n * Calculate the poll delay for a given attempt using JITTERED exponential\n * backoff: a random value in [0, min(maxDelay, 2^attempt · baseDelay)].\n *\n * The jitter is the cross-client de-herd lever for the readiness gate. Every\n * client that was up when the backend went down starts polling /health/ready at\n * the same moment and, with a deterministic curve, would hit the endpoint in\n * lockstep — and then all flip \"ready\" and flood the backend on the same tick.\n * Randomising the poll cadence spreads both the health-probe load and the\n * subsequent recovery burst.\n */\n private calculateDelay(attempt: number): number {\n return fullJitterBackoffMs(attempt, this.config.baseDelayMs, this.config.maxDelayMs);\n }\n\n /**\n * Check readiness once\n * @returns true if API is ready, false otherwise\n */\n private async checkOnce(): Promise<boolean> {\n try {\n const response = await axios.get<ReadinessResponse>(\n `${this.baseUrl}/health/ready`,\n {\n timeout: this.config.requestTimeoutMs,\n // Don't throw on non-2xx status - we handle it ourselves\n validateStatus: () => true,\n }\n );\n\n if (response.status === 200 && response.data?.status === 'healthy') {\n return true;\n }\n\n return false;\n } catch (error) {\n // Network error, timeout, etc.\n return false;\n }\n }\n\n /**\n * Wait until the API is ready.\n *\n * Without `timeoutMs`, blocks until the backend reports ready — the shared\n * poll loop (`performReadinessCheck`) uses exponential backoff and never\n * gives up. That unbounded form is appropriate for background consumers\n * (e.g. connectivity banners) that WANT to ride the outage to its end.\n *\n * With `timeoutMs`, the wait is BOUNDED: if the backend is still not ready\n * when the timeout elapses, the returned promise rejects with a typed\n * {@link ApiNotReadyError} so the caller's error path runs (toast, inline\n * error, retry ladder classification). Foreground request paths MUST use\n * this form — an unbounded wait parks every user-visible request forever\n * after a connection loss (audit B2). The timeout is per-caller: it never\n * settles, cancels, or otherwise affects the SHARED `readinessPromise`,\n * whose loop keeps polling in the background so a later call can succeed.\n *\n * @param timeoutMs - Optional bound in ms. Omit for the unbounded wait.\n */\n public async waitForReady(timeoutMs?: number): Promise<void> {\n // If no baseUrl configured, skip readiness check\n if (!this.baseUrl) {\n this.logger.warn('API readiness check skipped: no baseUrl configured');\n return;\n }\n\n // If already ready, return immediately\n if (this.isReady) {\n return;\n }\n\n // Join (or start) the shared readiness poll. The shared promise only ever\n // RESOLVES (the loop retries forever), so racing it below can never leave\n // an unhandled rejection behind on the shared object.\n if (!this.readinessPromise) {\n this.readinessPromise = this.performReadinessCheck();\n }\n const readiness = this.readinessPromise;\n\n if (timeoutMs === undefined) {\n await readiness;\n return;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n readiness,\n new Promise<never>((_, reject) => {\n timer = setTimeout(() => reject(new ApiNotReadyError(this.baseUrl, timeoutMs)), timeoutMs);\n }),\n ]);\n } finally {\n // Always clear the per-caller timer so a resolved wait doesn't leave a\n // stray timeout (and a pending ApiNotReadyError construction) behind.\n if (timer !== undefined) clearTimeout(timer);\n }\n }\n\n /**\n * Perform the actual readiness check with retries\n */\n private async performReadinessCheck(): Promise<void> {\n let attempt = 0;\n\n this.isChecking = true;\n this.logDebug('Starting API readiness check', { baseUrl: this.baseUrl });\n\n try {\n while (!this.isReady) {\n const ready = await this.checkOnce();\n\n if (ready) {\n // Recovery de-sync: if the backend was actually unavailable for a while\n // (attempt > 0 = we had to retry), delay the \"ready\" flip by a per-client\n // random offset so every client that was blocked on the SAME outage\n // doesn't release its queued requests — and re-fire its WS reconnect — in\n // the same instant. The first-ever cold check (attempt 0 succeeds\n // immediately against a healthy backend) is NOT delayed, so page load and\n // normal navigation stay fast.\n if (attempt > 0) {\n const offset = recoveryOffsetMs();\n this.logDebug('API ready after outage — applying recovery de-sync offset', {\n baseUrl: this.baseUrl,\n offsetMs: offset,\n });\n await this.sleep(offset);\n // The backend may have died again DURING the (up to 2s) offset sleep.\n // Re-confirm before committing the sticky `isReady` flag — otherwise we\n // could flip the gate open against a down backend and fire the next\n // request blindly. If it's no longer healthy, keep polling.\n if (!(await this.checkOnce())) {\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API went unhealthy during recovery offset, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n });\n await this.sleep(delay);\n attempt++;\n continue;\n }\n }\n this.isReady = true;\n this.logDebug('API is ready', {\n baseUrl: this.baseUrl,\n attempts: attempt + 1,\n });\n return;\n }\n\n // Not ready - log warning and retry\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API not ready, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n nextDelayMs: delay,\n });\n\n await this.sleep(delay);\n attempt++;\n }\n } finally {\n this.isChecking = false;\n }\n }\n\n /**\n * Sleep for given duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n /**\n * Check if API is currently marked as ready\n */\n public getIsReady(): boolean {\n return this.isReady;\n }\n\n /**\n * Reset the ready state (useful for reconnection scenarios).\n *\n * Only clears `readinessPromise` when no poll loop is currently running. If a\n * `performReadinessCheck` is mid-flight, nulling the promise here would let the\n * next `waitForReady()` spawn a SECOND concurrent poll loop on the same instance\n * (both would hammer /health/ready). Instead the running loop is left in place —\n * setting `isReady = false` keeps it polling until the backend recovers, which\n * is exactly the re-arm behaviour `reset()` wants.\n */\n public reset(): void {\n this.isReady = false;\n if (!this.isChecking) {\n this.readinessPromise = null;\n }\n }\n\n /**\n * Update the base URL (useful when environment changes)\n */\n public updateBaseUrl(baseUrl: string): void {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n // Reset readiness when URL changes\n this.reset();\n }\n}\n\n/**\n * Singleton factory for API readiness checkers\n * Maintains one checker per base URL\n */\nconst readinessCheckers: Map<string, ApiReadinessChecker> = new Map();\n\n/**\n * Get or create an API readiness checker for the given base URL\n */\nexport function getReadinessChecker(\n baseUrl: string,\n config?: ReadinessCheckerConfig\n): ApiReadinessChecker {\n const normalizedUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n \n let checker = readinessCheckers.get(normalizedUrl);\n if (!checker) {\n checker = new ApiReadinessChecker(normalizedUrl, config);\n readinessCheckers.set(normalizedUrl, checker);\n }\n \n return checker;\n}\n"]}
1
+ {"version":3,"file":"api-readiness-checker.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { fullJitterBackoffMs, recoveryOffsetMs } from './network-backoff.frontend.utils';\n\n/**\n * Readiness check response from /health/ready endpoint\n */\ninterface ReadinessResponse {\n status: 'healthy' | 'unhealthy' | 'degraded';\n timestamp: string;\n uptime: number;\n version: string;\n}\n\n/**\n * Configuration for the readiness checker\n */\nexport interface ReadinessCheckerConfig {\n /** Base delay in ms for exponential backoff (default: 100) */\n baseDelayMs?: number;\n /** Maximum delay cap in ms (default: 10000 = 10s) */\n maxDelayMs?: number;\n /** Timeout for each health check request in ms (default: 5000) */\n requestTimeoutMs?: number;\n}\n\nconst DEFAULT_BASE_DELAY_MS = 100;\nconst DEFAULT_MAX_DELAY_MS = 10000;\nconst DEFAULT_REQUEST_TIMEOUT_MS = 5000;\n\n/**\n * Typed rejection produced when a BOUNDED {@link ApiReadinessChecker.waitForReady}\n * gives up before the backend reports ready.\n *\n * This is the first-class \"network unavailable\" lane for foreground requests:\n * before it existed, every request issued after a connection loss parked forever\n * on the never-settling readiness promise (audit finding B2 — an FK dropdown\n * spinner that never resolves). Callers and retry ladders classify it by `name`\n * / `code` (or via {@link isApiNotReadyError}); it is a TRANSIENT condition —\n * the backend may come back — never a validation or server failure.\n *\n * The background poll loop is NOT stopped by this rejection: it keeps polling\n * `/health/ready` (that part is by design, see {@link ApiReadinessChecker}),\n * so a later request finds the gate open again once the backend recovers.\n */\nexport class ApiNotReadyError extends Error {\n override readonly name = 'ApiNotReadyError';\n /** Stable machine-readable classifier for retry logic. */\n readonly code = 'API_NOT_READY';\n readonly baseUrl: string;\n readonly timeoutMs: number;\n\n constructor(baseUrl: string, timeoutMs: number) {\n super(`Backend API at ${baseUrl || '<unset baseUrl>'} did not become ready within ${timeoutMs}ms`);\n this.baseUrl = baseUrl;\n this.timeoutMs = timeoutMs;\n }\n}\n\n/**\n * Recognise an {@link ApiNotReadyError} across module instances (dual-package /\n * multiple bundles), matching by the stable `name` rather than `instanceof`.\n */\nexport function isApiNotReadyError(error: unknown): error is ApiNotReadyError {\n return error instanceof Error && error.name === 'ApiNotReadyError';\n}\n\n/**\n * API Readiness Checker\n *\n * Checks if the target API is ready by polling /health/ready endpoint.\n * Uses exponential backoff: 2^attempts * baseDelay, capped at maxDelay.\n * The background poll loop never stops — it keeps retrying until the API is\n * ready. Individual waiters may bound their wait (`waitForReady(timeoutMs)`)\n * and receive a typed {@link ApiNotReadyError} rejection without affecting\n * the shared loop.\n *\n * @example\n * ```typescript\n * const checker = new ApiReadinessChecker('https://api.example.com');\n * await checker.waitForReady(); // Blocks until API is ready (unbounded)\n * await checker.waitForReady(10_000); // Rejects with ApiNotReadyError after 10s\n * ```\n */\nexport class ApiReadinessChecker {\n private baseUrl: string;\n private config: Required<ReadinessCheckerConfig>;\n private logger: LoggerFrontendService;\n private logDebug: (message: string, context?: any) => void;\n private isReady: boolean = false;\n private readinessPromise: Promise<void> | null = null;\n // True while a `performReadinessCheck` loop is actively polling. Guards against\n // `reset()` nulling `readinessPromise` mid-poll and letting a second concurrent\n // loop spawn on the same instance (redundant /health/ready load).\n private isChecking: boolean = false;\n\n constructor(baseUrl: string, config: ReadinessCheckerConfig = {}) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n this.config = {\n baseDelayMs: config.baseDelayMs ?? DEFAULT_BASE_DELAY_MS,\n maxDelayMs: config.maxDelayMs ?? DEFAULT_MAX_DELAY_MS,\n requestTimeoutMs: config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,\n };\n this.logger = LoggerFrontendService.getLogger();\n this.logDebug = this.logger.debugByType('ApiReadinessChecker');\n this.logger.setDebugTypeLogging('ApiReadinessChecker', false);\n }\n\n /**\n * Calculate the poll delay for a given attempt using JITTERED exponential\n * backoff: a random value in [0, min(maxDelay, 2^attempt · baseDelay)].\n *\n * The jitter is the cross-client de-herd lever for the readiness gate. Every\n * client that was up when the backend went down starts polling /health/ready at\n * the same moment and, with a deterministic curve, would hit the endpoint in\n * lockstep — and then all flip \"ready\" and flood the backend on the same tick.\n * Randomising the poll cadence spreads both the health-probe load and the\n * subsequent recovery burst.\n */\n private calculateDelay(attempt: number): number {\n return fullJitterBackoffMs(attempt, this.config.baseDelayMs, this.config.maxDelayMs);\n }\n\n /**\n * Check readiness once\n * @returns true if API is ready, false otherwise\n */\n private async checkOnce(): Promise<boolean> {\n try {\n const response = await axios.get<ReadinessResponse>(\n `${this.baseUrl}/health/ready`,\n {\n timeout: this.config.requestTimeoutMs,\n // Don't throw on non-2xx status - we handle it ourselves\n validateStatus: () => true,\n }\n );\n\n if (response.status === 200 && response.data?.status === 'healthy') {\n return true;\n }\n\n return false;\n } catch (error) {\n // Network error, timeout, etc.\n return false;\n }\n }\n\n /**\n * Wait until the API is ready.\n *\n * Without `timeoutMs`, blocks until the backend reports ready — the shared\n * poll loop (`performReadinessCheck`) uses exponential backoff and never\n * gives up. That unbounded form is appropriate for background consumers\n * (e.g. connectivity banners) that WANT to ride the outage to its end.\n *\n * With `timeoutMs`, the wait is BOUNDED: if the backend is still not ready\n * when the timeout elapses, the returned promise rejects with a typed\n * {@link ApiNotReadyError} so the caller's error path runs (toast, inline\n * error, retry ladder classification). Foreground request paths MUST use\n * this form — an unbounded wait parks every user-visible request forever\n * after a connection loss (audit B2). The timeout is per-caller: it never\n * settles, cancels, or otherwise affects the SHARED `readinessPromise`,\n * whose loop keeps polling in the background so a later call can succeed.\n *\n * @param timeoutMs - Optional bound in ms. Omit for the unbounded wait.\n */\n public async waitForReady(timeoutMs?: number): Promise<void> {\n // If no baseUrl configured, skip readiness check\n if (!this.baseUrl) {\n this.logger.warn('API readiness check skipped: no baseUrl configured');\n return;\n }\n\n // If already ready, return immediately\n if (this.isReady) {\n return;\n }\n\n // Join (or start) the shared readiness poll. The shared promise only ever\n // RESOLVES (the loop retries forever), so racing it below can never leave\n // an unhandled rejection behind on the shared object.\n if (!this.readinessPromise) {\n this.readinessPromise = this.performReadinessCheck();\n }\n const readiness = this.readinessPromise;\n\n if (timeoutMs === undefined) {\n await readiness;\n return;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n readiness,\n new Promise<never>((_, reject) => {\n timer = setTimeout(() => reject(new ApiNotReadyError(this.baseUrl, timeoutMs)), timeoutMs);\n }),\n ]);\n } finally {\n // Always clear the per-caller timer so a resolved wait doesn't leave a\n // stray timeout (and a pending ApiNotReadyError construction) behind.\n if (timer !== undefined) clearTimeout(timer);\n }\n }\n\n /**\n * Perform the actual readiness check with retries\n */\n private async performReadinessCheck(): Promise<void> {\n let attempt = 0;\n\n this.isChecking = true;\n this.logDebug('Starting API readiness check', { baseUrl: this.baseUrl });\n\n try {\n while (!this.isReady) {\n const ready = await this.checkOnce();\n\n if (ready) {\n // Recovery de-sync: if the backend was actually unavailable for a while\n // (attempt > 0 = we had to retry), delay the \"ready\" flip by a per-client\n // random offset so every client that was blocked on the SAME outage\n // doesn't release its queued requests — and re-fire its WS reconnect — in\n // the same instant. The first-ever cold check (attempt 0 succeeds\n // immediately against a healthy backend) is NOT delayed, so page load and\n // normal navigation stay fast.\n if (attempt > 0) {\n const offset = recoveryOffsetMs();\n this.logDebug('API ready after outage — applying recovery de-sync offset', {\n baseUrl: this.baseUrl,\n offsetMs: offset,\n });\n await this.sleep(offset);\n // The backend may have died again DURING the (up to 2s) offset sleep.\n // Re-confirm before committing the sticky `isReady` flag — otherwise we\n // could flip the gate open against a down backend and fire the next\n // request blindly. If it's no longer healthy, keep polling.\n if (!(await this.checkOnce())) {\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API went unhealthy during recovery offset, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n });\n await this.sleep(delay);\n attempt++;\n continue;\n }\n }\n this.isReady = true;\n this.logDebug('API is ready', {\n baseUrl: this.baseUrl,\n attempts: attempt + 1,\n });\n return;\n }\n\n // Not ready - log warning and retry\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API not ready, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n nextDelayMs: delay,\n });\n\n await this.sleep(delay);\n attempt++;\n }\n } finally {\n this.isChecking = false;\n }\n }\n\n /**\n * Sleep for given duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n /**\n * Check if API is currently marked as ready\n */\n public getIsReady(): boolean {\n return this.isReady;\n }\n\n /**\n * Reset the ready state (useful for reconnection scenarios).\n *\n * Only clears `readinessPromise` when no poll loop is currently running. If a\n * `performReadinessCheck` is mid-flight, nulling the promise here would let the\n * next `waitForReady()` spawn a SECOND concurrent poll loop on the same instance\n * (both would hammer /health/ready). Instead the running loop is left in place —\n * setting `isReady = false` keeps it polling until the backend recovers, which\n * is exactly the re-arm behaviour `reset()` wants.\n */\n public reset(): void {\n this.isReady = false;\n if (!this.isChecking) {\n this.readinessPromise = null;\n }\n }\n\n /**\n * Update the base URL (useful when environment changes)\n */\n public updateBaseUrl(baseUrl: string): void {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n // Reset readiness when URL changes\n this.reset();\n }\n}\n\n/**\n * Singleton factory for API readiness checkers\n * Maintains one checker per base URL\n */\nconst readinessCheckers: Map<string, ApiReadinessChecker> = new Map();\n\n/**\n * Get or create an API readiness checker for the given base URL\n */\nexport function getReadinessChecker(\n baseUrl: string,\n config?: ReadinessCheckerConfig\n): ApiReadinessChecker {\n const normalizedUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n \n let checker = readinessCheckers.get(normalizedUrl);\n if (!checker) {\n checker = new ApiReadinessChecker(normalizedUrl, config);\n readinessCheckers.set(normalizedUrl, checker);\n }\n \n return checker;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-refresh-resilience.frontend.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,+BAA+B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyBjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C"}
1
+ {"version":3,"file":"auth-refresh-resilience.frontend.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,+BAA+B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyBjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-refresh-resilience.frontend.js","sourceRoot":"","sources":["../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,CAAC,GAAG,KAAqF,CAAC;IAChG,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,6DAA6D;IAC7D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,6CAA6C;IAC7C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,0DAA0D;IAC1D,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,CAAC,GAAG,KAQU,CAAC;IAErB,IAAI,CAAC,EAAE,CAAC,iCAAiC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI;WAC1B,CAAC,EAAE,OAAO,KAAK,SAAS;WACxB,CAAC,EAAE,MAAM,KAAK,SAAS;WACvB,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\n\n/**\n * Token-refresh resilience helpers (shared by `WildoHttpClient`'s 401-renewal\n * interceptor and `AuthSessionContext.tokenRenewalHandler`).\n *\n * Background — why this exists:\n * The refresh token travels in the `__wildo_refresh` `HttpOnly` cookie.\n * `AuthSessionContext.logout()` clears that cookie server-side, and the\n * cookie is SHARED across every tab of the same origin. Historically ANY\n * refresh failure triggered `logout()`, so a single non-authoritative blip\n * (the backend restarting during a dev recompile, a 5xx, a timeout, or a\n * racy revoke) did not merely fail one request — it DELETED the refresh\n * token, turning a recoverable hiccup into a permanent, cross-tab forced\n * logout. That is wrong in production (a backend blip must not log everyone\n * out) and catastrophic in development (constant recompiles → constant\n * \"you need to sign in again\").\n *\n * The fix splits refresh failures into two classes and only lets an\n * AUTHORITATIVE rejection destroy the session.\n */\n\n/**\n * Was the renewal AUTHORITATIVELY rejected — i.e. did the backend explicitly\n * refuse THIS refresh token, meaning the session is genuinely dead and the\n * user must re-authenticate?\n *\n * AUTHORITATIVE (returns `true`) — destroy the session:\n * - `400` — the `__wildo_refresh` cookie was absent (no session to refresh).\n * - `401` — the refresh token failed verification / was revoked / all\n * sessions were invalidated.\n * - `403` — the refresh was forbidden.\n *\n * TRANSIENT (returns `false`) — preserve the session, retry on a later request:\n * - No HTTP response at all (`status` undefined) — network error,\n * `ECONNREFUSED` while the backend is restarting, DNS, CORS preflight fail.\n * - `>= 500` — a backend-side error (the backend is up but unhealthy /\n * mid-boot), unrelated to the validity of the refresh token.\n * - `408` — request timeout.\n * - Any other unexpected status — treated conservatively as transient so an\n * ambiguous code never silently destroys a valid session.\n *\n * The error shape is the enhanced axios error produced by\n * `WildoHttpClient.responseErrorInterceptor`, which sets `error.httpStatus`\n * only when the response carries a body; we therefore fall back to the raw\n * `error.response.status` so a body-less 4xx/5xx refresh response is still\n * classified by its status.\n */\nexport function isAuthoritativeRefreshRejection(error: unknown): boolean {\n const e = error as { httpStatus?: unknown; response?: { status?: unknown } } | null | undefined;\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n\n // No response → network / unreachable / timeout → transient.\n if (status === undefined) return false;\n // Backend-side error or timeout → transient.\n if (status >= 500 || status === 408) return false;\n // The backend authoritatively refused this refresh token.\n return status === 400 || status === 401 || status === 403;\n}\n\n/**\n * Property the 401-renewal interceptor stamps on the ORIGINAL request error\n * when a token renewal could not complete for a NON-authoritative reason\n * (backend unreachable / 5xx / timeout). It lets a downstream recovery path\n * (notably session restore) recognise that a resulting 401 reflects \"renewal\n * couldn't happen\", not \"the session is dead\" — so it should be retried rather\n * than logged out. Set only when the renewal failure was transient; a genuinely\n * authoritative rejection is never tagged.\n */\nexport const RENEWAL_TRANSIENTLY_FAILED_MARKER = '__renewalTransientlyFailed';\n\n/**\n * Should a failure be treated as a TRANSIENT backend problem that warrants\n * preserving the session and retrying, rather than tearing it down?\n *\n * Returns `true` for:\n * - an error tagged {@link RENEWAL_TRANSIENTLY_FAILED_MARKER} (a 401 whose\n * in-flight renewal failed transiently — the session is not proven dead),\n * - `>= 500` / `408` (backend-side error / timeout), and\n * - a response-less error that is recognisably an HTTP/network-layer failure\n * (axios network error: `isAxiosError` / `request` / `config` / a string\n * `code`). A response-less error WITHOUT those markers is treated as\n * NON-transient — it is almost certainly a thrown code bug, and retrying it\n * forever would mask the bug and spin.\n *\n * Returns `false` for authoritative 4xx (400/401/403/etc.) and for non-HTTP\n * exceptions, both of which must terminate rather than retry.\n */\nexport function isTransientBackendFailure(error: unknown): boolean {\n const e = error as {\n [RENEWAL_TRANSIENTLY_FAILED_MARKER]?: unknown;\n httpStatus?: unknown;\n response?: { status?: unknown };\n request?: unknown;\n config?: unknown;\n code?: unknown;\n isAxiosError?: unknown;\n } | null | undefined;\n\n if (e?.[RENEWAL_TRANSIENTLY_FAILED_MARKER] === true) return true;\n\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n if (status !== undefined) {\n return status >= 500 || status === 408;\n }\n\n // No HTTP status: transient only if it's recognisably an HTTP/network-layer\n // error, never for an arbitrary thrown exception (which would retry forever).\n return e?.isAxiosError === true\n || e?.request !== undefined\n || e?.config !== undefined\n || typeof e?.code === 'string';\n}\n\n/**\n * Is development-mode refresh leniency active?\n *\n * In `development` the backend is recompiled and restarted constantly by the\n * dev watchers, which routinely produces authoritative-LOOKING `400`/`401`\n * responses (e.g. the cookie momentarily cleared by a racing tab, or the\n * session store transiently unavailable) even though the session is fine once\n * the backend settles. To keep dev / AI-driven sessions alive we never\n * hard-logout on a refresh failure in development — the session is preserved\n * and the next request retries.\n *\n * Security note: this NEVER relaxes production. On any uncertainty (env not yet\n * loaded, loader throws) we fail closed to strict production behavior.\n */\nexport function isRefreshDevLenient(): boolean {\n try {\n return envLoader.isDevelopment();\n } catch {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"auth-refresh-resilience.frontend.js","sourceRoot":"","sources":["../../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,CAAC,GAAG,KAAqF,CAAC;IAChG,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,6DAA6D;IAC7D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,6CAA6C;IAC7C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,0DAA0D;IAC1D,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,CAAC,GAAG,KAQU,CAAC;IAErB,IAAI,CAAC,EAAE,CAAC,iCAAiC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI;WAC1B,CAAC,EAAE,OAAO,KAAK,SAAS;WACxB,CAAC,EAAE,MAAM,KAAK,SAAS;WACvB,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\n\n/**\n * Token-refresh resilience helpers (shared by `WildoHttpClient`'s 401-renewal\n * interceptor and `AuthSessionContext.tokenRenewalHandler`).\n *\n * Background — why this exists:\n * The refresh token travels in the `__wildo_refresh` `HttpOnly` cookie.\n * `AuthSessionContext.logout()` clears that cookie server-side, and the\n * cookie is SHARED across every tab of the same origin. Historically ANY\n * refresh failure triggered `logout()`, so a single non-authoritative blip\n * (the backend restarting during a dev recompile, a 5xx, a timeout, or a\n * racy revoke) did not merely fail one request — it DELETED the refresh\n * token, turning a recoverable hiccup into a permanent, cross-tab forced\n * logout. That is wrong in production (a backend blip must not log everyone\n * out) and catastrophic in development (constant recompiles → constant\n * \"you need to sign in again\").\n *\n * The fix splits refresh failures into two classes and only lets an\n * AUTHORITATIVE rejection destroy the session.\n */\n\n/**\n * Was the renewal AUTHORITATIVELY rejected — i.e. did the backend explicitly\n * refuse THIS refresh token, meaning the session is genuinely dead and the\n * user must re-authenticate?\n *\n * AUTHORITATIVE (returns `true`) — destroy the session:\n * - `400` — the `__wildo_refresh` cookie was absent (no session to refresh).\n * - `401` — the refresh token failed verification / was revoked / all\n * sessions were invalidated.\n * - `403` — the refresh was forbidden.\n *\n * TRANSIENT (returns `false`) — preserve the session, retry on a later request:\n * - No HTTP response at all (`status` undefined) — network error,\n * `ECONNREFUSED` while the backend is restarting, DNS, CORS preflight fail.\n * - `>= 500` — a backend-side error (the backend is up but unhealthy /\n * mid-boot), unrelated to the validity of the refresh token.\n * - `408` — request timeout.\n * - Any other unexpected status — treated conservatively as transient so an\n * ambiguous code never silently destroys a valid session.\n *\n * The error shape is the enhanced axios error produced by\n * `WildoHttpClient.responseErrorInterceptor`, which sets `error.httpStatus`\n * only when the response carries a body; we therefore fall back to the raw\n * `error.response.status` so a body-less 4xx/5xx refresh response is still\n * classified by its status.\n */\nexport function isAuthoritativeRefreshRejection(error: unknown): boolean {\n const e = error as { httpStatus?: unknown; response?: { status?: unknown } } | null | undefined;\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n\n // No response → network / unreachable / timeout → transient.\n if (status === undefined) return false;\n // Backend-side error or timeout → transient.\n if (status >= 500 || status === 408) return false;\n // The backend authoritatively refused this refresh token.\n return status === 400 || status === 401 || status === 403;\n}\n\n/**\n * Property the 401-renewal interceptor stamps on the ORIGINAL request error\n * when a token renewal could not complete for a NON-authoritative reason\n * (backend unreachable / 5xx / timeout). It lets a downstream recovery path\n * (notably session restore) recognise that a resulting 401 reflects \"renewal\n * couldn't happen\", not \"the session is dead\" — so it should be retried rather\n * than logged out. Set only when the renewal failure was transient; a genuinely\n * authoritative rejection is never tagged.\n */\nexport const RENEWAL_TRANSIENTLY_FAILED_MARKER = '__renewalTransientlyFailed';\n\n/**\n * Should a failure be treated as a TRANSIENT backend problem that warrants\n * preserving the session and retrying, rather than tearing it down?\n *\n * Returns `true` for:\n * - an error tagged {@link RENEWAL_TRANSIENTLY_FAILED_MARKER} (a 401 whose\n * in-flight renewal failed transiently — the session is not proven dead),\n * - `>= 500` / `408` (backend-side error / timeout), and\n * - a response-less error that is recognisably an HTTP/network-layer failure\n * (axios network error: `isAxiosError` / `request` / `config` / a string\n * `code`). A response-less error WITHOUT those markers is treated as\n * NON-transient — it is almost certainly a thrown code bug, and retrying it\n * forever would mask the bug and spin.\n *\n * Returns `false` for authoritative 4xx (400/401/403/etc.) and for non-HTTP\n * exceptions, both of which must terminate rather than retry.\n */\nexport function isTransientBackendFailure(error: unknown): boolean {\n const e = error as {\n [RENEWAL_TRANSIENTLY_FAILED_MARKER]?: unknown;\n httpStatus?: unknown;\n response?: { status?: unknown };\n request?: unknown;\n config?: unknown;\n code?: unknown;\n isAxiosError?: unknown;\n } | null | undefined;\n\n if (e?.[RENEWAL_TRANSIENTLY_FAILED_MARKER] === true) return true;\n\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n if (status !== undefined) {\n return status >= 500 || status === 408;\n }\n\n // No HTTP status: transient only if it's recognisably an HTTP/network-layer\n // error, never for an arbitrary thrown exception (which would retry forever).\n return e?.isAxiosError === true\n || e?.request !== undefined\n || e?.config !== undefined\n || typeof e?.code === 'string';\n}\n\n/**\n * Is development-mode refresh leniency active?\n *\n * In `development` the backend is recompiled and restarted constantly by the\n * dev watchers, which routinely produces authoritative-LOOKING `400`/`401`\n * responses (e.g. the cookie momentarily cleared by a racing tab, or the\n * session store transiently unavailable) even though the session is fine once\n * the backend settles. To keep dev / AI-driven sessions alive we never\n * hard-logout on a refresh failure in development — the session is preserved\n * and the next request retries.\n *\n * Security note: this NEVER relaxes production. On any uncertainty (env not yet\n * loaded, loader throws) we fail closed to strict production behavior.\n */\nexport function isRefreshDevLenient(): boolean {\n try {\n return envLoader.isDevelopment();\n } catch {\n return false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"client-instance-id.frontend.service.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAwE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAqClF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAKxD;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD"}
1
+ {"version":3,"file":"client-instance-id.frontend.service.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAwE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAqClF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAKxD;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-instance-id.frontend.service.js","sourceRoot":"","sources":["../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Client-install identification (`clientInstanceId`) — the browser half of the OPT-IN,\n * DEFAULT-OFF capability decided in Fork D / SD9.\n *\n * A `clientInstanceId` answers \"which browser/device install issued this request?\" — the axis that\n * lets an investigator group one actor's activity across sessions and logins, which the per-request\n * `correlationId` and the static `frontendServiceName` cannot. Because it is stored on the user's\n * terminal equipment it engages ePrivacy Art 5(3), so the framework never enables it on its own:\n * each application authors `compliance.clientInstanceIdScope` and this module obeys it.\n *\n * **Why a module-level singleton rather than React state.** The HTTP clients are constructed during\n * bootstrap, BEFORE the backend app-config (which carries the policy) has been fetched, and they live\n * outside the React tree — so they cannot read `ApplicationContext`. This mirrors the established\n * `envLoader` singleton + the \"push state into the HTTP client\" pattern already used for anonymous\n * sessions and consumable tokens.\n *\n * **Fail-closed by construction.** The scope starts `DISABLED`, so between process start and the\n * moment bootstrap calls {@link configureClientInstanceIdPolicy} nothing is minted, stored, or sent.\n * An application that never opts in therefore never creates the identifier at all — and even if a\n * client did send the header, the backend independently refuses to ingest it under the same policy.\n */\nimport { ClientInstanceIdScope } from '@wildo-ai/saas-models';\nimport { RUNTIME_SCOPED_STORAGE_KEYS } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\n\n/**\n * Storage key for the minted id — named in `RUNTIME_SCOPED_STORAGE_KEYS` (the registry for keys whose\n * storage AREA is chosen at runtime), not in `LOCAL_STORAGE_KEYS`, because this value may live in\n * either area depending on the authored scope.\n */\nconst CLIENT_INSTANCE_ID_STORAGE_KEY = RUNTIME_SCOPED_STORAGE_KEYS.CLIENT_INSTANCE_ID;\n\n/**\n * The policy currently in force. `DISABLED` until bootstrap says otherwise — see \"fail-closed\" above.\n */\nlet activeScope: ClientInstanceIdScope = ClientInstanceIdScope.DISABLED;\n\n/** In-memory cache so the per-request read in the axios interceptor never touches storage. */\nlet cachedClientInstanceId: string | undefined;\n\n/**\n * The Web Storage area a scope stores its id in. `SESSION` uses `sessionStorage` so the id dies with\n * the tab; `PERSISTENT` uses `localStorage` so it survives restarts and logouts. `DISABLED` has none.\n *\n * **Probes availability instead of sniffing for `window`.** `engine/CLAUDE.md` requires frontend libs to\n * stay pure-frontend with no `typeof window` checks, and the check would be the wrong question anyway:\n * what this module needs to know is whether a STORAGE AREA exists, which is also false in a browser with\n * storage blocked (private mode, disabled cookies, a sandboxed cross-origin frame). Reading through\n * `globalThis` inside try/catch answers exactly that in one expression — `undefined` in a non-browser\n * realm, a throw when the browser refuses access, a `Storage` otherwise.\n */\nfunction storageForScope(scope: ClientInstanceIdScope): Storage | undefined {\n try {\n const area: Storage | undefined =\n scope === ClientInstanceIdScope.SESSION ? globalThis.sessionStorage\n : scope === ClientInstanceIdScope.PERSISTENT ? globalThis.localStorage\n : undefined;\n return area ?? undefined;\n } catch {\n // The browser refused access to the area. Treated as unavailable — see the mint rule below.\n return undefined;\n }\n}\n\n/**\n * Erase any previously stored id from BOTH storage areas.\n *\n * Called on every policy application, which is what makes the control reversible: turning the policy\n * OFF (or NARROWING `PERSISTENT` → `SESSION`) must not leave the old identifier sitting on the user's\n * device. Without this, a persistent id would silently outlive the consent or the decision that\n * created it — the practical form of the Art-17 erasure obligation on this field.\n *\n * assurance-control: WILDO.PRIVACY.DATA_MINIMIZATION — withdrawing or narrowing the client-install\n * policy erases the identifier from the user's device rather than merely ceasing to send it.\n */\nfunction purgeStoredClientInstanceIds(): void {\n for (const scope of [ClientInstanceIdScope.SESSION, ClientInstanceIdScope.PERSISTENT]) {\n try {\n storageForScope(scope)?.removeItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n // Unavailable storage — nothing to purge there.\n }\n }\n}\n\nfunction mintClientInstanceId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID();\n }\n // Fallback for environments without the WebCrypto UUID helper. This value is a correlation token,\n // never a secret or an authorization input, so a non-cryptographic fallback is acceptable.\n return `ci-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * Apply the application's authored policy. Called ONCE from bootstrap, after the backend app-config\n * (which carries `compliance.clientInstanceIdScope`) has been fetched.\n *\n * - `DISABLED` → purges any stored id and sends nothing thereafter.\n * - `SESSION` / `PERSISTENT` → reuses the id already held in that scope's storage, or mints one.\n *\n * Idempotent, and safe to call again with a DIFFERENT scope: the previous storage area is purged\n * first, so narrowing the policy genuinely removes the wider-lifetime identifier.\n *\n * **No storage ⇒ no identifier.** If the scope's storage area is unavailable (a non-browser realm such\n * as the companion's Node bridge or an SSR pass, or a browser refusing access in private mode), this\n * mints NOTHING and the capability stays off. That is deliberate on two grounds. Correctness: this\n * module's state is module-level, so an id minted in a shared Node process would be one identifier\n * handed to every user that process serves — a cross-user identifier, the exact opposite of what a\n * per-install id means. Value: the id exists to correlate activity ACROSS sessions, which an\n * in-memory-only value cannot do, so the fallback bought nothing while carrying that risk.\n */\nexport function configureClientInstanceIdPolicy(scope: ClientInstanceIdScope): void {\n activeScope = scope;\n cachedClientInstanceId = undefined;\n\n if (scope === ClientInstanceIdScope.DISABLED) {\n purgeStoredClientInstanceIds();\n return;\n }\n\n const storage = storageForScope(scope);\n if (!storage) {\n // See \"No storage ⇒ no identifier\" above. `activeScope` is left as authored so a transparency\n // surface still reports the app's posture truthfully; `getClientInstanceId()` returns undefined\n // because nothing was minted.\n return;\n }\n\n let existing: string | null = null;\n try {\n existing = storage.getItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n existing = null;\n }\n\n // Purge AFTER reading so the id is carried across a same-scope re-configure, but the OTHER area's\n // stale copy (from a previously wider scope) is still removed.\n purgeStoredClientInstanceIds();\n\n const id = existing || mintClientInstanceId();\n try {\n storage.setItem(CLIENT_INSTANCE_ID_STORAGE_KEY, id);\n } catch {\n // The area existed a moment ago but refused the write (quota, eviction). Do not cache an id we\n // could not persist — it would be per-page-load only, i.e. the case ruled out above.\n return;\n }\n cachedClientInstanceId = id;\n}\n\n/**\n * The id to stamp on outbound requests, or `undefined` when the application has not opted in.\n * Read per request (never cached at client construction) so the policy takes effect the moment\n * bootstrap applies it, on a client that was built before the config arrived.\n */\nexport function getClientInstanceId(): string | undefined {\n if (activeScope === ClientInstanceIdScope.DISABLED) {\n return undefined;\n }\n return cachedClientInstanceId;\n}\n\n/** The policy currently in force — for diagnostics and transparency surfaces. */\nexport function getClientInstanceIdScope(): ClientInstanceIdScope {\n return activeScope;\n}\n\n/**\n * Reset to the fail-closed default and erase stored ids. Used by tests, and available to an\n * application that must honour a consent withdrawal without a reload.\n */\nexport function resetClientInstanceIdPolicy(): void {\n activeScope = ClientInstanceIdScope.DISABLED;\n cachedClientInstanceId = undefined;\n purgeStoredClientInstanceIds();\n}\n"]}
1
+ {"version":3,"file":"client-instance-id.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Client-install identification (`clientInstanceId`) — the browser half of the OPT-IN,\n * DEFAULT-OFF capability decided in Fork D / SD9.\n *\n * A `clientInstanceId` answers \"which browser/device install issued this request?\" — the axis that\n * lets an investigator group one actor's activity across sessions and logins, which the per-request\n * `correlationId` and the static `frontendServiceName` cannot. Because it is stored on the user's\n * terminal equipment it engages ePrivacy Art 5(3), so the framework never enables it on its own:\n * each application authors `compliance.clientInstanceIdScope` and this module obeys it.\n *\n * **Why a module-level singleton rather than React state.** The HTTP clients are constructed during\n * bootstrap, BEFORE the backend app-config (which carries the policy) has been fetched, and they live\n * outside the React tree — so they cannot read `ApplicationContext`. This mirrors the established\n * `envLoader` singleton + the \"push state into the HTTP client\" pattern already used for anonymous\n * sessions and consumable tokens.\n *\n * **Fail-closed by construction.** The scope starts `DISABLED`, so between process start and the\n * moment bootstrap calls {@link configureClientInstanceIdPolicy} nothing is minted, stored, or sent.\n * An application that never opts in therefore never creates the identifier at all — and even if a\n * client did send the header, the backend independently refuses to ingest it under the same policy.\n */\nimport { ClientInstanceIdScope } from '@wildo-ai/saas-models';\nimport { RUNTIME_SCOPED_STORAGE_KEYS } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\n\n/**\n * Storage key for the minted id — named in `RUNTIME_SCOPED_STORAGE_KEYS` (the registry for keys whose\n * storage AREA is chosen at runtime), not in `LOCAL_STORAGE_KEYS`, because this value may live in\n * either area depending on the authored scope.\n */\nconst CLIENT_INSTANCE_ID_STORAGE_KEY = RUNTIME_SCOPED_STORAGE_KEYS.CLIENT_INSTANCE_ID;\n\n/**\n * The policy currently in force. `DISABLED` until bootstrap says otherwise — see \"fail-closed\" above.\n */\nlet activeScope: ClientInstanceIdScope = ClientInstanceIdScope.DISABLED;\n\n/** In-memory cache so the per-request read in the axios interceptor never touches storage. */\nlet cachedClientInstanceId: string | undefined;\n\n/**\n * The Web Storage area a scope stores its id in. `SESSION` uses `sessionStorage` so the id dies with\n * the tab; `PERSISTENT` uses `localStorage` so it survives restarts and logouts. `DISABLED` has none.\n *\n * **Probes availability instead of sniffing for `window`.** `engine/CLAUDE.md` requires frontend libs to\n * stay pure-frontend with no `typeof window` checks, and the check would be the wrong question anyway:\n * what this module needs to know is whether a STORAGE AREA exists, which is also false in a browser with\n * storage blocked (private mode, disabled cookies, a sandboxed cross-origin frame). Reading through\n * `globalThis` inside try/catch answers exactly that in one expression — `undefined` in a non-browser\n * realm, a throw when the browser refuses access, a `Storage` otherwise.\n */\nfunction storageForScope(scope: ClientInstanceIdScope): Storage | undefined {\n try {\n const area: Storage | undefined =\n scope === ClientInstanceIdScope.SESSION ? globalThis.sessionStorage\n : scope === ClientInstanceIdScope.PERSISTENT ? globalThis.localStorage\n : undefined;\n return area ?? undefined;\n } catch {\n // The browser refused access to the area. Treated as unavailable — see the mint rule below.\n return undefined;\n }\n}\n\n/**\n * Erase any previously stored id from BOTH storage areas.\n *\n * Called on every policy application, which is what makes the control reversible: turning the policy\n * OFF (or NARROWING `PERSISTENT` → `SESSION`) must not leave the old identifier sitting on the user's\n * device. Without this, a persistent id would silently outlive the consent or the decision that\n * created it — the practical form of the Art-17 erasure obligation on this field.\n *\n * assurance-control: WILDO.PRIVACY.DATA_MINIMIZATION — withdrawing or narrowing the client-install\n * policy erases the identifier from the user's device rather than merely ceasing to send it.\n */\nfunction purgeStoredClientInstanceIds(): void {\n for (const scope of [ClientInstanceIdScope.SESSION, ClientInstanceIdScope.PERSISTENT]) {\n try {\n storageForScope(scope)?.removeItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n // Unavailable storage — nothing to purge there.\n }\n }\n}\n\nfunction mintClientInstanceId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID();\n }\n // Fallback for environments without the WebCrypto UUID helper. This value is a correlation token,\n // never a secret or an authorization input, so a non-cryptographic fallback is acceptable.\n return `ci-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * Apply the application's authored policy. Called ONCE from bootstrap, after the backend app-config\n * (which carries `compliance.clientInstanceIdScope`) has been fetched.\n *\n * - `DISABLED` → purges any stored id and sends nothing thereafter.\n * - `SESSION` / `PERSISTENT` → reuses the id already held in that scope's storage, or mints one.\n *\n * Idempotent, and safe to call again with a DIFFERENT scope: the previous storage area is purged\n * first, so narrowing the policy genuinely removes the wider-lifetime identifier.\n *\n * **No storage ⇒ no identifier.** If the scope's storage area is unavailable (a non-browser realm such\n * as the companion's Node bridge or an SSR pass, or a browser refusing access in private mode), this\n * mints NOTHING and the capability stays off. That is deliberate on two grounds. Correctness: this\n * module's state is module-level, so an id minted in a shared Node process would be one identifier\n * handed to every user that process serves — a cross-user identifier, the exact opposite of what a\n * per-install id means. Value: the id exists to correlate activity ACROSS sessions, which an\n * in-memory-only value cannot do, so the fallback bought nothing while carrying that risk.\n */\nexport function configureClientInstanceIdPolicy(scope: ClientInstanceIdScope): void {\n activeScope = scope;\n cachedClientInstanceId = undefined;\n\n if (scope === ClientInstanceIdScope.DISABLED) {\n purgeStoredClientInstanceIds();\n return;\n }\n\n const storage = storageForScope(scope);\n if (!storage) {\n // See \"No storage ⇒ no identifier\" above. `activeScope` is left as authored so a transparency\n // surface still reports the app's posture truthfully; `getClientInstanceId()` returns undefined\n // because nothing was minted.\n return;\n }\n\n let existing: string | null = null;\n try {\n existing = storage.getItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n existing = null;\n }\n\n // Purge AFTER reading so the id is carried across a same-scope re-configure, but the OTHER area's\n // stale copy (from a previously wider scope) is still removed.\n purgeStoredClientInstanceIds();\n\n const id = existing || mintClientInstanceId();\n try {\n storage.setItem(CLIENT_INSTANCE_ID_STORAGE_KEY, id);\n } catch {\n // The area existed a moment ago but refused the write (quota, eviction). Do not cache an id we\n // could not persist — it would be per-page-load only, i.e. the case ruled out above.\n return;\n }\n cachedClientInstanceId = id;\n}\n\n/**\n * The id to stamp on outbound requests, or `undefined` when the application has not opted in.\n * Read per request (never cached at client construction) so the policy takes effect the moment\n * bootstrap applies it, on a client that was built before the config arrived.\n */\nexport function getClientInstanceId(): string | undefined {\n if (activeScope === ClientInstanceIdScope.DISABLED) {\n return undefined;\n }\n return cachedClientInstanceId;\n}\n\n/** The policy currently in force — for diagnostics and transparency surfaces. */\nexport function getClientInstanceIdScope(): ClientInstanceIdScope {\n return activeScope;\n}\n\n/**\n * Reset to the fail-closed default and erase stored ids. Used by tests, and available to an\n * application that must honour a consent withdrawal without a reload.\n */\nexport function resetClientInstanceIdPolicy(): void {\n activeScope = ClientInstanceIdScope.DISABLED;\n cachedClientInstanceId = undefined;\n purgeStoredClientInstanceIds();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"network-backoff.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/network-backoff.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,MAAuC,GAAG,MAAM,CAEvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAA+B,EACtC,KAAK,GAAE,MAA+B,GACrC,MAAM,CAER;AAED,iEAAiE;AACjE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
1
+ {"version":3,"file":"network-backoff.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/network-backoff.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,MAAuC,GAAG,MAAM,CAEvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAA+B,EACtC,KAAK,GAAE,MAA+B,GACrC,MAAM,CAER;AAED,iEAAiE;AACjE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"network-backoff.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/requests/network-backoff.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,8DAA8D;AAC9D,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAC5C,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,WAAmB,EAAE,KAAa;IACrF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,8BAA8B;IAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,sBAAsB,EACtC,QAAgB,sBAAsB;IAEtC,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/**\n * Shared jittered-backoff + staggered-release helpers for the frontend network\n * layer.\n *\n * These centralise the anti-thundering-herd (\"auto-DDOS\") math so every recovery\n * path de-synchronises the same way: the HTTP retry backoff, the offline-queue\n * drain, the API-readiness gate, and the WebSocket readiness poll all import from\n * here. The problem they solve: when a backend outage ends, EVERY stuck client\n * would otherwise fire its backlog — plus its WS reconnect — in the same instant,\n * re-overloading the server the moment it comes back.\n *\n * What jitter fixes is SYNCHRONISATION, not per-client volume. Full jitter has a\n * mean of ~window/2 vs. a deterministic window, so an individual client actually\n * polls/retries somewhat MORE often on average — but the retries of N clients are\n * de-correlated, so the server sees a smooth spread instead of a synchronised\n * spike every backoff step. The spike is what melts a recovering backend, so this\n * is the right trade (the probed endpoints — /health/ready — are cheap). If\n * per-client probe rate ever becomes the concern, switch to \"equal jitter\"\n * (half-fixed + half-random) to lift the mean back toward ~3·window/4.\n *\n * Design rationale (why not a token bucket): the HTTP client already caps\n * in-flight requests via `maxConcurrentRequests`, so bounding the RATE is already\n * handled. All that's missing is de-correlating WHEN each request/client fires,\n * which random jitter achieves with zero additional state. See\n * `.claude/plans/network-resilience-organization.md` (decision D3).\n */\n\n/** Default ceiling on the per-client recovery offset (ms). */\nconst DEFAULT_RECOVERY_OFFSET_MAX_MS = 2000;\n/** Default lower bound for the inter-release stagger gap (ms). */\nconst DEFAULT_STAGGER_MIN_MS = 25;\n/** Default upper bound for the inter-release stagger gap (ms). */\nconst DEFAULT_STAGGER_MAX_MS = 250;\n\n/**\n * AWS \"full jitter\" exponential backoff: a uniformly random delay in\n * `[0, min(capMs, baseDelayMs · 2^attempt)]`.\n *\n * Full jitter (as opposed to raw exponential, or \"equal jitter\") gives the best\n * cross-client de-synchronisation — two clients that failed on the same round\n * pick independent delays, so their retries spread out instead of colliding again\n * on every subsequent round. The randomness is the whole point; do not replace it\n * with a deterministic curve.\n *\n * @param attempt Zero-based attempt index (0 = first retry).\n * @param baseDelayMs Base unit of backoff before doubling.\n * @param capMs Hard ceiling on the pre-jitter window.\n * @returns A jittered delay in milliseconds.\n */\nexport function fullJitterBackoffMs(attempt: number, baseDelayMs: number, capMs: number): number {\n const safeAttempt = Math.max(0, attempt);\n const window = Math.min(capMs, baseDelayMs * Math.pow(2, safeAttempt));\n return Math.floor(Math.random() * Math.max(0, window));\n}\n\n/**\n * A fresh per-recovery offset in `[0, maxMs]`, rolled on each call.\n *\n * Applied ONCE per recovery event (the first offline→online drain, or the moment\n * the readiness gate flips healthy after an outage). Because each client rolls an\n * independent value, N clients that were all blocked on the same outage release\n * at N different instants instead of stampeding together. Rolled fresh per\n * recovery (not cached for the tab's lifetime) so a client that draws a large\n * offset on one outage isn't perpetually last on every future one.\n *\n * @param maxMs Upper bound on the offset (defaults to 2000ms).\n */\nexport function recoveryOffsetMs(maxMs: number = DEFAULT_RECOVERY_OFFSET_MAX_MS): number {\n return Math.floor(Math.random() * Math.max(0, maxMs));\n}\n\n/**\n * A small randomised gap between successive releases when draining a backlog\n * (offline queue, readiness-gate waiters). Spreads a burst over time WITHIN a\n * single client. Combined with {@link recoveryOffsetMs} (which de-syncs clients\n * from each other), this de-syncs a single client's own queued requests.\n *\n * @param minMs Lower bound of the gap (defaults to 25ms).\n * @param maxMs Upper bound of the gap (defaults to 250ms).\n */\nexport function staggerGapMs(\n minMs: number = DEFAULT_STAGGER_MIN_MS,\n maxMs: number = DEFAULT_STAGGER_MAX_MS,\n): number {\n return minMs + Math.floor(Math.random() * Math.max(0, maxMs - minMs));\n}\n\n/** Promise-based sleep used by the staggered-release helpers. */\nexport function sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n"]}
1
+ {"version":3,"file":"network-backoff.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/requests/network-backoff.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,8DAA8D;AAC9D,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAC5C,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,WAAmB,EAAE,KAAa;IACrF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,8BAA8B;IAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,sBAAsB,EACtC,QAAgB,sBAAsB;IAEtC,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/**\n * Shared jittered-backoff + staggered-release helpers for the frontend network\n * layer.\n *\n * These centralise the anti-thundering-herd (\"auto-DDOS\") math so every recovery\n * path de-synchronises the same way: the HTTP retry backoff, the offline-queue\n * drain, the API-readiness gate, and the WebSocket readiness poll all import from\n * here. The problem they solve: when a backend outage ends, EVERY stuck client\n * would otherwise fire its backlog — plus its WS reconnect — in the same instant,\n * re-overloading the server the moment it comes back.\n *\n * What jitter fixes is SYNCHRONISATION, not per-client volume. Full jitter has a\n * mean of ~window/2 vs. a deterministic window, so an individual client actually\n * polls/retries somewhat MORE often on average — but the retries of N clients are\n * de-correlated, so the server sees a smooth spread instead of a synchronised\n * spike every backoff step. The spike is what melts a recovering backend, so this\n * is the right trade (the probed endpoints — /health/ready — are cheap). If\n * per-client probe rate ever becomes the concern, switch to \"equal jitter\"\n * (half-fixed + half-random) to lift the mean back toward ~3·window/4.\n *\n * Design rationale (why not a token bucket): the HTTP client already caps\n * in-flight requests via `maxConcurrentRequests`, so bounding the RATE is already\n * handled. All that's missing is de-correlating WHEN each request/client fires,\n * which random jitter achieves with zero additional state. See\n * `.claude/plans/network-resilience-organization.md` (decision D3).\n */\n\n/** Default ceiling on the per-client recovery offset (ms). */\nconst DEFAULT_RECOVERY_OFFSET_MAX_MS = 2000;\n/** Default lower bound for the inter-release stagger gap (ms). */\nconst DEFAULT_STAGGER_MIN_MS = 25;\n/** Default upper bound for the inter-release stagger gap (ms). */\nconst DEFAULT_STAGGER_MAX_MS = 250;\n\n/**\n * AWS \"full jitter\" exponential backoff: a uniformly random delay in\n * `[0, min(capMs, baseDelayMs · 2^attempt)]`.\n *\n * Full jitter (as opposed to raw exponential, or \"equal jitter\") gives the best\n * cross-client de-synchronisation — two clients that failed on the same round\n * pick independent delays, so their retries spread out instead of colliding again\n * on every subsequent round. The randomness is the whole point; do not replace it\n * with a deterministic curve.\n *\n * @param attempt Zero-based attempt index (0 = first retry).\n * @param baseDelayMs Base unit of backoff before doubling.\n * @param capMs Hard ceiling on the pre-jitter window.\n * @returns A jittered delay in milliseconds.\n */\nexport function fullJitterBackoffMs(attempt: number, baseDelayMs: number, capMs: number): number {\n const safeAttempt = Math.max(0, attempt);\n const window = Math.min(capMs, baseDelayMs * Math.pow(2, safeAttempt));\n return Math.floor(Math.random() * Math.max(0, window));\n}\n\n/**\n * A fresh per-recovery offset in `[0, maxMs]`, rolled on each call.\n *\n * Applied ONCE per recovery event (the first offline→online drain, or the moment\n * the readiness gate flips healthy after an outage). Because each client rolls an\n * independent value, N clients that were all blocked on the same outage release\n * at N different instants instead of stampeding together. Rolled fresh per\n * recovery (not cached for the tab's lifetime) so a client that draws a large\n * offset on one outage isn't perpetually last on every future one.\n *\n * @param maxMs Upper bound on the offset (defaults to 2000ms).\n */\nexport function recoveryOffsetMs(maxMs: number = DEFAULT_RECOVERY_OFFSET_MAX_MS): number {\n return Math.floor(Math.random() * Math.max(0, maxMs));\n}\n\n/**\n * A small randomised gap between successive releases when draining a backlog\n * (offline queue, readiness-gate waiters). Spreads a burst over time WITHIN a\n * single client. Combined with {@link recoveryOffsetMs} (which de-syncs clients\n * from each other), this de-syncs a single client's own queued requests.\n *\n * @param minMs Lower bound of the gap (defaults to 25ms).\n * @param maxMs Upper bound of the gap (defaults to 250ms).\n */\nexport function staggerGapMs(\n minMs: number = DEFAULT_STAGGER_MIN_MS,\n maxMs: number = DEFAULT_STAGGER_MAX_MS,\n): number {\n return minMs + Math.floor(Math.random() * Math.max(0, maxMs - minMs));\n}\n\n/** Promise-based sleep used by the staggered-release helpers. */\nexport function sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"offline-replay-policy.frontend.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/offline-replay-policy.frontend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,oBAAY,mBAAmB;IAC7B,gHAAgH;IAChH,MAAM,WAAW;IACjB,uFAAuF;IACvF,mBAAmB,wBAAwB;CAC5C;AASD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAKnG;AAED,6FAA6F;AAC7F,oBAAY,oBAAoB;IAC9B,2EAA2E;IAC3E,iBAAiB,sBAAsB;IACvC,yEAAyE;IACzE,mBAAmB,wBAAwB;CAC5C;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,8GAA8G;IAC9G,SAAgB,qBAAqB,QAAQ;IAC7C,SAAgB,MAAM,EAAE,oBAAoB,CAAC;IAC7C,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACI,MAAM,CAAC,EAAE,OAAO,CAAC;gBAEZ,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM;CAYvD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAMtF"}
1
+ {"version":3,"file":"offline-replay-policy.frontend.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/offline-replay-policy.frontend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,oBAAY,mBAAmB;IAC7B,gHAAgH;IAChH,MAAM,WAAW;IACjB,uFAAuF;IACvF,mBAAmB,wBAAwB;CAC5C;AASD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAKnG;AAED,6FAA6F;AAC7F,oBAAY,oBAAoB;IAC9B,2EAA2E;IAC3E,iBAAiB,sBAAsB;IACvC,yEAAyE;IACzE,mBAAmB,wBAAwB;CAC5C;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,8GAA8G;IAC9G,SAAgB,qBAAqB,QAAQ;IAC7C,SAAgB,MAAM,EAAE,oBAAoB,CAAC;IAC7C,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACI,MAAM,CAAC,EAAE,OAAO,CAAC;gBAEZ,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM;CAYvD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAMtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"offline-replay-policy.frontend.js","sourceRoot":"","sources":["../../../../src/core/requests/offline-replay-policy.frontend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,gHAAgH;IAChH,wCAAiB,CAAA;IACjB,uFAAuF;IACvF,kEAA2C,CAAA;AAC7C,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAED;;;;GAIG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CAAC,MAA0B;IAC5E,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,CAAC,CAAC,mBAAmB,CAAC,MAAM;QAC5B,CAAC,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;AAC9C,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,2EAA2E;IAC3E,+DAAuC,CAAA;IACvC,yEAAyE;IACzE,mEAA2C,CAAA;AAC7C,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,8GAA8G;IAC9F,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAuB;IAC7B,GAAG,CAAU;IAC7B;;;;;OAKG;IACI,MAAM,CAAW;IAExB,YAAY,MAA4B,EAAE,GAAY;QACpD,KAAK,CACH,MAAM,KAAK,oBAAoB,CAAC,iBAAiB;YAC/C,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,yDAAyD,CAC9D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,uFAAuF;QACvF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA6C,CAAC,qBAAqB,KAAK,IAAI,CAC9E,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Offline replay policy — decides what the HTTP client does with a request that\n * is issued while the browser reports no connectivity.\n *\n * The offline queue is a genuine convenience for READS: a GET that fires during a\n * mobile tunnel blip can safely be held and replayed a moment later — the caller\n * gets fresh data and nothing was mutated twice. MUTATIONS are the opposite: the\n * queue has no de-duplication and entries never expire, so a POST/PUT/PATCH/DELETE\n * enqueued at 9am could silently replay hours later against stale state, or double-\n * submit if the user retried in the meantime. For a mutation the honest behaviour\n * is to fail fast with a clear \"you're offline\" signal and let the user (or the\n * caller) decide to retry.\n *\n * v1 (locked 2026-07-07): reads REPLAY (with a TTL enforced by the client),\n * mutations REJECT. No idempotency-key replay path yet — see\n * `.claude/plans/network-resilience-organization.md` (decision D4).\n */\nexport enum OfflineReplayPolicy {\n /** Hold the request in the offline queue and replay it when connectivity returns (subject to the queue TTL). */\n REPLAY = 'REPLAY',\n /** Reject the request immediately with a {@link NetworkOfflineError}; do not queue. */\n REJECT_WHEN_OFFLINE = 'REJECT_WHEN_OFFLINE',\n}\n\n/**\n * HTTP methods that are safe to replay after an offline blip. Anything not in\n * this set is treated as a mutation and rejected when offline (unless the caller\n * overrides via `RequestOptions.offlineReplayPolicy`).\n */\nconst REPLAY_SAFE_METHODS: ReadonlySet<string> = new Set(['GET', 'HEAD', 'OPTIONS']);\n\n/**\n * Default policy for a request when the caller did not specify one explicitly:\n * safe/idempotent reads replay, everything else rejects.\n *\n * @param method HTTP verb (case-insensitive); undefined is treated as GET,\n * matching axios's own default method.\n */\nexport function defaultOfflineReplayPolicyForMethod(method: string | undefined): OfflineReplayPolicy {\n const normalized = (method ?? 'GET').toUpperCase();\n return REPLAY_SAFE_METHODS.has(normalized)\n ? OfflineReplayPolicy.REPLAY\n : OfflineReplayPolicy.REJECT_WHEN_OFFLINE;\n}\n\n/** Distinguishes the two offline-failure shapes so callers/telemetry can tell them apart. */\nexport enum NetworkOfflineReason {\n /** A mutation was rejected because the client was offline (never sent). */\n MUTATION_REJECTED = 'MUTATION_REJECTED',\n /** A queued read outlived the queue TTL before connectivity returned. */\n QUEUE_ENTRY_EXPIRED = 'QUEUE_ENTRY_EXPIRED',\n}\n\n/**\n * Error raised when a request cannot proceed due to lack of connectivity. It is\n * deliberately NOT a transport error and NOT a cancellation: the HTTP client's\n * response-error interceptor recognises it via {@link isNetworkOfflineRejection}\n * and short-circuits — it is never retried, never re-classified as a generic\n * NETWORK fault, and never routed through the global error toast. UX for the\n * offline state is owned by the connectivity layer (a single banner), not by\n * per-request toasts.\n */\nexport class NetworkOfflineError extends Error {\n /** Marker property used by {@link isNetworkOfflineRejection} (survives structured-clone / prototype loss). */\n public readonly __wildoNetworkOffline = true;\n public readonly reason: NetworkOfflineReason;\n public readonly url?: string;\n /**\n * The originating axios request config, attached at the throw site so the HTTP\n * client's response-error interceptor can emit the balancing LOADING_*_END\n * event (LOADING_*_START was already emitted before the request was rejected /\n * queued). Typed `unknown` to keep this policy module free of an axios import.\n */\n public config?: unknown;\n\n constructor(reason: NetworkOfflineReason, url?: string) {\n super(\n reason === NetworkOfflineReason.MUTATION_REJECTED\n ? 'Request could not be sent because the device is offline'\n : 'Queued request expired before connectivity was restored',\n );\n this.name = 'NetworkOfflineError';\n this.reason = reason;\n this.url = url;\n // Restore the prototype chain for `instanceof` after transpilation to ES5-ish targets.\n Object.setPrototypeOf(this, NetworkOfflineError.prototype);\n }\n}\n\n/**\n * Predicate mirroring `isAbortOrCancelError`: recognises a {@link NetworkOfflineError}\n * by its marker property so the check survives even if the prototype is lost (e.g.\n * across an event-bus round-trip). Used at the single response-interceptor boundary\n * that suppresses offline rejections from retry/classification.\n */\nexport function isNetworkOfflineRejection(error: unknown): error is NetworkOfflineError {\n return (\n typeof error === 'object' &&\n error !== null &&\n (error as { __wildoNetworkOffline?: unknown }).__wildoNetworkOffline === true\n );\n}\n"]}
1
+ {"version":3,"file":"offline-replay-policy.frontend.js","sourceRoot":"","sources":["../../../../../src/core/requests/offline-replay-policy.frontend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,gHAAgH;IAChH,wCAAiB,CAAA;IACjB,uFAAuF;IACvF,kEAA2C,CAAA;AAC7C,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAED;;;;GAIG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CAAC,MAA0B;IAC5E,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,CAAC,CAAC,mBAAmB,CAAC,MAAM;QAC5B,CAAC,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;AAC9C,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,2EAA2E;IAC3E,+DAAuC,CAAA;IACvC,yEAAyE;IACzE,mEAA2C,CAAA;AAC7C,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,8GAA8G;IAC9F,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAuB;IAC7B,GAAG,CAAU;IAC7B;;;;;OAKG;IACI,MAAM,CAAW;IAExB,YAAY,MAA4B,EAAE,GAAY;QACpD,KAAK,CACH,MAAM,KAAK,oBAAoB,CAAC,iBAAiB;YAC/C,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,yDAAyD,CAC9D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,uFAAuF;QACvF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA6C,CAAC,qBAAqB,KAAK,IAAI,CAC9E,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Offline replay policy — decides what the HTTP client does with a request that\n * is issued while the browser reports no connectivity.\n *\n * The offline queue is a genuine convenience for READS: a GET that fires during a\n * mobile tunnel blip can safely be held and replayed a moment later — the caller\n * gets fresh data and nothing was mutated twice. MUTATIONS are the opposite: the\n * queue has no de-duplication and entries never expire, so a POST/PUT/PATCH/DELETE\n * enqueued at 9am could silently replay hours later against stale state, or double-\n * submit if the user retried in the meantime. For a mutation the honest behaviour\n * is to fail fast with a clear \"you're offline\" signal and let the user (or the\n * caller) decide to retry.\n *\n * v1 (locked 2026-07-07): reads REPLAY (with a TTL enforced by the client),\n * mutations REJECT. No idempotency-key replay path yet — see\n * `.claude/plans/network-resilience-organization.md` (decision D4).\n */\nexport enum OfflineReplayPolicy {\n /** Hold the request in the offline queue and replay it when connectivity returns (subject to the queue TTL). */\n REPLAY = 'REPLAY',\n /** Reject the request immediately with a {@link NetworkOfflineError}; do not queue. */\n REJECT_WHEN_OFFLINE = 'REJECT_WHEN_OFFLINE',\n}\n\n/**\n * HTTP methods that are safe to replay after an offline blip. Anything not in\n * this set is treated as a mutation and rejected when offline (unless the caller\n * overrides via `RequestOptions.offlineReplayPolicy`).\n */\nconst REPLAY_SAFE_METHODS: ReadonlySet<string> = new Set(['GET', 'HEAD', 'OPTIONS']);\n\n/**\n * Default policy for a request when the caller did not specify one explicitly:\n * safe/idempotent reads replay, everything else rejects.\n *\n * @param method HTTP verb (case-insensitive); undefined is treated as GET,\n * matching axios's own default method.\n */\nexport function defaultOfflineReplayPolicyForMethod(method: string | undefined): OfflineReplayPolicy {\n const normalized = (method ?? 'GET').toUpperCase();\n return REPLAY_SAFE_METHODS.has(normalized)\n ? OfflineReplayPolicy.REPLAY\n : OfflineReplayPolicy.REJECT_WHEN_OFFLINE;\n}\n\n/** Distinguishes the two offline-failure shapes so callers/telemetry can tell them apart. */\nexport enum NetworkOfflineReason {\n /** A mutation was rejected because the client was offline (never sent). */\n MUTATION_REJECTED = 'MUTATION_REJECTED',\n /** A queued read outlived the queue TTL before connectivity returned. */\n QUEUE_ENTRY_EXPIRED = 'QUEUE_ENTRY_EXPIRED',\n}\n\n/**\n * Error raised when a request cannot proceed due to lack of connectivity. It is\n * deliberately NOT a transport error and NOT a cancellation: the HTTP client's\n * response-error interceptor recognises it via {@link isNetworkOfflineRejection}\n * and short-circuits — it is never retried, never re-classified as a generic\n * NETWORK fault, and never routed through the global error toast. UX for the\n * offline state is owned by the connectivity layer (a single banner), not by\n * per-request toasts.\n */\nexport class NetworkOfflineError extends Error {\n /** Marker property used by {@link isNetworkOfflineRejection} (survives structured-clone / prototype loss). */\n public readonly __wildoNetworkOffline = true;\n public readonly reason: NetworkOfflineReason;\n public readonly url?: string;\n /**\n * The originating axios request config, attached at the throw site so the HTTP\n * client's response-error interceptor can emit the balancing LOADING_*_END\n * event (LOADING_*_START was already emitted before the request was rejected /\n * queued). Typed `unknown` to keep this policy module free of an axios import.\n */\n public config?: unknown;\n\n constructor(reason: NetworkOfflineReason, url?: string) {\n super(\n reason === NetworkOfflineReason.MUTATION_REJECTED\n ? 'Request could not be sent because the device is offline'\n : 'Queued request expired before connectivity was restored',\n );\n this.name = 'NetworkOfflineError';\n this.reason = reason;\n this.url = url;\n // Restore the prototype chain for `instanceof` after transpilation to ES5-ish targets.\n Object.setPrototypeOf(this, NetworkOfflineError.prototype);\n }\n}\n\n/**\n * Predicate mirroring `isAbortOrCancelError`: recognises a {@link NetworkOfflineError}\n * by its marker property so the check survives even if the prototype is lost (e.g.\n * across an event-bus round-trip). Used at the single response-interceptor boundary\n * that suppresses offline rejections from retry/classification.\n */\nexport function isNetworkOfflineRejection(error: unknown): error is NetworkOfflineError {\n return (\n typeof error === 'object' &&\n error !== null &&\n (error as { __wildoNetworkOffline?: unknown }).__wildoNetworkOffline === true\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"request-cancellation.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/request-cancellation.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY5D"}
1
+ {"version":3,"file":"request-cancellation.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/request-cancellation.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-cancellation.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/requests/request-cancellation.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,KAAiE,CAAC;QACpF,OAAO,SAAS,CAAC,UAAU,KAAK,IAAI;eAC/B,SAAS,CAAC,IAAI,KAAK,cAAc;eACjC,SAAS,CAAC,IAAI,KAAK,eAAe;eAClC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * Request-cancellation detection — single source of truth.\n *\n * An intentionally aborted request (a superseded refetch, a component unmount,\n * React StrictMode's mount→unmount→mount, an RMM mutation supersede, a\n * backpressure hard-timeout) is NOT a transport failure and must never be\n * classified, toasted, retried, or surfaced as an error.\n *\n * The complication is that the cancel signature depends on the transport:\n * - **axios** (the `WildoBackendHttpClient` transport) rejects a cancelled\n * request with a `CanceledError`: `__CANCEL__ === true`, `code ===\n * 'ERR_CANCELED'`, `name === 'CanceledError'`. It is NOT a DOM `AbortError`.\n * - the **fetch** API / raw `AbortController` rejects with a `DOMException`\n * whose `name === 'AbortError'`.\n *\n * Consumers historically each reimplemented a partial check (some only matched\n * `AbortError`, missing every axios cancel; some only matched `ERR_CANCELED`).\n * This predicate recognises every shape so the framework treats a cancel\n * identically everywhere — at the HTTP-client interceptor boundary, in the RMM\n * transport adapter's error mapping, and in per-consumer catch guards.\n */\nexport function isAbortOrCancelError(error: unknown): boolean {\n if (error instanceof DOMException && error.name === 'AbortError') {\n return true;\n }\n if (error && typeof error === 'object') {\n const candidate = error as { code?: unknown; name?: unknown; __CANCEL__?: unknown };\n return candidate.__CANCEL__ === true\n || candidate.code === 'ERR_CANCELED'\n || candidate.name === 'CanceledError'\n || candidate.name === 'AbortError';\n }\n return false;\n}\n"]}
1
+ {"version":3,"file":"request-cancellation.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/requests/request-cancellation.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,KAAiE,CAAC;QACpF,OAAO,SAAS,CAAC,UAAU,KAAK,IAAI;eAC/B,SAAS,CAAC,IAAI,KAAK,cAAc;eACjC,SAAS,CAAC,IAAI,KAAK,eAAe;eAClC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * Request-cancellation detection — single source of truth.\n *\n * An intentionally aborted request (a superseded refetch, a component unmount,\n * React StrictMode's mount→unmount→mount, an RMM mutation supersede, a\n * backpressure hard-timeout) is NOT a transport failure and must never be\n * classified, toasted, retried, or surfaced as an error.\n *\n * The complication is that the cancel signature depends on the transport:\n * - **axios** (the `WildoBackendHttpClient` transport) rejects a cancelled\n * request with a `CanceledError`: `__CANCEL__ === true`, `code ===\n * 'ERR_CANCELED'`, `name === 'CanceledError'`. It is NOT a DOM `AbortError`.\n * - the **fetch** API / raw `AbortController` rejects with a `DOMException`\n * whose `name === 'AbortError'`.\n *\n * Consumers historically each reimplemented a partial check (some only matched\n * `AbortError`, missing every axios cancel; some only matched `ERR_CANCELED`).\n * This predicate recognises every shape so the framework treats a cancel\n * identically everywhere — at the HTTP-client interceptor boundary, in the RMM\n * transport adapter's error mapping, and in per-consumer catch guards.\n */\nexport function isAbortOrCancelError(error: unknown): boolean {\n if (error instanceof DOMException && error.name === 'AbortError') {\n return true;\n }\n if (error && typeof error === 'object') {\n const candidate = error as { code?: unknown; name?: unknown; __CANCEL__?: unknown };\n return candidate.__CANCEL__ === true\n || candidate.code === 'ERR_CANCELED'\n || candidate.name === 'CanceledError'\n || candidate.name === 'AbortError';\n }\n return false;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionStatusNotifier.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/websockets/ConnectionStatusNotifier.tsx"],"names":[],"mappings":"AAiEA,eAAO,MAAM,wBAAwB,QAAO,IAuH3C,CAAC"}
1
+ {"version":3,"file":"ConnectionStatusNotifier.d.ts","sourceRoot":"","sources":["../../../../../../src/core/requests/websockets/ConnectionStatusNotifier.tsx"],"names":[],"mappings":"AAiEA,eAAO,MAAM,wBAAwB,QAAO,IAuH3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionStatusNotifier.js","sourceRoot":"","sources":["../../../../../src/core/requests/websockets/ConnectionStatusNotifier.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { useWebSocket } from './useWebSocket';\nimport { WebSocketStatus } from './WebSocketContext';\nimport { useNotification } from '~wildo-frontend-lib/core/events/useNotification';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\n/**\n * Debounced, single-source connectivity notifier.\n *\n * Headless bridge (renders nothing) that turns the WebSocket connection state\n * machine into AT MOST ONE user-facing notification per outage:\n *\n * - **Transient blip (< grace):** nothing. The status bar already reflects\n * DISCONNECTED/RECONNECTING; a mobile tunnel or a quick backend restart that\n * recovers within the grace window shows no toast at all.\n * - **Sustained outage (>= grace):** ONE persistent, self-dismissing toast —\n * \"reconnecting…\" while `RECONNECTING`, escalating in place to \"connection\n * lost\" if reconnection gives up (`ERROR`). It is pinned by a stable id, so it\n * updates rather than stacks, and auto-dismisses the instant we reconnect.\n *\n * This replaces the old per-attempt `errorManagement.handleError` toasts in\n * WebSocketContext (one Sonner toast per reconnection attempt). The transport\n * context now only drives status + one-per-outage observability logging; ALL\n * connection UX lives here, so there is a single place that owns the policy.\n *\n * Mounted once near the app-level `<Toaster/>` (see ApplicationMainContext).\n */\n\n/** Stable id so repeated updates replace the same toast instead of stacking. */\nconst CONNECTIVITY_TOAST_ID = 'wildo:connectivity-status';\n/**\n * Grace before surfacing anything — a blip shorter than this stays silent\n * (matches the locked 3s connectivity grace period).\n */\nconst CONNECTION_NOTICE_GRACE_MS = 3000;\n\n/**\n * Hardcoded English fallbacks for when the label BUNDLE is loaded (`isReady`)\n * but lacks these specific keys — e.g. an app whose generated label bundle\n * predates the keys. `tComponent` then returns the raw key PATH\n * (`components.<component>.<key>`) verbatim, and without this guard that raw\n * path shipped straight into the toast. Mirrors the miss-check\n * `NotificationContext.resolveMessage` applies to its own component-label\n * lookups (`startsWith('components.')`). The stale bundle itself is repaired by\n * regenerating labels; this is the engine-side class fix so a label gap can\n * never render as `components.application-level-status-bar.connectionLostNotice`.\n */\nconst CONNECTION_NOTICE_FALLBACK_MESSAGES = {\n connectionReconnectingNotice: 'Connection lost — reconnecting…',\n connectionLostNotice: 'Connection lost. Please check your network and reload the page.',\n} as const;\n\n/**\n * Only an ACTIVELY-RETRYING (`RECONNECTING`) or a GAVE-UP (`ERROR`) socket is a\n * surfaceable outage. Plain `DISCONNECTED`/`CONNECTING` is NOT: the socket only\n * emits reconnection events after `connect()` (which the app calls after auth),\n * so a logged-out user — or the pre-auth window, or an intentional\n * disconnect/logout — sits at `DISCONNECTED` and must never raise a\n * \"reconnecting\" notice. This is the guard that keeps the notice from firing for\n * every unauthenticated visitor.\n */\nconst isOutageStatus = (status: WebSocketStatus): boolean =>\n status === WebSocketStatus.RECONNECTING || status === WebSocketStatus.ERROR;\n\nexport const ConnectionStatusNotifier = (): null => {\n const { status } = useWebSocket();\n const { showPersistentToast, dismissPersistentToast } = useNotification();\n // Pass the component so its label bundle is requested — without this,\n // `tComponent` returns the raw key path if the outage happens before any other\n // consumer (the status bar) has loaded these keys. `isReady` gates surfacing.\n const { tComponent, isReady } = useI18n({ component: FrontendComponentType.APPLICATION_LEVEL_STATUS_BAR });\n\n // Ref the imperative callbacks (t-function, toast show/dismiss) so the effects\n // do NOT depend on their identities. This is deliberate: the notice is a\n // fire-and-forget side effect keyed on connection STATUS, not on those\n // functions, and it makes the component robust regardless of whether\n // NotificationContext / I18n keep them referentially stable — a future change\n // that made them non-stable would otherwise re-fire the mount/teardown effects\n // on every render and dismiss a live notice. Refs sidestep that entirely.\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const showPersistentToastRef = useRef(showPersistentToast);\n showPersistentToastRef.current = showPersistentToast;\n const dismissPersistentToastRef = useRef(dismissPersistentToast);\n dismissPersistentToastRef.current = dismissPersistentToast;\n\n // Latest status, read inside the debounce timer so a state change during the\n // grace window surfaces the CURRENT state, not the one captured at schedule.\n const statusRef = useRef(status);\n statusRef.current = status;\n\n const graceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const noticeShownRef = useRef(false);\n\n // On (re)mount, reconcile any orphaned pinned toast from a PRIOR mount. Sonner's\n // toast store is a module-level singleton that outlives this component, so after\n // a bootstrap remount the old notice can survive while `noticeShownRef` resets\n // to false — leaving a toast this instance would never dismiss.\n //\n // BUT only reconcile when mounting into a NON-outage state. If we remount while\n // an outage is active, dismissing here would blink the live notice out for a\n // full grace window before the main effect re-arms and re-shows it. Instead we\n // KEEP any existing pinned toast: the main effect (below) arms its timer and\n // refreshes the same stable id in place after grace, so the notice never\n // disappears. Empty deps + ref access = genuinely mount-only.\n useEffect(() => {\n if (!isOutageStatus(statusRef.current)) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only by design; callbacks read via ref\n }, []);\n\n useEffect(() => {\n const clearGraceTimer = (): void => {\n if (graceTimerRef.current) {\n clearTimeout(graceTimerRef.current);\n graceTimerRef.current = null;\n }\n };\n\n const surfaceNotice = (): void => {\n const current = statusRef.current;\n const isTerminal = current === WebSocketStatus.ERROR;\n const labelKey = isTerminal ? 'connectionLostNotice' : 'connectionReconnectingNotice';\n const translated = tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_STATUS_BAR, labelKey);\n // An unresolved key comes back as its raw `components.…` key path — never\n // show that to a user; fall back to hardcoded English (see the constant).\n const message = translated.startsWith('components.') ? CONNECTION_NOTICE_FALLBACK_MESSAGES[labelKey] : translated;\n showPersistentToastRef.current(CONNECTIVITY_TOAST_ID, isTerminal ? 'error' : 'loading', message);\n noticeShownRef.current = true;\n };\n\n // Not a surfaceable outage (CONNECTED, CONNECTING, or DISCONNECTED): clear any\n // pending timer and dismiss a shown notice. This covers reconnect SUCCESS\n // (→ CONNECTED) AND intentional disconnect/logout (→ DISCONNECTED) — both must\n // take down the notice.\n if (!isOutageStatus(status)) {\n clearGraceTimer();\n if (noticeShownRef.current) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n noticeShownRef.current = false;\n }\n return;\n }\n\n // Outage, but the localized message isn't available yet — wait for the bundle.\n // This effect re-runs when `isReady` flips (it's in the deps).\n if (!isReady) {\n return;\n }\n\n if (noticeShownRef.current) {\n // Already surfaced — update the message in place (e.g. reconnecting → lost).\n surfaceNotice();\n return;\n }\n // First outage state — start the grace timer once. Subsequent status changes\n // within the window don't reset it (the timer reads the latest status when it\n // fires), so a flapping reconnect still surfaces after one grace span.\n if (!graceTimerRef.current) {\n graceTimerRef.current = setTimeout(() => {\n graceTimerRef.current = null;\n surfaceNotice();\n }, CONNECTION_NOTICE_GRACE_MS);\n }\n }, [status, isReady]);\n\n // Teardown: never leave a pinned toast or a pending timer behind on unmount.\n useEffect(() => {\n return () => {\n if (graceTimerRef.current) {\n clearTimeout(graceTimerRef.current);\n graceTimerRef.current = null;\n }\n if (noticeShownRef.current) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n noticeShownRef.current = false;\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- unmount-only by design; dismiss read via ref\n }, []);\n\n return null;\n};\n"]}
1
+ {"version":3,"file":"ConnectionStatusNotifier.js","sourceRoot":"","sources":["../../../../../../src/core/requests/websockets/ConnectionStatusNotifier.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { useWebSocket } from './useWebSocket';\nimport { WebSocketStatus } from './WebSocketContext';\nimport { useNotification } from '~wildo-frontend-lib/core/events/useNotification';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\n/**\n * Debounced, single-source connectivity notifier.\n *\n * Headless bridge (renders nothing) that turns the WebSocket connection state\n * machine into AT MOST ONE user-facing notification per outage:\n *\n * - **Transient blip (< grace):** nothing. The status bar already reflects\n * DISCONNECTED/RECONNECTING; a mobile tunnel or a quick backend restart that\n * recovers within the grace window shows no toast at all.\n * - **Sustained outage (>= grace):** ONE persistent, self-dismissing toast —\n * \"reconnecting…\" while `RECONNECTING`, escalating in place to \"connection\n * lost\" if reconnection gives up (`ERROR`). It is pinned by a stable id, so it\n * updates rather than stacks, and auto-dismisses the instant we reconnect.\n *\n * This replaces the old per-attempt `errorManagement.handleError` toasts in\n * WebSocketContext (one Sonner toast per reconnection attempt). The transport\n * context now only drives status + one-per-outage observability logging; ALL\n * connection UX lives here, so there is a single place that owns the policy.\n *\n * Mounted once near the app-level `<Toaster/>` (see ApplicationMainContext).\n */\n\n/** Stable id so repeated updates replace the same toast instead of stacking. */\nconst CONNECTIVITY_TOAST_ID = 'wildo:connectivity-status';\n/**\n * Grace before surfacing anything — a blip shorter than this stays silent\n * (matches the locked 3s connectivity grace period).\n */\nconst CONNECTION_NOTICE_GRACE_MS = 3000;\n\n/**\n * Hardcoded English fallbacks for when the label BUNDLE is loaded (`isReady`)\n * but lacks these specific keys — e.g. an app whose generated label bundle\n * predates the keys. `tComponent` then returns the raw key PATH\n * (`components.<component>.<key>`) verbatim, and without this guard that raw\n * path shipped straight into the toast. Mirrors the miss-check\n * `NotificationContext.resolveMessage` applies to its own component-label\n * lookups (`startsWith('components.')`). The stale bundle itself is repaired by\n * regenerating labels; this is the engine-side class fix so a label gap can\n * never render as `components.application-level-status-bar.connectionLostNotice`.\n */\nconst CONNECTION_NOTICE_FALLBACK_MESSAGES = {\n connectionReconnectingNotice: 'Connection lost — reconnecting…',\n connectionLostNotice: 'Connection lost. Please check your network and reload the page.',\n} as const;\n\n/**\n * Only an ACTIVELY-RETRYING (`RECONNECTING`) or a GAVE-UP (`ERROR`) socket is a\n * surfaceable outage. Plain `DISCONNECTED`/`CONNECTING` is NOT: the socket only\n * emits reconnection events after `connect()` (which the app calls after auth),\n * so a logged-out user — or the pre-auth window, or an intentional\n * disconnect/logout — sits at `DISCONNECTED` and must never raise a\n * \"reconnecting\" notice. This is the guard that keeps the notice from firing for\n * every unauthenticated visitor.\n */\nconst isOutageStatus = (status: WebSocketStatus): boolean =>\n status === WebSocketStatus.RECONNECTING || status === WebSocketStatus.ERROR;\n\nexport const ConnectionStatusNotifier = (): null => {\n const { status } = useWebSocket();\n const { showPersistentToast, dismissPersistentToast } = useNotification();\n // Pass the component so its label bundle is requested — without this,\n // `tComponent` returns the raw key path if the outage happens before any other\n // consumer (the status bar) has loaded these keys. `isReady` gates surfacing.\n const { tComponent, isReady } = useI18n({ component: FrontendComponentType.APPLICATION_LEVEL_STATUS_BAR });\n\n // Ref the imperative callbacks (t-function, toast show/dismiss) so the effects\n // do NOT depend on their identities. This is deliberate: the notice is a\n // fire-and-forget side effect keyed on connection STATUS, not on those\n // functions, and it makes the component robust regardless of whether\n // NotificationContext / I18n keep them referentially stable — a future change\n // that made them non-stable would otherwise re-fire the mount/teardown effects\n // on every render and dismiss a live notice. Refs sidestep that entirely.\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const showPersistentToastRef = useRef(showPersistentToast);\n showPersistentToastRef.current = showPersistentToast;\n const dismissPersistentToastRef = useRef(dismissPersistentToast);\n dismissPersistentToastRef.current = dismissPersistentToast;\n\n // Latest status, read inside the debounce timer so a state change during the\n // grace window surfaces the CURRENT state, not the one captured at schedule.\n const statusRef = useRef(status);\n statusRef.current = status;\n\n const graceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const noticeShownRef = useRef(false);\n\n // On (re)mount, reconcile any orphaned pinned toast from a PRIOR mount. Sonner's\n // toast store is a module-level singleton that outlives this component, so after\n // a bootstrap remount the old notice can survive while `noticeShownRef` resets\n // to false — leaving a toast this instance would never dismiss.\n //\n // BUT only reconcile when mounting into a NON-outage state. If we remount while\n // an outage is active, dismissing here would blink the live notice out for a\n // full grace window before the main effect re-arms and re-shows it. Instead we\n // KEEP any existing pinned toast: the main effect (below) arms its timer and\n // refreshes the same stable id in place after grace, so the notice never\n // disappears. Empty deps + ref access = genuinely mount-only.\n useEffect(() => {\n if (!isOutageStatus(statusRef.current)) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only by design; callbacks read via ref\n }, []);\n\n useEffect(() => {\n const clearGraceTimer = (): void => {\n if (graceTimerRef.current) {\n clearTimeout(graceTimerRef.current);\n graceTimerRef.current = null;\n }\n };\n\n const surfaceNotice = (): void => {\n const current = statusRef.current;\n const isTerminal = current === WebSocketStatus.ERROR;\n const labelKey = isTerminal ? 'connectionLostNotice' : 'connectionReconnectingNotice';\n const translated = tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_STATUS_BAR, labelKey);\n // An unresolved key comes back as its raw `components.…` key path — never\n // show that to a user; fall back to hardcoded English (see the constant).\n const message = translated.startsWith('components.') ? CONNECTION_NOTICE_FALLBACK_MESSAGES[labelKey] : translated;\n showPersistentToastRef.current(CONNECTIVITY_TOAST_ID, isTerminal ? 'error' : 'loading', message);\n noticeShownRef.current = true;\n };\n\n // Not a surfaceable outage (CONNECTED, CONNECTING, or DISCONNECTED): clear any\n // pending timer and dismiss a shown notice. This covers reconnect SUCCESS\n // (→ CONNECTED) AND intentional disconnect/logout (→ DISCONNECTED) — both must\n // take down the notice.\n if (!isOutageStatus(status)) {\n clearGraceTimer();\n if (noticeShownRef.current) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n noticeShownRef.current = false;\n }\n return;\n }\n\n // Outage, but the localized message isn't available yet — wait for the bundle.\n // This effect re-runs when `isReady` flips (it's in the deps).\n if (!isReady) {\n return;\n }\n\n if (noticeShownRef.current) {\n // Already surfaced — update the message in place (e.g. reconnecting → lost).\n surfaceNotice();\n return;\n }\n // First outage state — start the grace timer once. Subsequent status changes\n // within the window don't reset it (the timer reads the latest status when it\n // fires), so a flapping reconnect still surfaces after one grace span.\n if (!graceTimerRef.current) {\n graceTimerRef.current = setTimeout(() => {\n graceTimerRef.current = null;\n surfaceNotice();\n }, CONNECTION_NOTICE_GRACE_MS);\n }\n }, [status, isReady]);\n\n // Teardown: never leave a pinned toast or a pending timer behind on unmount.\n useEffect(() => {\n return () => {\n if (graceTimerRef.current) {\n clearTimeout(graceTimerRef.current);\n graceTimerRef.current = null;\n }\n if (noticeShownRef.current) {\n dismissPersistentToastRef.current(CONNECTIVITY_TOAST_ID);\n noticeShownRef.current = false;\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- unmount-only by design; dismiss read via ref\n }, []);\n\n return null;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/requests/websockets/WebSocketContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketContext.d.ts","sourceRoot":"","sources":["../../../../../../src/core/requests/websockets/WebSocketContext.tsx"],"names":[],"mappings":"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"}