@vertesia/ui 1.5.0 → 1.6.0-dev.20260918.061604Z

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 (336) hide show
  1. package/README.md +125 -0
  2. package/lib/boot/branding.d.ts +58 -0
  3. package/lib/boot/branding.d.ts.map +1 -0
  4. package/lib/boot/branding.js +62 -0
  5. package/lib/boot/branding.js.map +1 -0
  6. package/lib/boot/index.d.ts +27 -0
  7. package/lib/boot/index.d.ts.map +1 -0
  8. package/lib/boot/index.js +325 -0
  9. package/lib/boot/index.js.map +1 -0
  10. package/lib/boot/vite.d.ts +63 -0
  11. package/lib/boot/vite.d.ts.map +1 -0
  12. package/lib/boot/vite.js +108 -0
  13. package/lib/boot/vite.js.map +1 -0
  14. package/lib/core/components/shadcn/button.d.ts.map +1 -1
  15. package/lib/core/components/shadcn/button.js +1 -2
  16. package/lib/core/components/shadcn/button.js.map +1 -1
  17. package/lib/core/components/shadcn/filters/filter-styles.d.ts +1 -1
  18. package/lib/core/components/shadcn/filters/filter-styles.d.ts.map +1 -1
  19. package/lib/core/components/shadcn/filters/filter-styles.js +4 -4
  20. package/lib/core/components/shadcn/label.js +1 -1
  21. package/lib/core/components/shadcn/label.js.map +1 -1
  22. package/lib/env/index.d.ts +32 -1
  23. package/lib/env/index.d.ts.map +1 -1
  24. package/lib/env/index.js +55 -3
  25. package/lib/env/index.js.map +1 -1
  26. package/lib/features/agent/PayloadBuilder.d.ts +4 -0
  27. package/lib/features/agent/PayloadBuilder.d.ts.map +1 -1
  28. package/lib/features/agent/PayloadBuilder.js +6 -1
  29. package/lib/features/agent/PayloadBuilder.js.map +1 -1
  30. package/lib/features/agent/chat/AgentRunFeedback.d.ts +66 -0
  31. package/lib/features/agent/chat/AgentRunFeedback.d.ts.map +1 -0
  32. package/lib/features/agent/chat/AgentRunFeedback.js +298 -0
  33. package/lib/features/agent/chat/AgentRunFeedback.js.map +1 -0
  34. package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  35. package/lib/features/agent/chat/ModernAgentConversation.js +7 -5
  36. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  37. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  38. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  39. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +11 -10
  40. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  41. package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  42. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  43. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
  44. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  45. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +28 -7
  46. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  47. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
  48. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +2 -0
  49. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
  50. package/lib/features/agent/chat/hooks/useAgentPlans.d.ts +1 -1
  51. package/lib/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  52. package/lib/features/agent/chat/hooks/useAgentPlans.js +5 -5
  53. package/lib/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  54. package/lib/features/agent/chat/index.d.ts +1 -0
  55. package/lib/features/agent/chat/index.d.ts.map +1 -1
  56. package/lib/features/agent/chat/index.js +1 -0
  57. package/lib/features/agent/chat/index.js.map +1 -1
  58. package/lib/features/facets/AgentRunnerFacetsNav.d.ts +8 -0
  59. package/lib/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  60. package/lib/features/facets/AgentRunnerFacetsNav.js +12 -0
  61. package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  62. package/lib/features/permissions/UserPermissionsProvider.d.ts +15 -1
  63. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  64. package/lib/features/permissions/UserPermissionsProvider.js +20 -12
  65. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  66. package/lib/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  67. package/lib/features/store/objects/search/DocumentSearchContext.js +6 -1
  68. package/lib/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  69. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  70. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  71. package/lib/features/store/types/TypeRegistry.d.ts +130 -0
  72. package/lib/features/store/types/TypeRegistry.d.ts.map +1 -1
  73. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts +130 -0
  74. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts.map +1 -1
  75. package/lib/i18n/index.d.ts +5 -4
  76. package/lib/i18n/index.d.ts.map +1 -1
  77. package/lib/i18n/index.js +16 -2
  78. package/lib/i18n/index.js.map +1 -1
  79. package/lib/i18n/locales/ar.json +30 -0
  80. package/lib/i18n/locales/de.json +30 -0
  81. package/lib/i18n/locales/en.json +30 -0
  82. package/lib/i18n/locales/es.json +30 -0
  83. package/lib/i18n/locales/fr.json +30 -0
  84. package/lib/i18n/locales/it.json +30 -0
  85. package/lib/i18n/locales/ja.json +30 -0
  86. package/lib/i18n/locales/ko.json +30 -0
  87. package/lib/i18n/locales/pt.json +30 -0
  88. package/lib/i18n/locales/ru.json +30 -0
  89. package/lib/i18n/locales/tr.json +30 -0
  90. package/lib/i18n/locales/zh-TW.json +30 -0
  91. package/lib/i18n/locales/zh.json +30 -0
  92. package/lib/layout/ErrorPage.js +1 -1
  93. package/lib/layout/ErrorPage.js.map +1 -1
  94. package/lib/layout/Navbar.d.ts.map +1 -1
  95. package/lib/layout/Navbar.js +3 -2
  96. package/lib/layout/Navbar.js.map +1 -1
  97. package/lib/session/UserSession.d.ts.map +1 -1
  98. package/lib/session/UserSession.js +2 -3
  99. package/lib/session/UserSession.js.map +1 -1
  100. package/lib/session/UserSessionProvider.d.ts +2 -1
  101. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  102. package/lib/session/UserSessionProvider.js +13 -4
  103. package/lib/session/UserSessionProvider.js.map +1 -1
  104. package/lib/session/auth/composable.d.ts.map +1 -1
  105. package/lib/session/auth/composable.js +88 -3
  106. package/lib/session/auth/composable.js.map +1 -1
  107. package/lib/session/auth/domainRouting.d.ts +22 -12
  108. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  109. package/lib/session/auth/domainRouting.js +35 -21
  110. package/lib/session/auth/domainRouting.js.map +1 -1
  111. package/lib/session/auth/firebase.d.ts.map +1 -1
  112. package/lib/session/auth/firebase.js +10 -0
  113. package/lib/session/auth/firebase.js.map +1 -1
  114. package/lib/session/auth/useAuthState.d.ts +9 -4
  115. package/lib/session/auth/useAuthState.d.ts.map +1 -1
  116. package/lib/session/auth/useAuthState.js +9 -4
  117. package/lib/session/auth/useAuthState.js.map +1 -1
  118. package/lib/session/index.d.ts.map +1 -1
  119. package/lib/session/index.js +3 -1
  120. package/lib/session/index.js.map +1 -1
  121. package/lib/shell/AuthScreenPreview.d.ts +12 -0
  122. package/lib/shell/AuthScreenPreview.d.ts.map +1 -0
  123. package/lib/shell/AuthScreenPreview.js +140 -0
  124. package/lib/shell/AuthScreenPreview.js.map +1 -0
  125. package/lib/shell/BrandedAuthScreens.d.ts +19 -0
  126. package/lib/shell/BrandedAuthScreens.d.ts.map +1 -0
  127. package/lib/shell/BrandedAuthScreens.js +64 -0
  128. package/lib/shell/BrandedAuthScreens.js.map +1 -0
  129. package/lib/shell/SplashScreen.d.ts +13 -2
  130. package/lib/shell/SplashScreen.d.ts.map +1 -1
  131. package/lib/shell/SplashScreen.js +20 -19
  132. package/lib/shell/SplashScreen.js.map +1 -1
  133. package/lib/shell/VertesiaShell.d.ts +15 -4
  134. package/lib/shell/VertesiaShell.d.ts.map +1 -1
  135. package/lib/shell/VertesiaShell.js +8 -3
  136. package/lib/shell/VertesiaShell.js.map +1 -1
  137. package/lib/shell/apps/StandaloneApp.js +5 -1
  138. package/lib/shell/apps/StandaloneApp.js.map +1 -1
  139. package/lib/shell/index.d.ts +6 -0
  140. package/lib/shell/index.d.ts.map +1 -1
  141. package/lib/shell/index.js +5 -0
  142. package/lib/shell/index.js.map +1 -1
  143. package/lib/shell/login/SignInAuthPending.js +1 -1
  144. package/lib/shell/login/SignInAuthPending.js.map +1 -1
  145. package/lib/shell/login/SignInEmailStep.d.ts.map +1 -1
  146. package/lib/shell/login/SignInEmailStep.js +2 -2
  147. package/lib/shell/login/SignInEmailStep.js.map +1 -1
  148. package/lib/shell/login/SignInFlow.d.ts +68 -0
  149. package/lib/shell/login/SignInFlow.d.ts.map +1 -0
  150. package/lib/shell/login/SignInFlow.js +108 -0
  151. package/lib/shell/login/SignInFlow.js.map +1 -0
  152. package/lib/shell/login/SignInIcons.d.ts +1 -1
  153. package/lib/shell/login/SignInIcons.d.ts.map +1 -1
  154. package/lib/shell/login/SignInPageShell.d.ts +13 -0
  155. package/lib/shell/login/SignInPageShell.d.ts.map +1 -0
  156. package/lib/shell/login/SignInPageShell.js +14 -0
  157. package/lib/shell/login/SignInPageShell.js.map +1 -0
  158. package/lib/shell/login/SignInPrimitives.d.ts +3 -3
  159. package/lib/shell/login/SignInPrimitives.d.ts.map +1 -1
  160. package/lib/shell/login/SignInPrimitives.js +13 -11
  161. package/lib/shell/login/SignInPrimitives.js.map +1 -1
  162. package/lib/shell/login/SignInRestrictedEnvStep.d.ts +5 -0
  163. package/lib/shell/login/SignInRestrictedEnvStep.d.ts.map +1 -1
  164. package/lib/shell/login/SignInRestrictedEnvStep.js +8 -4
  165. package/lib/shell/login/SignInRestrictedEnvStep.js.map +1 -1
  166. package/lib/shell/login/SigninScreen.d.ts +38 -3
  167. package/lib/shell/login/SigninScreen.d.ts.map +1 -1
  168. package/lib/shell/login/SigninScreen.js +33 -86
  169. package/lib/shell/login/SigninScreen.js.map +1 -1
  170. package/lib/shell/login/SignupForm.d.ts +3 -1
  171. package/lib/shell/login/SignupForm.d.ts.map +1 -1
  172. package/lib/shell/login/SignupForm.js +7 -3
  173. package/lib/shell/login/SignupForm.js.map +1 -1
  174. package/lib/shell/login/signInUtils.d.ts +12 -1
  175. package/lib/shell/login/signInUtils.d.ts.map +1 -1
  176. package/lib/shell/login/signInUtils.js +34 -11
  177. package/lib/shell/login/signInUtils.js.map +1 -1
  178. package/lib/vertesia-ui-boot.js +237 -0
  179. package/lib/vertesia-ui-boot.js.map +1 -0
  180. package/lib/vertesia-ui-core.js +88 -46
  181. package/lib/vertesia-ui-core.js.map +1 -1
  182. package/lib/vertesia-ui-env.js +1 -1
  183. package/lib/vertesia-ui-env.js.map +1 -1
  184. package/lib/vertesia-ui-features.js +350 -317
  185. package/lib/vertesia-ui-features.js.map +1 -1
  186. package/lib/vertesia-ui-i18n.B3NFclwl.chunk.js +5 -0
  187. package/lib/vertesia-ui-i18n.B3NFclwl.chunk.js.map +1 -0
  188. package/lib/vertesia-ui-i18n.BWSrNIxc.chunk.js +5 -0
  189. package/lib/vertesia-ui-i18n.BWSrNIxc.chunk.js.map +1 -0
  190. package/lib/vertesia-ui-i18n.BWvWeB1p.chunk.js +5 -0
  191. package/lib/vertesia-ui-i18n.BWvWeB1p.chunk.js.map +1 -0
  192. package/lib/vertesia-ui-i18n.BZCXvTC1.chunk.js +5 -0
  193. package/lib/vertesia-ui-i18n.BZCXvTC1.chunk.js.map +1 -0
  194. package/lib/vertesia-ui-i18n.BbJMvFZW.chunk.js +5 -0
  195. package/lib/vertesia-ui-i18n.BbJMvFZW.chunk.js.map +1 -0
  196. package/lib/vertesia-ui-i18n.CE5ldwpt.chunk.js +5 -0
  197. package/lib/vertesia-ui-i18n.CE5ldwpt.chunk.js.map +1 -0
  198. package/lib/vertesia-ui-i18n.CMC0IShY.chunk.js +5 -0
  199. package/lib/vertesia-ui-i18n.CMC0IShY.chunk.js.map +1 -0
  200. package/lib/vertesia-ui-i18n.CkcRqBKU.chunk.js +5 -0
  201. package/lib/vertesia-ui-i18n.CkcRqBKU.chunk.js.map +1 -0
  202. package/lib/vertesia-ui-i18n.D-Mq1sw_.chunk.js +5 -0
  203. package/lib/vertesia-ui-i18n.D-Mq1sw_.chunk.js.map +1 -0
  204. package/lib/vertesia-ui-i18n.DkK68-A-.chunk.js +5 -0
  205. package/lib/vertesia-ui-i18n.DkK68-A-.chunk.js.map +1 -0
  206. package/lib/vertesia-ui-i18n.XE_dcCg6.chunk.js +5 -0
  207. package/lib/vertesia-ui-i18n.XE_dcCg6.chunk.js.map +1 -0
  208. package/lib/vertesia-ui-i18n.js +2 -2
  209. package/lib/vertesia-ui-i18n.js.map +1 -1
  210. package/lib/vertesia-ui-i18n.qgNqMPvK.chunk.js +5 -0
  211. package/lib/vertesia-ui-i18n.qgNqMPvK.chunk.js.map +1 -0
  212. package/lib/vertesia-ui-layout.js +43 -19
  213. package/lib/vertesia-ui-layout.js.map +1 -1
  214. package/lib/vertesia-ui-rich-text.js +123 -74
  215. package/lib/vertesia-ui-rich-text.js.map +1 -1
  216. package/lib/vertesia-ui-router.js.map +1 -1
  217. package/lib/vertesia-ui-session.js +1 -1
  218. package/lib/vertesia-ui-session.js.map +1 -1
  219. package/lib/vertesia-ui-shell.js +87 -33
  220. package/lib/vertesia-ui-shell.js.map +1 -1
  221. package/lib/vertesia-ui-widgets.js +154 -98
  222. package/lib/vertesia-ui-widgets.js.map +1 -1
  223. package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
  224. package/llms.txt +6 -2
  225. package/package.json +45 -36
  226. package/src/__tests__/a11y.test.tsx +25 -0
  227. package/src/__tests__/theme.test.ts +91 -0
  228. package/src/boot/branding.test.ts +72 -0
  229. package/src/boot/branding.ts +108 -0
  230. package/src/boot/index.test.ts +216 -0
  231. package/src/boot/index.ts +356 -0
  232. package/src/boot/vite.test.ts +93 -0
  233. package/src/boot/vite.ts +118 -0
  234. package/src/core/components/shadcn/button.tsx +1 -2
  235. package/src/core/components/shadcn/filters/filter-styles.ts +4 -4
  236. package/src/core/components/shadcn/label.tsx +1 -1
  237. package/src/env/index.test.ts +127 -0
  238. package/src/env/index.ts +73 -3
  239. package/src/features/agent/PayloadBuilder.tsx +10 -1
  240. package/src/features/agent/chat/AgentRunFeedback.test.tsx +347 -0
  241. package/src/features/agent/chat/AgentRunFeedback.tsx +465 -0
  242. package/src/features/agent/chat/ModernAgentConversation.test.tsx +1 -1
  243. package/src/features/agent/chat/ModernAgentConversation.tsx +52 -47
  244. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +145 -0
  245. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +42 -24
  246. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +4 -0
  247. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +38 -5
  248. package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +2 -0
  249. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +14 -0
  250. package/src/features/agent/chat/hooks/useAgentPlans.test.ts +52 -0
  251. package/src/features/agent/chat/hooks/useAgentPlans.ts +5 -5
  252. package/src/features/agent/chat/hooks/useFileProcessing.test.tsx +0 -5
  253. package/src/features/agent/chat/index.ts +6 -0
  254. package/src/features/facets/AgentRunnerFacetsNav.tsx +26 -0
  255. package/src/features/permissions/UserPermissionsProvider.test.tsx +50 -1
  256. package/src/features/permissions/UserPermissionsProvider.tsx +82 -44
  257. package/src/features/store/objects/search/DocumentSearchContext.ts +8 -3
  258. package/src/features/store/objects/selection/SelectionActions.tsx +4 -1
  259. package/src/i18n/index.tsx +25 -2
  260. package/src/i18n/locales/ar.json +30 -0
  261. package/src/i18n/locales/de.json +30 -0
  262. package/src/i18n/locales/en.json +30 -0
  263. package/src/i18n/locales/es.json +30 -0
  264. package/src/i18n/locales/fr.json +30 -0
  265. package/src/i18n/locales/it.json +30 -0
  266. package/src/i18n/locales/ja.json +30 -0
  267. package/src/i18n/locales/ko.json +30 -0
  268. package/src/i18n/locales/pt.json +30 -0
  269. package/src/i18n/locales/ru.json +30 -0
  270. package/src/i18n/locales/tr.json +30 -0
  271. package/src/i18n/locales/zh-TW.json +30 -0
  272. package/src/i18n/locales/zh.json +30 -0
  273. package/src/layout/ErrorPage.tsx +1 -1
  274. package/src/layout/Navbar.test.tsx +58 -0
  275. package/src/layout/Navbar.tsx +5 -2
  276. package/src/router/path.test.ts +5 -5
  277. package/src/session/UserSession.ts +2 -4
  278. package/src/session/UserSessionProvider.strict-mode.test.tsx +44 -0
  279. package/src/session/UserSessionProvider.test.ts +62 -1
  280. package/src/session/UserSessionProvider.tsx +12 -4
  281. package/src/session/auth/composable.renewal.test.ts +170 -0
  282. package/src/session/auth/composable.test.ts +23 -1
  283. package/src/session/auth/composable.ts +101 -2
  284. package/src/session/auth/domainRouting.test.ts +35 -65
  285. package/src/session/auth/domainRouting.ts +51 -34
  286. package/src/session/auth/firebase.test.ts +25 -0
  287. package/src/session/auth/firebase.ts +10 -0
  288. package/src/session/auth/useAuthState.ts +11 -4
  289. package/src/session/index.ts +3 -1
  290. package/src/shell/AuthScreenPreview.test.tsx +44 -0
  291. package/src/shell/AuthScreenPreview.tsx +228 -0
  292. package/src/shell/BrandedAuthScreens.test.tsx +181 -0
  293. package/src/shell/BrandedAuthScreens.tsx +117 -0
  294. package/src/shell/SplashScreen.test.tsx +37 -0
  295. package/src/shell/SplashScreen.tsx +44 -39
  296. package/src/shell/VertesiaShell.tsx +49 -22
  297. package/src/shell/apps/StandaloneApp.tsx +5 -1
  298. package/src/shell/index.tsx +6 -0
  299. package/src/shell/login/SignInAuthPending.tsx +3 -3
  300. package/src/shell/login/SignInEmailStep.test.tsx +32 -0
  301. package/src/shell/login/SignInEmailStep.tsx +13 -9
  302. package/src/shell/login/SignInFlow.tsx +213 -0
  303. package/src/shell/login/SignInPageShell.tsx +62 -0
  304. package/src/shell/login/SignInPrimitives.tsx +14 -11
  305. package/src/shell/login/SignInRestrictedEnvStep.tsx +19 -7
  306. package/src/shell/login/SigninScreen.test.tsx +104 -0
  307. package/src/shell/login/SigninScreen.tsx +115 -145
  308. package/src/shell/login/SignupForm.tsx +8 -3
  309. package/src/shell/login/signInUtils.ts +42 -9
  310. package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +11 -3
  311. package/src/widgets/markdown/markdown.css +21 -21
  312. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js +0 -5
  313. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js.map +0 -1
  314. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js +0 -5
  315. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js.map +0 -1
  316. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js +0 -5
  317. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js.map +0 -1
  318. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js +0 -5
  319. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js.map +0 -1
  320. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js +0 -5
  321. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js.map +0 -1
  322. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js +0 -5
  323. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js.map +0 -1
  324. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js +0 -5
  325. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js.map +0 -1
  326. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js +0 -5
  327. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js.map +0 -1
  328. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js +0 -5
  329. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js.map +0 -1
  330. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js +0 -5
  331. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js.map +0 -1
  332. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js +0 -5
  333. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js.map +0 -1
  334. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js +0 -5
  335. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js.map +0 -1
  336. package/src/session/auth/authState.test.ts +0 -35
@@ -0,0 +1,68 @@
1
+ import { type TenantInfo } from './SignInEmailStep';
2
+ import { type LastSuccessfulLogin, type ProviderId } from './signInUtils';
3
+ /** The modes every host shares. Hosts may add their own; see the `M` parameter below. */
4
+ export type SignInCoreMode = 'email' | 'providers' | 'tenant' | 'returning' | 'pending';
5
+ export interface SignInFlowOptions {
6
+ /**
7
+ * Host sign-out, run when the user abandons the remembered identity. Defaults to a plain
8
+ * Firebase sign-out; a host with a Vertesia session passes its own so the session goes too.
9
+ */
10
+ signOut?: () => void | Promise<void>;
11
+ /** Analytics sink. Only `enterprise_signin` is emitted, and only for a tenant-resolved sign-in. */
12
+ trackEvent?: (eventName: string, eventProperties?: Record<string, unknown>) => void;
13
+ /**
14
+ * The authenticated user, once there is one. Supplying it lets the flow stamp the display name
15
+ * onto the remembered-login record; a host that unmounts the flow on login should call
16
+ * {@link finalizeSuccessfulLogin} itself instead.
17
+ */
18
+ user?: {
19
+ name?: string | null;
20
+ } | null;
21
+ }
22
+ /**
23
+ * Flow state plus the handlers the steps are wired to.
24
+ *
25
+ * `M` is the host's own extra modes: `SigninScreen` passes its error-recovery union so `mode` and
26
+ * `setMode` stay exhaustively typed there, while a host with no extra modes gets `SignInCoreMode`.
27
+ */
28
+ export interface SignInFlowController<M extends string = never> {
29
+ mode: SignInCoreMode | M;
30
+ setMode: (mode: SignInCoreMode | M) => void;
31
+ email: string;
32
+ setEmail: (email: string) => void;
33
+ tenant: TenantInfo | undefined;
34
+ setTenant: (tenant: TenantInfo | undefined) => void;
35
+ storedSession: LastSuccessfulLogin | null;
36
+ setStoredSession: (session: LastSuccessfulLogin | null) => void;
37
+ pendingProvider: ProviderId | null;
38
+ /** Email accepted: go to the tenant step when one resolved, otherwise the provider list. */
39
+ onProceedFromEmail: (email: string, tenant?: TenantInfo) => void;
40
+ /** Back to the email step, dropping the resolved tenant. */
41
+ onBack: () => void;
42
+ /** "Not you?" — forget the remembered identity and sign out. */
43
+ onNotYou: () => void;
44
+ /** A provider was picked; show the pending screen while the IdP redirect happens. */
45
+ onProviderClicked: (provider: ProviderId) => void;
46
+ /** Full reset: clear the persisted records and the Firebase session, back to the email step. */
47
+ startOver: () => void;
48
+ }
49
+ export declare function useSignInFlow<M extends string = never>(options?: SignInFlowOptions): SignInFlowController<M>;
50
+ /**
51
+ * The part of the controller the shared steps read.
52
+ *
53
+ * Deliberately excludes the setters: their parameter types mention the host's extra modes, and a
54
+ * contravariant position would stop `SignInFlowController<never>` from being passed here.
55
+ */
56
+ export type SignInStepsController = Omit<SignInFlowController<string>, 'setMode' | 'setEmail' | 'setTenant' | 'setStoredSession' | 'startOver'>;
57
+ interface SignInFlowStepsProps {
58
+ flow: SignInStepsController;
59
+ /** Path to return to after the IdP round-trip. Defaults to the current pathname. */
60
+ redirectTo?: string;
61
+ }
62
+ /**
63
+ * Renders the step for the current core mode. A host mode this doesn't know falls through to the
64
+ * email step, which is where the original screen sent an unrecognized state too.
65
+ */
66
+ export declare function SignInFlowSteps({ flow, redirectTo }: SignInFlowStepsProps): import("react").JSX.Element;
67
+ export {};
68
+ //# sourceMappingURL=SignInFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInFlow.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInFlow.tsx"],"names":[],"mappings":"AAcA,OAAwB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIrE,OAAO,EAIH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAIlB,MAAM,eAAe,CAAC;AAEvB,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,mGAAmG;IACnG,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF;;;;OAIG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IAC1D,IAAI,EAAE,cAAc,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,KAAK,IAAI,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,4FAA4F;IAC5F,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,4DAA4D;IAC5D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,qFAAqF;IACrF,iBAAiB,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;IAClD,gGAAgG;IAChG,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAAE,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CA2EhH;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACpC,oBAAoB,CAAC,MAAM,CAAC,EAC5B,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,kBAAkB,GAAG,WAAW,CAC1E,CAAC;AAEF,UAAU,oBAAoB;IAC1B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,oBAAoB,+BAsCzE"}
@@ -0,0 +1,108 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * The sign-in state machine, extracted from SigninScreen so more than one host can drive it.
4
+ *
5
+ * Two hosts run it today: the Studio shell, which layers its own error-recovery modes on top
6
+ * (`SigninScreen`), and the Central Auth broker, which has no Vertesia session and renders only the
7
+ * modes below. The interesting behaviour is not the markup — it is the ordering: remembered
8
+ * identity first, then email, then tenant resolution deciding which providers are even offered.
9
+ * Re-implementing that per host is how the two pages drift apart.
10
+ *
11
+ * The hook takes no session dependency of its own: `signOut` and `trackEvent` come in as options
12
+ * because a host without a `UserSessionProvider` cannot call those hooks.
13
+ */
14
+ import { useCallback, useEffect, useState } from 'react';
15
+ import SignInAuthPending from './SignInAuthPending';
16
+ import SignInEmailStep from './SignInEmailStep';
17
+ import SignInProvidersStep from './SignInProvidersStep';
18
+ import SignInReturningStep from './SignInReturningStep';
19
+ import SignInTenantStep from './SignInTenantStep';
20
+ import { clearLastSuccessfulLogin, clearPendingSignin, finalizeSuccessfulLogin, readLastSuccessfulLogin, resetSignInState, signOutOfFirebase, } from './signInUtils';
21
+ export function useSignInFlow(options = {}) {
22
+ const { signOut, trackEvent, user } = options;
23
+ const [storedSession, setStoredSession] = useState(() => readLastSuccessfulLogin());
24
+ const [mode, setMode] = useState(() => (readLastSuccessfulLogin() ? 'returning' : 'email'));
25
+ const [email, setEmail] = useState('');
26
+ const [tenant, setTenant] = useState(undefined);
27
+ const [pendingProvider, setPendingProvider] = useState(null);
28
+ // On successful login, finalize the last-successful-login entry with the user's name.
29
+ useEffect(() => {
30
+ if (!user)
31
+ return;
32
+ finalizeSuccessfulLogin(user.name ?? undefined);
33
+ }, [user]);
34
+ const onProceedFromEmail = useCallback((e, t) => {
35
+ setEmail(e);
36
+ setTenant(t);
37
+ setMode(t ? 'tenant' : 'providers');
38
+ }, []);
39
+ const onBack = useCallback(() => {
40
+ setMode('email');
41
+ setTenant(undefined);
42
+ }, []);
43
+ const onNotYou = useCallback(() => {
44
+ clearLastSuccessfulLogin();
45
+ clearPendingSignin();
46
+ setStoredSession(null);
47
+ setEmail('');
48
+ setTenant(undefined);
49
+ setMode('email');
50
+ // Without a host sign-out, drop the Firebase session anyway: leaving it behind means the
51
+ // next auth-state change re-authenticates the identity the user just said isn't theirs.
52
+ void (signOut ? signOut() : signOutOfFirebase());
53
+ }, [signOut]);
54
+ const onProviderClicked = useCallback((provider) => {
55
+ // Tenant context comes from a resolved tenant or stored tenantName, not the provider.
56
+ const hasTenant = !!tenant || !!storedSession?.tenantName;
57
+ // Only the pre-existing enterprise_signin event; non-tenant sign-ins emit nothing.
58
+ if (hasTenant)
59
+ trackEvent?.('enterprise_signin', { provider });
60
+ setPendingProvider(provider);
61
+ setMode('pending');
62
+ // The redirect itself happens in the calling step's startSignIn(); this just shows the pending screen.
63
+ }, [trackEvent, storedSession?.tenantName, tenant]);
64
+ const startOver = useCallback(() => {
65
+ setStoredSession(null); // drop the in-memory mirror too — resetSignInState only clears storage
66
+ setEmail('');
67
+ setTenant(undefined);
68
+ setMode('email');
69
+ void resetSignInState();
70
+ }, []);
71
+ return {
72
+ mode,
73
+ setMode,
74
+ email,
75
+ setEmail,
76
+ tenant,
77
+ setTenant,
78
+ storedSession,
79
+ setStoredSession,
80
+ pendingProvider,
81
+ onProceedFromEmail,
82
+ onBack,
83
+ onNotYou,
84
+ onProviderClicked,
85
+ startOver,
86
+ };
87
+ }
88
+ /**
89
+ * Renders the step for the current core mode. A host mode this doesn't know falls through to the
90
+ * email step, which is where the original screen sent an unrecognized state too.
91
+ */
92
+ export function SignInFlowSteps({ flow, redirectTo }) {
93
+ const { mode, email, tenant, storedSession, pendingProvider } = flow;
94
+ if (mode === 'pending' && pendingProvider) {
95
+ return _jsx(SignInAuthPending, { provider: pendingProvider });
96
+ }
97
+ if (mode === 'tenant' && tenant) {
98
+ return (_jsx(SignInTenantStep, { email: email, tenant: tenant, onBack: flow.onBack, onProviderClicked: () => flow.onProviderClicked((tenant.provider ?? 'oidc')), redirectTo: redirectTo }));
99
+ }
100
+ if (mode === 'providers') {
101
+ return (_jsx(SignInProvidersStep, { email: email, onBack: flow.onBack, onProviderClicked: flow.onProviderClicked, redirectTo: redirectTo }));
102
+ }
103
+ if (mode === 'returning' && storedSession) {
104
+ return (_jsx(SignInReturningStep, { session: storedSession, onNotYou: flow.onNotYou, onProviderClicked: flow.onProviderClicked, redirectTo: redirectTo }));
105
+ }
106
+ return _jsx(SignInEmailStep, { initialEmail: email, onProceed: flow.onProceedFromEmail });
107
+ }
108
+ //# sourceMappingURL=SignInFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInFlow.js","sourceRoot":"","sources":["../../../src/shell/login/SignInFlow.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { ProviderId } from './signInUtils';
3
3
  export declare function GoogleIcon(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
4
4
  export declare function GithubIcon(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
5
5
  export declare function MicrosoftIcon(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
6
- export declare const OidcIcon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
6
+ export declare const OidcIcon: import("lucide-react").LucideIcon;
7
7
  /** Provider → brand icon. */
8
8
  export declare const PROVIDER_ICONS: Record<ProviderId, ComponentType<{
9
9
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SignInIcons.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInIcons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAqBxD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAWxD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAS3D;AAGD,eAAO,MAAM,QAAQ,2IAAc,CAAC;AAEpC,6BAA6B;AAC7B,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKpF,CAAC;AAEF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7G"}
1
+ {"version":3,"file":"SignInIcons.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInIcons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAqBxD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAWxD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,+BAS3D;AAGD,eAAO,MAAM,QAAQ,mCAAc,CAAC;AAEpC,6BAA6B;AAC7B,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKpF,CAAC;AAEF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7G"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ interface SignInPageShellProps {
3
+ logoAlt?: string;
4
+ footer?: string;
5
+ lightLogo?: string;
6
+ darkLogo?: string;
7
+ /** Rendered between the step and the footer — e.g. a generic authentication error. */
8
+ notice?: ReactNode;
9
+ children: ReactNode;
10
+ }
11
+ export declare function SignInPageShell({ lightLogo, darkLogo, notice, children, logoAlt, footer, }: SignInPageShellProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=SignInPageShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInPageShell.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInPageShell.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,UAAU,oBAAoB;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAoB,EACpB,MAAM,GACT,EAAE,oBAAoB,+BAkCtB"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The chrome around a sign-in step: product logo, the step itself, an optional notice, and the
4
+ * legal footer. Hosts supply their own outer container — the Studio shell overlays the app, the
5
+ * Central Auth broker owns the whole document — so this component deliberately does not position
6
+ * itself.
7
+ */
8
+ import { useUITranslation } from '@vertesia/ui/i18n';
9
+ import { RegionTag } from '@vertesia/ui/layout';
10
+ export function SignInPageShell({ lightLogo, darkLogo, notice, children, logoAlt = 'Vertesia', footer, }) {
11
+ const { t } = useUITranslation();
12
+ return (_jsx("div", { className: "min-h-full flex flex-col items-center justify-center py-12 px-4", children: _jsxs("div", { className: "flex flex-col items-center w-full", children: [(lightLogo || darkLogo) && (_jsxs("div", { className: "mb-7", children: [lightLogo && _jsx("img", { src: lightLogo, alt: logoAlt, className: "h-10 block dark:hidden" }), darkLogo && _jsx("img", { src: darkLogo, alt: logoAlt, className: "h-10 hidden dark:block" })] })), children, notice, footer ? (_jsx("p", { className: "mt-10 text-xs text-muted", children: footer })) : (_jsxs("div", { className: "flex items-center gap-5 mt-10 text-xs text-muted", children: [_jsx("a", { href: "https://vertesiahq.com/privacy", className: "hover:text-foreground transition", children: t('auth.privacyPolicy') }), _jsx("span", { className: "text-border", children: "\u00B7" }), _jsx("a", { href: "https://vertesiahq.com/terms", className: "hover:text-foreground transition", children: t('auth.termsOfService') }), _jsx("span", { className: "text-border", children: "\u00B7" }), _jsx(RegionTag, { className: "cursor-default" })] }))] }) }));
13
+ }
14
+ //# sourceMappingURL=SignInPageShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInPageShell.js","sourceRoot":"","sources":["../../../src/shell/login/SignInPageShell.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAahD,MAAM,UAAU,eAAe,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,GAAG,UAAU,EACpB,MAAM,GACa;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,OAAO,CACH,cAAK,SAAS,EAAC,iEAAiE,YAC5E,eAAK,SAAS,EAAC,mCAAmC,aAC7C,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CACxB,eAAK,SAAS,EAAC,MAAM,aAChB,SAAS,IAAI,cAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,wBAAwB,GAAG,EACrF,QAAQ,IAAI,cAAK,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,wBAAwB,GAAG,IAClF,CACT,EAEA,QAAQ,EAER,MAAM,EAEN,MAAM,CAAC,CAAC,CAAC,CACN,YAAG,SAAS,EAAC,0BAA0B,YAAE,MAAM,GAAK,CACvD,CAAC,CAAC,CAAC,CACA,eAAK,SAAS,EAAC,kDAAkD,aAC7D,YAAG,IAAI,EAAC,gCAAgC,EAAC,SAAS,EAAC,kCAAkC,YAChF,CAAC,CAAC,oBAAoB,CAAC,GACxB,EACJ,eAAM,SAAS,EAAC,aAAa,uBAAS,EACtC,YAAG,IAAI,EAAC,8BAA8B,EAAC,SAAS,EAAC,kCAAkC,YAC9E,CAAC,CAAC,qBAAqB,CAAC,GACzB,EACJ,eAAM,SAAS,EAAC,aAAa,uBAAS,EACtC,KAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,GAAG,IACtC,CACT,IACC,GACJ,CACT,CAAC;AACN,CAAC"}
@@ -16,7 +16,7 @@ interface SignInStepHeaderProps {
16
16
  export declare function SignInStepHeader({ eyebrow, title, body, variant }: SignInStepHeaderProps): import("react").JSX.Element;
17
17
  declare const SIGNIN_STEP_BUTTON_VARIANTS: {
18
18
  readonly primary: string;
19
- readonly loading: 'h-[42px] gap-2.5 rounded-md bg-foreground text-background opacity-90';
19
+ readonly loading: 'h-[42px] gap-2.5 rounded-md bg-[var(--auth-button,var(--foreground))] text-[color:var(--auth-button-text,var(--background))] opacity-90';
20
20
  readonly ghost: 'h-9 text-muted hover:text-foreground';
21
21
  };
22
22
  interface SignInStepButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
@@ -58,7 +58,7 @@ declare const ACCOUNT_CARD_VARIANTS: {
58
58
  readonly topRow: 'flex items-center gap-2.5 px-3 py-2.5';
59
59
  readonly title: 'text-[13.5px] font-semibold text-foreground leading-tight';
60
60
  readonly subtitle: 'text-[11.5px] text-muted leading-tight mt-0.5';
61
- readonly bottomRow: 'flex items-center gap-2.5 px-3 py-1.5 border-t border-border bg-muted-background';
61
+ readonly bottomRow: 'flex items-center gap-2.5 px-3 py-1.5 border-t border-border bg-muted';
62
62
  readonly mailBox: 'size-[30px] grid place-items-center shrink-0';
63
63
  readonly mailIcon: 'size-4 text-muted';
64
64
  readonly email: 'text-sm text-foreground/80 flex-1 truncate';
@@ -68,7 +68,7 @@ declare const ACCOUNT_CARD_VARIANTS: {
68
68
  readonly topRow: 'flex items-center gap-3 px-3.5 py-2.5';
69
69
  readonly title: 'text-sm font-semibold text-foreground truncate';
70
70
  readonly subtitle: 'text-xs text-foreground/80 truncate';
71
- readonly bottomRow: 'flex items-center gap-3 px-3.5 py-1 border-t border-border bg-muted-background';
71
+ readonly bottomRow: 'flex items-center gap-3 px-3.5 py-1 border-t border-border bg-muted';
72
72
  readonly mailBox: 'w-9 h-6 grid place-items-center shrink-0';
73
73
  readonly mailIcon: 'size-3.5 text-muted';
74
74
  readonly email: 'text-xs text-foreground/80 flex-1 truncate';
@@ -1 +1 @@
1
- {"version":3,"file":"SignInPrimitives.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInPrimitives.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignInPrimitives.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInPrimitives.tsx"],"names":[],"mappings":"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"}
@@ -16,10 +16,10 @@ export function SignInStepHeader({ eyebrow, title, body, variant = 'info' }) {
16
16
  const SIGNIN_STEP_BUTTON_BASE = 'cursor-pointer inline-flex items-center justify-center text-sm font-medium transition';
17
17
  const SIGNIN_STEP_BUTTON_VARIANTS = {
18
18
  // Filled CTA; greys out when disabled.
19
- primary: 'h-[42px] gap-2.5 rounded-md bg-foreground text-background hover:opacity-90 ' +
19
+ primary: 'h-[42px] gap-2.5 rounded-md bg-[var(--auth-button,var(--foreground))] text-[color:var(--auth-button-text,var(--background))] hover:opacity-90 ' +
20
20
  'disabled:opacity-50 disabled:cursor-not-allowed',
21
21
  // Non-interactive primary kept at full opacity (spinner reads as active).
22
- loading: 'h-[42px] gap-2.5 rounded-md bg-foreground text-background opacity-90',
22
+ loading: 'h-[42px] gap-2.5 rounded-md bg-[var(--auth-button,var(--foreground))] text-[color:var(--auth-button-text,var(--background))] opacity-90',
23
23
  // Flat text link.
24
24
  ghost: 'h-9 text-muted hover:text-foreground',
25
25
  };
@@ -46,11 +46,11 @@ const INITIALS_BADGE_SHAPES = {
46
46
  };
47
47
  /** Initials in a colored chip — a round user avatar or a square org chip. */
48
48
  export function SignInInitialsBadge({ initials, shape = 'circle' }) {
49
- return (_jsx("span", { className: `bg-info text-info-foreground grid place-items-center font-semibold shrink-0 ${INITIALS_BADGE_SHAPES[shape]}`, children: initials }));
49
+ return (_jsx("span", { className: `bg-info text-info grid place-items-center font-semibold shrink-0 ${INITIALS_BADGE_SHAPES[shape]}`, children: initials }));
50
50
  }
51
51
  /** Rounded tile framing a provider/status icon. */
52
52
  export function SignInIconBadge({ children }) {
53
- return (_jsx("div", { className: "inline-grid place-items-center size-14 rounded-xl bg-info-background border border-info/15 mb-3.5", children: children }));
53
+ return (_jsx("div", { className: "inline-grid place-items-center size-14 rounded-xl bg-info border border-info/15 mb-3.5", children: children }));
54
54
  }
55
55
  /** Title over a secondary line; fills the row beside a badge or avatar. */
56
56
  export function SignInIdentityLines({ title, subtitle, titleClass, subtitleClass }) {
@@ -63,7 +63,7 @@ const ACCOUNT_CARD_VARIANTS = {
63
63
  topRow: 'flex items-center gap-2.5 px-3 py-2.5',
64
64
  title: 'text-[13.5px] font-semibold text-foreground leading-tight',
65
65
  subtitle: 'text-[11.5px] text-muted leading-tight mt-0.5',
66
- bottomRow: 'flex items-center gap-2.5 px-3 py-1.5 border-t border-border bg-muted-background',
66
+ bottomRow: 'flex items-center gap-2.5 px-3 py-1.5 border-t border-border bg-muted',
67
67
  mailBox: 'size-[30px] grid place-items-center shrink-0',
68
68
  mailIcon: 'size-4 text-muted',
69
69
  email: 'text-sm text-foreground/80 flex-1 truncate',
@@ -73,7 +73,7 @@ const ACCOUNT_CARD_VARIANTS = {
73
73
  topRow: 'flex items-center gap-3 px-3.5 py-2.5',
74
74
  title: 'text-sm font-semibold text-foreground truncate',
75
75
  subtitle: 'text-xs text-foreground/80 truncate',
76
- bottomRow: 'flex items-center gap-3 px-3.5 py-1 border-t border-border bg-muted-background',
76
+ bottomRow: 'flex items-center gap-3 px-3.5 py-1 border-t border-border bg-muted',
77
77
  mailBox: 'w-9 h-6 grid place-items-center shrink-0',
78
78
  mailIcon: 'size-3.5 text-muted',
79
79
  email: 'text-xs text-foreground/80 flex-1 truncate',
@@ -87,11 +87,11 @@ export function SignInAccountCard({ variant = 'returning', badge, title, subtitl
87
87
  }
88
88
  /** Single-row identity card: badge + title/subtitle + a trailing action link. */
89
89
  export function SignInAccountRow({ badge, title, subtitle, actionLabel, onAction }) {
90
- return (_jsxs("div", { className: "flex items-center gap-3 px-3.5 py-2.5 rounded-md border border-border bg-muted-background", children: [badge, _jsx(SignInIdentityLines, { title: title, subtitle: subtitle, titleClass: "text-sm font-semibold text-foreground truncate", subtitleClass: "text-xs text-muted truncate" }), _jsx(SignInInlineLinkButton, { onClick: onAction, children: actionLabel })] }));
90
+ return (_jsxs("div", { className: "flex items-center gap-3 px-3.5 py-2.5 rounded-md border border-border bg-muted", children: [badge, _jsx(SignInIdentityLines, { title: title, subtitle: subtitle, titleClass: "text-sm font-semibold text-foreground truncate", subtitleClass: "text-xs text-muted truncate" }), _jsx(SignInInlineLinkButton, { onClick: onAction, children: actionLabel })] }));
91
91
  }
92
92
  /** Standalone bordered pill: mail icon + email + a trailing action link. */
93
93
  export function SignInEmailRow({ email, actionLabel, onAction }) {
94
- return (_jsxs("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md border border-border bg-muted-background", children: [_jsx(Mail, { className: "size-4 text-muted shrink-0" }), _jsx("span", { className: "text-sm text-foreground/80 flex-1 truncate", children: email }), _jsx(SignInInlineLinkButton, { onClick: onAction, children: actionLabel })] }));
94
+ return (_jsxs("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md border border-border bg-muted", children: [_jsx(Mail, { className: "size-4 text-muted shrink-0" }), _jsx("span", { className: "text-sm text-foreground/80 flex-1 truncate", children: email }), _jsx(SignInInlineLinkButton, { onClick: onAction, children: actionLabel })] }));
95
95
  }
96
96
  /** "Continue with <provider>" button. */
97
97
  export function SignInProviderButton({ provider, label, onClick, variant = 'outline' }) {
@@ -100,14 +100,16 @@ export function SignInProviderButton({ provider, label, onClick, variant = 'outl
100
100
  // rtl-ok: arrow hover nudge moves toward inline-end with an explicit RTL mirror.
101
101
  // !size beats Button's [&_svg]:size-4 rule. Arrow fades in and nudges on hover.
102
102
  const arrowClass = '!size-3.5 text-muted opacity-0 group-hover:opacity-100 group-hover:translate-x-0.5 rtl:group-hover:-translate-x-0.5 transition'; // rtl-ok: matched line mirrors the hover nudge for RTL.
103
- return (_jsxs(Button, { variant: "unstyled", size: "none", onClick: onClick, className: "cursor-pointer group h-[42px] w-full inline-flex items-center gap-3 ps-3.5 pe-3 rounded-md border border-border bg-background text-sm font-medium text-foreground transition hover:bg-muted-background", children: [_jsx(Icon, { className: "!size-[18px] shrink-0" }), _jsx("span", { className: "flex-1 text-start", children: label }), _jsx(ArrowRight, { className: arrowClass })] }));
103
+ return (_jsxs(Button, { variant: "unstyled", size: "none", onClick: onClick, className: "cursor-pointer group h-[42px] w-full inline-flex items-center gap-3 ps-3.5 pe-3 rounded-md border border-border bg-background text-sm font-medium text-foreground transition hover:bg-muted", children: [_jsx(Icon, { className: "!size-[18px] shrink-0" }), _jsx("span", { className: "flex-1 text-start", children: label }), _jsx(ArrowRight, { className: arrowClass })] }));
104
104
  }
105
- const variantClass = variant === 'filled' ? '!bg-foreground text-background hover:!bg-foreground/90' : 'hover:shadow-sm';
105
+ const variantClass = variant === 'filled'
106
+ ? '!bg-[var(--auth-button,var(--foreground))] text-[color:var(--auth-button-text,var(--background))] hover:!bg-[var(--auth-button,var(--foreground))]/90'
107
+ : 'hover:shadow-sm';
106
108
  return (_jsxs(Button, { variant: "outline", onClick: onClick, className: `w-full py-5 flex rounded-lg transition duration-150 text-center ${variantClass}`, children: [_jsx(Icon, { className: "!size-[18px]" }), _jsx("span", { className: "text-sm font-medium", children: label })] }));
107
109
  }
108
110
  /** Destructive notice: icon + bold title over a muted meta line. */
109
111
  export function SignInCallout({ icon: Icon, title, meta }) {
110
- return (_jsxs("div", { className: "flex items-center gap-2.5 px-3 py-2.5 rounded-md bg-destructive-background border border-destructive/20", children: [_jsx(Icon, { className: "size-5 text-destructive shrink-0" }), _jsxs("div", { className: "flex-1 min-w-0 text-sm", children: [_jsx("div", { className: "font-semibold text-destructive", children: title }), _jsx("div", { className: "text-xs text-destructive/80", children: meta })] })] }));
112
+ return (_jsxs("div", { className: "flex items-center gap-2.5 px-3 py-2.5 rounded-md bg-destructive border border-destructive/20", children: [_jsx(Icon, { className: "size-5 text-destructive shrink-0" }), _jsxs("div", { className: "flex-1 min-w-0 text-sm", children: [_jsx("div", { className: "font-semibold text-destructive", children: title }), _jsx("div", { className: "text-xs text-destructive/80", children: meta })] })] }));
111
113
  }
112
114
  /** Horizontal rule with a centered label. */
113
115
  export function SignInOrDivider({ children }) {
@@ -1 +1 @@
1
- {"version":3,"file":"SignInPrimitives.js","sourceRoot":"","sources":["../../../src/shell/login/SignInPrimitives.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignInPrimitives.js","sourceRoot":"","sources":["../../../src/shell/login/SignInPrimitives.tsx"],"names":[],"mappings":"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"}
@@ -10,5 +10,10 @@ interface SignInRestrictedEnvStepProps {
10
10
  * docs/restrict-access-to-non-production-envs.md.
11
11
  */
12
12
  export default function SignInRestrictedEnvStep({ onUseDifferentEmail }: SignInRestrictedEnvStepProps): import("react").JSX.Element;
13
+ /** Shared presentation; the host owns session cleanup and automatic redirects. */
14
+ export declare function SignInRestrictedEnvView({ secondsLeft, onUseDifferentEmail, onRedirect, }: SignInRestrictedEnvStepProps & {
15
+ secondsLeft?: number;
16
+ onRedirect: () => void;
17
+ }): import("react").JSX.Element;
13
18
  export {};
14
19
  //# sourceMappingURL=SignInRestrictedEnvStep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignInRestrictedEnvStep.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInRestrictedEnvStep.tsx"],"names":[],"mappings":"AAQA,UAAU,4BAA4B;IAClC,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,mBAAmB,EAAE,EAAE,4BAA4B,+BA+DpG"}
1
+ {"version":3,"file":"SignInRestrictedEnvStep.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SignInRestrictedEnvStep.tsx"],"names":[],"mappings":"AAQA,UAAU,4BAA4B;IAClC,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,mBAAmB,EAAE,EAAE,4BAA4B,+BAuCpG;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,EACpC,WAAmC,EACnC,mBAAmB,EACnB,UAAU,GACb,EAAE,4BAA4B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,+BA6BjF"}
@@ -16,7 +16,6 @@ const AUTO_REDIRECT_SECONDS = 15;
16
16
  * docs/restrict-access-to-non-production-envs.md.
17
17
  */
18
18
  export default function SignInRestrictedEnvStep({ onUseDifferentEmail }) {
19
- const { t } = useUITranslation();
20
19
  // Region-aware: send the user to their own region's production site, never another region's (an
21
20
  // EU user must not be redirected to the US site). Falls back to the canonical site when unknown.
22
21
  const productionUrl = getProductionAppUrl(Env.region);
@@ -43,8 +42,13 @@ export default function SignInRestrictedEnvStep({ onUseDifferentEmail }) {
43
42
  clearInterval(countdown);
44
43
  };
45
44
  }, [productionUrl]);
46
- return (_jsxs(SignInStepLayout, { children: [_jsx(SignInStepHeader, { variant: "destructive", eyebrow: t('auth.restricted.eyebrow'), title: t('auth.restricted.title'), body: t('auth.restricted.body') }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(SignInCallout, { icon: ShieldOff, title: t('auth.restricted.calloutTitle'), meta: t('auth.restricted.calloutMeta') }), _jsx(SignInStepButton, { className: "w-full", onClick: () => {
47
- window.location.href = productionUrl;
48
- }, children: t('auth.restricted.redirect') }), _jsx(SignInStepButton, { variant: "ghost", onClick: onUseDifferentEmail, children: t('auth.restricted.useDifferent') }), _jsx("p", { className: "text-center text-xs text-muted", children: t('auth.restricted.autoRedirect', { seconds: secondsLeft }) })] })] }));
45
+ return (_jsx(SignInRestrictedEnvView, { secondsLeft: secondsLeft, onUseDifferentEmail: onUseDifferentEmail, onRedirect: () => {
46
+ window.location.href = productionUrl;
47
+ } }));
48
+ }
49
+ /** Shared presentation; the host owns session cleanup and automatic redirects. */
50
+ export function SignInRestrictedEnvView({ secondsLeft = AUTO_REDIRECT_SECONDS, onUseDifferentEmail, onRedirect, }) {
51
+ const { t } = useUITranslation();
52
+ return (_jsxs(SignInStepLayout, { children: [_jsx(SignInStepHeader, { variant: "destructive", eyebrow: t('auth.restricted.eyebrow'), title: t('auth.restricted.title'), body: t('auth.restricted.body') }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(SignInCallout, { icon: ShieldOff, title: t('auth.restricted.calloutTitle'), meta: t('auth.restricted.calloutMeta') }), _jsx(SignInStepButton, { className: "w-full", onClick: onRedirect, children: t('auth.restricted.redirect') }), _jsx(SignInStepButton, { variant: "ghost", onClick: onUseDifferentEmail, children: t('auth.restricted.useDifferent') }), _jsx("p", { className: "text-center text-xs text-muted", children: t('auth.restricted.autoRedirect', { seconds: secondsLeft }) })] })] }));
49
53
  }
50
54
  //# sourceMappingURL=SignInRestrictedEnvStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignInRestrictedEnvStep.js","sourceRoot":"","sources":["../../../src/shell/login/SignInRestrictedEnvStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAOjD,sGAAsG;AACtG,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,mBAAmB,EAAgC;IACjG,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,gGAAgG;IAChG,iGAAiG;IACjG,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEtE,+FAA+F;IAC/F,gGAAgG;IAChG,8FAA8F;IAC9F,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,gBAAgB,EAAE,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4FAA4F;IAC5F,iGAAiG;IACjG,+FAA+F;IAC/F,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACzC,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,gBAAgB,IACb,OAAO,EAAC,aAAa,EACrB,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACrC,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACjC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,GACjC,EAEF,eAAK,SAAS,EAAC,qBAAqB,aAChC,KAAC,aAAa,IACV,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,CAAC,CAAC,8BAA8B,CAAC,EACxC,IAAI,EAAE,CAAC,CAAC,6BAA6B,CAAC,GACxC,EACF,KAAC,gBAAgB,IACb,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;4BACV,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;wBACzC,CAAC,YAEA,CAAC,CAAC,0BAA0B,CAAC,GACf,EACnB,KAAC,gBAAgB,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,mBAAmB,YACzD,CAAC,CAAC,8BAA8B,CAAC,GACnB,EACnB,YAAG,SAAS,EAAC,gCAAgC,YACxC,CAAC,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAC5D,IACF,IACS,CACtB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"SignInRestrictedEnvStep.js","sourceRoot":"","sources":["../../../src/shell/login/SignInRestrictedEnvStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAOjD,sGAAsG;AACtG,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,mBAAmB,EAAgC;IACjG,gGAAgG;IAChG,iGAAiG;IACjG,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEtE,+FAA+F;IAC/F,gGAAgG;IAChG,8FAA8F;IAC9F,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,gBAAgB,EAAE,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4FAA4F;IAC5F,iGAAiG;IACjG,+FAA+F;IAC/F,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACzC,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,KAAC,uBAAuB,IACpB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACzC,CAAC,GACH,CACL,CAAC;AACN,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,uBAAuB,CAAC,EACpC,WAAW,GAAG,qBAAqB,EACnC,mBAAmB,EACnB,UAAU,GACoE;IAC9E,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,gBAAgB,IACb,OAAO,EAAC,aAAa,EACrB,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACrC,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACjC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,GACjC,EAEF,eAAK,SAAS,EAAC,qBAAqB,aAChC,KAAC,aAAa,IACV,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,CAAC,CAAC,8BAA8B,CAAC,EACxC,IAAI,EAAE,CAAC,CAAC,6BAA6B,CAAC,GACxC,EACF,KAAC,gBAAgB,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAE,UAAU,YACnD,CAAC,CAAC,0BAA0B,CAAC,GACf,EACnB,KAAC,gBAAgB,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,mBAAmB,YACzD,CAAC,CAAC,8BAA8B,CAAC,GACnB,EACnB,YAAG,SAAS,EAAC,gCAAgC,YACxC,CAAC,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAC5D,IACF,IACS,CACtB,CAAC;AACN,CAAC"}
@@ -1,4 +1,23 @@
1
- interface SigninScreenProps {
1
+ import { type SignupData } from '@vertesia/common';
2
+ import { type ComponentType, type ReactNode } from 'react';
3
+ import { type SignInFlowController } from './SignInFlow';
4
+ /** Presentation only: the shared screen still owns session gating and recovery transitions. */
5
+ export interface SignInScreenViewProps {
6
+ flow: SignInFlowController<SignInRecoveryMode>;
7
+ authError?: Error;
8
+ /** Retain these shared forms for tenant resolution and provider sign-in; flow alone does not initiate redirects. */
9
+ children: ReactNode;
10
+ notice: ReactNode;
11
+ isNested: boolean;
12
+ lightLogo?: string;
13
+ darkLogo?: string;
14
+ onUseDifferentAccount: () => void;
15
+ onContinueWithSanitizedScope: () => void;
16
+ onRetry: () => void;
17
+ onSignup: (data: SignupData, firebaseToken: string) => void;
18
+ }
19
+ export interface SigninScreenProps {
20
+ View?: ComponentType<SignInScreenViewProps>;
2
21
  isNested?: boolean;
3
22
  allowedPrefix?: string | string[];
4
23
  lightLogo?: string;
@@ -6,6 +25,22 @@ interface SigninScreenProps {
6
25
  preservePath?: boolean;
7
26
  suppressAuthErrorPrefix?: string | string[];
8
27
  }
9
- export declare function SigninScreen({ allowedPrefix, isNested, lightLogo, darkLogo, preservePath, suppressAuthErrorPrefix, }: SigninScreenProps): import("react").JSX.Element | null;
10
- export {};
28
+ export declare function SigninScreen({ allowedPrefix, isNested, lightLogo, darkLogo, preservePath, suppressAuthErrorPrefix, View, }: SigninScreenProps): import("react").JSX.Element | null;
29
+ /**
30
+ * The modes this screen adds on top of {@link SignInCoreMode}: every one is entered from an
31
+ * `authError` the session surfaced, which is why they stay here rather than in the shared flow.
32
+ */
33
+ export type SignInRecoveryMode = 'blocked' | 'signup' | 'restricted' | 'scopeUnavailable' | 'noAccessibleAccount' | 'credentialFailure' | 'serviceFailure';
34
+ /** The shared Studio sign-in layout; branding only supplies its content and assets. */
35
+ export declare function DefaultSignInScreen({ isNested, lightLogo, darkLogo, notice, children, logoAlt, footer, }: {
36
+ isNested?: boolean;
37
+ lightLogo?: string;
38
+ darkLogo?: string;
39
+ notice?: ReactNode;
40
+ children: ReactNode;
41
+ logoAlt?: string;
42
+ footer?: string;
43
+ }): import("react").JSX.Element;
44
+ /** Shared generic authentication error notice. */
45
+ export declare function SignInErrorNotice(): import("react").JSX.Element;
11
46
  //# sourceMappingURL=SigninScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SigninScreen.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SigninScreen.tsx"],"names":[],"mappings":"AAoCA,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/C;AAED,wBAAgB,YAAY,CAAC,EACzB,aAAa,EACb,QAAgB,EAChB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,uBAAuB,GAC1B,EAAE,iBAAiB,sCAanB"}
1
+ {"version":3,"file":"SigninScreen.d.ts","sourceRoot":"","sources":["../../../src/shell/login/SigninScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAa/G,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAA0B,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,cAAc,CAAC;AAQzF,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,oHAAoH;IACpH,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,4BAA4B,EAAE,MAAM,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/C;AAED,wBAAgB,YAAY,CAAC,EACzB,aAAa,EACb,QAAgB,EAChB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACvB,IAAI,GACP,EAAE,iBAAiB,sCAcnB;AAYD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GACxB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,gBAAgB,CAAC;AAmOvB,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,GACT,EAAE;IACC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,+BAiBA;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,gCAehC"}