@zitadel/components 1.0.0-alpha.21 → 1.0.0-alpha.23

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.
@@ -1,12 +1,12 @@
1
- import { $ as CreateTeam201, $t as ListUserPasskeysParams, A as CreateFlow201StepChallenge, At as GetReleaseByIdParams, B as CreateGrantParams, Bt as ListBranding200Item, C as CreateBrandingBody, Ct as GetHealthDefault, D as CreateFlow201BrandingLayout, Dt as GetProject200, E as CreateFlow201Branding, Et as GetMyUser200, F as CreateFlowBodyPurpose, Ft as GetUserByID200, G as CreateRelease201, Gt as ListEventsParams, H as CreateProject201, Ht as ListEnvironments200, I as CreateFlowDefinition201, It as GetUserByIDParams, J as CreateSchema201, Jt as ListReleases200, K as CreateReleaseBody, Kt as ListFlowDefinitions200, L as CreateFlowDefinitionBody, Lt as InitClaim201, M as CreateFlow201StepGates, Mt as GetSchemaByIdParams, N as CreateFlow201StepSsoProvidersItem, Nt as GetSession200, O as CreateFlow201Step, Ot as GetReadyDefault, P as CreateFlowBody, Pt as GetTeam200, Q as CreateSessionBody, Qt as ListUserPasskeys200, R as CreateGrant201, Rt as IssueChallenge201, S as CreateBranding201, Sn as VerifyChallengeProofBody, St as GetGrantParams, T as CreateFlow201, Tt as GetMySession200, U as CreateProjectBody, Ut as ListEnvironmentsParams, V as CreateHandoff200, Vt as ListBrandingParams, W as CreateRelease200, Wt as ListEvents200, X as CreateSchemaParams, Xt as ListSchemas200, Y as CreateSchemaBody, Yt as ListReleasesParams, Z as CreateSession201, Zt as ListSchemasParams, _ as BeginUserPasskeyRegistrationBody, _n as UpdateFlowDefinition200, _t as GetEvent200, an as QueryProjectsBody, at as DeleteGrantParams, b as CreateAuthAttempt201, bn as UpdateTeamBody, bt as GetFlowStep200, cn as QuerySessionsParams, ct as ExchangeHandoffParams, dn as QueryTeamsParams, dt as GetAuthAttempt200, en as ListUserTeams200, et as CreateTeamBody, fn as QueryUsers200, ft as GetBrandingById200, g as BeginUserPasskeyRegistration201, gn as SubmitFlowStepBody, gt as GetEnvironmentByNameParams, hn as SubmitFlowStep200, ht as GetEnvironmentByName200, in as QueryProjects200, it as CreateUserParams, j as CreateFlow201StepFieldsItem, jt as GetSchemaById200, k as CreateFlow201StepActionsItem, kt as GetReleaseById200, ln as QueryTeams200, lt as FinishUserPasskeyRegistration201, mn as SetUserPasswordBody, mt as GetClaimStatusParams, nn as PatchProject200, nt as CreateUser201, on as QuerySessions200, ot as ExchangeHandoff200, pn as QueryUsersBody, pt as GetClaimStatus200, q as CreateReleaseParams, qt as ListFlowDefinitionsParams, rn as PatchProjectBody, rt as CreateUserBody, sn as QuerySessionsBody, st as ExchangeHandoffBody, tn as ListUserTeamsParams, tt as CreateTeamParams, un as QueryTeamsBody, ut as FinishUserPasskeyRegistrationBody, v as CompleteClaim200, vn as UpdateFlowDefinitionBody, vt as GetEventParams, w as CreateBrandingParams, wt as GetLiveDefault, x as CreateAuthAttemptBody, xn as VerifyChallengeProof200, xt as GetGrant200, y as CompleteClaimBody, yn as UpdateTeam200, yt as GetFlowDefinition200, z as CreateGrantBody, zt as IssueChallengeBody } from "./index-Dx8rvpNs.mjs";
1
+ import { $ as CreateRelease200, $n as UpdateVariables200, $t as GetVariable200, A as CreateFlow201BrandingThemeLight, An as PatchUserByID200, At as GetEventParams, B as CreateFlowBodyPurpose, Bn as QuerySessions200, Bt as GetLiveDefault, C as CreateBrandingBody, Cn as ListUserPasskeysParams, Ct as GetClaimStatus200, D as CreateFlow201BrandingLayout, Dn as PatchMyUserBody, Dt as GetEnvironmentByName200, E as CreateFlow201Branding, En as PatchMyUser200, Et as GetClaimWindowParams, F as CreateFlow201StepChallenge, Fn as QueryIdps200, Ft as GetHealthDefault, G as CreateGrantParams, Gn as QueryTeamsParams, Gt as GetReleaseById200, H as CreateFlowDefinitionBody, Hn as QuerySessionsParams, Ht as GetMyUser200, I as CreateFlow201StepFieldsItem, In as QueryIdpsBody, It as GetIdpById200, J as CreateIdp201, Jn as SetUserPasswordBody, Jt as GetSchemaByIdParams, K as CreateHandoff200, Kn as QueryUsers200, Kt as GetReleaseByIdParams, L as CreateFlow201StepGates, Ln as QueryIdpsParams, Lt as GetIdpByIdParams, M as CreateFlow201BrandingTypography, Mn as QueryGrants200, Mt as GetFlowStep200, N as CreateFlow201Step, Nn as QueryGrantsBody, Nt as GetGrant200, O as CreateFlow201BrandingShape, On as PatchProject200, Ot as GetEnvironmentByNameParams, P as CreateFlow201StepActionsItem, Pn as QueryGrantsParams, Pt as GetGrantParams, Q as CreateProjectBody, Qn as UpdateTeamBody, Qt as GetUserByIDParams, R as CreateFlow201StepSsoProvidersItem, Rn as QueryProjects200, Rt as GetIdpRevisionById200, S as CreateBranding201, Sn as ListUserPasskeys200, St as GetBrandingById200, T as CreateFlow201, Tn as ListUserTeamsParams, Tt as GetClaimWindow200, U as CreateGrant201, Un as QueryTeams200, Ut as GetProject200, V as CreateFlowDefinition201, Vn as QuerySessionsBody, Vt as GetMySession200, W as CreateGrantBody, Wn as QueryTeamsBody, Wt as GetReadyDefault, X as CreateIdpParams, Xn as SubmitFlowStepBody, Xt as GetTeam200, Y as CreateIdpBody, Yn as SubmitFlowStep200, Yt as GetSession200, Z as CreateProject201, Zn as UpdateTeam200, Zt as GetUserByID200, _ as BeginUserPasskeyRegistrationBody, _n as ListMyProjectsParams, _t as ExchangeHandoffBody, an as IssueChallengeBody, at as CreateSchemaParams, b as CreateAuthAttempt201, bn as ListSchemas200, bt as FinishUserPasskeyRegistrationBody, cn as ListEnvironments200, ct as CreateTeam201, dn as ListEventsParams, dt as CreateUser201, en as GetVariableParams, er as UpdateVariablesBody, et as CreateRelease201, fn as ListFlowDefinitions200, ft as CreateUserBody, g as BeginUserPasskeyRegistration201, gn as ListMyProjects200, gt as ExchangeHandoff200, hn as ListIdpRevisionsParams, ht as DeleteVariableParams, in as IssueChallenge201, it as CreateSchemaBody, j as CreateFlow201BrandingThemeLightPalette, jn as PatchUserByIDBody, jt as GetFlowDefinition200, k as CreateFlow201BrandingTheme, kn as PatchProjectBody, kt as GetEvent200, ln as ListEnvironmentsParams, lt as CreateTeamBody, mn as ListIdpRevisions200, mt as DeleteGrantParams, nn as GetVariablesParams, nr as VerifyChallengeProof200, nt as CreateReleaseParams, on as ListBranding200Item, ot as CreateSession201, pn as ListFlowDefinitionsParams, pt as CreateUserParams, q as CreateIdp200, qn as QueryUsersBody, qt as GetSchemaById200, rn as InitClaim201, rr as VerifyChallengeProofBody, rt as CreateSchema201, sn as ListBrandingParams, st as CreateSessionBody, tn as GetVariables200, tr as UpdateVariablesParams, tt as CreateReleaseBody, un as ListEvents200, ut as CreateTeamParams, v as CompleteClaim200, vn as ListReleases200, vt as ExchangeHandoffParams, w as CreateBrandingParams, wn as ListUserTeams200, wt as GetClaimStatusParams, x as CreateAuthAttemptBody, xn as ListSchemasParams, xt as GetAuthAttempt200, y as CompleteClaimBody, yn as ListReleasesParams, yt as FinishUserPasskeyRegistration201, z as CreateFlowBody, zn as QueryProjectsBody, zt as GetIdpRevisionByIdParams } from "./index-BRd9vg2q.mjs";
2
2
  import * as _$lit from "lit";
3
3
  import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, nothing } from "lit";
4
4
  import layoutChromeCss from "./templates/layout-chrome.css?inline";
5
5
 
6
- //#region ../api/dist/zitadelNextGen-C8m49W5h.d.mts
6
+ //#region ../api/dist/zitadelNextGen-DPyZep6V.d.mts
7
7
  //#region src/generated/endpoints/zitadelNextGen.d.ts
8
8
  declare namespace zitadelNextGen_d_exports {
9
- export { beginUserPasskeyRegistration, completeClaim, createAuthAttempt, createBranding, createFlow, createFlowDefinition, createGrant, createHandoff, createProject, createRelease, createSchema, createSession, createTeam, createUser, deleteFlowDefinition, deleteGrant, deleteTeam, deleteUserByID, exchangeHandoff, finishUserPasskeyRegistration, getAuthAttempt, getBeginUserPasskeyRegistrationUrl, getBrandingById, getClaimStatus, getCompleteClaimUrl, getCreateAuthAttemptUrl, getCreateBrandingUrl, getCreateFlowDefinitionUrl, getCreateFlowUrl, getCreateGrantUrl, getCreateHandoffUrl, getCreateProjectUrl, getCreateReleaseUrl, getCreateSchemaUrl, getCreateSessionUrl, getCreateTeamUrl, getCreateUserUrl, getDeleteFlowDefinitionUrl, getDeleteGrantUrl, getDeleteTeamUrl, getDeleteUserByIDUrl, getEnvironmentByName, getEvent, getExchangeHandoffUrl, getFinishUserPasskeyRegistrationUrl, getFlowDefinition, getFlowStep, getGetAuthAttemptUrl, getGetBrandingByIdUrl, getGetClaimStatusUrl, getGetEnvironmentByNameUrl, getGetEventUrl, getGetFlowDefinitionUrl, getGetFlowStepUrl, getGetGrantUrl, getGetHealthUrl, getGetLiveUrl, getGetMySessionUrl, getGetMyUserUrl, getGetProjectUrl, getGetReadyUrl, getGetReleaseByIdUrl, getGetSchemaByIdUrl, getGetSessionUrl, getGetTeamUrl, getGetUserByIDUrl, getGrant, getHealth, getInitClaimUrl, getIssueChallengeUrl, getListBrandingUrl, getListEnvironmentsUrl, getListEventsUrl, getListFlowDefinitionsUrl, getListReleasesUrl, getListSchemasUrl, getListUserPasskeysUrl, getListUserTeamsUrl, getLive, getMySession, getMyUser, getPatchProjectUrl, getProject, getQueryProjectsUrl, getQuerySessionsUrl, getQueryTeamsUrl, getQueryUsersUrl, getReady, getReleaseById, getRevokeMySessionUrl, getRevokeSessionUrl, getSchemaById, getSession, getSetUserPasswordUrl, getSubmitFlowStepUrl, getTeam, getUpdateFlowDefinitionUrl, getUpdateTeamUrl, getUserByID, getVerifyChallengeProofUrl, initClaim, issueChallenge, listBranding, listEnvironments, listEvents, listFlowDefinitions, listReleases, listSchemas, listUserPasskeys, listUserTeams, patchProject, queryProjects, querySessions, queryTeams, queryUsers, revokeMySession, revokeSession, setUserPassword, submitFlowStep, updateFlowDefinition, updateTeam, verifyChallengeProof };
9
+ export { beginUserPasskeyRegistration, completeClaim, createAuthAttempt, createBranding, createFlow, createFlowDefinition, createGrant, createHandoff, createIdp, createProject, createRelease, createSchema, createSession, createTeam, createUser, deleteGrant, deleteTeam, deleteUserByID, deleteVariable, exchangeHandoff, finishUserPasskeyRegistration, getAuthAttempt, getBeginUserPasskeyRegistrationUrl, getBrandingById, getClaimStatus, getClaimWindow, getCompleteClaimUrl, getCreateAuthAttemptUrl, getCreateBrandingUrl, getCreateFlowDefinitionUrl, getCreateFlowUrl, getCreateGrantUrl, getCreateHandoffUrl, getCreateIdpUrl, getCreateProjectUrl, getCreateReleaseUrl, getCreateSchemaUrl, getCreateSessionUrl, getCreateTeamUrl, getCreateUserUrl, getDeleteGrantUrl, getDeleteTeamUrl, getDeleteUserByIDUrl, getDeleteVariableUrl, getEnvironmentByName, getEvent, getExchangeHandoffUrl, getFinishUserPasskeyRegistrationUrl, getFlowDefinition, getFlowStep, getGetAuthAttemptUrl, getGetBrandingByIdUrl, getGetClaimStatusUrl, getGetClaimWindowUrl, getGetEnvironmentByNameUrl, getGetEventUrl, getGetFlowDefinitionUrl, getGetFlowStepUrl, getGetGrantUrl, getGetHealthUrl, getGetIdpByIdUrl, getGetIdpRevisionByIdUrl, getGetLiveUrl, getGetMySessionUrl, getGetMyUserUrl, getGetProjectUrl, getGetReadyUrl, getGetReleaseByIdUrl, getGetSchemaByIdUrl, getGetSessionUrl, getGetTeamUrl, getGetUserByIDUrl, getGetVariableUrl, getGetVariablesUrl, getGrant, getHealth, getIdpById, getIdpRevisionById, getInitClaimUrl, getIssueChallengeUrl, getListBrandingUrl, getListEnvironmentsUrl, getListEventsUrl, getListFlowDefinitionsUrl, getListIdpRevisionsUrl, getListMyProjectsUrl, getListReleasesUrl, getListSchemasUrl, getListUserPasskeysUrl, getListUserTeamsUrl, getLive, getMySession, getMyUser, getPatchMyUserUrl, getPatchProjectUrl, getPatchUserByIDUrl, getProject, getQueryGrantsUrl, getQueryIdpsUrl, getQueryProjectsUrl, getQuerySessionsUrl, getQueryTeamsUrl, getQueryUsersUrl, getReady, getReleaseById, getRevokeMySessionUrl, getRevokeSessionUrl, getSchemaById, getSession, getSetUserPasswordUrl, getSubmitFlowStepUrl, getTeam, getUpdateTeamUrl, getUpdateVariablesUrl, getUserByID, getVariable, getVariables, getVerifyChallengeProofUrl, initClaim, issueChallenge, listBranding, listEnvironments, listEvents, listFlowDefinitions, listIdpRevisions, listMyProjects, listReleases, listSchemas, listUserPasskeys, listUserTeams, patchMyUser, patchProject, patchUserByID, queryGrants, queryIdps, queryProjects, querySessions, queryTeams, queryUsers, revokeMySession, revokeSession, setUserPassword, submitFlowStep, updateTeam, updateVariables, verifyChallengeProof };
10
10
  }
11
11
  declare const getGetHealthUrl: () => string;
12
12
  /**
@@ -35,9 +35,14 @@ declare const getQueryUsersUrl: () => string;
35
35
  /**
36
36
  * Returns the users of a project, paginated with a cursor.
37
37
 
38
- The project comes from the credential, not from a parameter: the operation
39
- is bound to the token's own project by construction. This is why it takes
40
- no `project_id`, unlike the other query endpoints.
38
+ The project comes from the credential, not from a parameter: the
39
+ operation is bound to the credential's home project by construction
40
+ (oauth2 secret or user-bound session). This is why it takes no
41
+ `project_id`, unlike the other query endpoints.
42
+
43
+ Accepts either a project secret (`oauth2`) or a user-bound Console
44
+ session cookie (`nextgenSession`). CSRF/Origin for cookie mutations
45
+ is a follow-up (#1140).
41
46
 
42
47
  * @summary Query users
43
48
  */
@@ -47,6 +52,16 @@ declare const getGetUserByIDUrl: (userId: string, params?: GetUserByIDParams) =>
47
52
  * @summary Get user by ID
48
53
  */
49
54
  declare const getUserByID: (userId: string, params?: GetUserByIDParams, options?: RequestInit) => Promise<GetUserByID200>;
55
+ declare const getPatchUserByIDUrl: (userId: string) => string;
56
+ /**
57
+ * Partially updates a user's schema-defined attributes, and optionally
58
+ moves the user to another registered schema. The merged result is
59
+ validated against the schema before commit. Concurrent writes are
60
+ last-write-wins.
61
+
62
+ * @summary Update user by ID
63
+ */
64
+ declare const patchUserByID: (userId: string, patchUserByIDBody: PatchUserByIDBody, options?: RequestInit) => Promise<PatchUserByID200>;
50
65
  declare const getDeleteUserByIDUrl: (userId: string) => string;
51
66
  /**
52
67
  * @summary Delete user by ID
@@ -103,6 +118,28 @@ declare const getGetMyUserUrl: () => string;
103
118
  * @summary Get my user information
104
119
  */
105
120
  declare const getMyUser: (options?: RequestInit) => Promise<GetMyUser200>;
121
+ declare const getPatchMyUserUrl: () => string;
122
+ /**
123
+ * Partially updates the caller's own schema-defined attributes. The merged
124
+ result is validated against the user's schema before commit. Concurrent
125
+ writes are last-write-wins.
126
+
127
+ * @summary Update my user information
128
+ */
129
+ declare const patchMyUser: (patchMyUserBody: PatchMyUserBody, options?: RequestInit) => Promise<PatchMyUser200>;
130
+ declare const getListMyProjectsUrl: (params?: ListMyProjectsParams) => string;
131
+ /**
132
+ * The projects the signed-in user holds an active grant on, either directly or
133
+ through a team they are a member of. Ordered by project id and paged with an
134
+ opaque cursor.
135
+
136
+ This is not the same question as `queryProjects`, which answers with the one
137
+ project the calling credential is bound to. Here the session is the caller
138
+ and the grants are the answer, so the list spans projects.
139
+
140
+ * @summary List the projects I can act on
141
+ */
142
+ declare const listMyProjects: (params?: ListMyProjectsParams, options?: RequestInit) => Promise<ListMyProjects200>;
106
143
  declare const getCreateFlowUrl: () => string;
107
144
  /**
108
145
  * Resolves a flow definition based on purpose + audience context and returns
@@ -271,7 +308,11 @@ declare const getGetClaimStatusUrl: (projectId: string, params: GetClaimStatusPa
271
308
  * Polled by the CLI while a browser completes the claim. Authorized by the
272
309
  project secret that initiated the challenge. Returns `pending`, or
273
310
  `completed` with the owning team, the claim timestamp, and the dashboard
274
- URL once the browser leg has finished.
311
+ URL once the project is claimed. The claim grant, not the polled
312
+ challenge, is the source of truth: a project claimed through another
313
+ concurrent challenge also reports `completed`, and a completed claim
314
+ keeps reporting `completed` past this challenge's expiry and past the
315
+ project's claim window.
275
316
 
276
317
  * @summary Get claim status
277
318
  */
@@ -286,6 +327,18 @@ its single-use, browser-safe authorization.
286
327
  * @summary Complete a project claim
287
328
  */
288
329
  declare const completeClaim: (projectId: string, completeClaimBody: CompleteClaimBody, options?: RequestInit) => Promise<CompleteClaim200>;
330
+ declare const getGetClaimWindowUrl: (projectId: string, params: GetClaimWindowParams) => string;
331
+ /**
332
+ * Read by the claim page in the browser to show how long is left to claim the
333
+ project. Unauthenticated by design: the claim page runs this before the
334
+ developer has signed in, and holding the `challenge_id` from the claim URL
335
+ is the authorization — the same capability `claim/complete` accepts. It
336
+ reveals only the window, never the project itself, and unlike
337
+ `claim/complete` it spends nothing, so a reload is free.
338
+
339
+ * @summary Get the claim window for a project
340
+ */
341
+ declare const getClaimWindow: (projectId: string, params: GetClaimWindowParams, options?: RequestInit) => Promise<GetClaimWindow200>;
289
342
  declare const getCreateSessionUrl: () => string;
290
343
  /**
291
344
  * Creates an anonymous session shell with no user and no factors (`state: building`).
@@ -430,19 +483,25 @@ object type, list with `revisions=latest`.
430
483
  declare const getSchemaById: (id: string, params?: GetSchemaByIdParams, options?: RequestInit) => Promise<GetSchemaById200>;
431
484
  declare const getCreateFlowDefinitionUrl: () => string;
432
485
  /**
433
- * Creates a new flow definition.
486
+ * Publishes a new flow definition revision.
434
487
  Flow definitions are templates that define the sequence of steps (capabilities)
435
488
  for a particular user journey (e.g., registration, login, password reset).
436
489
 
437
490
  Flow definitions are created based on the flow definition schema, which includes the flow's purpose, audience, and the steps involved.
438
491
 
492
+ Every call allocates a new opaque id. Revisions of one flow share its
493
+ `name`; posting a definition under an existing `name` publishes a new
494
+ revision of that flow, it is not a conflict. List with `name` to see a
495
+ flow's revisions, newest by creation time first.
496
+
439
497
  * @summary Create a new flow definition
440
498
  */
441
499
  declare const createFlowDefinition: (createFlowDefinitionBody: CreateFlowDefinitionBody, options?: RequestInit) => Promise<CreateFlowDefinition201>;
442
500
  declare const getListFlowDefinitionsUrl: (params: ListFlowDefinitionsParams) => string;
443
501
  /**
444
- * Retrieves a list of all flow definitions.
502
+ * Retrieves a list of all flow definitions, newest by creation time first.
445
503
  This endpoint can be used to view existing flow definitions and their configurations.
504
+ Filter by `name` to list the revisions of one flow.
446
505
 
447
506
  * @summary List flow definitions
448
507
  */
@@ -453,23 +512,6 @@ declare const getGetFlowDefinitionUrl: (id: string) => string;
453
512
  * @summary Get a flow definition by id
454
513
  */
455
514
  declare const getFlowDefinition: (id: string, options?: RequestInit) => Promise<GetFlowDefinition200>;
456
- declare const getUpdateFlowDefinitionUrl: (id: string) => string;
457
- /**
458
- * Update a flow definition by id. This endpoint replaces the existing flow definition.
459
- If `flow_definition.status` is omitted, the current status is preserved
460
-
461
- * @summary Update a flow definition by id
462
- */
463
- declare const updateFlowDefinition: (id: string, updateFlowDefinitionBody: UpdateFlowDefinitionBody, options?: RequestInit) => Promise<UpdateFlowDefinition200>;
464
- declare const getDeleteFlowDefinitionUrl: (id: string) => string;
465
- /**
466
- * Delete a flow definition by id.
467
- If the flow definition is currently being used by a flow, the deletion will fail.
468
- If the flow definition is the last active flow definition for a given purpose, the deletion will fail to prevent disruption of new flows being started for that purpose.
469
-
470
- * @summary Delete a flow definition by id
471
- */
472
- declare const deleteFlowDefinition: (id: string, options?: RequestInit) => Promise<void>;
473
515
  declare const getCreateTeamUrl: (params: CreateTeamParams) => string;
474
516
  /**
475
517
  * @summary Create team
@@ -500,6 +542,11 @@ users whose lifecycle it owns are deactivated with it.
500
542
  The request is idempotent. Deleting a team that is already deactivated
501
543
  or doesn't exist succeeds without changing anything.
502
544
 
545
+ A team that still owns a project is refused with `409
546
+ team.owns_project`: deactivating it would leave the project owned by a
547
+ dead team and so unmanageable. No endpoint releases that ownership yet,
548
+ so such a team cannot currently be deactivated through the API.
549
+
503
550
  * @summary Delete team
504
551
  */
505
552
  declare const deleteTeam: (teamId: string, options?: RequestInit) => Promise<void>;
@@ -531,8 +578,7 @@ declare const getCreateBrandingUrl: (params: CreateBrandingParams) => string;
531
578
  /**
532
579
  * Publishes a new immutable branding revision for the project. Branding
533
580
  revisions cannot be updated or deleted; every edit publishes a new
534
- revision, and flow responses resolve the latest revision per project
535
- (see ADR 040).
581
+ revision, and flow responses resolve the latest revision per project.
536
582
 
537
583
  The `liquid_template` is validated lexically on save (size, encoding,
538
584
  banned patterns such as `<script>` tags, inline event handlers, and the
@@ -546,9 +592,9 @@ declare const getListBrandingUrl: (params: ListBrandingParams) => string;
546
592
  /**
547
593
  * Lists branding revisions for the project, newest first, capped at the
548
594
  100 most recent. The first entry is the revision flow responses
549
- currently resolve. Deliberately unpaginated in v1 — list endpoints
550
- gain a real query mechanism together (ADR 031); advertising pagination
551
- parameters the server ignores would be worse than none.
595
+ currently resolve. Deliberately unpaginated in v1 — list endpoints gain a
596
+ real query mechanism together; advertising pagination parameters the
597
+ server ignores would be worse than none.
552
598
 
553
599
  * @summary List branding revisions
554
600
  */
@@ -559,6 +605,72 @@ declare const getGetBrandingByIdUrl: (id: string) => string;
559
605
  * @summary Get a branding revision by ID
560
606
  */
561
607
  declare const getBrandingById: (id: string, options?: RequestInit) => Promise<GetBrandingById200>;
608
+ declare const getCreateIdpUrl: (params: CreateIdpParams) => string;
609
+ /**
610
+ * Creates or revises a connection document. If the slug does not already
611
+ exist, a new connection is created. If a connection with that slug already
612
+ exists, a revision is created.
613
+
614
+ A revision gets a new `revision_id` and does not modify the connection
615
+ `id`, so identity links that reference the connection keep resolving while
616
+ releases and auth attempts stay pinned to the revision they captured.
617
+
618
+ Identity fields are fixed for the life of the connection and a revision
619
+ that changes one is rejected: `protocol`, `subject_claim`, and the
620
+ endpoints that name the authority (`issuer` for OIDC, `token_endpoint`
621
+ and `userinfo_endpoint` for OAuth 2.0). Their values decide which provider
622
+ account a stored subject belongs to, so changing one would silently
623
+ repoint existing identities at a different provider.
624
+
625
+ `subject_claim` is optional for OIDC and required for OAuth 2.0. For an
626
+ OIDC connection, `sub` is used as the default value. If a revision updates
627
+ `subject_claim` to a different value than the one set during creation, the
628
+ request is rejected.
629
+
630
+ The document is validated against the `idp-connection.json` schema before
631
+ anything is stored.
632
+
633
+ * @summary Create or revise an identity provider connection
634
+ */
635
+ declare const createIdp: (createIdpBody: CreateIdpBody, params: CreateIdpParams, options?: RequestInit) => Promise<CreateIdp200 | CreateIdp201>;
636
+ declare const getQueryIdpsUrl: (params: QueryIdpsParams) => string;
637
+ /**
638
+ * Returns the identity provider connections of a project, paginated with a
639
+ cursor. One row per connection, carrying its newest revision.
640
+
641
+ * @summary Query identity provider connections
642
+ */
643
+ declare const queryIdps: (queryIdpsBody: QueryIdpsBody, params: QueryIdpsParams, options?: RequestInit) => Promise<QueryIdps200>;
644
+ declare const getGetIdpByIdUrl: (id: string, params: GetIdpByIdParams) => string;
645
+ /**
646
+ * Reads a connection by its id, at its newest revision.
647
+ `GET /idps/{id}/revisions` lists every revision of the connection.
648
+
649
+ The lookup is scoped to the project in `project_id`.
650
+
651
+ * @summary Get an identity provider connection by id
652
+ */
653
+ declare const getIdpById: (id: string, params: GetIdpByIdParams, options?: RequestInit) => Promise<GetIdpById200>;
654
+ declare const getListIdpRevisionsUrl: (id: string, params: ListIdpRevisionsParams) => string;
655
+ /**
656
+ * Returns every revision of one connection, newest first, paginated with a
657
+ cursor. The order is fixed, so there is no `sorting`.
658
+
659
+ The lookup is scoped to the project in `project_id`.
660
+
661
+ * @summary List the revisions of an identity provider connection
662
+ */
663
+ declare const listIdpRevisions: (id: string, params: ListIdpRevisionsParams, options?: RequestInit) => Promise<ListIdpRevisions200>;
664
+ declare const getGetIdpRevisionByIdUrl: (revisionId: string, params: GetIdpRevisionByIdParams) => string;
665
+ /**
666
+ * Reads one revision of a connection by its `revision_id`, the value an auth
667
+ attempt or a release pins.
668
+
669
+ The lookup is scoped to the project in `project_id`.
670
+
671
+ * @summary Get one revision of an identity provider connection
672
+ */
673
+ declare const getIdpRevisionById: (revisionId: string, params: GetIdpRevisionByIdParams, options?: RequestInit) => Promise<GetIdpRevisionById200>;
562
674
  declare const getCreateReleaseUrl: (params: CreateReleaseParams) => string;
563
675
  /**
564
676
  * Bundles a release from revisions that already exist, supplied as
@@ -610,14 +722,49 @@ declare const getCreateGrantUrl: (params: CreateGrantParams) => string;
610
722
  /**
611
723
  * Bind a user or team to `project.viewer`, `project.editor`, or
612
724
  `project.admin` on the project identified by the `project-id` header.
613
- IDs are `asgn_<opaque>`. Owning-team (`project.team`) grants are not
614
- created here — claim owns that path. An unrevoked grant with the same
615
- principal and relation occupies the unique key even after `expires_at`;
616
- DELETE it before re-creating.
725
+ Name the principal with `user` (`user_id` or `identifier`) or `team`
726
+ (`team_id` or `name`). IDs are `asgn_<opaque>`. Owning-team
727
+ (`project.team`) grants are not created here — claim owns that path. An
728
+ unrevoked grant with the same principal and relation occupies the unique
729
+ key even after `expires_at`; DELETE it before re-creating.
730
+ Create does not accept `expand`. The `user_id` and team locators
731
+ return 201, whose `user` / `team` carry only `user_id` / `team_id`,
732
+ and still 404 / 409 when the principal is missing or the tuple
733
+ already exists. Creating by `user.identifier` answers 202 with no
734
+ body on every outcome. Granting the session caller's own user is
735
+ `grant.invalid` on either user locator. Read the grant back for
736
+ identifier and display.
737
+
738
+ Accepts either a project secret (`oauth2`) or a user-bound Console
739
+ session cookie (`nextgenSession`). Session callers are authorized as
740
+ the human against the target project (home may differ). CSRF/Origin
741
+ for cookie mutations is a follow-up (#1140).
617
742
 
618
743
  * @summary Create grant
619
744
  */
620
- declare const createGrant: (createGrantBody: CreateGrantBody, params: CreateGrantParams, options?: RequestInit) => Promise<CreateGrant201>;
745
+ declare const createGrant: (createGrantBody: CreateGrantBody, params: CreateGrantParams, options?: RequestInit) => Promise<CreateGrant201 | void>;
746
+ declare const getQueryGrantsUrl: (params: QueryGrantsParams) => string;
747
+ /**
748
+ * Returns the collaboration grants of a project, paginated with a cursor.
749
+ Only unrevoked grants this API manages are listed (user or team bound to
750
+ viewer, editor, or admin), including expired grants so a client can
751
+ DELETE before re-granting. Project-secret setup (`sk_proj`) and
752
+ owning-team (`relation=team`) rows are not returned. Grants are not in
753
+ `resource_scope_index`; project scope is required on the query (same as
754
+ get). Requires `project.read`. `expand: ["principal"]` adds envelope
755
+ fields on `user` / `team` and additionally requires `user.read` and
756
+ `team.read` for project secrets (documented on the expand enum; those
757
+ scopes cannot be ANDed onto this security block because they are
758
+ body-conditional). A user-bound Console session that already passed
759
+ the project Check may expand without those scopes.
760
+
761
+ Accepts either a project secret (`oauth2`) or a user-bound Console
762
+ session cookie (`nextgenSession`). CSRF/Origin for cookie mutations
763
+ is a follow-up (#1140).
764
+
765
+ * @summary Query grants
766
+ */
767
+ declare const queryGrants: (queryGrantsBody: QueryGrantsBody, params: QueryGrantsParams, options?: RequestInit) => Promise<QueryGrants200>;
621
768
  declare const getGetGrantUrl: (id: string, params: GetGrantParams) => string;
622
769
  /**
623
770
  * Loads a grant by `(project_id, id)` that this API manages (user or team
@@ -628,6 +775,14 @@ still ignores expired grants. Grants are not registered in
628
775
  `resource_scope_index`; project scope is required on the query (same as
629
776
  events). Misses, revoked rows, project-secret setup (`sk_proj`),
630
777
  owning-team (`relation=team`) rows, and cross-project ids return 404.
778
+ `expand=principal` adds envelope fields on `user` or `team` and requires
779
+ `user.read` and `team.read` in addition to `project.read` for project
780
+ secrets. A user-bound Console session that already passed the project
781
+ Check may expand without those scopes.
782
+
783
+ Accepts either a project secret (`oauth2`) or a user-bound Console
784
+ session cookie (`nextgenSession`). CSRF/Origin for cookie mutations
785
+ is a follow-up (#1140).
631
786
 
632
787
  * @summary Get grant
633
788
  */
@@ -639,6 +794,10 @@ Already-revoked, missing, project-secret setup, and owning-team grants
639
794
  return 404. The row is not un-revoked. Expired grants can still be
640
795
  revoked so the unique binding can be reused.
641
796
 
797
+ Accepts either a project secret (`oauth2`) or a user-bound Console
798
+ session cookie (`nextgenSession`). CSRF/Origin for cookie mutations
799
+ is a follow-up (#1140).
800
+
642
801
  * @summary Revoke grant
643
802
  */
644
803
  declare const deleteGrant: (id: string, params: DeleteGrantParams, options?: RequestInit) => Promise<void>;
@@ -669,7 +828,70 @@ Pre-claim projects return 404 (stored events stay invisible until claim).
669
828
 
670
829
  * @summary Get event by ID
671
830
  */
672
- declare const getEvent: (id: string, params: GetEventParams, options?: RequestInit) => Promise<GetEvent200>; //#endregion
831
+ declare const getEvent: (id: string, params: GetEventParams, options?: RequestInit) => Promise<GetEvent200>;
832
+ declare const getGetVariablesUrl: (params: GetVariablesParams) => string;
833
+ /**
834
+ * Returns the variables entered at the owner this request addresses, keyed by
835
+ name — one environment of the project with `environment_name`, the project
836
+ level itself without it.
837
+
838
+ Owners are separate, not a ladder: an environment does not inherit the
839
+ project's variables and the project does not see its environments'. Reading
840
+ everything a project holds therefore means reading each owner in turn.
841
+
842
+ Secret values are not returned. A secret appears as `{"secret": true}`,
843
+ which says a value is held without disclosing it.
844
+
845
+ * @summary Get variables
846
+ */
847
+ declare const getVariables: (params: GetVariablesParams, options?: RequestInit) => Promise<GetVariables200>;
848
+ declare const getUpdateVariablesUrl: (params: UpdateVariablesParams) => string;
849
+ /**
850
+ * Enters, replaces and removes variables at the owner this request
851
+ addresses.
852
+
853
+ Every name in the body is applied at exactly that owner — the project, or
854
+ the environment named by `environment_name` — and reaches no other. Names
855
+ not in the body are untouched.
856
+
857
+ A bare scalar enters a non-secret value. `{"value": …, "secret": true}`
858
+ stores the value encrypted under the project's active `secret` key, after
859
+ which it can be referenced but not read back. `null` removes the name from
860
+ this owner (RFC 7386), which is how several variables are removed in one
861
+ request; removing a name this owner does not hold is a no-op rather than an
862
+ error.
863
+
864
+ The body is applied whole or not at all, so a rejected request leaves the
865
+ owner exactly as it was. Writing the same name and owner twice replaces the
866
+ value rather than duplicating it, which makes a retry safe.
867
+
868
+ * @summary Update variables
869
+ */
870
+ declare const updateVariables: (updateVariablesBody: UpdateVariablesBody, params: UpdateVariablesParams, options?: RequestInit) => Promise<UpdateVariables200>;
871
+ declare const getGetVariableUrl: (variableName: string, params: GetVariableParams) => string;
872
+ /**
873
+ * Reads one variable by name from the owner this request addresses — one
874
+ environment of the project with `environment_name`, the project level
875
+ itself without it.
876
+
877
+ A name that owner has not entered answers `var.not_found`, even when
878
+ another owner of the same project holds it: nothing is inherited. A secret
879
+ is found but not disclosed: the response is `{"secret": true}`.
880
+
881
+ * @summary Get a variable
882
+ */
883
+ declare const getVariable: (variableName: string, params: GetVariableParams, options?: RequestInit) => Promise<GetVariable200>;
884
+ declare const getDeleteVariableUrl: (variableName: string, params: DeleteVariableParams) => string;
885
+ /**
886
+ * Removes the variable this owner entered under this name.
887
+
888
+ A variable is deletable only by the owner that entered it. Deleting a name
889
+ another owner of the same project holds answers `var.not_found` and leaves
890
+ that owner's value standing.
891
+
892
+ * @summary Delete a variable
893
+ */
894
+ declare const deleteVariable: (variableName: string, params: DeleteVariableParams, options?: RequestInit) => Promise<void>; //#endregion
673
895
  //#endregion
674
896
  //#region ../api/dist/runtime/api-factory.d.mts
675
897
  //#region src/runtime/api-factory.d.ts
@@ -741,63 +963,40 @@ declare const builtinLocales: Readonly<Record<string, Locale>>;
741
963
  //#endregion
742
964
  //#region src/orchestrator/branding.d.ts
743
965
  type FlowLayout = CreateFlow201BrandingLayout;
744
- type BrandingPalette = {
745
- primary?: string;
746
- on_primary?: string;
747
- background?: string;
748
- surface?: string;
749
- muted?: string;
750
- border?: string;
751
- text?: string;
752
- text_muted?: string;
753
- link?: string;
754
- success?: string;
755
- warning?: string;
756
- error?: string;
757
- };
758
- type BrandingTypography = {
759
- font_family?: string;
760
- /**
761
- * Display face for card titles and labels. Optional: without it a tenant's
762
- * `font_family` sets the headings too, which is the single-font look most
763
- * brands want. Naming it is how a brand keeps a separate display face.
764
- */
765
- font_family_heading?: string;
766
- font_family_mono?: string;
767
- scale?: number;
768
- };
769
- type BrandingShape = {
770
- radius?: "none" | "sm" | "md" | "lg" | "full";
771
- density?: "compact" | "regular" | "comfortable";
772
- };
773
- type BrandingTheme = {
774
- mode?: "light" | "dark" | "auto";
775
- dark?: {
776
- palette?: BrandingPalette;
777
- };
778
- };
779
- type BrandingAssets = {
780
- logo_dark?: string;
781
- favicon?: string;
782
- background_image?: string;
783
- };
966
+ type BrandingPalette = CreateFlow201BrandingThemeLightPalette;
784
967
  /**
785
- * Wire shape (`CreateFlow201Branding`) plus the v2 client-only extension.
786
- * Structurally a superset, so any `CreateFlow201Branding` payload from the
787
- * wire is assignable to `Branding` without a cast.
968
+ * One complete surface. Light and dark carry the same fields and neither
969
+ * inherits from the other, so the two sides share one type.
970
+ */
971
+ type BrandingThemeSide = CreateFlow201BrandingThemeLight;
972
+ type BrandingTheme = CreateFlow201BrandingTheme;
973
+ type BrandingTypography = CreateFlow201BrandingTypography;
974
+ type BrandingShape = CreateFlow201BrandingShape;
975
+ /** The published sides a revision offers, in the order the surface prefers them. */
976
+ type PublishedSides = readonly ResolvableSide[];
977
+ type ResolvableSide = "light" | "dark";
978
+ /**
979
+ * Which sides the revision actually publishes. A side is published when the
980
+ * revision names it at all — an empty side object still says "this surface is
981
+ * mine", it just takes the maintained defaults for every key.
982
+ */
983
+ declare function publishedSides(branding: Branding | undefined): PublishedSides;
984
+ /**
985
+ * The mark for the resolved surface. A logo is pixels and is never recoloured,
986
+ * so a side without its own file shows no mark rather than borrowing the other
987
+ * side's. The legacy top-level `logo_url` is a single-mark fallback and applies
988
+ * only when neither side names one.
989
+ */
990
+ declare function resolveLogoUrl(branding: Branding | undefined, theme: ResolvableSide): string | undefined;
991
+ /**
992
+ * Wire shape plus the embedding-owned attribution block.
788
993
  *
789
994
  * `attribution.show_zitadel` controls the "Secured with Zitadel" pill in
790
995
  * the orchestrator footer. Tenants set it to `false` only when they have a
791
996
  * licence that permits removing attribution (community / OSS deployments
792
- * always show it). The flag intentionally lives on `Branding` so it can
793
- * be overridden per-flow alongside the rest of the visual surface.
997
+ * always show it).
794
998
  */
795
999
  type Branding = CreateFlow201Branding & {
796
- palette?: BrandingPalette;
797
- typography?: BrandingTypography;
798
- shape?: BrandingShape;
799
- assets?: BrandingAssets;
800
- theme?: BrandingTheme;
801
1000
  attribution?: BrandingAttribution;
802
1001
  };
803
1002
  type BrandingAttribution = {
@@ -829,7 +1028,10 @@ declare class ThemeController implements ReactiveController {
829
1028
  * element nor the branding payload names a mode. Precedence, strongest
830
1029
  * first: element `theme` property → `branding.theme.mode` → fallback. The
831
1030
  * element wins because the page embedding the widget knows its own surface
832
- * better than the tenant's stored branding does.
1031
+ * better than the tenant's stored branding does — but it selects among the
1032
+ * sides the revision published, and cannot reach one it did not. A revision
1033
+ * with a single published side therefore ignores this property: an embedder
1034
+ * pinning `theme="light"` against a dark-only revision gets dark.
833
1035
  */
834
1036
  setModePreference(explicit: ThemeMode | undefined, fallback: ThemeMode): void;
835
1037
  hostConnected(): void;
@@ -1001,9 +1203,18 @@ declare class ZitadelLogin extends ZitadelSurface {
1001
1203
  private accessor response;
1002
1204
  private accessor branding;
1003
1205
  private accessor loading;
1206
+ /** Terminal step that navigates away, so its screen is never painted. */
1207
+ private accessor completing;
1004
1208
  private accessor startupError;
1005
1209
  private accessor formValues;
1006
1210
  private engine;
1211
+ /**
1212
+ * The theme the last commit rendered with. The template output carries the
1213
+ * resolved side's mark, so a theme change rewrites the string and
1214
+ * `unsafeHTML` rebuilds the form — which drops what the visitor had typed
1215
+ * unless it is put back.
1216
+ */
1217
+ private lastRenderedTheme;
1007
1218
  private readonly sanitise;
1008
1219
  /**
1009
1220
  * Cached compiled tenant template, keyed by source string. Re-rendering on
@@ -1068,6 +1279,12 @@ declare class ZitadelLogin extends ZitadelSurface {
1068
1279
  * swaps are user-initiated, so focus moves in both modes.
1069
1280
  */
1070
1281
  private hydrateStepAfterRender;
1282
+ /**
1283
+ * Put captured values back once the rebuilt subtree has rendered. Awaits the
1284
+ * child atoms' own first render before touching them, rather than guessing a
1285
+ * frame with `requestAnimationFrame`.
1286
+ */
1287
+ private restoreValuesAfterRender;
1071
1288
  render(): _$lit.TemplateResult<1>;
1072
1289
  /**
1073
1290
  * Inject the attribution badge into the rendered template's
@@ -1082,6 +1299,13 @@ declare class ZitadelLogin extends ZitadelSurface {
1082
1299
  * any tenant-supplied values (`custom_link`) are escaped via `escapeHtml`.
1083
1300
  */
1084
1301
  private injectAttribution;
1302
+ /**
1303
+ * The branding a template renders against, with `logo_url` already resolved
1304
+ * to the mark for the active side. Templates read one logo field and get the
1305
+ * right file per surface; the per-side URLs stay on `theme` for a template
1306
+ * that wants to reach them itself.
1307
+ */
1308
+ private brandingForTemplate;
1085
1309
  /**
1086
1310
  * "Secured with Zitadel" attribution chrome injected into every
1087
1311
  * template's page-shell footer slot. Controlled by
@@ -1378,7 +1602,7 @@ declare global {
1378
1602
  /**
1379
1603
  * `<zitadel-session>` — the "signed in" card.
1380
1604
  *
1381
- * Renders the post-sign-in confirmation surface (Figma `7355:8959`): a
1605
+ * Renders the post-sign-in confirmation surface: a
1382
1606
  * centred auth card reading "Signed in as {identity}" with a **Sign out**
1383
1607
  * action. Composed from the same `<zl-page-shell>` / `<zl-card>` /
1384
1608
  * `<zl-button>` atoms as the `<zitadel-login>` orchestrator, so it inherits
@@ -1470,15 +1694,20 @@ declare global {
1470
1694
  } //# sourceMappingURL=zitadel-session.d.ts.map
1471
1695
  //#endregion
1472
1696
  //#region src/orchestrator/branding-to-tokens.d.ts
1473
- type BrandingToTokensOptions = {
1474
- resolvedTheme?: ResolvedTheme;
1475
- };
1476
1697
  /**
1477
1698
  * Build a CSS string of `:host { --zl-* }` declarations from a Branding
1478
- * payload. Light values land on `:host`; dark overrides land on
1479
- * `:host([data-theme="dark"])`.
1699
+ * payload. Shape and typography are shared across the sides and land on the
1700
+ * shared selector; each side's palette lands only under its own `data-theme`
1701
+ * selector, and nowhere else.
1702
+ *
1703
+ * No copy of the resolved side goes on the shared selector. That copy would
1704
+ * reach `[data-theme="light"]` as well, so a key set on the dark side and not
1705
+ * the light one would paint on both, with nothing in the light block to
1706
+ * override it. Callers stamp `data-theme` on the host — `applySurfaceTheme`
1707
+ * does it in the same update that adopts this sheet — so the per-side block is
1708
+ * already matching by the time anything paints.
1480
1709
  */
1481
- declare function buildBrandingStylesheet(branding: Branding | undefined, options?: BrandingToTokensOptions): string;
1710
+ declare function buildBrandingStylesheet(branding: Branding | undefined): string;
1482
1711
  /**
1483
1712
  * Apply a branding payload as a `--zl-*` overrides layer on top of the base
1484
1713
  * token sheet. Subsequent calls replace the previous override sheet so a new
@@ -1487,7 +1716,7 @@ declare function buildBrandingStylesheet(branding: Branding | undefined, options
1487
1716
  * Callers should run `applyBaseTokens(shadowRoot)` first (once per shadow
1488
1717
  * root) so the base values exist before branding patches them.
1489
1718
  */
1490
- declare function applyBrandingTokens(shadowRoot: ShadowRoot, branding: Branding | undefined, resolvedTheme: ResolvedTheme): void;
1719
+ declare function applyBrandingTokens(shadowRoot: ShadowRoot, branding: Branding | undefined): void;
1491
1720
  /**
1492
1721
  * Standalone branding→theme resolution for callers outside the orchestrator
1493
1722
  * (SSR, tests, embedders composing atoms by hand). `<zitadel-login>` itself
@@ -1495,13 +1724,13 @@ declare function applyBrandingTokens(shadowRoot: ShadowRoot, branding: Branding
1495
1724
  * and a variant-derived fallback on top of the same branding input.
1496
1725
  *
1497
1726
  * Defaults to dark: the design system's primary surface, and the mode a
1498
- * hosted login page renders when a tenant states no preference.
1727
+ * hosted login page renders when a revision states no preference.
1499
1728
  */
1500
1729
  declare function resolveTheme(branding: Branding | undefined): ResolvedTheme;
1501
1730
  //#endregion
1502
1731
  //#region src/orchestrator/font-loader.d.ts
1503
1732
  /**
1504
- * Inject the tenant's `branding.font_url` stylesheet. Pass `null`/`undefined`
1733
+ * Inject the tenant's `branding.typography.font_url` stylesheet. Pass `null`/`undefined`
1505
1734
  * to withdraw this surface's registration (e.g. when a flow resolves with no
1506
1735
  * tenant font); the link disappears once no surface registers a URL.
1507
1736
  */
@@ -1595,5 +1824,5 @@ type LiquidContext = {
1595
1824
  loading: boolean;
1596
1825
  };
1597
1826
  //#endregion
1598
- export { BrandingPalette as A, en as B, ZitadelLogin as C, Branding as D, ThemeMode as E, builtinLocales as F, businessLocales as I, it as L, BrandingTheme as M, BrandingTypography as N, BrandingAssets as O, FlowLayout as P, de as R, ZitadelLogout as S, ThemeController as T, applyFontUrl as _, LiquidContext as a, resolveTheme as b, validateBranding as c, submitStep as d, createSanitiser as f, TEMPLATE_NAMES as g, patchMandatoryGates as h, FlowMessage as i, BrandingShape as j, BrandingAttribution as k, getCurrentStep as l, mandatoryGatesMarkerComment as m, FlowError as n, BrandingValidationContext as o, MANDATORY_GATES_MARKER as p, FlowIdentity as r, BrandingValidationResult as s, layoutChromeCss as t, startFlow as u, applyBrandingTokens as v, ResolvedTheme as w, ZitadelSession as x, buildBrandingStylesheet as y, Locale as z };
1599
- //# sourceMappingURL=index-DFdR16-D.d.mts.map
1827
+ export { BrandingShape as A, businessLocales as B, ZitadelLogin as C, Branding as D, ThemeMode as E, PublishedSides as F, de as H, ResolvableSide as I, publishedSides as L, BrandingThemeSide as M, BrandingTypography as N, BrandingAttribution as O, FlowLayout as P, resolveLogoUrl as R, ZitadelLogout as S, ThemeController as T, Locale as U, it as V, en as W, applyFontUrl as _, LiquidContext as a, resolveTheme as b, validateBranding as c, submitStep as d, createSanitiser as f, TEMPLATE_NAMES as g, patchMandatoryGates as h, FlowMessage as i, BrandingTheme as j, BrandingPalette as k, getCurrentStep as l, mandatoryGatesMarkerComment as m, FlowError as n, BrandingValidationContext as o, MANDATORY_GATES_MARKER as p, FlowIdentity as r, BrandingValidationResult as s, layoutChromeCss as t, startFlow as u, applyBrandingTokens as v, ResolvedTheme as w, ZitadelSession as x, buildBrandingStylesheet as y, builtinLocales as z };
1828
+ //# sourceMappingURL=index-1PzVwdYA.d.mts.map