@gravitee/graphene-core 2.57.0 → 2.58.0-fix-monaco-hover.20a0111

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.
package/USAGE_GUIDE.md CHANGED
@@ -141,9 +141,41 @@ Scale: `0`, `0.5`, `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `6`, `7`, `8`,
141
141
 
142
142
  `rounded-sm`, `rounded-md`, `rounded-lg`, `rounded-xl` (mapped to semantic `--radius`).
143
143
 
144
- ### Layout
144
+ ### Layout — content width system
145
145
 
146
- - Content max width is defined on the theme token `--container-content` (maps to `--content-max-width`). Use the max-width utility Tailwind emits for that token in your setup.
146
+ All pages share a single uniform centered container. No per-page width decisions needed the container never changes between sibling pages, eliminating layout shifts during navigation.
147
+
148
+ The layout owns both **padding** and **max-width** at the layout level. Page components must not duplicate either — do NOT add `p-6` / `p-*` / `px-*` / `py-*` or `max-w-*` classes on page-level wrapper divs.
149
+
150
+ **Decision rule:**
151
+
152
+ 1. Is this a tool/workspace layout (Policy Studio, LLM Studio), observability dashboard, or log/trace explorer? → `useLayoutConfig({ contentVariant: 'full-bleed' })`
153
+ 2. Is this a single-column creation/edit form with a back button and a focused workflow (e.g. alert form, plan form, resource wizard, onboarding stepper)? → Wrap content in `<PageFocused>`. Heuristic: if the page has a "← Back" button and its route matches `/new`, `/:id/edit`, or `/:id` under a list page, it's likely a focused form.
154
+ 3. Everything else (list pages, detail views, settings, dashboards) → Do nothing. The default centered container handles it.
155
+
156
+ ```tsx
157
+ import { PageFocused } from '@gravitee/graphene-core';
158
+
159
+ // Wizard/creation page — focused and centered
160
+ function CreateApiPage() {
161
+ return (
162
+ <PageFocused>
163
+ <StepProgress steps={steps} activeStep={step} />
164
+ <StepContent />
165
+ </PageFocused>
166
+ );
167
+ }
168
+
169
+ // Everything else — just render content directly (no padding, no max-width)
170
+ function ApisPage() {
171
+ return (
172
+ <div className="space-y-4">
173
+ <h2>APIs</h2>
174
+ <DataTable ... />
175
+ </div>
176
+ );
177
+ }
178
+ ```
147
179
 
148
180
  ## Styling
149
181
 
@@ -293,35 +325,51 @@ If you have not migrated to `AppContextBar` yet, keeping the app name as the fir
293
325
 
294
326
  **Linear breadcrumbs:** When each step maps to a **path string** and React Router’s `navigate`, use **`buildLinearBreadcrumbs(navigate, segments)`** so `ContentHeader` / `useLayoutConfig` get consistent `BreadcrumbEntry[]` without copying the same `onClick` wiring. If the first crumb is a **custom action** (e.g. “back” that is not `navigate('/path')`), build that entry by hand or mix with `buildLinearBreadcrumbs`—see Storybook **Composed/ContentHeader → Linear breadcrumbs from builder** for the canonical route-based pattern. API edge cases are covered in `packages/core/src/lib/breadcrumbs/buildLinearBreadcrumbs.test.ts`.
295
327
 
296
- ### `contentVariant` — full-bleed content
297
-
298
- `AppLayout` accepts `contentVariant` to control content area padding:
328
+ ### `contentVariant` — content width
299
329
 
300
- - `"default"` (default) standard padding on all sides.
301
- - `"full-bleed"` — no padding; content spans edge-to-edge.
330
+ `AppLayout` accepts `contentVariant` to control content area width and padding:
302
331
 
303
- Use `full-bleed` for embedded components that manage their own layout grid (Policy Studio, dashboards, full-screen editors):
332
+ - `"default"` (default) centered container with standard padding. All standard pages.
333
+ - `"full-bleed"` — no max-width, no padding; content spans edge-to-edge. Tool layouts, observability dashboards, log/trace explorers.
304
334
 
305
335
  ```tsx
306
- <AppLayout contentVariant="full-bleed">
307
- <PolicyStudio {...props} />
336
+ // Default — no change needed, AppLayout applies the centered container automatically
337
+ <AppLayout>
338
+ <DetailPage />
308
339
  </AppLayout>
309
- ```
310
-
311
- With `useLayoutConfig` (module federation), a nested page can set `contentVariant` without affecting other layout slots owned by parent components:
312
340
 
313
- ```tsx
341
+ // Full-bleed — for tool layouts and observability pages
314
342
  useLayoutConfig({ contentVariant: 'full-bleed' }, []);
315
343
  ```
316
344
 
345
+ With `useLayoutConfig` (module federation), a nested page can set `contentVariant` without affecting other layout slots owned by parent components. Each hook only resets the keys it owns on unmount.
346
+
347
+ For creation wizards and steppers, wrap content in `<PageFocused>` inside the default container — see **Layout — content width system** above.
348
+
317
349
  ### `banner` — full-width status slot
318
350
 
319
351
  `AppLayout` accepts a `banner` prop that renders a full-width region above the padded content wrapper but inside the scroll container. Use it for persistent status indicators with an action (deploy status, environment warnings).
320
352
 
353
+ **Shell layout requirement:** If the host shell renders `<AppLayout>` and reads layout config from `LayoutSlotsProvider`, it must forward **both** `banner` and `bannerSticky` slots to `<AppLayout>`:
354
+
355
+ ```tsx
356
+ <AppLayout
357
+ banner={slots.banner}
358
+ bannerSticky={slots.bannerSticky}
359
+ contentVariant={slots.contentVariant}
360
+ contextSidebar={slots.contextSidebar}
361
+ /* …other slot props… */
362
+ >
363
+ ```
364
+
365
+ Without this wiring, `useLayoutConfig({ banner: … })` calls from consumer modules have no effect.
366
+
367
+ **Usage:**
368
+
321
369
  ```tsx
322
370
  // Direct prop usage
323
371
  <AppLayout banner={<DeployStrip />} bannerSticky>
324
- <PageContent />
372
+ <DetailPage />
325
373
  </AppLayout>
326
374
 
327
375
  // Module federation via useLayoutConfig
@@ -335,26 +383,48 @@ useLayoutConfig({
335
383
 
336
384
  The banner spans full width regardless of `contentVariant`. When `bannerSticky` is true, it sticks to the top of the scroll area so the action remains reachable while scrolling.
337
385
 
386
+ **Migrating inline banners:** If a page currently renders a banner component inline within its page content, move it to `useLayoutConfig`. On unmount or when the status clears, set `banner: null` — `useLayoutConfig` resets owned keys automatically on unmount, so the banner won't linger after navigation.
387
+
388
+ **Accessibility:** Add `role="status"` and a descriptive `aria-label` on the banner's root element so screen readers announce it as a live region:
389
+
338
390
  **Button hierarchy:** When a banner contains an action button alongside page content that has its own primary buttons, use an outline treatment on the banner button to avoid competing with the page's primary CTA:
339
391
 
340
392
  ```tsx
341
- import { Button } from '@gravitee/graphene-core/base/Button';
342
-
343
393
  function DeployStrip({ onDeploy, isPending }) {
344
394
  return (
345
- <div role="status" aria-label="Deploy status" className="flex items-center gap-2 border-b border-border px-5 py-1.5">
346
- <span className="size-1.5 shrink-0 rounded-full bg-warning" />
395
+ <div role="status" aria-label="Deployment status" className="flex items-center gap-2 border-b border-border px-5 py-1.5">
396
+ <span className="size-1.5 shrink-0 rounded-full bg-warning" aria-hidden="true" />
347
397
  <span className="text-sm text-muted-foreground">Undeployed changes</span>
348
398
  <div className="flex-1" />
349
- <Button variant="outline" size="sm" onClick={onDeploy} disabled={isPending}>
399
+ <button
400
+ type="button"
401
+ className="rounded-md border border-warning/25 bg-warning/5 px-2.5 py-0.5 text-sm font-semibold text-warning-foreground transition-colors hover:bg-warning/10 disabled:opacity-50"
402
+ onClick={onDeploy}
403
+ disabled={isPending}
404
+ >
350
405
  {isPending ? 'Deploying…' : 'Deploy API'}
351
- </Button>
406
+ </button>
352
407
  </div>
353
408
  );
354
409
  }
355
410
  ```
356
411
 
357
- See Storybook **Composed/AppLayout → BannerSlot** for the full interactive example, and `snippets/context-sidebar-detail-page.tsx` for a copy-paste integration pattern.
412
+ See Storybook **Composed/AppLayout → BannerSlot** for the full interactive example.
413
+
414
+ ### Adopting the content width system in consumer modules
415
+
416
+ Follow these steps to apply the layout width system to an existing consumer module:
417
+
418
+ 1. **Identify all pages** in your module that render inside `AppLayout`.
419
+ 2. **Categorize each page:**
420
+ - **Default** — list pages, detail views, forms, settings, dashboards. No change needed; `AppLayout` applies the centered container automatically.
421
+ - **PageFocused** — single-column creation wizards or steppers with a back button and a focused workflow (e.g. alert form, plan form, resource wizard, onboarding stepper). Wrap content in `<PageFocused>`. Heuristic: if the page has a "← Back" button and its route matches `/new`, `/:id/edit`, or `/:id` under a list page, it's likely a focused form.
422
+ - **Full-bleed** — tool layouts (Policy Studio, LLM Studio), observability dashboards, log/trace explorers. Add `useLayoutConfig({ contentVariant: 'full-bleed' }, [])` if not already set.
423
+ 3. **Remove page-level padding** — delete `p-6` and any `p-*`, `px-*`, `py-*` classes from the page's root wrapper `<div>`. The layout already provides content padding via the container. This is the most common change — nearly every page will need it.
424
+ 4. **Remove ad-hoc width constraints** — delete any `max-w-*` classes on page-level wrapper divs. The design system owns content width.
425
+ 5. **Verify** — resize the browser to confirm content stays centered without clipping on narrow viewports.
426
+
427
+ See `packages/core/snippets/data-table-list-page.tsx` and `creation-wizard-page.tsx` for complete examples.
358
428
 
359
429
  ### Data table (entity list pages)
360
430
 
@@ -251,6 +251,7 @@ function _({ value: o, defaultValue: s, onChange: c, language: f = "plaintext",
251
251
  horizontalScrollbarSize: 6
252
252
  },
253
253
  overviewRulerLanes: 0,
254
+ fixedOverflowWidgets: !0,
254
255
  ...b
255
256
  }
256
257
  }) : k
@@ -1,5 +1,5 @@
1
1
  import { f as e, h as t, i as n, o as r, p as i, r as a, s as o, t as s, u as c } from "./SchemaBanner-lrLehIB4.js";
2
- import { t as l } from "./CodeEditor-izUXIn0I.js";
2
+ import { t as l } from "./CodeEditor-W9JPCQhc.js";
3
3
  import { useEffect as u, useRef as d, useState as f } from "react";
4
4
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
5
5
  //#region src/composed/JsonSchemaForm/fields/code-editor/CodeEditorField.tsx
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../CodeEditor-izUXIn0I.js";
1
+ import { n as e, t } from "../CodeEditor-W9JPCQhc.js";
2
2
  export { t as CodeEditor, e as setupCodeEditor };
@@ -18,9 +18,12 @@ interface AppLayoutProps {
18
18
  /** Optional callback when context expansion state changes. */
19
19
  readonly onContextExpandedChange?: (expanded: boolean) => void;
20
20
  /**
21
- * Controls content area padding.
22
- * - `"default"` — standard padding on all sides (the default).
23
- * - `"full-bleed"` — no padding; content spans edge-to-edge.
21
+ * Controls content area width and padding.
22
+ * - `"default"` — centered container with standard padding.
23
+ * - `"full-bleed"` — no max-width, no padding; content spans edge-to-edge.
24
+ *
25
+ * All standard pages use the default container. Wizards can optionally
26
+ * use `<PageFocused>` inside the default container for a narrower focus.
24
27
  */
25
28
  readonly contentVariant?: 'default' | 'full-bleed';
26
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/composed/AppLayout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAGtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAGhF,UAAU,cAAc;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,iEAAiE;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC;AAiGD,iBAAS,SAAS,CAAC,EAAE,kBAAmC,EAAE,YAAuB,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAQ3G;kBARQ,SAAS;;;AAYlB,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/composed/AppLayout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAGtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAGhF,UAAU,cAAc;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,iEAAiE;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC;AAiGD,iBAAS,SAAS,CAAC,EAAE,kBAAmC,EAAE,YAAuB,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAQ3G;kBARQ,SAAS;;;AAYlB,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/composed/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,UAAU,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AA6BD,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAsB,EACtB,QAAgB,EAChB,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,GACR,EAAE,eAAe,qBA2GjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/composed/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,UAAU,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AA6BD,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAsB,EACtB,QAAgB,EAChB,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,GACR,EAAE,eAAe,qBA4GjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -8,6 +8,10 @@ interface LayoutSlots {
8
8
  readonly leading: ReactNode;
9
9
  readonly viewMode: 'global' | 'context';
10
10
  readonly contextExpanded: boolean;
11
+ /**
12
+ * `"default"` — centered container with padding (use for all standard pages).
13
+ * `"full-bleed"` — no max-width, no padding (tool layouts like Policy Studio).
14
+ */
11
15
  readonly contentVariant: 'default' | 'full-bleed';
12
16
  /** Full-width banner rendered above the padded content area (e.g. deploy status, environment warnings). */
13
17
  readonly banner: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSlotsContext.d.ts","sourceRoot":"","sources":["../../../src/composed/LayoutSlots/LayoutSlotsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEtF,UAAU,WAAW;IACnB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IACxC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,YAAY,CAAC;IAClD,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,WAAW,CAAC,KAAK,IAAI,CAAC;CACvE;AAED,QAAA,MAAM,aAAa,EAAE,WAUpB,CAAC;AAIF,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAwB1E;AAED,iBAAS,cAAc,IAAI,uBAAuB,CAMjD;AAED,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"LayoutSlotsContext.d.ts","sourceRoot":"","sources":["../../../src/composed/LayoutSlots/LayoutSlotsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEtF,UAAU,WAAW;IACnB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IACxC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,YAAY,CAAC;IAClD,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,WAAW,CAAC,KAAK,IAAI,CAAC;CACvE;AAED,QAAA,MAAM,aAAa,EAAE,WAUpB,CAAC;AAIF,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAwB1E;AAED,iBAAS,cAAc,IAAI,uBAAuB,CAMjD;AAED,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC"}
@@ -7,6 +7,9 @@ import { LayoutSlots } from './LayoutSlotsContext';
7
7
  * **Resets all slots to defaults on unmount** so stale module content
8
8
  * never lingers after navigation.
9
9
  *
10
+ * Uses `useLayoutEffect` to apply config synchronously before paint,
11
+ * preventing visible layout shifts during navigation.
12
+ *
10
13
  * @param config - Slot values the module wants to own.
11
14
  * @param deps - Dependency array that triggers a config re-push
12
15
  * (same semantics as `useEffect` deps).
@@ -1 +1 @@
1
- {"version":3,"file":"use-layout-config.d.ts","sourceRoot":"","sources":["../../../src/composed/LayoutSlots/use-layout-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,GAAE,KAAK,CAAC,cAAmB,QAYrF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"use-layout-config.d.ts","sourceRoot":"","sources":["../../../src/composed/LayoutSlots/use-layout-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,GAAE,KAAK,CAAC,cAAmB,QAYrF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from 'react';
2
+ interface PageFocusedProps {
3
+ /** Focused content (stepper, creation wizard, onboarding flow). */
4
+ readonly children: ReactNode;
5
+ readonly className?: string;
6
+ }
7
+ /**
8
+ * Constrains and centers page content for focused flows.
9
+ *
10
+ * Use for creation wizards, multi-step forms, onboarding sequences, and
11
+ * any task where the user is working through a focused linear flow.
12
+ * The centering signals "you are in a sub-task" and draws the eye inward.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * export function CreateApiWizardPage() {
17
+ * return (
18
+ * <PageFocused>
19
+ * <StepProgress steps={steps} activeStep={step} />
20
+ * <StepContent />
21
+ * </PageFocused>
22
+ * );
23
+ * }
24
+ * ```
25
+ */
26
+ declare function PageFocused({ children, className }: PageFocusedProps): import("react").JSX.Element;
27
+ declare namespace PageFocused {
28
+ var displayName: string;
29
+ }
30
+ export { PageFocused };
31
+ export type { PageFocusedProps };
32
+ //# sourceMappingURL=PageFocused.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageFocused.d.ts","sourceRoot":"","sources":["../../../src/composed/PageFocused/PageFocused.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,gBAAgB;IACxB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAE7D;kBAFQ,WAAW;;;AAMpB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PageFocused } from './PageFocused';
2
+ export type { PageFocusedProps } from './PageFocused';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composed/PageFocused/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.d.ts CHANGED
@@ -62,6 +62,7 @@ export * from './composed/FacetedFilter';
62
62
  export * from './composed/FileUpload';
63
63
  export * from './composed/JsonSchemaForm';
64
64
  export * from './composed/LayoutSlots';
65
+ export * from './composed/PageFocused';
65
66
  export * from './composed/PasswordInput';
66
67
  export * from './composed/SelectorDropdown';
67
68
  export * from './composed/SidebarMode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG3F,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAMvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG3F,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAMvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -23507,7 +23507,7 @@ function qV({ className: e, ...n }) {
23507
23507
  function JV({ className: e, ...n }) {
23508
23508
  return /* @__PURE__ */ W("main", {
23509
23509
  "data-slot": "sidebar-inset",
23510
- className: t("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", e),
23510
+ className: t("relative flex w-full min-w-0 flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", e),
23511
23511
  ...n
23512
23512
  });
23513
23513
  }
@@ -24814,7 +24814,7 @@ function CU({ className: e, sidebar: n, contextSidebar: r, subheader: i, childre
24814
24814
  className: t("shrink-0", u && "sticky top-0 z-20 bg-background"),
24815
24815
  children: l
24816
24816
  }), /* @__PURE__ */ W("div", {
24817
- className: t("mx-auto w-full", c === "full-bleed" ? "min-h-0 flex-1 p-0" : "px-content pt-4 pb-content"),
24817
+ className: t("mx-auto w-full", c === "full-bleed" ? "min-h-0 flex-1 p-0" : "max-w-content px-content pt-4 pb-content"),
24818
24818
  children: a
24819
24819
  })]
24820
24820
  })]
@@ -29505,7 +29505,7 @@ function Zq({ node: t, name: n }) {
29505
29505
  }
29506
29506
  //#endregion
29507
29507
  //#region src/composed/JsonSchemaForm/SchemaField.tsx
29508
- var Qq = Ae(() => import("./CodeEditorField-2Ph093QR.js").then((e) => ({ default: e.CodeEditorField })));
29508
+ var Qq = Ae(() => import("./CodeEditorField-cwZAv7Ib.js").then((e) => ({ default: e.CodeEditorField })));
29509
29509
  function $q({ node: e, name: t, depth: n = 0 }) {
29510
29510
  let { basePath: r } = D(), { schema: i } = e, a = t ?? "", o = t ? r ? `${r}.${t}` : t : r, s = U(() => [o], [o]), c = U(() => e.displayIf ? nq(e.displayIf, r) : void 0, [e.displayIf, r]), l = U(() => e.disableIf ? nq(e.disableIf, r) : void 0, [e.disableIf, r]);
29511
29511
  if (i.deprecated === !0) return null;
@@ -34576,7 +34576,7 @@ function yX() {
34576
34576
  //#region src/composed/LayoutSlots/use-layout-config.ts
34577
34577
  function bX(e, t = []) {
34578
34578
  let { setSlots: n, resetSlots: r } = yX();
34579
- Pe(() => {
34579
+ Le(() => {
34580
34580
  n(e);
34581
34581
  let t = Object.keys(e);
34582
34582
  return () => {
@@ -34589,8 +34589,17 @@ function bX(e, t = []) {
34589
34589
  ]);
34590
34590
  }
34591
34591
  //#endregion
34592
+ //#region src/composed/PageFocused/PageFocused.tsx
34593
+ function xX({ children: e, className: n }) {
34594
+ return /* @__PURE__ */ W("div", {
34595
+ className: t("mx-auto w-full max-w-focused", n),
34596
+ children: e
34597
+ });
34598
+ }
34599
+ xX.displayName = "PageFocused";
34600
+ //#endregion
34592
34601
  //#region src/composed/TopNavUser/TopNavUser.tsx
34593
- var xX = [
34602
+ var SX = [
34594
34603
  {
34595
34604
  value: "light",
34596
34605
  label: "Light"
@@ -34604,7 +34613,7 @@ var xX = [
34604
34613
  label: "System"
34605
34614
  }
34606
34615
  ];
34607
- function SX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSignOut: o }) {
34616
+ function CX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSignOut: o }) {
34608
34617
  let s = i ?? e.slice(0, 2).toUpperCase(), { mode: c, setMode: l } = Ce();
34609
34618
  return /* @__PURE__ */ G(cI, { children: [/* @__PURE__ */ W(uI, {
34610
34619
  asChild: !0,
@@ -34633,7 +34642,7 @@ function SX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSign
34633
34642
  /* @__PURE__ */ W(hI, {
34634
34643
  value: c,
34635
34644
  onValueChange: (e) => l(e),
34636
- children: xX.map((e) => /* @__PURE__ */ W(gI, {
34645
+ children: SX.map((e) => /* @__PURE__ */ W(gI, {
34637
34646
  value: e.value,
34638
34647
  children: e.label
34639
34648
  }, e.value))
@@ -34646,6 +34655,6 @@ function SX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSign
34646
34655
  ]
34647
34656
  })] });
34648
34657
  }
34649
- SX.displayName = "TopNavUser";
34658
+ CX.displayName = "TopNavUser";
34650
34659
  //#endregion
34651
- export { kv as Accordion, Mv as AccordionContent, Av as AccordionItem, jv as AccordionTrigger, d as Alert, i as AlertAction, P as AlertDescription, f as AlertTitle, mU as AppContextBar, wU as AppLayout, OU as AppSidebar, dU as AppSwitcher, Nv as Avatar, Iv as AvatarBadge, Fv as AvatarFallback, Lv as AvatarGroup, Rv as AvatarGroupCount, Pv as AvatarImage, Bv as Badge, CG as BadgeCell, Vv as Breadcrumb, qv as BreadcrumbEllipsis, Uv as BreadcrumbItem, Wv as BreadcrumbLink, Hv as BreadcrumbList, Gv as BreadcrumbPage, Kv as BreadcrumbSeparator, Yv as Button, Zv as ButtonGroup, $v as ButtonGroupSeparator, Qv as ButtonGroupText, fC as Calendar, pC as CalendarDayButton, mC as Card, vC as CardAction, yC as CardContent, _C as CardDescription, bC as CardFooter, hC as CardHeader, gC as CardTitle, xC as Checkbox, SC as Collapsible, wC as CollapsibleContent, CC as CollapsibleTrigger, HA as Combobox, nj as ComboboxChip, tj as ComboboxChips, rj as ComboboxChipsInput, QA as ComboboxCollection, qA as ComboboxContent, $A as ComboboxEmpty, XA as ComboboxGroup, KA as ComboboxInput, YA as ComboboxItem, ZA as ComboboxLabel, JA as ComboboxList, ej as ComboboxSeparator, WA as ComboboxTrigger, UA as ComboboxValue, CP as Command, wP as CommandDialog, DP as CommandEmpty, OP as CommandGroup, TP as CommandInput, AP as CommandItem, EP as CommandList, kP as CommandSeparator, jP as CommandShortcut, NU as ContentHeader, MP as ContextMenu, HP as ContextMenuCheckboxItem, RP as ContextMenuContent, PP as ContextMenuGroup, zP as ContextMenuItem, WP as ContextMenuLabel, FP as ContextMenuPortal, LP as ContextMenuRadioGroup, UP as ContextMenuRadioItem, GP as ContextMenuSeparator, KP as ContextMenuShortcut, IP as ContextMenuSub, VP as ContextMenuSubContent, BP as ContextMenuSubTrigger, NP as ContextMenuTrigger, AU as ContextSidebar, jU as ContextToggleButton, TG as CopyableCell, PU as CopyableText, gX as DEFAULT_SLOTS, mG as DataTable, hG as DataTableColumnHeader, DG as DataTableEmptyState, sG as DataTablePagination, cG as DataTableViewOptions, SG as DateCell, IK as DatePicker, LK as DateRangePicker, BK as DateTimePicker, UK as DateTimeRangePicker, pP as Dialog, gP as DialogClose, vP as DialogContent, SP as DialogDescription, bP as DialogFooter, yP as DialogHeader, _P as DialogOverlay, hP as DialogPortal, xP as DialogTitle, mP as DialogTrigger, QF as Drawer, tI as DrawerClose, rI as DrawerContent, sI as DrawerDescription, aI as DrawerFooter, iI as DrawerHeader, nI as DrawerOverlay, eI as DrawerPortal, oI as DrawerTitle, $F as DrawerTrigger, cI as DropdownMenu, mI as DropdownMenuCheckboxItem, dI as DropdownMenuContent, fI as DropdownMenuGroup, pI as DropdownMenuItem, _I as DropdownMenuLabel, lI as DropdownMenuPortal, hI as DropdownMenuRadioGroup, gI as DropdownMenuRadioItem, vI as DropdownMenuSeparator, yI as DropdownMenuShortcut, bI as DropdownMenuSub, SI as DropdownMenuSubContent, xI as DropdownMenuSubTrigger, uI as DropdownMenuTrigger, CI as Empty, kI as EmptyContent, OI as EmptyDescription, wI as EmptyHeader, EI as EmptyMedia, DI as EmptyTitle, WK as FacetedFilter, M as Field, _ as FieldContent, v as FieldDescription, O as FieldError, T as FieldGroup, b as FieldLabel, y as FieldLegend, p as FieldSeparator, N as FieldSet, I as FieldTitle, YK as FileUpload, CR as FileUploadInput, JK as FileUploadItem, wR as HoverCard, ER as HoverCardContent, kR as HoverCardDescription, DR as HoverCardHeader, OR as HoverCardTitle, TR as HoverCardTrigger, NA as Input, PA as InputGroup, IA as InputGroupAddon, RA as InputGroupButton, BA as InputGroupInput, zA as InputGroupText, VA as InputGroupTextarea, NR as Item, zR as ItemActions, IR as ItemContent, RR as ItemDescription, VR as ItemFooter, AR as ItemGroup, BR as ItemHeader, FR as ItemMedia, jR as ItemSeparator, LR as ItemTitle, _J as JsonSchemaForm, HR as Kbd, UR as KbdGroup, h as Label, vX as LayoutSlotsProvider, wG as MonoCell, WR as Pagination, GR as PaginationContent, XR as PaginationEllipsis, KR as PaginationItem, qR as PaginationLink, YR as PaginationNext, JR as PaginationPrevious, Xq as PasswordInput, ZR as Popover, ez as PopoverAnchor, $R as PopoverContent, rz as PopoverDescription, tz as PopoverHeader, nz as PopoverTitle, QR as PopoverTrigger, lt as PortalContainerProvider, iz as Progress, oz as Prose, sz as RadioGroup, cz as RadioGroupItem, iV as ResizableHandle, rV as ResizablePanel, nV as ResizablePanelGroup, aV as ScrollArea, oV as ScrollBar, sV as Select, dV as SelectContent, cV as SelectGroup, pV as SelectItem, fV as SelectLabel, gV as SelectScrollDownButton, hV as SelectScrollUpButton, mV as SelectSeparator, uV as SelectTrigger, lV as SelectValue, fU as SelectorDropdown, pU as SelectorTriggerButton, F as Separator, _V as Sheet, yV as SheetClose, SV as SheetContent, EV as SheetDescription, wV as SheetFooter, CV as SheetHeader, TV as SheetTitle, vV as SheetTrigger, GV as Sidebar, $V as SidebarContent, ZV as SidebarFooter, eH as SidebarGroup, nH as SidebarGroupAction, rH as SidebarGroupContent, tH as SidebarGroupLabel, XV as SidebarHeader, YV as SidebarInput, JV as SidebarInset, iH as SidebarMenu, cH as SidebarMenuAction, lH as SidebarMenuBadge, sH as SidebarMenuButton, aH as SidebarMenuItem, uH as SidebarMenuSkeleton, dH as SidebarMenuSub, pH as SidebarMenuSubButton, fH as SidebarMenuSubItem, SU as SidebarModeControl, bU as SidebarModeProvider, kU as SidebarNavigation, WV as SidebarProvider, qV as SidebarRail, QV as SidebarSeparator, KV as SidebarTrigger, n as Skeleton, GH as Spinner, KH as Switch, qH as Table, YH as TableBody, eU as TableCaption, $H as TableCell, XH as TableFooter, QH as TableHead, JH as TableHeader, ZH as TableRow, tU as Tabs, aU as TabsContent, rU as TabsList, iU as TabsTrigger, e as Textarea, we as ThemeProvider, WH as Toaster, sU as Toggle, lU as ToggleGroup, uU as ToggleGroupItem, OV as Tooltip, AV as TooltipContent, DV as TooltipProvider, kV as TooltipTrigger, SX as TopNavUser, EG as TruncatedCell, o as alertVariants, zv as badgeVariants, FU as buildLinearBreadcrumbs, Xv as buttonGroupVariants, Jv as buttonVariants, t as cn, vJ as composeResolvers, mq as extractDefaults, cX as jsonSchemaResolver, nU as tabsListVariants, OH as toast, oU as toggleVariants, ij as useComboboxAnchor, bX as useLayoutConfig, yX as useLayoutSlots, ut as usePortalContainer, UV as useSidebar, _U as useSidebarMode, Ce as useTheme };
34660
+ export { kv as Accordion, Mv as AccordionContent, Av as AccordionItem, jv as AccordionTrigger, d as Alert, i as AlertAction, P as AlertDescription, f as AlertTitle, mU as AppContextBar, wU as AppLayout, OU as AppSidebar, dU as AppSwitcher, Nv as Avatar, Iv as AvatarBadge, Fv as AvatarFallback, Lv as AvatarGroup, Rv as AvatarGroupCount, Pv as AvatarImage, Bv as Badge, CG as BadgeCell, Vv as Breadcrumb, qv as BreadcrumbEllipsis, Uv as BreadcrumbItem, Wv as BreadcrumbLink, Hv as BreadcrumbList, Gv as BreadcrumbPage, Kv as BreadcrumbSeparator, Yv as Button, Zv as ButtonGroup, $v as ButtonGroupSeparator, Qv as ButtonGroupText, fC as Calendar, pC as CalendarDayButton, mC as Card, vC as CardAction, yC as CardContent, _C as CardDescription, bC as CardFooter, hC as CardHeader, gC as CardTitle, xC as Checkbox, SC as Collapsible, wC as CollapsibleContent, CC as CollapsibleTrigger, HA as Combobox, nj as ComboboxChip, tj as ComboboxChips, rj as ComboboxChipsInput, QA as ComboboxCollection, qA as ComboboxContent, $A as ComboboxEmpty, XA as ComboboxGroup, KA as ComboboxInput, YA as ComboboxItem, ZA as ComboboxLabel, JA as ComboboxList, ej as ComboboxSeparator, WA as ComboboxTrigger, UA as ComboboxValue, CP as Command, wP as CommandDialog, DP as CommandEmpty, OP as CommandGroup, TP as CommandInput, AP as CommandItem, EP as CommandList, kP as CommandSeparator, jP as CommandShortcut, NU as ContentHeader, MP as ContextMenu, HP as ContextMenuCheckboxItem, RP as ContextMenuContent, PP as ContextMenuGroup, zP as ContextMenuItem, WP as ContextMenuLabel, FP as ContextMenuPortal, LP as ContextMenuRadioGroup, UP as ContextMenuRadioItem, GP as ContextMenuSeparator, KP as ContextMenuShortcut, IP as ContextMenuSub, VP as ContextMenuSubContent, BP as ContextMenuSubTrigger, NP as ContextMenuTrigger, AU as ContextSidebar, jU as ContextToggleButton, TG as CopyableCell, PU as CopyableText, gX as DEFAULT_SLOTS, mG as DataTable, hG as DataTableColumnHeader, DG as DataTableEmptyState, sG as DataTablePagination, cG as DataTableViewOptions, SG as DateCell, IK as DatePicker, LK as DateRangePicker, BK as DateTimePicker, UK as DateTimeRangePicker, pP as Dialog, gP as DialogClose, vP as DialogContent, SP as DialogDescription, bP as DialogFooter, yP as DialogHeader, _P as DialogOverlay, hP as DialogPortal, xP as DialogTitle, mP as DialogTrigger, QF as Drawer, tI as DrawerClose, rI as DrawerContent, sI as DrawerDescription, aI as DrawerFooter, iI as DrawerHeader, nI as DrawerOverlay, eI as DrawerPortal, oI as DrawerTitle, $F as DrawerTrigger, cI as DropdownMenu, mI as DropdownMenuCheckboxItem, dI as DropdownMenuContent, fI as DropdownMenuGroup, pI as DropdownMenuItem, _I as DropdownMenuLabel, lI as DropdownMenuPortal, hI as DropdownMenuRadioGroup, gI as DropdownMenuRadioItem, vI as DropdownMenuSeparator, yI as DropdownMenuShortcut, bI as DropdownMenuSub, SI as DropdownMenuSubContent, xI as DropdownMenuSubTrigger, uI as DropdownMenuTrigger, CI as Empty, kI as EmptyContent, OI as EmptyDescription, wI as EmptyHeader, EI as EmptyMedia, DI as EmptyTitle, WK as FacetedFilter, M as Field, _ as FieldContent, v as FieldDescription, O as FieldError, T as FieldGroup, b as FieldLabel, y as FieldLegend, p as FieldSeparator, N as FieldSet, I as FieldTitle, YK as FileUpload, CR as FileUploadInput, JK as FileUploadItem, wR as HoverCard, ER as HoverCardContent, kR as HoverCardDescription, DR as HoverCardHeader, OR as HoverCardTitle, TR as HoverCardTrigger, NA as Input, PA as InputGroup, IA as InputGroupAddon, RA as InputGroupButton, BA as InputGroupInput, zA as InputGroupText, VA as InputGroupTextarea, NR as Item, zR as ItemActions, IR as ItemContent, RR as ItemDescription, VR as ItemFooter, AR as ItemGroup, BR as ItemHeader, FR as ItemMedia, jR as ItemSeparator, LR as ItemTitle, _J as JsonSchemaForm, HR as Kbd, UR as KbdGroup, h as Label, vX as LayoutSlotsProvider, wG as MonoCell, xX as PageFocused, WR as Pagination, GR as PaginationContent, XR as PaginationEllipsis, KR as PaginationItem, qR as PaginationLink, YR as PaginationNext, JR as PaginationPrevious, Xq as PasswordInput, ZR as Popover, ez as PopoverAnchor, $R as PopoverContent, rz as PopoverDescription, tz as PopoverHeader, nz as PopoverTitle, QR as PopoverTrigger, lt as PortalContainerProvider, iz as Progress, oz as Prose, sz as RadioGroup, cz as RadioGroupItem, iV as ResizableHandle, rV as ResizablePanel, nV as ResizablePanelGroup, aV as ScrollArea, oV as ScrollBar, sV as Select, dV as SelectContent, cV as SelectGroup, pV as SelectItem, fV as SelectLabel, gV as SelectScrollDownButton, hV as SelectScrollUpButton, mV as SelectSeparator, uV as SelectTrigger, lV as SelectValue, fU as SelectorDropdown, pU as SelectorTriggerButton, F as Separator, _V as Sheet, yV as SheetClose, SV as SheetContent, EV as SheetDescription, wV as SheetFooter, CV as SheetHeader, TV as SheetTitle, vV as SheetTrigger, GV as Sidebar, $V as SidebarContent, ZV as SidebarFooter, eH as SidebarGroup, nH as SidebarGroupAction, rH as SidebarGroupContent, tH as SidebarGroupLabel, XV as SidebarHeader, YV as SidebarInput, JV as SidebarInset, iH as SidebarMenu, cH as SidebarMenuAction, lH as SidebarMenuBadge, sH as SidebarMenuButton, aH as SidebarMenuItem, uH as SidebarMenuSkeleton, dH as SidebarMenuSub, pH as SidebarMenuSubButton, fH as SidebarMenuSubItem, SU as SidebarModeControl, bU as SidebarModeProvider, kU as SidebarNavigation, WV as SidebarProvider, qV as SidebarRail, QV as SidebarSeparator, KV as SidebarTrigger, n as Skeleton, GH as Spinner, KH as Switch, qH as Table, YH as TableBody, eU as TableCaption, $H as TableCell, XH as TableFooter, QH as TableHead, JH as TableHeader, ZH as TableRow, tU as Tabs, aU as TabsContent, rU as TabsList, iU as TabsTrigger, e as Textarea, we as ThemeProvider, WH as Toaster, sU as Toggle, lU as ToggleGroup, uU as ToggleGroupItem, OV as Tooltip, AV as TooltipContent, DV as TooltipProvider, kV as TooltipTrigger, CX as TopNavUser, EG as TruncatedCell, o as alertVariants, zv as badgeVariants, FU as buildLinearBreadcrumbs, Xv as buttonGroupVariants, Jv as buttonVariants, t as cn, vJ as composeResolvers, mq as extractDefaults, cX as jsonSchemaResolver, nU as tabsListVariants, OH as toast, oU as toggleVariants, ij as useComboboxAnchor, bX as useLayoutConfig, yX as useLayoutSlots, ut as usePortalContainer, UV as useSidebar, _U as useSidebarMode, Ce as useTheme };