@wildo-ai/saas-frontend-lib 1.1.7 → 1.1.8

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 (1964) 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.map +1 -1
  6. package/dist/esm/companion-exports.js.map +1 -1
  7. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  8. package/dist/esm/companion-runtime-exports.js.map +1 -1
  9. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  10. package/dist/esm/components/actions/action-bar.js.map +1 -1
  11. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  12. package/dist/esm/components/actions/action-button.js.map +1 -1
  13. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  14. package/dist/esm/components/actions/button-group.js.map +1 -1
  15. package/dist/esm/components/actions/button.d.ts.map +1 -1
  16. package/dist/esm/components/actions/button.js.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  41. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  43. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  47. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  51. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  75. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  78. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  79. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  91. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  92. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  93. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -1
  94. package/dist/esm/components/app/AppLayout_ConsentGate.js.map +1 -1
  95. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -1
  96. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js.map +1 -1
  97. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -1
  98. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js.map +1 -1
  99. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -1
  100. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js.map +1 -1
  101. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  102. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  103. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  104. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  106. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  107. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  108. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  109. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  110. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  111. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  112. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  113. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  114. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  115. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  116. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  117. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  118. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  119. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  120. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  121. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  122. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  123. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  124. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  125. package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -1
  126. package/dist/esm/components/app/PublicLayout_Terms.js.map +1 -1
  127. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  128. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  129. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  130. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  131. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  132. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  133. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  134. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  135. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  136. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  137. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  138. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  139. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  140. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  141. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  142. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  143. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  144. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  145. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  146. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  147. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  148. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  149. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  150. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  151. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  152. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  153. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  154. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  155. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  156. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  157. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  158. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  159. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  160. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  161. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  163. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  164. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  165. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  166. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  169. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  170. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  171. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  172. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  173. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -1
  174. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js.map +1 -1
  175. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js.map +1 -1
  177. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  178. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  179. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  180. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  181. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  182. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  183. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  184. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  185. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  186. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  187. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  188. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  189. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  190. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  191. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  192. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  193. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  194. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  195. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  196. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  197. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  198. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  199. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  200. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  201. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  202. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  203. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  204. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  205. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  206. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  207. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  208. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  209. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  210. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  211. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  212. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  213. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  214. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  215. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  216. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  217. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  218. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  219. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  220. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  221. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  222. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  223. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  224. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  225. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts.map +1 -1
  226. package/dist/esm/components/auth/methods/auth-method-presentation.js.map +1 -1
  227. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  228. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  229. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  230. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  231. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  232. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  233. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  234. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  235. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  236. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  237. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  238. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  239. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  240. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  241. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  242. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  243. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  244. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  245. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  246. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  247. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  248. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  249. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  250. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  251. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -1
  252. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js.map +1 -1
  253. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  254. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  255. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -1
  256. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js.map +1 -1
  257. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  258. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  259. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -1
  260. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js.map +1 -1
  261. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -1
  262. package/dist/esm/components/auth/utils/AuthMethodIcon.js.map +1 -1
  263. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -1
  264. package/dist/esm/components/auth/utils/AuthSecondaryLink.js.map +1 -1
  265. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  266. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  267. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  268. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  269. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  270. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  271. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  272. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  273. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  274. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  275. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  276. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  277. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  278. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  279. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -1
  280. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js.map +1 -1
  281. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  282. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  283. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -1
  284. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -1
  285. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  286. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  287. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  288. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  289. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  290. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  291. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  292. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  293. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
  294. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
  295. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  297. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  298. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  299. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  301. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  302. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  303. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  305. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  306. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  307. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  308. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  309. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  311. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  313. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  314. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  315. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  316. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  317. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  319. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  320. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  321. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  322. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  323. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  324. package/dist/esm/components/data-display/avatar.js.map +1 -1
  325. package/dist/esm/components/data-display/badge-tone.d.ts.map +1 -1
  326. package/dist/esm/components/data-display/badge-tone.js.map +1 -1
  327. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/badge.js.map +1 -1
  329. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  330. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  331. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  333. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  334. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  335. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  336. package/dist/esm/components/data-display/description-list.js.map +1 -1
  337. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  338. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  339. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  340. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  341. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  342. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  343. package/dist/esm/components/data-display/duration.d.ts.map +1 -1
  344. package/dist/esm/components/data-display/duration.js.map +1 -1
  345. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
  346. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
  347. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
  348. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
  349. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -1
  350. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
  351. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -1
  352. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -1
  353. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  354. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  355. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  356. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  357. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  358. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  359. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  360. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  361. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  362. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  363. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  364. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  365. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  366. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  367. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  368. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  369. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  370. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  371. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  372. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  373. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  374. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  375. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  376. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  377. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  378. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  379. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  380. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  381. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  382. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  383. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  384. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  385. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  386. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  387. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  388. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  389. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  390. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  391. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  392. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  393. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  394. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  395. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  396. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  397. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  398. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  399. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  400. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  401. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  402. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  403. package/dist/esm/components/data-display/identifier.d.ts.map +1 -1
  404. package/dist/esm/components/data-display/identifier.js.map +1 -1
  405. package/dist/esm/components/data-display/kbd.d.ts.map +1 -1
  406. package/dist/esm/components/data-display/kbd.js.map +1 -1
  407. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  408. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  409. package/dist/esm/components/data-display/timeline.d.ts.map +1 -1
  410. package/dist/esm/components/data-display/timeline.js.map +1 -1
  411. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  412. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  413. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  414. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  415. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  416. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  417. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  418. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  419. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  420. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  421. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  422. package/dist/esm/components/feedback/error-display.js.map +1 -1
  423. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  424. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  425. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  426. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  427. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  428. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  429. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  430. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  431. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -1
  432. package/dist/esm/components/feedback/lazy-door-error-boundary.js.map +1 -1
  433. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  434. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  435. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  436. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  437. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  438. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  439. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  440. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  441. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  442. package/dist/esm/components/feedback/progress.js.map +1 -1
  443. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  444. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  445. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  446. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  447. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  448. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  449. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  450. package/dist/esm/components/feedback/toast.js.map +1 -1
  451. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  452. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  453. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
  454. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -1
  455. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
  456. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -1
  457. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  458. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  459. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  460. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  461. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  462. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  463. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  464. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  465. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
  466. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
  467. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  468. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  469. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  470. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  471. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  472. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  473. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  474. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  475. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  476. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  477. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  478. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  479. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  480. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  481. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  482. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  483. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  484. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  485. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  486. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  487. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  488. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  489. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  490. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  491. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  492. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  493. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  494. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  495. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  496. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  497. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  498. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  499. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  500. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  501. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  502. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  503. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  504. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  505. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  506. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  507. package/dist/esm/components/form/Form.d.ts.map +1 -1
  508. package/dist/esm/components/form/Form.js.map +1 -1
  509. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  510. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  511. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  512. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  513. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  514. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  515. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  516. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  517. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  518. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  519. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  520. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  521. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  522. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  523. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  524. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  525. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  526. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  527. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  528. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  529. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  530. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  531. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  532. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  533. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts.map +1 -1
  534. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js.map +1 -1
  535. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  536. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  537. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -1
  538. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -1
  539. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  540. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  541. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  542. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  543. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  544. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  545. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.map +1 -1
  546. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js.map +1 -1
  547. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  548. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  549. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  550. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  551. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  552. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  553. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  554. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  555. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  556. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  557. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  558. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  559. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  560. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  561. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  562. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  563. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  564. package/dist/esm/components/form/chromes/field.js.map +1 -1
  565. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  566. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  567. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  568. package/dist/esm/components/form/combobox.js.map +1 -1
  569. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  570. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  571. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  572. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  573. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  574. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  575. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  576. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  577. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  578. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  579. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  580. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  581. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  582. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  583. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  584. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  585. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  586. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  587. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  588. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  589. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  590. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  591. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  592. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  593. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  594. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  595. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  596. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  597. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  598. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  599. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -1
  600. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js.map +1 -1
  601. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  602. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  603. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  604. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  605. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  606. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  607. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  608. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  609. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  610. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  611. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  612. package/dist/esm/components/form/controls/input.js.map +1 -1
  613. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  614. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  615. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  616. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  617. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  618. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  619. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  620. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  621. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  622. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  623. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  624. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  625. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  626. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  627. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  628. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  629. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  630. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  631. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  632. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -1
  633. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js.map +1 -1
  634. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  635. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  636. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
  637. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  638. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  639. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  640. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  641. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  642. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  643. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  644. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  645. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  646. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  647. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  648. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  649. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  650. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  651. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  652. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  653. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  654. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  655. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  656. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  657. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  658. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  659. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  660. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  661. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  662. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  663. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  664. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  665. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  666. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  667. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  668. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  669. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  670. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  671. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  672. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  673. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  674. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  675. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  676. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  677. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  678. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  679. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  680. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  681. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  682. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  683. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  684. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  685. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  686. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  687. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  688. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  689. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  690. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  691. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  692. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  693. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  694. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  695. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  696. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  697. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  698. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  699. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  700. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  701. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  702. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  703. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  704. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  705. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  706. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  707. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  708. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
  709. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
  710. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  711. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  712. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  713. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  714. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  715. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  716. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  717. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  718. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  719. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  720. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  721. package/dist/esm/components/form/form-context.js.map +1 -1
  722. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  723. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  724. package/dist/esm/components/form/form-external-validation.d.ts.map +1 -1
  725. package/dist/esm/components/form/form-external-validation.js.map +1 -1
  726. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  727. package/dist/esm/components/form/form-field-types.js.map +1 -1
  728. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  729. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  730. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  731. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  732. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  733. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  734. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  735. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  736. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  737. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  738. package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts.map +1 -1
  739. package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -1
  740. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
  741. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -1
  742. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  743. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  744. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts.map +1 -1
  745. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js.map +1 -1
  746. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  747. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  748. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  749. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  750. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -1
  751. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js.map +1 -1
  752. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  753. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  754. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  755. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  756. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  757. package/dist/esm/components/layout/carousel.js.map +1 -1
  758. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  759. package/dist/esm/components/layout/divider.js.map +1 -1
  760. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  761. package/dist/esm/components/layout/resizable.js.map +1 -1
  762. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  763. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  764. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  765. package/dist/esm/components/layout/separator.js.map +1 -1
  766. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  767. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  768. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  769. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  770. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  771. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  772. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  773. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  774. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  775. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  776. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  777. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  778. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  779. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  780. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  781. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  782. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  783. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  784. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  785. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  786. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  787. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  788. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  789. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  790. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  791. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  792. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  793. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  794. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  795. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  796. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  797. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  798. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  799. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  800. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -1
  801. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js.map +1 -1
  802. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  803. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  804. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  805. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  806. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  807. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  808. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  809. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  810. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  811. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  812. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  813. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  814. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  815. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  816. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  817. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  818. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  819. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  820. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  821. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  822. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  823. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  824. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  825. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  826. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  827. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  828. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  829. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  830. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  831. package/dist/esm/components/navigation/command.js.map +1 -1
  832. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  833. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  834. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  835. package/dist/esm/components/navigation/navbar.js.map +1 -1
  836. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  837. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  838. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  839. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  840. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  841. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  842. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  843. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  844. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  845. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  846. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  847. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  848. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  849. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  850. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  851. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  852. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  853. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  854. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  855. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  856. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  857. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  858. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  859. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  860. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  861. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  862. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  863. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  864. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  865. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  866. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  867. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  868. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  869. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  870. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  871. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  872. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  873. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  874. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  875. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  876. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  877. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  878. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  879. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  880. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +1 -1
  881. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +1 -1
  882. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  883. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  884. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  885. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  886. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  887. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  888. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
  889. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
  890. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  891. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  892. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  893. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  894. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  895. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  896. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  897. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  898. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  899. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  900. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  901. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  902. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  903. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  904. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  905. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  906. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  907. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  908. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  909. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  910. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  911. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  912. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  913. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  914. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  915. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  916. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  917. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  918. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  919. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  920. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  921. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  922. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  923. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  924. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  925. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  926. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  927. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  928. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  929. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  930. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  931. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  932. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  933. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  934. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  935. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  936. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  937. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  938. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  939. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  940. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  941. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  942. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  943. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  944. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  945. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  946. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  947. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  948. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  949. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  950. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  951. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  952. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  953. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  954. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  955. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  956. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  957. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  958. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  959. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  960. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  961. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  962. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  963. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  964. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  965. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  966. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  967. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  968. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  969. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  970. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  971. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  972. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  973. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  974. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  975. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  976. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  977. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  978. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  979. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  980. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  981. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  982. package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -1
  983. package/dist/esm/components/resources/ResourceOperationActionDropdown.js.map +1 -1
  984. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  985. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  986. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -1
  987. package/dist/esm/components/resources/ResourceOperationDetachedHost.js.map +1 -1
  988. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  989. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  990. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  991. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  992. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  993. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  994. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  995. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  996. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  997. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  998. package/dist/esm/components/resources/collection-create-placement.utils.d.ts.map +1 -1
  999. package/dist/esm/components/resources/collection-create-placement.utils.js.map +1 -1
  1000. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  1001. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  1002. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  1003. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  1004. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  1005. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  1006. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  1007. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  1008. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  1009. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  1010. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  1011. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  1012. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  1013. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  1014. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  1015. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  1016. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  1017. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  1018. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  1019. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  1020. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  1021. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  1022. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  1023. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  1024. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  1025. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  1026. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  1027. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  1028. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  1029. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  1030. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  1031. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  1032. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -1
  1033. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js.map +1 -1
  1034. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  1035. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  1036. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  1037. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  1038. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  1039. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  1040. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  1041. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  1042. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  1043. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  1044. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1045. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1046. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1047. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1048. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1049. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1050. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1051. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1052. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1053. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1054. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1055. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1056. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1057. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1058. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1059. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1060. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1061. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1062. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1063. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1064. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1065. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1066. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1067. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1068. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1069. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1070. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1071. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1072. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1073. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1074. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1075. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1076. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1077. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1078. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1079. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1080. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1081. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1082. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1083. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1084. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1085. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1086. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1087. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1088. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1089. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1090. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1091. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1092. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1093. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1094. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1095. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1096. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1097. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1098. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1099. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1100. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1101. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1102. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1103. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1104. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1105. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1106. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1107. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1108. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1109. package/dist/esm/components/sections/accordion.js.map +1 -1
  1110. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1111. package/dist/esm/components/sections/card.js.map +1 -1
  1112. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1113. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1114. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1115. package/dist/esm/components/sections/content-section.js.map +1 -1
  1116. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1117. package/dist/esm/components/sections/pagination.js.map +1 -1
  1118. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1119. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1120. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1121. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1122. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1123. package/dist/esm/components/sections/stepper.js.map +1 -1
  1124. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1125. package/dist/esm/components/sections/surface.js.map +1 -1
  1126. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1127. package/dist/esm/components/sections/table.js.map +1 -1
  1128. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1129. package/dist/esm/components/sections/tabs.js.map +1 -1
  1130. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -1
  1131. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
  1132. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -1
  1133. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
  1134. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1135. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1136. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1137. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1138. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1139. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1140. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1141. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1142. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  1143. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  1144. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  1145. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  1146. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1147. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1148. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1149. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1150. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1151. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1152. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1153. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1154. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1155. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1156. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1157. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1158. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
  1159. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
  1160. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1161. package/dist/esm/components/typography/heading.js.map +1 -1
  1162. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1163. package/dist/esm/components/typography/label.js.map +1 -1
  1164. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1165. package/dist/esm/components/typography/link.js.map +1 -1
  1166. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1167. package/dist/esm/components/typography/text.js.map +1 -1
  1168. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1169. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1170. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1171. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1172. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1173. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1174. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1175. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1176. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1177. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1178. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1179. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1180. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1181. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1182. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1183. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1184. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1185. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1186. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1187. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1188. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1189. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1190. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1191. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1192. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1193. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1194. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1195. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1196. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1197. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1198. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1199. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1200. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1201. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1202. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1203. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1204. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1205. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1206. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1207. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1208. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1209. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1210. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1211. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1212. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1213. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1214. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1215. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1216. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1217. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1218. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1219. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1220. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1221. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1222. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1223. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1224. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1225. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1226. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1227. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1228. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1229. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1230. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1231. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1232. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1233. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1234. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1235. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1236. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1237. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1238. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1239. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1240. package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -1
  1241. package/dist/esm/components/views/chart-view/useResourceChartData.js.map +1 -1
  1242. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1243. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1244. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1245. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1246. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1247. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1248. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1249. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1250. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1251. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1252. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1253. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1254. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1255. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1256. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1257. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1258. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1259. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1260. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1261. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1262. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1263. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1264. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1265. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1266. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1267. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1268. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
  1269. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
  1270. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1271. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1272. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1273. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1274. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1275. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1276. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1277. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1278. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1279. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1280. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1281. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1282. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1283. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1284. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1285. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1286. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
  1287. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
  1288. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1289. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1290. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1291. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1292. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1293. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1294. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1295. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1296. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1297. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1298. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1299. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1300. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1301. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1302. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
  1303. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -1
  1304. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1305. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1306. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1307. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1308. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1309. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1310. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1311. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1312. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1313. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1314. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1315. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1316. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1317. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1318. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1319. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1320. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1321. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1322. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1323. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1324. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1325. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1326. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1327. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1328. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1329. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1330. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  1331. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  1332. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1333. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1334. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  1335. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  1336. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1337. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1338. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1339. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1340. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1341. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1342. package/dist/esm/core/config/composite-view.schemas.d.ts +4 -4
  1343. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1344. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1345. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1346. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1347. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1348. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1349. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1350. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1351. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1352. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1353. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1354. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1355. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1356. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1357. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1358. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1359. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1360. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1361. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1362. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1363. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1364. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1365. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1366. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1367. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
  1368. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
  1369. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1370. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1371. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1372. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1373. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1374. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1375. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1376. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1377. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1378. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1379. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1380. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1381. package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -1
  1382. package/dist/esm/core/config/view-label-declaration.schemas.js.map +1 -1
  1383. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1384. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1385. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1386. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1387. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1388. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1389. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1390. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1391. package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -1
  1392. package/dist/esm/core/errors/ErrorModalContent.js.map +1 -1
  1393. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1394. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1395. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1396. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1397. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1398. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1399. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1400. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1401. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1402. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1403. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1404. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1405. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1406. package/dist/esm/core/errors/useError.js.map +1 -1
  1407. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -1
  1408. package/dist/esm/core/errors/useUserFacingErrorMessage.js.map +1 -1
  1409. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
  1410. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  1411. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1412. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1413. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1414. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1415. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1416. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1417. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1418. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1419. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1420. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1421. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1422. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1423. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1424. package/dist/esm/core/events/toast.js.map +1 -1
  1425. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1426. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1427. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1428. package/dist/esm/core/events/useNotification.js.map +1 -1
  1429. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1430. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1431. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1432. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1433. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1434. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1435. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1436. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1437. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1438. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1439. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1440. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1441. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1442. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1443. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1444. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1445. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1446. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1447. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1448. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1449. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1450. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1451. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1452. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1453. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1454. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1455. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1456. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1457. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -1
  1458. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -1
  1459. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -1
  1460. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -1
  1461. package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -1
  1462. package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -1
  1463. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  1464. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  1465. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1466. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1467. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1468. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1469. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -1
  1470. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -1
  1471. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
  1472. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -1
  1473. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
  1474. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
  1475. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1476. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1477. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1478. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1479. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1480. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1481. package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -1
  1482. package/dist/esm/core/features/feature-gate-surface.example.js.map +1 -1
  1483. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1484. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1485. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1486. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1487. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1488. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1489. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1490. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1491. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1492. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1493. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1494. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1495. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1496. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1497. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
  1498. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
  1499. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1500. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1501. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1502. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1503. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1504. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1505. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1506. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1507. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1508. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1509. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1510. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1511. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1512. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1513. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1514. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1515. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1516. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1517. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1518. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1519. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1520. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1521. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1522. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1523. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1524. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1525. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1526. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1527. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1528. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1529. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1530. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1531. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1532. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1533. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1534. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1535. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1536. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1537. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1538. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1539. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1540. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1541. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1542. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1543. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1544. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1545. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1546. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1547. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1548. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1549. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1550. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1551. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1552. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1553. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1554. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1555. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1556. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1557. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1558. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1559. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1560. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1561. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1562. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1563. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1564. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1565. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts.map +1 -1
  1566. package/dist/esm/core/i18n/operation-title-resolution.utils.js.map +1 -1
  1567. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1568. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1569. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1570. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1571. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1572. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1573. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1574. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1575. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  1576. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  1577. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1578. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1579. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  1580. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  1581. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  1582. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  1583. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  1584. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  1585. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  1586. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  1587. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  1588. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  1589. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  1590. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  1591. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  1592. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  1593. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  1594. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  1595. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  1596. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  1597. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  1598. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  1599. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  1600. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  1601. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  1602. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  1603. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  1604. package/dist/esm/core/loading/useLoading.js.map +1 -1
  1605. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  1606. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  1607. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  1608. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  1609. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  1610. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  1611. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  1612. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  1613. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.map +1 -1
  1614. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js.map +1 -1
  1615. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  1616. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  1617. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  1618. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  1619. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  1620. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1621. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  1622. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  1623. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  1624. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  1625. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
  1626. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -1
  1627. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  1628. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  1629. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1630. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1631. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1632. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1633. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1634. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1635. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  1636. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  1637. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1638. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1639. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1640. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1641. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
  1642. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
  1643. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  1644. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  1645. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
  1646. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
  1647. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  1648. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1649. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  1650. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  1651. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1652. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1653. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  1654. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  1655. package/dist/esm/core/navigation/split-fit.d.ts.map +1 -1
  1656. package/dist/esm/core/navigation/split-fit.js.map +1 -1
  1657. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1658. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1659. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1660. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1661. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
  1662. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
  1663. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  1664. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  1665. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  1666. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  1667. package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -1
  1668. package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -1
  1669. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts.map +1 -1
  1670. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js.map +1 -1
  1671. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  1672. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  1673. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  1674. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  1675. package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -1
  1676. package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -1
  1677. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
  1678. package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
  1679. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  1680. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  1681. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
  1682. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -1
  1683. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  1684. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  1685. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  1686. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  1687. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  1688. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  1689. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1690. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1691. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  1692. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  1693. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  1694. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  1695. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  1696. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  1697. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  1698. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  1699. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  1700. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  1701. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1702. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1703. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1704. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1705. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  1706. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  1707. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -1
  1708. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js.map +1 -1
  1709. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  1710. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  1711. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  1712. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  1713. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  1714. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  1715. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1716. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1717. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1718. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1719. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1720. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1721. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  1722. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  1723. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  1724. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  1725. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  1726. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  1727. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  1728. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  1729. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1730. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1731. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -1
  1732. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js.map +1 -1
  1733. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1734. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1735. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
  1736. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
  1737. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  1738. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  1739. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  1740. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  1741. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  1742. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  1743. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1744. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1745. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1746. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1747. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  1748. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  1749. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  1750. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  1751. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1752. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1753. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1754. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1755. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  1756. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  1757. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1758. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1759. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
  1760. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
  1761. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  1762. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  1763. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  1764. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  1765. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  1766. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  1767. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1768. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1769. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +2 -2
  1770. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1771. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1772. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1773. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1774. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1775. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1776. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  1777. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  1778. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  1779. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  1780. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1781. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1782. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  1783. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  1784. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  1785. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  1786. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts.map +1 -1
  1787. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js.map +1 -1
  1788. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  1789. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  1790. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  1791. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  1792. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1793. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1794. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1795. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1796. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  1797. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  1798. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  1799. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  1800. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  1801. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  1802. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1803. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1804. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1805. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1806. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  1807. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  1808. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
  1809. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
  1810. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1811. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1812. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
  1813. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
  1814. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  1815. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  1816. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1817. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1818. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1819. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1820. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
  1821. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
  1822. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1823. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1824. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  1825. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  1826. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1827. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1828. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1829. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1830. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1831. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1832. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  1833. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  1834. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1835. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1836. package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -1
  1837. package/dist/esm/core/runtime/StartupFailureScreen.js.map +1 -1
  1838. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  1839. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  1840. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1841. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1842. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  1843. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  1844. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  1845. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  1846. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1847. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1848. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  1849. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  1850. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1851. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1852. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -1
  1853. package/dist/esm/core/runtime/startup-failure-copy.frontend.js.map +1 -1
  1854. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  1855. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  1856. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1857. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1858. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  1859. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  1860. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  1861. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  1862. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  1863. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  1864. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  1865. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  1866. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1867. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1868. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  1869. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1870. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1871. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1872. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1873. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1874. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  1875. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  1876. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts.map +1 -1
  1877. package/dist/esm/core/security/consent-gate.frontend.utils.js.map +1 -1
  1878. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  1879. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  1880. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -1
  1881. package/dist/esm/core/security/federated-reauthentication.frontend.js.map +1 -1
  1882. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  1883. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  1884. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -1
  1885. package/dist/esm/core/security/organization-onboarding.frontend.utils.js.map +1 -1
  1886. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts.map +1 -1
  1887. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js.map +1 -1
  1888. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -1
  1889. package/dist/esm/core/security/registration-outcome.frontend.utils.js.map +1 -1
  1890. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  1891. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  1892. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1893. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1894. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  1895. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  1896. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  1897. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  1898. package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -1
  1899. package/dist/esm/core/security/useConsentGateBehavior.js.map +1 -1
  1900. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -1
  1901. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js.map +1 -1
  1902. package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -1
  1903. package/dist/esm/core/security/useGrantedConsentPurposes.js.map +1 -1
  1904. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  1905. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  1906. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
  1907. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
  1908. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  1909. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  1910. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  1911. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  1912. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  1913. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  1914. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -1
  1915. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js.map +1 -1
  1916. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  1917. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  1918. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  1919. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  1920. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1921. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1922. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  1923. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  1924. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  1925. package/dist/esm/core/ui/cn.js.map +1 -1
  1926. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  1927. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  1928. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  1929. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  1930. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  1931. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  1932. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1933. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1934. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  1935. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  1936. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  1937. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  1938. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  1939. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  1940. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1941. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1942. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1943. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  1944. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1945. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1946. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  1947. package/dist/esm/core/ui/useUI.js.map +1 -1
  1948. package/dist/esm/index.d.ts.map +1 -1
  1949. package/dist/esm/index.js.map +1 -1
  1950. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1951. package/dist/esm/tailwind/index.js.map +1 -1
  1952. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
  1953. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
  1954. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1955. package/dist/esm/testing/mock-builders.js.map +1 -1
  1956. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  1957. package/dist/esm/testing/mock-factory.js.map +1 -1
  1958. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1959. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1960. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1961. package/dist/esm/testing/test-providers.js.map +1 -1
  1962. package/dist/esm/testing.d.ts.map +1 -1
  1963. package/dist/esm/testing.js.map +1 -1
  1964. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"view-title-resolution.js","sourceRoot":"","sources":["../../../../src/core/navigation/view-title-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,2CAA2C,EAC3C,wCAAwC,GACzC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,UAAU,0BAA0B,CAAC,cAAsB;IAC/D,OAAO,GAAG,cAAc,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAG3C;IACC,OAAO,GAAG,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,OAAO,OAAO,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,YAAoB,EACpB,QAAgB;IAEhB,OAAO,aAAa,YAAY,IAAI,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,OAAe;IAEf,MAAM,YAAY,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,2CAA2C,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,KAAK,wBAAwB,CAAC,cAAc,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,KAAK,4BAA4B,CAAC,QAAQ,EAAE,CAAC;QACpE,OAAO,wCAAwC,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,2CAA2C,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAOD,MAAM,UAAU,gCAAgC,CAAC,MAGhD;IACC,MAAM,YAAY,GAAG,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,UAAU,EAAE,CAAC;QAC5D,IAAI,YAAY,EAAE,QAAQ,KAAK,wBAAwB,CAAC,UAAU,EAAE,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,yBAAyB,CAAC,KAAK;gBACvC,cAAc,EAAE,+BAA+B,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,KAAK;YACvC,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAChE,IAAI,YAAY,EAAE,QAAQ,KAAK,wBAAwB,CAAC,cAAc,EAAE,CAAC;YACvE,OAAO;gBACL,MAAM,EAAE,yBAAyB,CAAC,SAAS;gBAC3C,cAAc,EAAE,+BAA+B,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,SAAS;YAC3C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;QAClE,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,WAAW;YAC7C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,YAAY;YAC9C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAS1C;IACC,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,UAAU,GAAG,gCAAgC,CAAC;QAClD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import {\n LabellingTypes,\n NavigationViewLabelFamily,\n} from '@wildo-ai/presets-components-models';\nimport {\n buildApplicationCompositeViewTranslationRef,\n buildResourceCompositeViewTranslationRef,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n FrontendInsertedViewHostKind,\n FrontendInsertedViewKind,\n parseFrontendInsertedViewRef,\n} from '~wildo-frontend-lib/core/config/inserted-view.frontend.schemas';\nimport { NavigationContentType } from './navigation.schemas';\n\nexport function buildCompositeViewLabelKey(translationRef: string): string {\n return `${LabellingTypes.COMPOSITE_VIEWS}.${translationRef}`;\n}\n\nexport function buildNavigationViewLabelKey(params: {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}): string {\n return `${LabellingTypes.VIEWS}.${params.family}.${params.translationRef}`;\n}\n\nexport function buildApplicationViewTranslationRef(viewRef: string): string {\n return `app.${viewRef}`;\n}\n\nexport function buildResourceViewTranslationRef(\n resourceType: string,\n localRef: string,\n): string {\n return `resources.${resourceType}.${localRef}`;\n}\n\nexport function resolveCompositeViewTranslationRef(\n viewRef: string,\n): string | undefined {\n const insertedView = parseFrontendInsertedViewRef(viewRef);\n if (!insertedView) {\n return buildApplicationCompositeViewTranslationRef(viewRef);\n }\n if (insertedView.viewKind !== FrontendInsertedViewKind.COMPOSITE_VIEW) {\n return undefined;\n }\n\n if (insertedView.hostKind === FrontendInsertedViewHostKind.RESOURCE) {\n return buildResourceCompositeViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n );\n }\n\n return buildApplicationCompositeViewTranslationRef(insertedView.localRef);\n}\n\nexport interface NavigationViewLabelTarget {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}\n\nexport function resolveNavigationViewLabelTarget(params: {\n viewRef: string;\n contentType: NavigationContentType;\n}): NavigationViewLabelTarget | undefined {\n const insertedView = parseFrontendInsertedViewRef(params.viewRef);\n\n if (params.contentType === NavigationContentType.CHART_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.CHART_VIEW) {\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.EXECUTION_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.EXECUTION_VIEW) {\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FULL_CUSTOM_VIEW) {\n return {\n family: NavigationViewLabelFamily.FULL_CUSTOM,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FLOWS_ACTORS_VIEW) {\n return {\n family: NavigationViewLabelFamily.FLOWS_ACTORS,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n return undefined;\n}\n\n/**\n * Resolve the display title for a navigable view surface.\n *\n * Composite views have a first-class translation identity and must resolve\n * through `composite_views.{translationRef}.title`. Other supported view\n * families resolve through `views.{family}.{translationRef}.title`.\n *\n * ## A missing title is never `''`\n *\n * Every caller NAMES something with the answer — a sidebar item, a command-menu entry, a dialog\n * title, an inserted-view link — and `''` there is a control with no accessible name: still there,\n * still focusable, and silent. axe reports it as a critical `button-name` (#1411), and a screen\n * reader announces \"button\".\n *\n * `tCompositeView` / `tView` used to answer `''` for a missing title, so this function patched the\n * gap with the view's own ref. Since #1450 the resolvers answer the KEY PATH themselves — one\n * decision, in one place, for the header and the navigation control alike — so nothing is patched\n * here any more. (#1411's note argued a HEADER \"is right to disappear rather than show a key\"; that\n * is the half #1450 overturned: a page with no header says nothing about the label being owed.)\n *\n * The view ref is still the answer where there is NO label identity to resolve at all — no\n * translation ref, no label target — because then there is no key to show.\n * The loading window is a different case and is handled upstream, by `useLauncherResolutionContext`\n * not resolving anything before its label bundles settle.\n */\nexport function resolveNavigationViewTitle(params: {\n viewRef: string;\n contentType: NavigationContentType;\n tCompositeView: (translationRef: string, key: 'title') => string;\n tView: (\n family: NavigationViewLabelFamily,\n translationRef: string,\n key: 'title',\n ) => string;\n}): string {\n if (params.contentType === NavigationContentType.COMPOSITE_VIEW) {\n const translationRef = resolveCompositeViewTranslationRef(params.viewRef);\n if (!translationRef) {\n return params.viewRef;\n }\n\n return params.tCompositeView(translationRef, 'title');\n }\n\n const viewTarget = resolveNavigationViewLabelTarget({\n viewRef: params.viewRef,\n contentType: params.contentType,\n });\n if (!viewTarget) {\n return params.viewRef;\n }\n\n return params.tView(viewTarget.family, viewTarget.translationRef, 'title');\n}\n"]}
1
+ {"version":3,"file":"view-title-resolution.js","sourceRoot":"","sources":["../../../../../src/core/navigation/view-title-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,2CAA2C,EAC3C,wCAAwC,GACzC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,UAAU,0BAA0B,CAAC,cAAsB;IAC/D,OAAO,GAAG,cAAc,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAG3C;IACC,OAAO,GAAG,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,OAAO,OAAO,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,YAAoB,EACpB,QAAgB;IAEhB,OAAO,aAAa,YAAY,IAAI,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,OAAe;IAEf,MAAM,YAAY,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,2CAA2C,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,KAAK,wBAAwB,CAAC,cAAc,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,KAAK,4BAA4B,CAAC,QAAQ,EAAE,CAAC;QACpE,OAAO,wCAAwC,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,2CAA2C,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAOD,MAAM,UAAU,gCAAgC,CAAC,MAGhD;IACC,MAAM,YAAY,GAAG,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,UAAU,EAAE,CAAC;QAC5D,IAAI,YAAY,EAAE,QAAQ,KAAK,wBAAwB,CAAC,UAAU,EAAE,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,yBAAyB,CAAC,KAAK;gBACvC,cAAc,EAAE,+BAA+B,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,KAAK;YACvC,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAChE,IAAI,YAAY,EAAE,QAAQ,KAAK,wBAAwB,CAAC,cAAc,EAAE,CAAC;YACvE,OAAO;gBACL,MAAM,EAAE,yBAAyB,CAAC,SAAS;gBAC3C,cAAc,EAAE,+BAA+B,CAC7C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,QAAQ,CACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,SAAS;YAC3C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;QAClE,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,WAAW;YAC7C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,YAAY;YAC9C,cAAc,EAAE,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAS1C;IACC,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,UAAU,GAAG,gCAAgC,CAAC;QAClD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import {\n LabellingTypes,\n NavigationViewLabelFamily,\n} from '@wildo-ai/presets-components-models';\nimport {\n buildApplicationCompositeViewTranslationRef,\n buildResourceCompositeViewTranslationRef,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n FrontendInsertedViewHostKind,\n FrontendInsertedViewKind,\n parseFrontendInsertedViewRef,\n} from '~wildo-frontend-lib/core/config/inserted-view.frontend.schemas';\nimport { NavigationContentType } from './navigation.schemas';\n\nexport function buildCompositeViewLabelKey(translationRef: string): string {\n return `${LabellingTypes.COMPOSITE_VIEWS}.${translationRef}`;\n}\n\nexport function buildNavigationViewLabelKey(params: {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}): string {\n return `${LabellingTypes.VIEWS}.${params.family}.${params.translationRef}`;\n}\n\nexport function buildApplicationViewTranslationRef(viewRef: string): string {\n return `app.${viewRef}`;\n}\n\nexport function buildResourceViewTranslationRef(\n resourceType: string,\n localRef: string,\n): string {\n return `resources.${resourceType}.${localRef}`;\n}\n\nexport function resolveCompositeViewTranslationRef(\n viewRef: string,\n): string | undefined {\n const insertedView = parseFrontendInsertedViewRef(viewRef);\n if (!insertedView) {\n return buildApplicationCompositeViewTranslationRef(viewRef);\n }\n if (insertedView.viewKind !== FrontendInsertedViewKind.COMPOSITE_VIEW) {\n return undefined;\n }\n\n if (insertedView.hostKind === FrontendInsertedViewHostKind.RESOURCE) {\n return buildResourceCompositeViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n );\n }\n\n return buildApplicationCompositeViewTranslationRef(insertedView.localRef);\n}\n\nexport interface NavigationViewLabelTarget {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}\n\nexport function resolveNavigationViewLabelTarget(params: {\n viewRef: string;\n contentType: NavigationContentType;\n}): NavigationViewLabelTarget | undefined {\n const insertedView = parseFrontendInsertedViewRef(params.viewRef);\n\n if (params.contentType === NavigationContentType.CHART_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.CHART_VIEW) {\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.EXECUTION_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.EXECUTION_VIEW) {\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FULL_CUSTOM_VIEW) {\n return {\n family: NavigationViewLabelFamily.FULL_CUSTOM,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FLOWS_ACTORS_VIEW) {\n return {\n family: NavigationViewLabelFamily.FLOWS_ACTORS,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n return undefined;\n}\n\n/**\n * Resolve the display title for a navigable view surface.\n *\n * Composite views have a first-class translation identity and must resolve\n * through `composite_views.{translationRef}.title`. Other supported view\n * families resolve through `views.{family}.{translationRef}.title`.\n *\n * ## A missing title is never `''`\n *\n * Every caller NAMES something with the answer — a sidebar item, a command-menu entry, a dialog\n * title, an inserted-view link — and `''` there is a control with no accessible name: still there,\n * still focusable, and silent. axe reports it as a critical `button-name` (#1411), and a screen\n * reader announces \"button\".\n *\n * `tCompositeView` / `tView` used to answer `''` for a missing title, so this function patched the\n * gap with the view's own ref. Since #1450 the resolvers answer the KEY PATH themselves — one\n * decision, in one place, for the header and the navigation control alike — so nothing is patched\n * here any more. (#1411's note argued a HEADER \"is right to disappear rather than show a key\"; that\n * is the half #1450 overturned: a page with no header says nothing about the label being owed.)\n *\n * The view ref is still the answer where there is NO label identity to resolve at all — no\n * translation ref, no label target — because then there is no key to show.\n * The loading window is a different case and is handled upstream, by `useLauncherResolutionContext`\n * not resolving anything before its label bundles settle.\n */\nexport function resolveNavigationViewTitle(params: {\n viewRef: string;\n contentType: NavigationContentType;\n tCompositeView: (translationRef: string, key: 'title') => string;\n tView: (\n family: NavigationViewLabelFamily,\n translationRef: string,\n key: 'title',\n ) => string;\n}): string {\n if (params.contentType === NavigationContentType.COMPOSITE_VIEW) {\n const translationRef = resolveCompositeViewTranslationRef(params.viewRef);\n if (!translationRef) {\n return params.viewRef;\n }\n\n return params.tCompositeView(translationRef, 'title');\n }\n\n const viewTarget = resolveNavigationViewLabelTarget({\n viewRef: params.viewRef,\n contentType: params.contentType,\n });\n if (!viewTarget) {\n return params.viewRef;\n }\n\n return params.tView(viewTarget.family, viewTarget.translationRef, 'title');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-collapse-migration.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-collapse-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/G,OAAO,KAAK,EAAwB,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AAGvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,mFAAmF;AACnF,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG,SAAS,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,sBAAsB,EAC5B,YAAY,EAAE,2BAA2B,GACxC,eAAe,CAwBjB;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,2BAA2B,GACxC,eAAe,CA8BjB;AAED,iFAAiF;AACjF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,mFAAmF;IACnF,IAAI,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACzC,YAAY,EAAE,2BAA2B,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,eAAe,CAOvH"}
1
+ {"version":3,"file":"zone-collapse-migration.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-collapse-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/G,OAAO,KAAK,EAAwB,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AAGvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,mFAAmF;AACnF,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG,SAAS,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,sBAAsB,EAC5B,YAAY,EAAE,2BAA2B,GACxC,eAAe,CAwBjB;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,2BAA2B,GACxC,eAAe,CA8BjB;AAED,iFAAiF;AACjF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,mFAAmF;IACnF,IAAI,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACzC,YAAY,EAAE,2BAA2B,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,eAAe,CAOvH"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-collapse-migration.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-collapse-migration.ts"],"names":[],"mappings":"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","sourcesContent":["import { NavigationZoneContentModel, NavigationZoneName, ResponsiveCollapseMode } from '@wildo-ai/saas-models';\n\nimport { NavigationZone } from './navigation.schemas';\nimport type { NavigationStackEntry, NavigationState, NavigationZoneState } from './navigation.schemas';\nimport { resolveVisibleEntryIndex } from './zone-visible-entry';\n\n/**\n * Moving a collapsed zone's content somewhere it can be SEEN, and home again — as pure state\n * transforms the reducer applies in ONE update.\n *\n * ## Why this is a reducer transform and not a sequence of events\n *\n * The first implementation (2026-09-25, `c8c8a7dc`) emitted `NAVIGATION_PUSH` / `CLEAR_ZONE` /\n * `POP` / `REPLACE` from a hook, one entry at a time. Each of those three defects followed from that\n * shape, and none of them could have been patched inside it:\n *\n * - **It read stale state.** `getZoneState` answers from the last RENDER, so within one pass the\n * hook could not see the POP it had just emitted. When both panes collapsed and then widened, the\n * secondary's restore saw the companion's entry on primary's top, skipped, and marked itself\n * done — the secondary's record stayed full-width beside an empty pane.\n * - **It lost what the entry was.** Every emit passes through a payload schema that STRIPS keys it\n * does not declare, and the migration re-described the entry field by field. `hostedPane`,\n * `persistent` and `ephemeral` did not make the round trip, so a hosted pane came home unflagged\n * under a URL still carrying its `?pane=`.\n * - **It moved one entry.** A pane's history came back as its last record, and a TABBED pane's\n * last tab was moved rather than the one on screen.\n *\n * A transform over `NavigationState` moves the entry OBJECTS — nothing is re-described, so nothing\n * can be dropped — and sees every zone at once, so two panes collapsing together are one decision.\n *\n * ## The invariant, which is what makes the caller a reconciler rather than an event handler\n *\n * **A collapsed zone holds nothing.** Content can reach one by any path — a click the resolver\n * already retargeted, a URL restored before the content area was measured, a `?pane=` reload —\n * and the rule does not care which: whatever sits in a collapsed zone is moved out. The inverse is\n * **nothing is held on behalf of a zone that is showing**. Both transforms are idempotent (a second\n * application changes nothing and returns the SAME object), so the caller may apply them on every\n * render without looping and without remembering what it did last time.\n */\n\n/** A zone's content model, as the layout declares it; `SINGLE` when undeclared. */\nexport type CollapsibleZoneContentModel = NavigationZoneContentModel | undefined;\n\n/**\n * Evacuate `zone` while it is collapsed under `mode`. Returns `state` itself when there is nothing\n * to move, so a caller can compare by identity.\n *\n * - **SINGLE** — the whole stack moves, in order, so the pane's history survives: Back in primary\n * walks it exactly as Back in the pane would have. An earlier version moved only the top, on the\n * theory that history \"in a pane that no longer exists\" is not a place the reader can return to;\n * but the pane DOES come back, and the contract (`ResponsiveCollapseMode`) says its content is\n * preserved.\n * - **TABBED** — every tab moves, with the tab on SCREEN last so it is the one primary shows. Tabs\n * become history while the pane cannot be drawn: that is the only shape one column can give them,\n * and it keeps every tab reachable rather than stranding the ones not in front.\n *\n * Each moved entry is stamped with `collapsedFromZone` — the one field that lets it go home — and its\n * `zone` becomes where it now IS. The content area renders an entry under `entry.zone`, so an entry\n * that kept `zone: secondary` while sitting in primary rendered a surface that believed it was in\n * the pane: its Back called `goBack(secondary)` on an empty stack and did nothing (Wonder Todos,\n * a `?pane=` record held in primary at 820px, 2026-09-28). Moving an object is not the same as\n * re-describing it, but where it lives is not a property it keeps.\n */\nexport function evacuateCollapsedZone(\n state: NavigationState,\n zone: NavigationZoneName,\n mode: ResponsiveCollapseMode,\n contentModel: CollapsibleZoneContentModel,\n): NavigationState {\n const zoneState = state.zones[zone];\n if (!zoneState || zoneState.stack.length === 0) return state;\n\n const visibleIndex = resolveVisibleEntryIndex(zoneState.stack, contentModel, zoneState.activeTabId);\n const ordered = contentModel === NavigationZoneContentModel.TABBED\n ? [...zoneState.stack.filter((_, index) => index !== visibleIndex), zoneState.stack[visibleIndex]!]\n : zoneState.stack;\n const heldIn = mode === ResponsiveCollapseMode.OVERLAY ? NavigationZone.OVERLAY : NavigationZoneName.PRIMARY;\n const moving = ordered.map((entry): NavigationStackEntry => ({ ...entry, zone: heldIn, collapsedFromZone: zone }));\n\n const emptied: NavigationZoneState = { ...zoneState, stack: [], activeTabId: undefined, isVisible: false };\n if (mode === ResponsiveCollapseMode.OVERLAY) {\n return { ...state, overlay: [...state.overlay, ...moving], zones: { ...state.zones, [zone]: emptied } };\n }\n const primary = state.zones[NavigationZoneName.PRIMARY];\n return {\n ...state,\n zones: {\n ...state.zones,\n [zone]: emptied,\n [NavigationZoneName.PRIMARY]: { ...primary, stack: [...primary.stack, ...moving], isVisible: true },\n },\n };\n}\n\n/**\n * The entries of `stack` held on behalf of `zone` that may still go home: those inside the TRAILING\n * run of stamped entries.\n *\n * An entry the reader pushed on top of the borrowed content — an ordinary, unstamped navigation —\n * ends the run. Everything beneath it is then history they walked through, and pulling it out from\n * under the page they are standing on would be a worse surprise than leaving it where it is.\n *\n * Several zones may share one run (both panes collapse at MOBILE together), so the run is filtered\n * by zone rather than required to be homogeneous. That is what makes the order in which zones are\n * restored irrelevant — the defect the event-driven version had.\n */\nfunction returnableEntries(stack: NavigationStackEntry[], zone: NavigationZoneName): NavigationStackEntry[] {\n let runStart = stack.length;\n while (runStart > 0 && stack[runStart - 1]!.collapsedFromZone !== undefined) runStart -= 1;\n return stack.slice(runStart).filter(entry => entry.collapsedFromZone === zone);\n}\n\n/**\n * Return to `zone` everything held for it while it was collapsed. Returns `state` itself when there\n * is nothing to return.\n *\n * Entries go home as the same objects, with `zone` set back and without their `collapsedFromZone`\n * stamp, so `hostedPane`, `persistent`, `ephemeral`, `appearance` and anything added to the entry\n * later all survive. A\n * TABBED zone's active tab becomes the last returned entry — the one primary was showing, i.e. the\n * one the reader was looking at.\n */\nexport function restoreCollapsedZone(\n state: NavigationState,\n zone: NavigationZoneName,\n contentModel: CollapsibleZoneContentModel,\n): NavigationState {\n const primary = state.zones[NavigationZoneName.PRIMARY];\n const fromPrimary = returnableEntries(primary.stack, zone);\n const fromOverlay = returnableEntries(state.overlay, zone);\n if (fromPrimary.length === 0 && fromOverlay.length === 0) return state;\n\n const leaving = new Set([...fromPrimary, ...fromOverlay].map(entry => entry.id));\n const returning = [...fromPrimary, ...fromOverlay].map((entry): NavigationStackEntry => {\n const { collapsedFromZone: _home, ...rest } = entry;\n return { ...rest, zone };\n });\n const zoneState = state.zones[zone];\n const stack = [...zoneState.stack, ...returning];\n\n return {\n ...state,\n overlay: fromOverlay.length > 0 ? state.overlay.filter(entry => !leaving.has(entry.id)) : state.overlay,\n zones: {\n ...state.zones,\n [NavigationZoneName.PRIMARY]: fromPrimary.length > 0\n ? { ...primary, stack: primary.stack.filter(entry => !leaving.has(entry.id)), isVisible: true }\n : primary,\n [zone]: {\n ...zoneState,\n stack,\n isVisible: true,\n activeTabId: contentModel === NavigationZoneContentModel.TABBED ? stack[stack.length - 1]!.id : zoneState.activeTabId,\n },\n },\n };\n}\n\n/** One collapsible zone's situation at this width, as the reconciler sees it. */\nexport interface CollapsibleZoneSituation {\n zone: NavigationZoneName;\n /** `undefined` when the zone is shown; otherwise the declared way it collapses. */\n mode: ResponsiveCollapseMode | undefined;\n contentModel: CollapsibleZoneContentModel;\n}\n\n/**\n * Apply the invariant to every collapsible zone at once: evacuate each collapsed zone, return what\n * is held for each shown one. Identity-preserving — the SAME state object comes back when nothing\n * had to move — so it is safe to run on every render.\n */\nexport function reconcileCollapsedZones(state: NavigationState, situations: CollapsibleZoneSituation[]): NavigationState {\n return situations.reduce(\n (current, { zone, mode, contentModel }) => (mode !== undefined\n ? evacuateCollapsedZone(current, zone, mode, contentModel)\n : restoreCollapsedZone(current, zone, contentModel)),\n state,\n );\n}\n"]}
1
+ {"version":3,"file":"zone-collapse-migration.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-collapse-migration.ts"],"names":[],"mappings":"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","sourcesContent":["import { NavigationZoneContentModel, NavigationZoneName, ResponsiveCollapseMode } from '@wildo-ai/saas-models';\n\nimport { NavigationZone } from './navigation.schemas';\nimport type { NavigationStackEntry, NavigationState, NavigationZoneState } from './navigation.schemas';\nimport { resolveVisibleEntryIndex } from './zone-visible-entry';\n\n/**\n * Moving a collapsed zone's content somewhere it can be SEEN, and home again — as pure state\n * transforms the reducer applies in ONE update.\n *\n * ## Why this is a reducer transform and not a sequence of events\n *\n * The first implementation (2026-09-25, `c8c8a7dc`) emitted `NAVIGATION_PUSH` / `CLEAR_ZONE` /\n * `POP` / `REPLACE` from a hook, one entry at a time. Each of those three defects followed from that\n * shape, and none of them could have been patched inside it:\n *\n * - **It read stale state.** `getZoneState` answers from the last RENDER, so within one pass the\n * hook could not see the POP it had just emitted. When both panes collapsed and then widened, the\n * secondary's restore saw the companion's entry on primary's top, skipped, and marked itself\n * done — the secondary's record stayed full-width beside an empty pane.\n * - **It lost what the entry was.** Every emit passes through a payload schema that STRIPS keys it\n * does not declare, and the migration re-described the entry field by field. `hostedPane`,\n * `persistent` and `ephemeral` did not make the round trip, so a hosted pane came home unflagged\n * under a URL still carrying its `?pane=`.\n * - **It moved one entry.** A pane's history came back as its last record, and a TABBED pane's\n * last tab was moved rather than the one on screen.\n *\n * A transform over `NavigationState` moves the entry OBJECTS — nothing is re-described, so nothing\n * can be dropped — and sees every zone at once, so two panes collapsing together are one decision.\n *\n * ## The invariant, which is what makes the caller a reconciler rather than an event handler\n *\n * **A collapsed zone holds nothing.** Content can reach one by any path — a click the resolver\n * already retargeted, a URL restored before the content area was measured, a `?pane=` reload —\n * and the rule does not care which: whatever sits in a collapsed zone is moved out. The inverse is\n * **nothing is held on behalf of a zone that is showing**. Both transforms are idempotent (a second\n * application changes nothing and returns the SAME object), so the caller may apply them on every\n * render without looping and without remembering what it did last time.\n */\n\n/** A zone's content model, as the layout declares it; `SINGLE` when undeclared. */\nexport type CollapsibleZoneContentModel = NavigationZoneContentModel | undefined;\n\n/**\n * Evacuate `zone` while it is collapsed under `mode`. Returns `state` itself when there is nothing\n * to move, so a caller can compare by identity.\n *\n * - **SINGLE** — the whole stack moves, in order, so the pane's history survives: Back in primary\n * walks it exactly as Back in the pane would have. An earlier version moved only the top, on the\n * theory that history \"in a pane that no longer exists\" is not a place the reader can return to;\n * but the pane DOES come back, and the contract (`ResponsiveCollapseMode`) says its content is\n * preserved.\n * - **TABBED** — every tab moves, with the tab on SCREEN last so it is the one primary shows. Tabs\n * become history while the pane cannot be drawn: that is the only shape one column can give them,\n * and it keeps every tab reachable rather than stranding the ones not in front.\n *\n * Each moved entry is stamped with `collapsedFromZone` — the one field that lets it go home — and its\n * `zone` becomes where it now IS. The content area renders an entry under `entry.zone`, so an entry\n * that kept `zone: secondary` while sitting in primary rendered a surface that believed it was in\n * the pane: its Back called `goBack(secondary)` on an empty stack and did nothing (Wonder Todos,\n * a `?pane=` record held in primary at 820px, 2026-09-28). Moving an object is not the same as\n * re-describing it, but where it lives is not a property it keeps.\n */\nexport function evacuateCollapsedZone(\n state: NavigationState,\n zone: NavigationZoneName,\n mode: ResponsiveCollapseMode,\n contentModel: CollapsibleZoneContentModel,\n): NavigationState {\n const zoneState = state.zones[zone];\n if (!zoneState || zoneState.stack.length === 0) return state;\n\n const visibleIndex = resolveVisibleEntryIndex(zoneState.stack, contentModel, zoneState.activeTabId);\n const ordered = contentModel === NavigationZoneContentModel.TABBED\n ? [...zoneState.stack.filter((_, index) => index !== visibleIndex), zoneState.stack[visibleIndex]!]\n : zoneState.stack;\n const heldIn = mode === ResponsiveCollapseMode.OVERLAY ? NavigationZone.OVERLAY : NavigationZoneName.PRIMARY;\n const moving = ordered.map((entry): NavigationStackEntry => ({ ...entry, zone: heldIn, collapsedFromZone: zone }));\n\n const emptied: NavigationZoneState = { ...zoneState, stack: [], activeTabId: undefined, isVisible: false };\n if (mode === ResponsiveCollapseMode.OVERLAY) {\n return { ...state, overlay: [...state.overlay, ...moving], zones: { ...state.zones, [zone]: emptied } };\n }\n const primary = state.zones[NavigationZoneName.PRIMARY];\n return {\n ...state,\n zones: {\n ...state.zones,\n [zone]: emptied,\n [NavigationZoneName.PRIMARY]: { ...primary, stack: [...primary.stack, ...moving], isVisible: true },\n },\n };\n}\n\n/**\n * The entries of `stack` held on behalf of `zone` that may still go home: those inside the TRAILING\n * run of stamped entries.\n *\n * An entry the reader pushed on top of the borrowed content — an ordinary, unstamped navigation —\n * ends the run. Everything beneath it is then history they walked through, and pulling it out from\n * under the page they are standing on would be a worse surprise than leaving it where it is.\n *\n * Several zones may share one run (both panes collapse at MOBILE together), so the run is filtered\n * by zone rather than required to be homogeneous. That is what makes the order in which zones are\n * restored irrelevant — the defect the event-driven version had.\n */\nfunction returnableEntries(stack: NavigationStackEntry[], zone: NavigationZoneName): NavigationStackEntry[] {\n let runStart = stack.length;\n while (runStart > 0 && stack[runStart - 1]!.collapsedFromZone !== undefined) runStart -= 1;\n return stack.slice(runStart).filter(entry => entry.collapsedFromZone === zone);\n}\n\n/**\n * Return to `zone` everything held for it while it was collapsed. Returns `state` itself when there\n * is nothing to return.\n *\n * Entries go home as the same objects, with `zone` set back and without their `collapsedFromZone`\n * stamp, so `hostedPane`, `persistent`, `ephemeral`, `appearance` and anything added to the entry\n * later all survive. A\n * TABBED zone's active tab becomes the last returned entry — the one primary was showing, i.e. the\n * one the reader was looking at.\n */\nexport function restoreCollapsedZone(\n state: NavigationState,\n zone: NavigationZoneName,\n contentModel: CollapsibleZoneContentModel,\n): NavigationState {\n const primary = state.zones[NavigationZoneName.PRIMARY];\n const fromPrimary = returnableEntries(primary.stack, zone);\n const fromOverlay = returnableEntries(state.overlay, zone);\n if (fromPrimary.length === 0 && fromOverlay.length === 0) return state;\n\n const leaving = new Set([...fromPrimary, ...fromOverlay].map(entry => entry.id));\n const returning = [...fromPrimary, ...fromOverlay].map((entry): NavigationStackEntry => {\n const { collapsedFromZone: _home, ...rest } = entry;\n return { ...rest, zone };\n });\n const zoneState = state.zones[zone];\n const stack = [...zoneState.stack, ...returning];\n\n return {\n ...state,\n overlay: fromOverlay.length > 0 ? state.overlay.filter(entry => !leaving.has(entry.id)) : state.overlay,\n zones: {\n ...state.zones,\n [NavigationZoneName.PRIMARY]: fromPrimary.length > 0\n ? { ...primary, stack: primary.stack.filter(entry => !leaving.has(entry.id)), isVisible: true }\n : primary,\n [zone]: {\n ...zoneState,\n stack,\n isVisible: true,\n activeTabId: contentModel === NavigationZoneContentModel.TABBED ? stack[stack.length - 1]!.id : zoneState.activeTabId,\n },\n },\n };\n}\n\n/** One collapsible zone's situation at this width, as the reconciler sees it. */\nexport interface CollapsibleZoneSituation {\n zone: NavigationZoneName;\n /** `undefined` when the zone is shown; otherwise the declared way it collapses. */\n mode: ResponsiveCollapseMode | undefined;\n contentModel: CollapsibleZoneContentModel;\n}\n\n/**\n * Apply the invariant to every collapsible zone at once: evacuate each collapsed zone, return what\n * is held for each shown one. Identity-preserving — the SAME state object comes back when nothing\n * had to move — so it is safe to run on every render.\n */\nexport function reconcileCollapsedZones(state: NavigationState, situations: CollapsibleZoneSituation[]): NavigationState {\n return situations.reduce(\n (current, { zone, mode, contentModel }) => (mode !== undefined\n ? evacuateCollapsedZone(current, zone, mode, contentModel)\n : restoreCollapsedZone(current, zone, contentModel)),\n state,\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-collapse.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAQV;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAOV"}
1
+ {"version":3,"file":"zone-collapse.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAQV;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAOV"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-collapse.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAIzC;IACC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,MAAM;WAC/D,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,WAAW,CAAC;IACxD,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ;KAC5C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAK5C;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,CAAC,yBAAyB,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KAC1C,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { ViewportBreakpoint } from '@wildo-ai/zod-decorators';\nimport type { NavigationLayout, ZoneConfig } from '@wildo-ai/saas-models';\nimport { NavigationZoneName } from '@wildo-ai/saas-models';\n\nimport { contentAreaFitsSplit } from './split-fit';\n\n/**\n * Is an adjacent zone COLLAPSED right now — too narrow a viewport, or too narrow a content area?\n *\n * ## Why this is one function and not three conditions\n *\n * Three places answer this question, and until 2026-09-25 only one of them answered it completely:\n *\n * | asker | what it decides | what it used to read |\n * |---|---|---|\n * | `navigationPolicyResolver.resolveCollapseMode` | where a CLICK's content lands | viewport + content-area fit — correct |\n * | `NavigationContentAreas` | whether the pane is RENDERED | `isMobile` only |\n * | `NavigationUtils.resolveResourceTargetZone` | where a URL's content lands | nothing — it took no viewport at all |\n *\n * Both gaps produced a silent wrong result:\n *\n * - **The renderer's**: at VERT_TABLET (768–1023px) a declared `responsiveCollapse` retargets every\n * click away from the pane while the pane keeps rendering — so a zone with `onEmpty: EMPTY_STATE`\n * showed its \"select an item\" placeholder permanently, next to a list whose clicks went elsewhere.\n * - **The URL path's**: a depth ≥ 1 resource was routed to SECONDARY regardless of viewport, and the\n * mobile render branch draws PRIMARY and nothing else — so a bookmarked or refreshed nested record\n * on a phone showed its PARENT, silently. The click path was correct the whole time, which is what\n * made it invisible: the same content reached the right place when clicked and the wrong place when\n * linked to. Note the viewport WAS threaded into the adjacent depth-0 branch\n * (`prefersAdjacentZoneForDetail`) and not into this one — one invariant, two sites, one of them\n * done (`.claude/rules/invariant-call-site-enumeration.md`).\n *\n * @param contentAreaWidth `undefined` until the first measurement, which answers \"fits\" — an\n * unmeasured area is not a narrow one. See `contentAreaFitsSplit`.\n */\nexport function zoneIsCollapsedAtViewport(params: {\n zoneConfig: ZoneConfig | undefined;\n viewport: ViewportBreakpoint | undefined;\n contentAreaWidth?: number;\n}): boolean {\n const narrowViewport = params.viewport === ViewportBreakpoint.MOBILE\n || params.viewport === ViewportBreakpoint.VERT_TABLET;\n if (narrowViewport) return true;\n return !contentAreaFitsSplit({\n contentAreaWidth: params.contentAreaWidth,\n paneMinWidthPx: params.zoneConfig?.minWidth,\n });\n}\n\n/**\n * The adjacent zone a URL-restored resource may actually be placed in, or `undefined` when every\n * adjacent zone is collapsed and the content belongs in PRIMARY.\n *\n * The URL path's counterpart to the resolver's collapse handling: same predicate, same inputs, so a\n * deep link and a click cannot disagree about where a record lives at a given width.\n */\nexport function adjacentZoneUsableAtViewport(params: {\n zone: NavigationZoneName;\n layout: NavigationLayout | undefined;\n viewport: ViewportBreakpoint | undefined;\n contentAreaWidth?: number;\n}): boolean {\n if (params.zone === NavigationZoneName.PRIMARY) return true;\n return !zoneIsCollapsedAtViewport({\n zoneConfig: params.layout?.zones?.[params.zone],\n viewport: params.viewport,\n contentAreaWidth: params.contentAreaWidth,\n });\n}\n"]}
1
+ {"version":3,"file":"zone-collapse.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAIzC;IACC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,MAAM;WAC/D,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,WAAW,CAAC;IACxD,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ;KAC5C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAK5C;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,CAAC,yBAAyB,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KAC1C,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { ViewportBreakpoint } from '@wildo-ai/zod-decorators';\nimport type { NavigationLayout, ZoneConfig } from '@wildo-ai/saas-models';\nimport { NavigationZoneName } from '@wildo-ai/saas-models';\n\nimport { contentAreaFitsSplit } from './split-fit';\n\n/**\n * Is an adjacent zone COLLAPSED right now — too narrow a viewport, or too narrow a content area?\n *\n * ## Why this is one function and not three conditions\n *\n * Three places answer this question, and until 2026-09-25 only one of them answered it completely:\n *\n * | asker | what it decides | what it used to read |\n * |---|---|---|\n * | `navigationPolicyResolver.resolveCollapseMode` | where a CLICK's content lands | viewport + content-area fit — correct |\n * | `NavigationContentAreas` | whether the pane is RENDERED | `isMobile` only |\n * | `NavigationUtils.resolveResourceTargetZone` | where a URL's content lands | nothing — it took no viewport at all |\n *\n * Both gaps produced a silent wrong result:\n *\n * - **The renderer's**: at VERT_TABLET (768–1023px) a declared `responsiveCollapse` retargets every\n * click away from the pane while the pane keeps rendering — so a zone with `onEmpty: EMPTY_STATE`\n * showed its \"select an item\" placeholder permanently, next to a list whose clicks went elsewhere.\n * - **The URL path's**: a depth ≥ 1 resource was routed to SECONDARY regardless of viewport, and the\n * mobile render branch draws PRIMARY and nothing else — so a bookmarked or refreshed nested record\n * on a phone showed its PARENT, silently. The click path was correct the whole time, which is what\n * made it invisible: the same content reached the right place when clicked and the wrong place when\n * linked to. Note the viewport WAS threaded into the adjacent depth-0 branch\n * (`prefersAdjacentZoneForDetail`) and not into this one — one invariant, two sites, one of them\n * done (`.claude/rules/invariant-call-site-enumeration.md`).\n *\n * @param contentAreaWidth `undefined` until the first measurement, which answers \"fits\" — an\n * unmeasured area is not a narrow one. See `contentAreaFitsSplit`.\n */\nexport function zoneIsCollapsedAtViewport(params: {\n zoneConfig: ZoneConfig | undefined;\n viewport: ViewportBreakpoint | undefined;\n contentAreaWidth?: number;\n}): boolean {\n const narrowViewport = params.viewport === ViewportBreakpoint.MOBILE\n || params.viewport === ViewportBreakpoint.VERT_TABLET;\n if (narrowViewport) return true;\n return !contentAreaFitsSplit({\n contentAreaWidth: params.contentAreaWidth,\n paneMinWidthPx: params.zoneConfig?.minWidth,\n });\n}\n\n/**\n * The adjacent zone a URL-restored resource may actually be placed in, or `undefined` when every\n * adjacent zone is collapsed and the content belongs in PRIMARY.\n *\n * The URL path's counterpart to the resolver's collapse handling: same predicate, same inputs, so a\n * deep link and a click cannot disagree about where a record lives at a given width.\n */\nexport function adjacentZoneUsableAtViewport(params: {\n zone: NavigationZoneName;\n layout: NavigationLayout | undefined;\n viewport: ViewportBreakpoint | undefined;\n contentAreaWidth?: number;\n}): boolean {\n if (params.zone === NavigationZoneName.PRIMARY) return true;\n return !zoneIsCollapsedAtViewport({\n zoneConfig: params.layout?.zones?.[params.zone],\n viewport: params.viewport,\n contentAreaWidth: params.contentAreaWidth,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-content-geometry.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,iGAAiG;AACjG,eAAO,MAAM,6BAA6B,EAAE,mBAAiE,CAAC;AAE9G;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAMtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,WAAW,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAStB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CAI1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sCAAsC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAExG"}
1
+ {"version":3,"file":"zone-content-geometry.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,iGAAiG;AACjG,eAAO,MAAM,6BAA6B,EAAE,mBAAiE,CAAC;AAE9G;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAMtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,WAAW,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAStB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CAI1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sCAAsC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAExG"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-content-geometry.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAW1F,iGAAiG;AACjG,MAAM,CAAC,MAAM,6BAA6B,GAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAE9G;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAGjD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,QAAQ,EAAE,sBAAsB,IAAI,6BAA6B,CAAC,WAAW;KAC3F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAGlD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC;QAC1D,cAAc,EAAE,MAAM,CAAC,WAAW;QAClC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CACjD,QAA6B,EAC7B,IAA8B;IAE9B,OAAO,QAAQ,CAAC,QAAQ,KAAK,6BAA6B,CAAC,QAAQ;QACjE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sCAAsC,CAAC,QAA6B;IAClF,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["/**\n * Zone content geometry (#176) — how much of a zone a destination's content occupies.\n *\n * ## Two axes, deliberately not one enum\n *\n * This replaced `ZoneContentFill`, a three-member enum — `NONE` / `WIDTH` / `BOTH` — that fused a\n * WIDTH decision and a HEIGHT decision into one value. Three points on a 2×2 grid: `NONE`→`WIDTH`\n * moved the width, `WIDTH`→`BOTH` moved the height, and the fourth cell (a capped width with a\n * definite height) was unrepresentable. Its width half also restated `ResponsiveMaxWidth`, the\n * vocabulary a Surface, a `DisplayLayout` and a `FormLayout` already use — so the same question had\n * two answers with different spellings depending on which level you asked.\n *\n * Splitting them costs one extra field and buys the missing cell, one vocabulary for width across\n * every level, and a height flag that reads as what it is. `design-philosophy.md` says not to merge\n * semantically distinct concepts for convenience; this is that rule applied to something that had\n * already shipped.\n *\n * ## What the boundary is for\n *\n * The boundary caps and centres a zone's content, and its defaults are RIGHT for almost everything a\n * zone hosts: a form, a list or a settings page stretched across a wide monitor is unreadable. What\n * did not exist before #176 was a way to say \"this one is a canvas\" — so the one surface that needed\n * it hand-rolled `h-[70vh]`, sizing against the WINDOW rather than its container and ignoring whatever\n * chrome sat above it.\n *\n * The defaults are preserved rather than inverted: every surface authored before this existed keeps\n * `'content'` and a natural height, and opting out is per-destination and explicit. The alternative\n * door — the application-wide `--content-max-width` variable — is the one that already existed and is\n * the reason the issue was filed: uncapping a graph that way uncaps every form in the application.\n */\n\nimport type { ResponsiveMaxWidth } from '@wildo-ai/presets-components-models';\nimport type { DeepPartialSurfacePolicy } from '@wildo-ai/presets-components-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/** The two independent answers a zone's content boundary needs. */\nexport interface ZoneContentGeometry {\n /** The width cap, in the framework's shared vocabulary. `'content'` is the historical default. */\n maxWidth: ResponsiveMaxWidth;\n /** Whether the boundary becomes a definite-height flex column the content can fill. */\n fillsHeight: boolean;\n}\n\n/** What a destination that declares nothing receives — and what every pre-#176 surface keeps. */\nexport const DEFAULT_ZONE_CONTENT_GEOMETRY: ZoneContentGeometry = { maxWidth: 'content', fillsHeight: false };\n\n/**\n * Read the geometry off whatever occupies PRIMARY, defaulting to {@link DEFAULT_ZONE_CONTENT_GEOMETRY}.\n *\n * Defaults HERE rather than at the declaration sites so there is one answer to \"what does a destination\n * that declares nothing get\", and it is the same answer for a composite view, a resource operation, a\n * content kind that cannot declare, and an empty primary stack.\n */\nexport function resolvePrimaryZoneContentGeometry(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration(params);\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: declared?.zoneContentFillsHeight ?? DEFAULT_ZONE_CONTENT_GEOMETRY.fillsHeight,\n };\n}\n\n/**\n * The geometry for an ADJACENT zone's content.\n *\n * Adjacent zones had no content boundary at all before #176: a detail pane's width was decided by\n * whatever component happened to be rendered in it, so the workbench's artifact detail capped itself\n * and centred — an application solving, locally and invisibly, a question the engine had not answered.\n * The answer is the one primary already gets: cap at the page-content width and fill anything narrower.\n * A detail pane is usually narrower than that cap, so in practice the content fills the pane, which is\n * what \"full width, up to a maximum\" describes without the pane having to know its own size.\n *\n * `fillsHeight` is forced FALSE here, whatever the destination declared. Filling the height requires a\n * definite-height ancestor chain and an adjacent zone SCROLLS — it is the one place where a filling\n * child and a scrolling parent contradict each other. A canvas belongs in primary.\n */\nexport function resolveAdjacentZoneContentGeometry(params: {\n zoneContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration({\n primaryContent: params.zoneContent,\n compositeViews: params.compositeViews,\n });\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: false,\n };\n}\n\n/**\n * The boundary's surface policy for a given geometry.\n *\n * The width rides the policy because that is the framework's declared channel for it — the same field\n * a Surface anywhere else sets, so the boundary announces its tier in the DOM like every other cap.\n */\nexport function zoneContentGeometryToPolicyOverride(\n geometry: ZoneContentGeometry,\n base: DeepPartialSurfacePolicy,\n): DeepPartialSurfacePolicy {\n return geometry.maxWidth === DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth\n ? base\n : { ...base, geometry: { responsiveMaxWidth: geometry.maxWidth } };\n}\n\n/**\n * Extra classes the boundary element needs so filling content can actually fill.\n *\n * This is the half a surface policy cannot express. Filling the HEIGHT is not a property of the\n * boundary's own box — it is a property of the CHAIN: the boundary must become a definite-height flex\n * column so that the view's root, as its flex item, has something for `flex-1 min-h-0` to resolve\n * against. `h-full` alone is not enough (an auto-height parent gives a percentage height nothing to\n * measure), which is precisely why the previous state forced viewport fractions.\n *\n * `min-h-0` is what lets the column shrink rather than overflow its zone; without it a tall child\n * pushes the boundary past the content area and the zone's own scroll never engages.\n */\nexport function zoneContentGeometryToBoundaryClassName(geometry: ZoneContentGeometry): string | undefined {\n return geometry.fillsHeight ? 'flex h-full min-h-0 flex-col' : undefined;\n}\n"]}
1
+ {"version":3,"file":"zone-content-geometry.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAW1F,iGAAiG;AACjG,MAAM,CAAC,MAAM,6BAA6B,GAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAE9G;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAGjD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,QAAQ,EAAE,sBAAsB,IAAI,6BAA6B,CAAC,WAAW;KAC3F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAGlD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC;QAC1D,cAAc,EAAE,MAAM,CAAC,WAAW;QAClC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CACjD,QAA6B,EAC7B,IAA8B;IAE9B,OAAO,QAAQ,CAAC,QAAQ,KAAK,6BAA6B,CAAC,QAAQ;QACjE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sCAAsC,CAAC,QAA6B;IAClF,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["/**\n * Zone content geometry (#176) — how much of a zone a destination's content occupies.\n *\n * ## Two axes, deliberately not one enum\n *\n * This replaced `ZoneContentFill`, a three-member enum — `NONE` / `WIDTH` / `BOTH` — that fused a\n * WIDTH decision and a HEIGHT decision into one value. Three points on a 2×2 grid: `NONE`→`WIDTH`\n * moved the width, `WIDTH`→`BOTH` moved the height, and the fourth cell (a capped width with a\n * definite height) was unrepresentable. Its width half also restated `ResponsiveMaxWidth`, the\n * vocabulary a Surface, a `DisplayLayout` and a `FormLayout` already use — so the same question had\n * two answers with different spellings depending on which level you asked.\n *\n * Splitting them costs one extra field and buys the missing cell, one vocabulary for width across\n * every level, and a height flag that reads as what it is. `design-philosophy.md` says not to merge\n * semantically distinct concepts for convenience; this is that rule applied to something that had\n * already shipped.\n *\n * ## What the boundary is for\n *\n * The boundary caps and centres a zone's content, and its defaults are RIGHT for almost everything a\n * zone hosts: a form, a list or a settings page stretched across a wide monitor is unreadable. What\n * did not exist before #176 was a way to say \"this one is a canvas\" — so the one surface that needed\n * it hand-rolled `h-[70vh]`, sizing against the WINDOW rather than its container and ignoring whatever\n * chrome sat above it.\n *\n * The defaults are preserved rather than inverted: every surface authored before this existed keeps\n * `'content'` and a natural height, and opting out is per-destination and explicit. The alternative\n * door — the application-wide `--content-max-width` variable — is the one that already existed and is\n * the reason the issue was filed: uncapping a graph that way uncaps every form in the application.\n */\n\nimport type { ResponsiveMaxWidth } from '@wildo-ai/presets-components-models';\nimport type { DeepPartialSurfacePolicy } from '@wildo-ai/presets-components-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/** The two independent answers a zone's content boundary needs. */\nexport interface ZoneContentGeometry {\n /** The width cap, in the framework's shared vocabulary. `'content'` is the historical default. */\n maxWidth: ResponsiveMaxWidth;\n /** Whether the boundary becomes a definite-height flex column the content can fill. */\n fillsHeight: boolean;\n}\n\n/** What a destination that declares nothing receives — and what every pre-#176 surface keeps. */\nexport const DEFAULT_ZONE_CONTENT_GEOMETRY: ZoneContentGeometry = { maxWidth: 'content', fillsHeight: false };\n\n/**\n * Read the geometry off whatever occupies PRIMARY, defaulting to {@link DEFAULT_ZONE_CONTENT_GEOMETRY}.\n *\n * Defaults HERE rather than at the declaration sites so there is one answer to \"what does a destination\n * that declares nothing get\", and it is the same answer for a composite view, a resource operation, a\n * content kind that cannot declare, and an empty primary stack.\n */\nexport function resolvePrimaryZoneContentGeometry(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration(params);\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: declared?.zoneContentFillsHeight ?? DEFAULT_ZONE_CONTENT_GEOMETRY.fillsHeight,\n };\n}\n\n/**\n * The geometry for an ADJACENT zone's content.\n *\n * Adjacent zones had no content boundary at all before #176: a detail pane's width was decided by\n * whatever component happened to be rendered in it, so the workbench's artifact detail capped itself\n * and centred — an application solving, locally and invisibly, a question the engine had not answered.\n * The answer is the one primary already gets: cap at the page-content width and fill anything narrower.\n * A detail pane is usually narrower than that cap, so in practice the content fills the pane, which is\n * what \"full width, up to a maximum\" describes without the pane having to know its own size.\n *\n * `fillsHeight` is forced FALSE here, whatever the destination declared. Filling the height requires a\n * definite-height ancestor chain and an adjacent zone SCROLLS — it is the one place where a filling\n * child and a scrolling parent contradict each other. A canvas belongs in primary.\n */\nexport function resolveAdjacentZoneContentGeometry(params: {\n zoneContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration({\n primaryContent: params.zoneContent,\n compositeViews: params.compositeViews,\n });\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: false,\n };\n}\n\n/**\n * The boundary's surface policy for a given geometry.\n *\n * The width rides the policy because that is the framework's declared channel for it — the same field\n * a Surface anywhere else sets, so the boundary announces its tier in the DOM like every other cap.\n */\nexport function zoneContentGeometryToPolicyOverride(\n geometry: ZoneContentGeometry,\n base: DeepPartialSurfacePolicy,\n): DeepPartialSurfacePolicy {\n return geometry.maxWidth === DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth\n ? base\n : { ...base, geometry: { responsiveMaxWidth: geometry.maxWidth } };\n}\n\n/**\n * Extra classes the boundary element needs so filling content can actually fill.\n *\n * This is the half a surface policy cannot express. Filling the HEIGHT is not a property of the\n * boundary's own box — it is a property of the CHAIN: the boundary must become a definite-height flex\n * column so that the view's root, as its flex item, has something for `flex-1 min-h-0` to resolve\n * against. `h-full` alone is not enough (an auto-height parent gives a percentage height nothing to\n * measure), which is precisely why the previous state forced viewport fractions.\n *\n * `min-h-0` is what lets the column shrink rather than overflow its zone; without it a tall child\n * pushes the boundary past the content area and the zone's own scroll never engages.\n */\nexport function zoneContentGeometryToBoundaryClassName(geometry: ZoneContentGeometry): string | undefined {\n return geometry.fillsHeight ? 'flex h-full min-h-0 flex-col' : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-emphasis.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-emphasis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,GAAG,IAAI,CASrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAOV"}
1
+ {"version":3,"file":"zone-emphasis.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-emphasis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,GAAG,IAAI,CASrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAOV"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-emphasis.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-emphasis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAQrC;IACC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,CAAC;AACnE,CAAC","sourcesContent":["import { NavigationZoneName } from '@wildo-ai/saas-models';\n\n/**\n * The zone that actually takes the whole content area this render, given what the reader asked for\n * and what the layout can currently show.\n *\n * Pure, so the rule is pinned without a provider stack. The reader's request\n * (`NavigationContextType.emphasizedZone`) is a wish; this is the decision, and it yields the area\n * back in every case where honouring the wish would hide the page:\n *\n * - on MOBILE there is one zone already, so emphasis means nothing;\n * - a zone with NOTHING IN IT cannot be emphasized — an empty full-width pane over a hidden list is\n * the blank screen the request was never about;\n * - PRIMARY is never emphasized: it has the whole area whenever nothing is beside it, and hiding the\n * adjacent zones to \"emphasize\" primary would be the same as closing them, which is a navigation\n * act with its own verbs.\n *\n * The request itself is left standing when it is not honoured. A reader who expanded a pane, lost it\n * to a responsive collapse and got it back should find it expanded again; clearing the request on\n * every non-honouring render would make emphasis flicker off under them.\n */\n/*\n * ─── AN EMPTY ZONE IS NEVER EMPHASIZED, and that closes two ways of hiding the whole page ────────\n *\n * Emphasis hides every other structural zone, PRIMARY included (`primaryHidden = emphasized !== null`).\n * Until 2026-09-25 it was released only when the requested zone was not SHOWN — and a zone whose\n * `onEmpty` resolves to `EMPTY_STATE` is shown WHILE EMPTY, by construction.\n *\n * 1. **The pane empties while emphasized.** Navigate primary, let the dependency cleanup clear the\n * pane, or pop its last entry: the zone keeps its width, keeps being shown, keeps being\n * emphasized — and the entire content area becomes the pane's empty-state placeholder with the\n * page behind it `display: none`. An `EMPTY_STATE` zone is deliberately NOT dismissable\n * (`zoneIsDismissable`), so the only ways out were Escape and the emphasis toggle.\n * 2. **The reader navigates the app.** Nothing cleared emphasis on navigation, so a sidebar click\n * mounted the new destination in a hidden PRIMARY. This rule covers that case too rather than\n * needing its own: an app-level navigation is a clean break, the clean break clears the adjacent\n * zones, and a cleared zone now releases emphasis.\n *\n * \"Shown\" and \"holds something\" are different questions, and emphasis needs both. Asking only the\n * first is what made an empty pane able to take the whole window.\n */\nexport function resolveEmphasizedZone(input: {\n requested: NavigationZoneName | null;\n isMobile: boolean;\n secondaryShown: boolean;\n companionShown: boolean;\n /** Does the zone actually HOLD something? See the emptiness rule below. */\n secondaryHasContent: boolean;\n companionHasContent: boolean;\n}): NavigationZoneName.SECONDARY | NavigationZoneName.COMPANION | null {\n if (input.requested === null || input.isMobile) return null;\n if (input.requested === NavigationZoneName.SECONDARY) {\n return input.secondaryShown && input.secondaryHasContent ? NavigationZoneName.SECONDARY : null;\n }\n if (input.requested === NavigationZoneName.COMPANION) {\n return input.companionShown && input.companionHasContent ? NavigationZoneName.COMPANION : null;\n }\n return null;\n}\n\n/**\n * Whether a keyboard Escape should restore the split.\n *\n * Escape is the universal \"leave this mode\" key and it is also what every text control, menu and\n * dialog listens for. Emphasis yields to all of them: a key pressed inside an editable control is\n * that control's, and a key pressed while an overlay is open belongs to the overlay (the overlay\n * layer sits above the content areas and has its own dismissal). What is left — Escape on the page\n * itself while a pane is emphasized — restores the split.\n */\nexport function escapeRestoresEmphasis(input: {\n key: string;\n emphasized: boolean;\n overlayOpen: boolean;\n target: EventTarget | null;\n}): boolean {\n if (input.key !== 'Escape' || !input.emphasized || input.overlayOpen) return false;\n const element = input.target instanceof HTMLElement ? input.target : null;\n if (element === null) return true;\n if (element.isContentEditable) return false;\n const tag = element.tagName;\n return tag !== 'INPUT' && tag !== 'TEXTAREA' && tag !== 'SELECT';\n}\n"]}
1
+ {"version":3,"file":"zone-emphasis.js","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-emphasis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAQrC;IACC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,CAAC;AACnE,CAAC","sourcesContent":["import { NavigationZoneName } from '@wildo-ai/saas-models';\n\n/**\n * The zone that actually takes the whole content area this render, given what the reader asked for\n * and what the layout can currently show.\n *\n * Pure, so the rule is pinned without a provider stack. The reader's request\n * (`NavigationContextType.emphasizedZone`) is a wish; this is the decision, and it yields the area\n * back in every case where honouring the wish would hide the page:\n *\n * - on MOBILE there is one zone already, so emphasis means nothing;\n * - a zone with NOTHING IN IT cannot be emphasized — an empty full-width pane over a hidden list is\n * the blank screen the request was never about;\n * - PRIMARY is never emphasized: it has the whole area whenever nothing is beside it, and hiding the\n * adjacent zones to \"emphasize\" primary would be the same as closing them, which is a navigation\n * act with its own verbs.\n *\n * The request itself is left standing when it is not honoured. A reader who expanded a pane, lost it\n * to a responsive collapse and got it back should find it expanded again; clearing the request on\n * every non-honouring render would make emphasis flicker off under them.\n */\n/*\n * ─── AN EMPTY ZONE IS NEVER EMPHASIZED, and that closes two ways of hiding the whole page ────────\n *\n * Emphasis hides every other structural zone, PRIMARY included (`primaryHidden = emphasized !== null`).\n * Until 2026-09-25 it was released only when the requested zone was not SHOWN — and a zone whose\n * `onEmpty` resolves to `EMPTY_STATE` is shown WHILE EMPTY, by construction.\n *\n * 1. **The pane empties while emphasized.** Navigate primary, let the dependency cleanup clear the\n * pane, or pop its last entry: the zone keeps its width, keeps being shown, keeps being\n * emphasized — and the entire content area becomes the pane's empty-state placeholder with the\n * page behind it `display: none`. An `EMPTY_STATE` zone is deliberately NOT dismissable\n * (`zoneIsDismissable`), so the only ways out were Escape and the emphasis toggle.\n * 2. **The reader navigates the app.** Nothing cleared emphasis on navigation, so a sidebar click\n * mounted the new destination in a hidden PRIMARY. This rule covers that case too rather than\n * needing its own: an app-level navigation is a clean break, the clean break clears the adjacent\n * zones, and a cleared zone now releases emphasis.\n *\n * \"Shown\" and \"holds something\" are different questions, and emphasis needs both. Asking only the\n * first is what made an empty pane able to take the whole window.\n */\nexport function resolveEmphasizedZone(input: {\n requested: NavigationZoneName | null;\n isMobile: boolean;\n secondaryShown: boolean;\n companionShown: boolean;\n /** Does the zone actually HOLD something? See the emptiness rule below. */\n secondaryHasContent: boolean;\n companionHasContent: boolean;\n}): NavigationZoneName.SECONDARY | NavigationZoneName.COMPANION | null {\n if (input.requested === null || input.isMobile) return null;\n if (input.requested === NavigationZoneName.SECONDARY) {\n return input.secondaryShown && input.secondaryHasContent ? NavigationZoneName.SECONDARY : null;\n }\n if (input.requested === NavigationZoneName.COMPANION) {\n return input.companionShown && input.companionHasContent ? NavigationZoneName.COMPANION : null;\n }\n return null;\n}\n\n/**\n * Whether a keyboard Escape should restore the split.\n *\n * Escape is the universal \"leave this mode\" key and it is also what every text control, menu and\n * dialog listens for. Emphasis yields to all of them: a key pressed inside an editable control is\n * that control's, and a key pressed while an overlay is open belongs to the overlay (the overlay\n * layer sits above the content areas and has its own dismissal). What is left — Escape on the page\n * itself while a pane is emphasized — restores the split.\n */\nexport function escapeRestoresEmphasis(input: {\n key: string;\n emphasized: boolean;\n overlayOpen: boolean;\n target: EventTarget | null;\n}): boolean {\n if (input.key !== 'Escape' || !input.emphasized || input.overlayOpen) return false;\n const element = input.target instanceof HTMLElement ? input.target : null;\n if (element === null) return true;\n if (element.isContentEditable) return false;\n const tag = element.tagName;\n return tag !== 'INPUT' && tag !== 'TEXTAREA' && tag !== 'SELECT';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zone-empty-behavior.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,mGAAmG;IACnG,IAAI,EAAE,kBAAkB,CAAC;IACzB,4FAA4F;IAC5F,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACpB,EAAE,uBAAuB,GAAG,iBAAiB,CAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAE/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAAG,OAAO,CAEvG;AAED;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,iBAAiB,GAAG,SAAS,CAEhC"}
1
+ {"version":3,"file":"zone-empty-behavior.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,mGAAmG;IACnG,IAAI,EAAE,kBAAkB,CAAC;IACzB,4FAA4F;IAC5F,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACpB,EAAE,uBAAuB,GAAG,iBAAiB,CAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAE/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAAG,OAAO,CAEvG;AAED;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,iBAAiB,GAAG,SAAS,CAEhC"}
@@ -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;;;;;;;;;;;;;;;;;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
+ {"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;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAChC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAIR"}
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;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAChC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAIR"}
@@ -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;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAgC,EAChC,WAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,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\n/**\n * Which entry a zone MUTATION acts on — the reducer's counterpart to {@link resolveVisibleEntryIndex}.\n *\n * ## Why it does not take the content model\n *\n * `resolveVisibleEntryIndex` is the renderer's answer and reads `contentModel` off the LAYOUT. The\n * reducer has no layout, so it reads the one thing that is only ever written for a TABBED zone:\n * `NavigationZoneState.activeTabId`. Absent, the acted-on entry is the top of the stack, which is\n * the SINGLE contract exactly.\n *\n * ## Why it is a function and not two inline copies\n *\n * It was two, briefly, on 2026-09-25 — one in `replaceEntry` and one in `popEntry` — added in the\n * change that deleted `useIsStackEntryActive` for being a third answer to the same question. Two\n * copies with a rule of their own is the thing that change existed to remove, so they became this.\n *\n * A stale `activeTabId` matching no entry falls back to the top rather than dropping the write: a\n * tab closed from under an id must not make the zone unwritable.\n */\nexport function zoneMutationTargetIndex(\n stack: readonly { id: string }[],\n activeTabId: string | undefined,\n): number {\n if (stack.length === 0) return -1;\n const activeIndex = activeTabId !== undefined ? stack.findIndex(entry => entry.id === activeTabId) : -1;\n return activeIndex >= 0 ? activeIndex : stack.length - 1;\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;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAgC,EAChC,WAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,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\n/**\n * Which entry a zone MUTATION acts on — the reducer's counterpart to {@link resolveVisibleEntryIndex}.\n *\n * ## Why it does not take the content model\n *\n * `resolveVisibleEntryIndex` is the renderer's answer and reads `contentModel` off the LAYOUT. The\n * reducer has no layout, so it reads the one thing that is only ever written for a TABBED zone:\n * `NavigationZoneState.activeTabId`. Absent, the acted-on entry is the top of the stack, which is\n * the SINGLE contract exactly.\n *\n * ## Why it is a function and not two inline copies\n *\n * It was two, briefly, on 2026-09-25 — one in `replaceEntry` and one in `popEntry` — added in the\n * change that deleted `useIsStackEntryActive` for being a third answer to the same question. Two\n * copies with a rule of their own is the thing that change existed to remove, so they became this.\n *\n * A stale `activeTabId` matching no entry falls back to the top rather than dropping the write: a\n * tab closed from under an id must not make the zone unwritable.\n */\nexport function zoneMutationTargetIndex(\n stack: readonly { id: string }[],\n activeTabId: string | undefined,\n): number {\n if (stack.length === 0) return -1;\n const activeIndex = activeTabId !== undefined ? stack.findIndex(entry => entry.id === activeTabId) : -1;\n return activeIndex >= 0 ? activeIndex : stack.length - 1;\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"}