@gravitee/graphene-core 2.57.0-feat-layout-content-width-tiers.1fc73d4 → 2.57.0-renovate-react.6dde360

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,41 +141,9 @@ 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 — content width system
144
+ ### Layout
145
145
 
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
- ```
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.
179
147
 
180
148
  ## Styling
181
149
 
@@ -325,51 +293,35 @@ If you have not migrated to `AppContextBar` yet, keeping the app name as the fir
325
293
 
326
294
  **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`.
327
295
 
328
- ### `contentVariant` — content width
296
+ ### `contentVariant` — full-bleed content
297
+
298
+ `AppLayout` accepts `contentVariant` to control content area padding:
329
299
 
330
- `AppLayout` accepts `contentVariant` to control content area width and padding:
300
+ - `"default"` (default) standard padding on all sides.
301
+ - `"full-bleed"` — no padding; content spans edge-to-edge.
331
302
 
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.
303
+ Use `full-bleed` for embedded components that manage their own layout grid (Policy Studio, dashboards, full-screen editors):
334
304
 
335
305
  ```tsx
336
- // Default — no change needed, AppLayout applies the centered container automatically
337
- <AppLayout>
338
- <DetailPage />
306
+ <AppLayout contentVariant="full-bleed">
307
+ <PolicyStudio {...props} />
339
308
  </AppLayout>
340
-
341
- // Full-bleed — for tool layouts and observability pages
342
- useLayoutConfig({ contentVariant: 'full-bleed' }, []);
343
309
  ```
344
310
 
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
-
349
- ### `banner` — full-width status slot
350
-
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).
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>`:
311
+ With `useLayoutConfig` (module federation), a nested page can set `contentVariant` without affecting other layout slots owned by parent components:
354
312
 
355
313
  ```tsx
356
- <AppLayout
357
- banner={slots.banner}
358
- bannerSticky={slots.bannerSticky}
359
- contentVariant={slots.contentVariant}
360
- contextSidebar={slots.contextSidebar}
361
- /* …other slot props… */
362
- >
314
+ useLayoutConfig({ contentVariant: 'full-bleed' }, []);
363
315
  ```
364
316
 
365
- Without this wiring, `useLayoutConfig({ banner: … })` calls from consumer modules have no effect.
317
+ ### `banner` full-width status slot
366
318
 
367
- **Usage:**
319
+ `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).
368
320
 
369
321
  ```tsx
370
322
  // Direct prop usage
371
323
  <AppLayout banner={<DeployStrip />} bannerSticky>
372
- <DetailPage />
324
+ <PageContent />
373
325
  </AppLayout>
374
326
 
375
327
  // Module federation via useLayoutConfig
@@ -383,48 +335,26 @@ useLayoutConfig({
383
335
 
384
336
  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.
385
337
 
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
-
390
338
  **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:
391
339
 
392
340
  ```tsx
341
+ import { Button } from '@gravitee/graphene-core/base/Button';
342
+
393
343
  function DeployStrip({ onDeploy, isPending }) {
394
344
  return (
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" />
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" />
397
347
  <span className="text-sm text-muted-foreground">Undeployed changes</span>
398
348
  <div className="flex-1" />
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
- >
349
+ <Button variant="outline" size="sm" onClick={onDeploy} disabled={isPending}>
405
350
  {isPending ? 'Deploying…' : 'Deploy API'}
406
- </button>
351
+ </Button>
407
352
  </div>
408
353
  );
409
354
  }
410
355
  ```
411
356
 
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.
357
+ See Storybook **Composed/AppLayout → BannerSlot** for the full interactive example, and `snippets/context-sidebar-detail-page.tsx` for a copy-paste integration pattern.
428
358
 
429
359
  ### Data table (entity list pages)
430
360
 
@@ -18,12 +18,9 @@ interface AppLayoutProps {
18
18
  /** Optional callback when context expansion state changes. */
19
19
  readonly onContextExpandedChange?: (expanded: boolean) => void;
20
20
  /**
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.
21
+ * Controls content area padding.
22
+ * - `"default"` — standard padding on all sides (the default).
23
+ * - `"full-bleed"` — no padding; content spans edge-to-edge.
27
24
  */
28
25
  readonly contentVariant?: 'default' | 'full-bleed';
29
26
  /**
@@ -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;;;;;;;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
+ {"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"}
@@ -8,10 +8,6 @@ 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
- */
15
11
  readonly contentVariant: 'default' | 'full-bleed';
16
12
  /** Full-width banner rendered above the padded content area (e.g. deploy status, environment warnings). */
17
13
  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;;;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"}
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"}
@@ -7,9 +7,6 @@ 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
- *
13
10
  * @param config - Slot values the module wants to own.
14
11
  * @param deps - Dependency array that triggers a config re-push
15
12
  * (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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,GAAE,KAAK,CAAC,cAAmB,QAYrF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -62,7 +62,6 @@ 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';
66
65
  export * from './composed/PasswordInput';
67
66
  export * from './composed/SelectorDropdown';
68
67
  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,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,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 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),
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),
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" : "max-w-content px-content pt-4 pb-content"),
24817
+ className: t("mx-auto w-full", c === "full-bleed" ? "min-h-0 flex-1 p-0" : "px-content pt-4 pb-content"),
24818
24818
  children: a
24819
24819
  })]
24820
24820
  })]
@@ -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
- Le(() => {
34579
+ Pe(() => {
34580
34580
  n(e);
34581
34581
  let t = Object.keys(e);
34582
34582
  return () => {
@@ -34589,17 +34589,8 @@ 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
34601
34592
  //#region src/composed/TopNavUser/TopNavUser.tsx
34602
- var SX = [
34593
+ var xX = [
34603
34594
  {
34604
34595
  value: "light",
34605
34596
  label: "Light"
@@ -34613,7 +34604,7 @@ var SX = [
34613
34604
  label: "System"
34614
34605
  }
34615
34606
  ];
34616
- function CX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSignOut: o }) {
34607
+ function SX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSignOut: o }) {
34617
34608
  let s = i ?? e.slice(0, 2).toUpperCase(), { mode: c, setMode: l } = Ce();
34618
34609
  return /* @__PURE__ */ G(cI, { children: [/* @__PURE__ */ W(uI, {
34619
34610
  asChild: !0,
@@ -34642,7 +34633,7 @@ function CX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSign
34642
34633
  /* @__PURE__ */ W(hI, {
34643
34634
  value: c,
34644
34635
  onValueChange: (e) => l(e),
34645
- children: SX.map((e) => /* @__PURE__ */ W(gI, {
34636
+ children: xX.map((e) => /* @__PURE__ */ W(gI, {
34646
34637
  value: e.value,
34647
34638
  children: e.label
34648
34639
  }, e.value))
@@ -34655,6 +34646,6 @@ function CX({ name: e, email: n, avatarUrl: r, initials: i, className: a, onSign
34655
34646
  ]
34656
34647
  })] });
34657
34648
  }
34658
- CX.displayName = "TopNavUser";
34649
+ SX.displayName = "TopNavUser";
34659
34650
  //#endregion
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 };
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 };