@zitadel/components 0.0.0 → 0.1.0-alpha.10

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 (119) hide show
  1. package/README.md +76 -55
  2. package/dist/atoms/index.d.mts +1 -1
  3. package/dist/atoms/index.mjs +1 -1
  4. package/dist/{atoms-CmOTltTH.mjs → atoms-BaayzEsr.mjs} +246 -93
  5. package/dist/atoms-BaayzEsr.mjs.map +1 -0
  6. package/dist/default-Cpl78hQN.mjs +6 -0
  7. package/dist/default-Cpl78hQN.mjs.map +1 -0
  8. package/dist/{index-7FDHEpv5.d.mts → index-DB_JTtln.d.mts} +104 -100
  9. package/dist/index-DB_JTtln.d.mts.map +1 -0
  10. package/dist/{index-DIUFZjXw.d.mts → index-DVDCrfkv.d.mts} +1550 -850
  11. package/dist/index-DVDCrfkv.d.mts.map +1 -0
  12. package/dist/{index-DaOSCm0T.d.mts → index-EJengPPu.d.mts} +1 -1
  13. package/dist/{index-DaOSCm0T.d.mts.map → index-EJengPPu.d.mts.map} +1 -1
  14. package/dist/index.d.mts +6 -5
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +5 -4
  17. package/dist/{manifest-DCC2FxCE.d.mts → manifest-DN5Al_Ur.d.mts} +1 -1
  18. package/dist/{manifest-DCC2FxCE.d.mts.map → manifest-DN5Al_Ur.d.mts.map} +1 -1
  19. package/dist/manifests.d.mts +1 -1
  20. package/dist/manifests.mjs +1 -1
  21. package/dist/orchestrator/index.d.mts +3 -2
  22. package/dist/orchestrator/index.mjs +3 -2
  23. package/dist/{orchestrator-CNKo2WQG.mjs → orchestrator-BEvS2wA_.mjs} +667 -641
  24. package/dist/orchestrator-BEvS2wA_.mjs.map +1 -0
  25. package/dist/standalone.mjs +12156 -0
  26. package/dist/tokens/index.d.mts +1 -1
  27. package/dist/tokens/index.mjs +1 -1
  28. package/dist/{tokens-TXmurodq.mjs → tokens-BQ_augxi.mjs} +2 -2
  29. package/dist/{tokens-TXmurodq.mjs.map → tokens-BQ_augxi.mjs.map} +1 -1
  30. package/package.json +9 -17
  31. package/dist/atoms/index.d.ts +0 -9
  32. package/dist/atoms/index.d.ts.map +0 -1
  33. package/dist/atoms/zl-alert.d.ts +0 -56
  34. package/dist/atoms/zl-alert.d.ts.map +0 -1
  35. package/dist/atoms/zl-button.d.ts +0 -83
  36. package/dist/atoms/zl-button.d.ts.map +0 -1
  37. package/dist/atoms/zl-card.d.ts +0 -46
  38. package/dist/atoms/zl-card.d.ts.map +0 -1
  39. package/dist/atoms/zl-field.d.ts +0 -73
  40. package/dist/atoms/zl-field.d.ts.map +0 -1
  41. package/dist/atoms/zl-icon.d.ts +0 -48
  42. package/dist/atoms/zl-icon.d.ts.map +0 -1
  43. package/dist/atoms/zl-page-shell.d.ts +0 -42
  44. package/dist/atoms/zl-page-shell.d.ts.map +0 -1
  45. package/dist/atoms/zl-passkey.d.ts +0 -118
  46. package/dist/atoms/zl-passkey.d.ts.map +0 -1
  47. package/dist/atoms/zl-pill.d.ts +0 -55
  48. package/dist/atoms/zl-pill.d.ts.map +0 -1
  49. package/dist/atoms-CmOTltTH.mjs.map +0 -1
  50. package/dist/index-7FDHEpv5.d.mts.map +0 -1
  51. package/dist/index-DIUFZjXw.d.mts.map +0 -1
  52. package/dist/index-bZEvwHtq.d.mts +0 -996
  53. package/dist/index-bZEvwHtq.d.mts.map +0 -1
  54. package/dist/index.d.ts +0 -16
  55. package/dist/index.d.ts.map +0 -1
  56. package/dist/internal/base64url.d.ts +0 -18
  57. package/dist/internal/base64url.d.ts.map +0 -1
  58. package/dist/internal/unique-id.d.ts +0 -2
  59. package/dist/internal/unique-id.d.ts.map +0 -1
  60. package/dist/manifest.d.ts +0 -36
  61. package/dist/manifest.d.ts.map +0 -1
  62. package/dist/manifests.d.ts +0 -6
  63. package/dist/manifests.d.ts.map +0 -1
  64. package/dist/orchestrator/api-client.d.ts +0 -33
  65. package/dist/orchestrator/api-client.d.ts.map +0 -1
  66. package/dist/orchestrator/branding-to-tokens.d.ts +0 -28
  67. package/dist/orchestrator/branding-to-tokens.d.ts.map +0 -1
  68. package/dist/orchestrator/branding-validator.d.ts +0 -7
  69. package/dist/orchestrator/branding-validator.d.ts.map +0 -1
  70. package/dist/orchestrator/branding.d.ts +0 -76
  71. package/dist/orchestrator/branding.d.ts.map +0 -1
  72. package/dist/orchestrator/font-loader.d.ts +0 -2
  73. package/dist/orchestrator/font-loader.d.ts.map +0 -1
  74. package/dist/orchestrator/index.d.ts +0 -25
  75. package/dist/orchestrator/index.d.ts.map +0 -1
  76. package/dist/orchestrator/liquid.d.ts +0 -28
  77. package/dist/orchestrator/liquid.d.ts.map +0 -1
  78. package/dist/orchestrator/locales/de.d.ts +0 -9
  79. package/dist/orchestrator/locales/de.d.ts.map +0 -1
  80. package/dist/orchestrator/locales/en.d.ts +0 -13
  81. package/dist/orchestrator/locales/en.d.ts.map +0 -1
  82. package/dist/orchestrator/locales/index.d.ts +0 -12
  83. package/dist/orchestrator/locales/index.d.ts.map +0 -1
  84. package/dist/orchestrator/mandatory-gates.d.ts +0 -26
  85. package/dist/orchestrator/mandatory-gates.d.ts.map +0 -1
  86. package/dist/orchestrator/sanitiser.d.ts +0 -6
  87. package/dist/orchestrator/sanitiser.d.ts.map +0 -1
  88. package/dist/orchestrator/template-context.d.ts +0 -55
  89. package/dist/orchestrator/template-context.d.ts.map +0 -1
  90. package/dist/orchestrator/template-names.d.ts +0 -16
  91. package/dist/orchestrator/template-names.d.ts.map +0 -1
  92. package/dist/orchestrator/templates/auth-form.liquid.d.ts +0 -14
  93. package/dist/orchestrator/templates/auth-form.liquid.d.ts.map +0 -1
  94. package/dist/orchestrator/templates/default.liquid.d.ts +0 -23
  95. package/dist/orchestrator/templates/default.liquid.d.ts.map +0 -1
  96. package/dist/orchestrator/templates/passkey-upsell.liquid.d.ts +0 -15
  97. package/dist/orchestrator/templates/passkey-upsell.liquid.d.ts.map +0 -1
  98. package/dist/orchestrator/templates/signed-in.liquid.d.ts +0 -20
  99. package/dist/orchestrator/templates/signed-in.liquid.d.ts.map +0 -1
  100. package/dist/orchestrator/theme-controller.d.ts +0 -30
  101. package/dist/orchestrator/theme-controller.d.ts.map +0 -1
  102. package/dist/orchestrator/zitadel-login.d.ts +0 -182
  103. package/dist/orchestrator/zitadel-login.d.ts.map +0 -1
  104. package/dist/orchestrator/zitadel-logout.d.ts +0 -86
  105. package/dist/orchestrator/zitadel-logout.d.ts.map +0 -1
  106. package/dist/orchestrator-CNKo2WQG.mjs.map +0 -1
  107. package/dist/styles/base.d.ts +0 -7
  108. package/dist/styles/base.d.ts.map +0 -1
  109. package/dist/styles/focus-ring.d.ts +0 -7
  110. package/dist/styles/focus-ring.d.ts.map +0 -1
  111. package/dist/styles/index.d.ts +0 -5
  112. package/dist/styles/index.d.ts.map +0 -1
  113. package/dist/styles/surface.d.ts +0 -8
  114. package/dist/styles/surface.d.ts.map +0 -1
  115. package/dist/styles/tokens.d.ts +0 -11
  116. package/dist/styles/tokens.d.ts.map +0 -1
  117. package/dist/tokens/index.d.ts +0 -9
  118. package/dist/tokens/index.d.ts.map +0 -1
  119. package/dist/tsconfig.lib.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -39,22 +39,24 @@ externalised so npm consumers dedupe with their own copies.
39
39
 
40
40
  ## Quickstart — drop on a page
41
41
 
42
- The 90% case: render the element, point the typed Flow API client at your
43
- backend, set a locale.
42
+ The 90% case: configure the SDK once, render the element, optionally set a
43
+ language. `<zitadel-login>` reads the global project handle from
44
+ `configureZitadel()` via `getZitadelConfig()` — no per-element wiring needed.
44
45
 
45
46
  ```html
46
- <script type="module" src="@zitadel/components"></script>
47
-
48
- <zitadel-login id="login" purpose="login" project-id="proj_123"></zitadel-login>
49
-
50
47
  <script type="module">
51
- import { setProxyPath } from '@zitadel/api/runtime/base-url';
48
+ import '@zitadel/components';
49
+ import { configureZitadel } from '@zitadel/api/config';
52
50
 
53
- setProxyPath('https://api.tenant.com');
51
+ // Write-once: sets the global project handle (and the proxy path the
52
+ // generated client uses). The element picks this up automatically.
53
+ configureZitadel({ projectId: 'proj_123', proxyPath: '/__nextgen' });
54
54
 
55
55
  const el = document.getElementById('login');
56
- el.locale = await fetch('/i18n/en.json').then((r) => r.json());
56
+ el.lang = 'en'; // optional; defaults to <html lang> / navigator.language
57
57
  </script>
58
+
59
+ <zitadel-login id="login" purpose="login"></zitadel-login>
58
60
  ```
59
61
 
60
62
  What `<zitadel-login>` handles for you:
@@ -75,22 +77,26 @@ What `<zitadel-login>` handles for you:
75
77
 
76
78
  Same element, lifted into JSX. Pass objects through `ref` rather than as
77
79
  attributes (web component properties are typed objects, not stringified
78
- attributes).
80
+ attributes). Either configure the SDK globally with `configureZitadel()` and
81
+ let the element read it, or assign the returned handle to `el.project`.
79
82
 
80
83
  ```tsx
81
84
  import '@zitadel/components';
82
- import { setProxyPath } from '@zitadel/api/runtime/base-url';
85
+ import { configureZitadel } from '@zitadel/api/config';
83
86
 
84
- setProxyPath(import.meta.env.VITE_ZITADEL_API_BASE);
87
+ const project = configureZitadel({
88
+ projectId: 'proj_123',
89
+ proxyPath: import.meta.env.VITE_ZITADEL_PROXY_PATH,
90
+ });
85
91
 
86
- export function Login({ locale }: Props) {
92
+ export function Login({ locales }: Props) {
87
93
  return (
88
94
  <zitadel-login
89
95
  purpose="login"
90
- project-id="proj_123"
91
96
  ref={(el) => {
92
97
  if (!el) return;
93
- el.locale = locale;
98
+ el.project = project;
99
+ el.locales = locales;
94
100
  }}
95
101
  />
96
102
  );
@@ -113,7 +119,7 @@ fixtures:
113
119
  [`dev/main.ts`](dev/main.ts) for a working setup. `applyBranding(...)`
114
120
  injects a tenant branding overlay merged into every response (presets
115
121
  include `font_url` for Inter).
116
- - **Framework demos (TCP server)** — `corepack pnpm nx start @zitadel/api-mock`
122
+ - **Framework demos (TCP server)** — `moon run api-mock:start`
117
123
  serves the same handlers on port 4000 with `defaultDevBranding` (Arimo
118
124
  `font_url`) applied at boot. See [`apps/demo-next`](../../apps/demo-next/README.md)
119
125
  and [`apps/demo-nuxt`](../../apps/demo-nuxt/README.md).
@@ -123,12 +129,12 @@ fixtures:
123
129
  Two places run the components against `@zitadel/api-mock`. They
124
130
  have different jobs — keep both:
125
131
 
126
- | Surface | Nx command | URLs | What it gives you |
132
+ | Surface | Moon command | URLs | What it gives you |
127
133
  | --- | --- | --- | --- |
128
- | **Lit playground** | `corepack pnpm nx dev @zitadel/components` | [login](http://localhost:5173/?route=login) · [atoms](http://localhost:5173/?route=atoms) | Component author surface: branding presets, event log, source TS from `src/`. MSW runs in the browser — no TCP mock server. |
129
- | **React console playground** | `corepack pnpm nx dev @zitadel/console` | [http://localhost:5174](http://localhost:5174) | `@zitadel/ui-react` atom matrices in the pre-release console shell. MSW in `import.meta.env.DEV`. Compare against Lit `:5173/?route=atoms` in a second tab. |
130
- | **demo-next** | `corepack pnpm nx start @zitadel/api-mock` + `ZITADEL_URL=http://localhost:4000 corepack pnpm nx dev @zitadel/demo-next` | [http://localhost:3002/login](http://localhost:3002/login) (mock on `:4000`) | Next.js SDK, middleware, cookies, built `dist/`. See [`apps/demo-next`](../../apps/demo-next/README.md). |
131
- | **demo-nuxt** | mock on `:4000`, then `ZITADEL_URL=http://localhost:4000 corepack pnpm nx dev @zitadel/demo-nuxt` | [http://localhost:3001/login](http://localhost:3001/login) | Nuxt SDK, middleware, cookies, built `dist/`. See [`apps/demo-nuxt`](../../apps/demo-nuxt/README.md). |
134
+ | **Lit playground** | `moon run components:dev` | [login](http://localhost:5173/?route=login) · [atoms](http://localhost:5173/?route=atoms) | Component author surface: branding presets, event log, source TS from `src/`. MSW runs in the browser — no TCP mock server. |
135
+ | **React console playground** | `moon run console:dev` | [http://localhost:5174](http://localhost:5174) | `@zitadel/ui-react` atom matrices in the pre-release console shell. MSW in `import.meta.env.DEV`. Compare against Lit `:5173/?route=atoms` in a second tab. |
136
+ | **demo-next** | `moon run api-mock:start` + `ZITADEL_URL=http://localhost:4000 moon run demo-next:dev` | [http://localhost:3002/login](http://localhost:3002/login) (mock on `:4000`) | Next.js SDK, middleware, cookies, built `dist/`. See [`apps/demo-next`](../../apps/demo-next/README.md). |
137
+ | **demo-nuxt** | mock on `:4000`, then `ZITADEL_URL=http://localhost:4000 moon run demo-nuxt:dev` | [http://localhost:3001/login](http://localhost:3001/login) | Nuxt SDK, middleware, cookies, built `dist/`. See [`apps/demo-nuxt`](../../apps/demo-nuxt/README.md). |
132
138
 
133
139
  The Lit dev playground iterates on `<zl-*>` source; the React console
134
140
  playground exercises `@zitadel/ui-react` in the internal shell.
@@ -138,7 +144,7 @@ it round-trips faster. For React pair tweaks, use `:5174`.
138
144
  **Stale Lit styles on `:5173`?** Atom `.ts` changes use
139
145
  `vite-plugin-web-components-hmr` (Lit HMR). Edits to `shared-component-styles`
140
146
  CSS alone trigger a full reload. If it still looks old, run
141
- `corepack pnpm nx dev:clean @zitadel/components` and hard-refresh.
147
+ `corepack pnpm --filter @zitadel/components run dev:clean` and hard-refresh.
142
148
  Console (`:5174`) will not pick up Lit-only edits until you rebuild or
143
149
  change the paired React/CSS path.
144
150
 
@@ -159,17 +165,33 @@ form-associated inputs.
159
165
 
160
166
  | Tier | Surface | Use when |
161
167
  | --- | --- | --- |
162
- | API base | `setProxyPath()` from `@zitadel/api/runtime/base-url` | every consumer — points at your backend |
168
+ | SDK config | `configureZitadel({ projectId, proxyPath })` from `@zitadel/api/config` | every consumer — sets the project + proxy path the element reads |
163
169
  | Tokens | branding payload returned from the server | tenant colour / logo / font |
164
170
  | CSS hooks | `zitadel-login::part(form)`, `zl-field::part(input)` | targeted overrides from the host page |
165
- | Locale | `el.locale = { ... }` | i18n / custom copy |
171
+ | Locale | `el.lang = 'de'` / `el.locales = { ... }` | i18n / custom copy |
166
172
  | MSW mocks | `setupWorker` / `setupServer` from `msw` | offline / staging / fixtures |
167
173
  | Custom template | (planned) | tenant-supplied Liquid layouts |
168
174
  | Atoms-only | hand-built form | non-standard flow shells |
169
175
 
170
- The "Custom template" surface is not yet exposed on `<zitadel-login>`; the
171
- orchestrator currently uses the bundled `auth_form.liquid`. Tracked as a
172
- follow-up.
176
+ For styling, start with the generated `--zl-*` variables from
177
+ `@zitadel/design-tokens`, then use host CSS on `zitadel-login { ... }` for page
178
+ placement and `::part(...)` hooks for targeted internals such as the form or
179
+ field input. The design-token package README is the canonical token catalogue;
180
+ the branding design notes explain the broader override ladder. The current
181
+ orchestrator is page-oriented: the host element can be constrained, but the
182
+ inner `.zl-mount` still claims `100vh`, so embedding it as a small inline card is
183
+ limited until the component follow-up relaxes that layout.
184
+
185
+ Automation can use the stable host and native shadow-root hooks that the default
186
+ template emits. Host atoms expose hooks such as `zitadel-field-email`,
187
+ `zitadel-field-password`, and `zitadel-action-submit`; their native shadow
188
+ controls expose hooks such as `zitadel-input-email`, `zitadel-input-password`,
189
+ and `zitadel-action-submit-button`.
190
+
191
+ A tenant Liquid template can already be supplied through the branding
192
+ payload's `liquid_template` field; a dedicated declarative `template`
193
+ surface on `<zitadel-login>` is not yet exposed. The orchestrator otherwise
194
+ renders the bundled `default.liquid`. Tracked as a follow-up.
173
195
 
174
196
  ## Element APIs
175
197
 
@@ -178,31 +200,29 @@ follow-up.
178
200
  | Property | Type | Notes |
179
201
  | --- | --- | --- |
180
202
  | `purpose` | `'login' \| 'register' \| 'reset_password' \| string` | Which flow purpose to drive |
181
- | `projectId` / `project-id` | `string` | Project / tenant id sent with `POST /flow` |
182
- | `apiBase` / `api-base` | `string` | Optional declarative override for `setProxyPath()` |
183
- | `sessionExchangePath` / `session-exchange-path` | `string` | Handoff exchange path (default `/sessions/exchange`, prefixed with `api-base`). Any other value is resolved from `location.origin` instead — use when exchange is rewritten separately (e.g. `/api/auth/exchange`) |
184
- | `postSignInUrl` / `post-sign-in-url` | `string` | After `complete: "show"`, exchange the `handoff_token` at the configured exchange path and navigate here |
203
+ | `project` | `ZitadelProject` | SDK handle from `configureZitadel()`. Object property (not an attribute). When unset, the element falls back to the global handle from `getZitadelConfig()` |
204
+ | `lang` | `string` | BCP 47 tag (e.g. `"de"`, `"en-US"`). Resolves to a built-in dictionary; falls back to `<html lang>` / `navigator.language` |
205
+ | `locales` | `Record<string, Locale>` | Custom locale dictionaries keyed by language code; spread over the built-in dictionary so partial overrides work |
206
+ | `postSignInUrl` / `post-sign-in-url` | `string` | After `complete: "show"`, exchange the `handoff_token` for a session cookie and navigate here |
185
207
  | `resumeFlowId` / `resume-flow-id` | `string` | Resume an existing flow handle instead of starting fresh |
186
- | `locale` | `Record<string, string>` | i18n dictionary consumed by Liquid's `\| t` filter |
187
208
 
188
- Events: `zitadel-flow-input`, `zitadel-flow-action`, `zitadel-flow-step`,
189
- `zitadel-flow-complete`, `zitadel-flow-error`. The orchestrator exposes
190
- `::part(form)` for tenant-side CSS hooks. Adopts design tokens and
191
- `branding.font_url` into its shadow root on each update.
209
+ Events: `zitadel-flow-input`, `zitadel-flow-step`, `zitadel-flow-complete`,
210
+ `zitadel-flow-error`. The orchestrator exposes `::part(form)` for tenant-side
211
+ CSS hooks. Adopts design tokens and `branding.font_url` into its shadow root
212
+ on each update.
192
213
 
193
214
  ### `<zitadel-logout>`
194
215
 
195
216
  Session menu / sign-out control for embedded apps. Reads the
196
- `__nextgen_display` cookie set during sign-in, calls `GET /auth/end-session`
197
- through `api-base`, and clears the session. Uses the same token adoption as
198
- `<zitadel-login>` (`applyBaseTokens` + optional `font_url` when hosted on a
199
- page without global tokens).
217
+ `__nextgen_display` cookie set during sign-in, calls `revokeMySession`
218
+ (`DELETE /sessions/me`) through the SDK handle, and clears the session. Uses
219
+ the same token adoption as `<zitadel-login>` (`applyBaseTokens`).
200
220
 
201
221
  | Property | Type | Notes |
202
222
  | --- | --- | --- |
203
- | `apiBase` / `api-base` | `string` | Proxied auth API prefix (e.g. `/__nextgen`) |
223
+ | `project` | `ZitadelProject` | SDK handle from `configureZitadel()`. Object property; falls back to the global handle from `getZitadelConfig()` |
204
224
  | `postSignOutUrl` / `post-sign-out-url` | `string` | Navigate here after sign-out |
205
- | `clientId` / `client-id` | `string` | Optional OIDC client id forwarded to end-session |
225
+ | `clientId` / `client-id` | `string` | Optional OIDC client id forwarded to `getEndSessionUrl()` |
206
226
 
207
227
  Supports a light-DOM `<template>` slot for a fully custom menu; default UI is
208
228
  the avatar trigger + dropdown.
@@ -270,7 +290,7 @@ packages/components/
270
290
  │ │ zl-card, zl-page-shell + tests
271
291
  │ ├── orchestrator/ <zitadel-login>, <zitadel-logout>, api-client, liquid, branding
272
292
  │ │ ├── locales/ bundled English fallback
273
- │ │ └── templates/ auth-form / passkey-upsell / signed-in liquid partials
293
+ │ │ └── templates/ default.liquid (all steps) + layout-chrome.css
274
294
  │ ├── tokens/ re-export of @zitadel/design-tokens
275
295
  │ ├── styles/ shared host styles, focus ring, t() css-var bridge
276
296
  │ ├── manifests.ts per-atom attribute / part / event manifests
@@ -282,9 +302,10 @@ packages/components/
282
302
 
283
303
  ## Develop
284
304
 
285
- Use **Nx** for tasks in this monorepo (`corepack pnpm nx <target> <project>`).
286
- It matches CI caching and dependency order. Equivalent `pnpm --filter …` scripts
287
- still exist on some packages, but Nx is the documented path.
305
+ Use **Moon** for tasks in this monorepo (`moon run <project>:<task>`).
306
+ It matches CI caching and dependency order. Direct `pnpm --filter ...` scripts
307
+ still exist on some packages for leaf-package debugging, but Moon is the
308
+ documented path.
288
309
 
289
310
  ```sh
290
311
  # install once at the repo root
@@ -293,25 +314,25 @@ corepack pnpm install
293
314
  # --- Playgrounds (two terminals) ---
294
315
 
295
316
  # Lit: atoms + login, in-browser MSW
296
- corepack pnpm nx dev @zitadel/components
317
+ moon run components:dev
297
318
  # → http://localhost:5173/?route=login
298
319
  # → http://localhost:5173/?route=atoms
299
320
 
300
321
  # React console: ui-react atom playground (compare to Lit ?route=atoms in another tab)
301
- corepack pnpm nx dev @zitadel/console
322
+ moon run console:dev
302
323
  # → http://localhost:5174
303
324
 
304
325
  # Framework demos (TCP mock + SDK) — see apps/demo-*/README.md
305
- # corepack pnpm nx start @zitadel/api-mock # → http://localhost:4000
306
- # ZITADEL_URL=http://localhost:4000 corepack pnpm nx dev @zitadel/demo-next # → :3002
307
- # ZITADEL_URL=http://localhost:4000 corepack pnpm nx dev @zitadel/demo-nuxt # → :3001
326
+ # moon run api-mock:start # → http://localhost:4000
327
+ # ZITADEL_URL=http://localhost:4000 moon run demo-next:dev # → :3002
328
+ # ZITADEL_URL=http://localhost:4000 moon run demo-nuxt:dev # → :3001
308
329
 
309
330
  # --- Package checks ---
310
331
 
311
- corepack pnpm nx test @zitadel/components
312
- corepack pnpm nx test:browser @zitadel/components
313
- corepack pnpm nx typecheck @zitadel/components
314
- corepack pnpm nx build @zitadel/components
332
+ moon run components:test
333
+ moon run components:test-browser
334
+ moon run components:typecheck
335
+ moon run components:build
315
336
  ```
316
337
 
317
338
  The components dev server imports source TS from `src/` and hot-reloads on edits.
@@ -1,2 +1,2 @@
1
- import { Bt as zlAlertManifest, Ft as ZlCard, Ht as ZlIcon, It as zlCardManifest, Lt as ZlButton, Rt as zlButtonManifest, Ut as zlIconManifest, Vt as IconName, a as ZlPasskeyResultDetail, c as zlPageShellManifest, d as zlFieldManifest, i as ZlPasskeyErrorDetail, l as ZlField, n as zlPillManifest, o as zlPasskeyManifest, r as ZlPasskey, s as ZlPageShell, t as ZlPill, u as ZlFieldType, zt as ZlAlert } from "../index-DIUFZjXw.mjs";
1
+ import { Gt as ZlAlert, Ht as zlCardManifest, Jt as ZlIcon, Kt as zlAlertManifest, Ut as ZlButton, Vt as ZlCard, Wt as zlButtonManifest, Yt as zlIconManifest, a as ZlPasskeyResultDetail, c as zlPageShellManifest, d as zlFieldManifest, i as ZlPasskeyErrorDetail, l as ZlField, n as zlPillManifest, o as zlPasskeyManifest, qt as IconName, r as ZlPasskey, s as ZlPageShell, t as ZlPill, u as ZlFieldType } from "../index-DVDCrfkv.mjs";
2
2
  export { IconName, ZlAlert, ZlButton, ZlCard, ZlField, ZlFieldType, ZlIcon, ZlPageShell, ZlPasskey, ZlPasskeyErrorDetail, ZlPasskeyResultDetail, ZlPill, zlAlertManifest, zlButtonManifest, zlCardManifest, zlFieldManifest, zlIconManifest, zlPageShellManifest, zlPasskeyManifest, zlPillManifest };
@@ -1,2 +1,2 @@
1
- import { a as ZlPageShell, c as zlFieldManifest, d as ZlButton, f as zlButtonManifest, g as zlIconManifest, h as ZlIcon, i as zlPasskeyManifest, l as ZlCard, m as zlAlertManifest, n as zlPillManifest, o as zlPageShellManifest, p as ZlAlert, r as ZlPasskey, s as ZlField, t as ZlPill, u as zlCardManifest } from "../atoms-CmOTltTH.mjs";
1
+ import { a as ZlPageShell, c as zlFieldManifest, d as ZlButton, f as zlButtonManifest, g as zlIconManifest, h as ZlIcon, i as zlPasskeyManifest, l as ZlCard, m as zlAlertManifest, n as zlPillManifest, o as zlPageShellManifest, p as ZlAlert, r as ZlPasskey, s as ZlField, t as ZlPill, u as zlCardManifest } from "../atoms-BaayzEsr.mjs";
2
2
  export { ZlAlert, ZlButton, ZlCard, ZlField, ZlIcon, ZlPageShell, ZlPasskey, ZlPill, zlAlertManifest, zlButtonManifest, zlCardManifest, zlFieldManifest, zlIconManifest, zlPageShellManifest, zlPasskeyManifest, zlPillManifest };