@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 +22 -92
- package/dist/composed/AppLayout/AppLayout.d.ts +3 -6
- package/dist/composed/AppLayout/AppLayout.d.ts.map +1 -1
- package/dist/composed/LayoutSlots/LayoutSlotsContext.d.ts +0 -4
- package/dist/composed/LayoutSlots/LayoutSlotsContext.d.ts.map +1 -1
- package/dist/composed/LayoutSlots/use-layout-config.d.ts +0 -3
- package/dist/composed/LayoutSlots/use-layout-config.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -17
- package/dist/styles/globals.css +1 -1
- package/dist/styles/tailwind-theme.css +0 -2
- package/dist/tokens/component.css +1 -2
- package/package.json +2 -2
- package/snippets/context-sidebar-detail-page.tsx +22 -20
- package/snippets/json-schema-form-simple.tsx +1 -1
- package/snippets/json-schema-form-with-meta.tsx +1 -1
- package/dist/composed/PageFocused/PageFocused.d.ts +0 -32
- package/dist/composed/PageFocused/PageFocused.d.ts.map +0 -1
- package/dist/composed/PageFocused/index.d.ts +0 -3
- package/dist/composed/PageFocused/index.d.ts.map +0 -1
- package/snippets/creation-wizard-page.tsx +0 -120
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
|
|
144
|
+
### Layout
|
|
145
145
|
|
|
146
|
-
|
|
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
|
|
296
|
+
### `contentVariant` — full-bleed content
|
|
297
|
+
|
|
298
|
+
`AppLayout` accepts `contentVariant` to control content area padding:
|
|
329
299
|
|
|
330
|
-
|
|
300
|
+
- `"default"` (default) — standard padding on all sides.
|
|
301
|
+
- `"full-bleed"` — no padding; content spans edge-to-edge.
|
|
331
302
|
|
|
332
|
-
|
|
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
|
-
|
|
337
|
-
<
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
317
|
+
### `banner` — full-width status slot
|
|
366
318
|
|
|
367
|
-
|
|
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
|
-
<
|
|
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="
|
|
396
|
-
<span className="size-1.5 shrink-0 rounded-full bg-warning"
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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
|
|
22
|
-
* - `"default"` —
|
|
23
|
-
* - `"full-bleed"` — no
|
|
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
|
|
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
|
|
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
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
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" : "
|
|
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
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
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,
|
|
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 };
|