@epicbagel/saas-kit 1.32.0 → 1.33.0
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/THIRD_PARTY_NOTICES.md +6 -5
- package/dist/chunk-2DCJ2SFU.js +20 -0
- package/dist/chunk-2FVFPGP5.js +489 -0
- package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
- package/dist/chunk-B54ZEKBG.cjs +63 -0
- package/dist/chunk-CXAFTEEP.cjs +20 -0
- package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
- package/dist/chunk-G3SF4RRA.cjs +489 -0
- package/dist/chunk-HTTRUJQU.cjs +60 -0
- package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
- package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
- package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
- package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
- package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
- package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
- package/dist/chunk-TUQVHPSI.js +60 -0
- package/dist/chunk-VWOWPNKT.js +73 -0
- package/dist/chunk-XH2I3YJ6.js +63 -0
- package/dist/chunk-Y6X6XDHE.cjs +73 -0
- package/dist/primitives/accent-theme.cjs +66 -0
- package/dist/primitives/accent-theme.d.cts +32 -0
- package/dist/primitives/accent-theme.d.ts +32 -0
- package/dist/primitives/accent-theme.js +66 -0
- package/dist/primitives/activity-feed.cjs +2 -2
- package/dist/primitives/activity-feed.js +2 -2
- package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
- package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
- package/dist/primitives/alert.d.cts +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/app-layout.cjs +114 -0
- package/dist/primitives/app-layout.d.cts +47 -0
- package/dist/primitives/app-layout.d.ts +47 -0
- package/dist/primitives/app-layout.js +114 -0
- package/dist/primitives/app-sidebar.cjs +52 -0
- package/dist/primitives/app-sidebar.d.cts +105 -0
- package/dist/primitives/app-sidebar.d.ts +105 -0
- package/dist/primitives/app-sidebar.js +52 -0
- package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
- package/dist/primitives/archive-confirmation-dialog.js +3 -3
- package/dist/primitives/back-bar.cjs +37 -0
- package/dist/primitives/back-bar.d.cts +31 -0
- package/dist/primitives/back-bar.d.ts +31 -0
- package/dist/primitives/back-bar.js +37 -0
- package/dist/primitives/badge.d.cts +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/batch-action-bar.cjs +134 -0
- package/dist/primitives/batch-action-bar.d.cts +27 -0
- package/dist/primitives/batch-action-bar.d.ts +27 -0
- package/dist/primitives/batch-action-bar.js +134 -0
- package/dist/primitives/board-view-internals.cjs +3 -3
- package/dist/primitives/board-view-internals.js +2 -2
- package/dist/primitives/board-view.cjs +8 -8
- package/dist/primitives/board-view.js +7 -7
- package/dist/primitives/brand-mark.cjs +26 -0
- package/dist/primitives/brand-mark.d.cts +10 -0
- package/dist/primitives/brand-mark.d.ts +10 -0
- package/dist/primitives/brand-mark.js +26 -0
- package/dist/primitives/bubble.d.cts +1 -1
- package/dist/primitives/bubble.d.ts +1 -1
- package/dist/primitives/button.d.cts +2 -2
- package/dist/primitives/button.d.ts +2 -2
- package/dist/primitives/chat.cjs +27 -27
- package/dist/primitives/chat.js +21 -21
- package/dist/primitives/code-block.cjs +4 -4
- package/dist/primitives/code-block.js +3 -3
- package/dist/primitives/command.cjs +129 -0
- package/dist/primitives/command.d.cts +60 -0
- package/dist/primitives/command.d.ts +60 -0
- package/dist/primitives/command.js +129 -0
- package/dist/primitives/compact-list.cjs +24 -0
- package/dist/primitives/compact-list.d.cts +18 -0
- package/dist/primitives/compact-list.d.ts +18 -0
- package/dist/primitives/compact-list.js +24 -0
- package/dist/primitives/connection.cjs +6 -6
- package/dist/primitives/connection.js +8 -8
- package/dist/primitives/context-bar.cjs +57 -0
- package/dist/primitives/context-bar.d.cts +50 -0
- package/dist/primitives/context-bar.d.ts +50 -0
- package/dist/primitives/context-bar.js +57 -0
- package/dist/primitives/copy-button.cjs +3 -3
- package/dist/primitives/copy-button.js +2 -2
- package/dist/primitives/cycling-prompt.cjs +102 -0
- package/dist/primitives/cycling-prompt.d.cts +24 -0
- package/dist/primitives/cycling-prompt.d.ts +24 -0
- package/dist/primitives/cycling-prompt.js +102 -0
- package/dist/primitives/dialog.d.cts +9 -9
- package/dist/primitives/dialog.d.ts +9 -9
- package/dist/primitives/dotted-list.cjs +41 -0
- package/dist/primitives/dotted-list.d.cts +28 -0
- package/dist/primitives/dotted-list.d.ts +28 -0
- package/dist/primitives/dotted-list.js +41 -0
- package/dist/primitives/drawer.d.cts +6 -6
- package/dist/primitives/drawer.d.ts +6 -6
- package/dist/primitives/field.cjs +3 -3
- package/dist/primitives/field.js +2 -2
- package/dist/primitives/file-dropzone.cjs +3 -3
- package/dist/primitives/file-dropzone.js +2 -2
- package/dist/primitives/file-preview.cjs +4 -4
- package/dist/primitives/file-preview.js +3 -3
- package/dist/primitives/filter-bar.cjs +4 -4
- package/dist/primitives/filter-bar.js +3 -3
- package/dist/primitives/fixed-action-bar.cjs +46 -0
- package/dist/primitives/fixed-action-bar.d.cts +15 -0
- package/dist/primitives/fixed-action-bar.d.ts +15 -0
- package/dist/primitives/fixed-action-bar.js +46 -0
- package/dist/primitives/floating-action-button.cjs +65 -0
- package/dist/primitives/floating-action-button.d.cts +52 -0
- package/dist/primitives/floating-action-button.d.ts +52 -0
- package/dist/primitives/floating-action-button.js +65 -0
- package/dist/primitives/form-section.cjs +38 -0
- package/dist/primitives/form-section.d.cts +43 -0
- package/dist/primitives/form-section.d.ts +43 -0
- package/dist/primitives/form-section.js +38 -0
- package/dist/primitives/key-value-grid.cjs +52 -0
- package/dist/primitives/key-value-grid.d.cts +20 -0
- package/dist/primitives/key-value-grid.d.ts +20 -0
- package/dist/primitives/key-value-grid.js +52 -0
- package/dist/primitives/marketing-footer.cjs +34 -0
- package/dist/primitives/marketing-footer.d.cts +29 -0
- package/dist/primitives/marketing-footer.d.ts +29 -0
- package/dist/primitives/marketing-footer.js +34 -0
- package/dist/primitives/marketing-header.cjs +41 -0
- package/dist/primitives/marketing-header.d.cts +31 -0
- package/dist/primitives/marketing-header.d.ts +31 -0
- package/dist/primitives/marketing-header.js +41 -0
- package/dist/primitives/marketing-section.cjs +8 -0
- package/dist/primitives/marketing-section.d.cts +35 -0
- package/dist/primitives/marketing-section.d.ts +35 -0
- package/dist/primitives/marketing-section.js +8 -0
- package/dist/primitives/marketing-shell.cjs +28 -0
- package/dist/primitives/marketing-shell.d.cts +14 -0
- package/dist/primitives/marketing-shell.d.ts +14 -0
- package/dist/primitives/marketing-shell.js +28 -0
- package/dist/primitives/notes.cjs +4 -4
- package/dist/primitives/notes.js +4 -4
- package/dist/primitives/page-header.cjs +3 -67
- package/dist/primitives/page-header.js +3 -67
- package/dist/primitives/page-tabs.cjs +4 -57
- package/dist/primitives/page-tabs.js +4 -57
- package/dist/primitives/pager.cjs +85 -0
- package/dist/primitives/pager.d.cts +39 -0
- package/dist/primitives/pager.d.ts +39 -0
- package/dist/primitives/pager.js +85 -0
- package/dist/primitives/pagination.cjs +119 -0
- package/dist/primitives/pagination.d.cts +41 -0
- package/dist/primitives/pagination.d.ts +41 -0
- package/dist/primitives/pagination.js +119 -0
- package/dist/primitives/poster.cjs +11 -1
- package/dist/primitives/poster.d.cts +12 -1
- package/dist/primitives/poster.d.ts +12 -1
- package/dist/primitives/poster.js +10 -0
- package/dist/primitives/resource-list.cjs +8 -8
- package/dist/primitives/resource-list.js +7 -7
- package/dist/primitives/responsive-embed.cjs +29 -0
- package/dist/primitives/responsive-embed.d.cts +14 -0
- package/dist/primitives/responsive-embed.d.ts +14 -0
- package/dist/primitives/responsive-embed.js +29 -0
- package/dist/primitives/save-bar.cjs +91 -0
- package/dist/primitives/save-bar.d.cts +55 -0
- package/dist/primitives/save-bar.d.ts +55 -0
- package/dist/primitives/save-bar.js +91 -0
- package/dist/primitives/settings-list.cjs +10 -0
- package/dist/primitives/settings-list.d.cts +31 -0
- package/dist/primitives/settings-list.d.ts +31 -0
- package/dist/primitives/settings-list.js +10 -0
- package/dist/primitives/settings-section.cjs +34 -0
- package/dist/primitives/settings-section.d.cts +44 -0
- package/dist/primitives/settings-section.d.ts +44 -0
- package/dist/primitives/settings-section.js +34 -0
- package/dist/primitives/sheet.d.cts +9 -9
- package/dist/primitives/sheet.d.ts +9 -9
- package/dist/primitives/short-video.cjs +110 -0
- package/dist/primitives/short-video.d.cts +30 -0
- package/dist/primitives/short-video.d.ts +30 -0
- package/dist/primitives/short-video.js +110 -0
- package/dist/primitives/stats-card.cjs +46 -0
- package/dist/primitives/stats-card.d.cts +19 -0
- package/dist/primitives/stats-card.d.ts +19 -0
- package/dist/primitives/stats-card.js +46 -0
- package/dist/primitives/stats-strip.cjs +38 -0
- package/dist/primitives/stats-strip.d.cts +24 -0
- package/dist/primitives/stats-strip.d.ts +24 -0
- package/dist/primitives/stats-strip.js +38 -0
- package/dist/primitives/step-list.cjs +32 -0
- package/dist/primitives/step-list.d.cts +19 -0
- package/dist/primitives/step-list.d.ts +19 -0
- package/dist/primitives/step-list.js +32 -0
- package/dist/primitives/steps.cjs +77 -0
- package/dist/primitives/steps.d.cts +35 -0
- package/dist/primitives/steps.d.ts +35 -0
- package/dist/primitives/steps.js +77 -0
- package/dist/primitives/tabbed-page-header.cjs +53 -0
- package/dist/primitives/tabbed-page-header.d.cts +26 -0
- package/dist/primitives/tabbed-page-header.d.ts +26 -0
- package/dist/primitives/tabbed-page-header.js +53 -0
- package/dist/primitives/theme-selector.cjs +17 -17
- package/dist/primitives/theme-selector.js +5 -5
- package/dist/primitives/voice-dictation-button.cjs +5 -5
- package/dist/primitives/voice-dictation-button.js +4 -4
- package/dist/primitives/voice-session-controls.cjs +4 -4
- package/dist/primitives/voice-session-controls.js +3 -3
- package/dist/primitives/workflow-assistant.cjs +5 -5
- package/dist/primitives/workflow-assistant.js +3 -3
- package/package.json +312 -1
- package/src/styles/components/poster.css +42 -1
- package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
- package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
- package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
- package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
- package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
- package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
- package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
- package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
- package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
- package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
- package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
- package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkG3SF4RRAcjs = require('../chunk-G3SF4RRA.cjs');
|
|
7
|
+
require('../chunk-NQK5ZWC7.cjs');
|
|
8
|
+
require('../chunk-PPX2VPGI.cjs');
|
|
9
|
+
require('../chunk-R35FT53G.cjs');
|
|
10
|
+
require('../chunk-U2NES7VR.cjs');
|
|
11
|
+
require('../chunk-VGTINL5Q.cjs');
|
|
12
|
+
require('../chunk-I6GUOEBO.cjs');
|
|
13
|
+
require('../chunk-JDEXZGIY.cjs');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
17
|
+
|
|
18
|
+
// src/primitives/app-layout.tsx
|
|
19
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
20
|
+
function AppLayout({
|
|
21
|
+
sidebar,
|
|
22
|
+
breadcrumbs,
|
|
23
|
+
mobileBrand,
|
|
24
|
+
children,
|
|
25
|
+
headerActions,
|
|
26
|
+
headerContent,
|
|
27
|
+
className,
|
|
28
|
+
headerClassName,
|
|
29
|
+
frostedHeader = false,
|
|
30
|
+
contentClassName,
|
|
31
|
+
sidebarStorageKey,
|
|
32
|
+
sidebarWidth = "default",
|
|
33
|
+
chromeSurface = "background",
|
|
34
|
+
contentWidth = "contained",
|
|
35
|
+
viewport = "document"
|
|
36
|
+
}) {
|
|
37
|
+
const fixedViewport = viewport === "fixed";
|
|
38
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39
|
+
_chunkG3SF4RRAcjs.SidebarProvider,
|
|
40
|
+
{
|
|
41
|
+
storageKey: sidebarStorageKey,
|
|
42
|
+
width: sidebarWidth,
|
|
43
|
+
surface: chromeSurface,
|
|
44
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, fixedViewport && "h-svh min-h-0 overflow-hidden", className),
|
|
45
|
+
children: [
|
|
46
|
+
sidebar,
|
|
47
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
48
|
+
_chunkG3SF4RRAcjs.SidebarInset,
|
|
49
|
+
{
|
|
50
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
51
|
+
"bg-muted/40",
|
|
52
|
+
fixedViewport && "h-svh min-h-0 overflow-hidden"
|
|
53
|
+
),
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
56
|
+
"header",
|
|
57
|
+
{
|
|
58
|
+
"data-slot": "app-layout-header",
|
|
59
|
+
"data-surface": chromeSurface,
|
|
60
|
+
"data-frosted-surface": frostedHeader ? chromeSurface : void 0,
|
|
61
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
62
|
+
"sticky top-0 z-30 flex min-h-16 shrink-0 items-center gap-2 border-b border-border px-3 md:px-4",
|
|
63
|
+
!frostedHeader && "backdrop-blur-sm",
|
|
64
|
+
!frostedHeader && (chromeSurface === "card" ? "bg-card supports-[backdrop-filter]:bg-card" : "bg-background/85 supports-[backdrop-filter]:bg-background/75"),
|
|
65
|
+
headerClassName
|
|
66
|
+
),
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG3SF4RRAcjs.SidebarTrigger, { visibility: "mobile" }),
|
|
69
|
+
(mobileBrand || breadcrumbs || headerActions) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
"data-slot": "app-layout-header-primary",
|
|
73
|
+
className: "flex min-w-0 flex-1 items-center gap-6",
|
|
74
|
+
children: [
|
|
75
|
+
mobileBrand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center md:hidden", children: mobileBrand }),
|
|
76
|
+
breadcrumbs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden min-w-0 flex-1 items-center md:flex", children: breadcrumbs }),
|
|
77
|
+
headerActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
"data-slot": "app-layout-header-actions",
|
|
81
|
+
className: "flex shrink-0 items-center gap-3",
|
|
82
|
+
children: headerActions
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
headerContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "app-layout-header-content", className: "ml-auto flex shrink-0 items-center", children: headerContent })
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
"data-slot": "app-layout-content",
|
|
96
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
97
|
+
"mx-auto flex w-full flex-1 flex-col bg-background",
|
|
98
|
+
contentWidth === "contained" ? "max-w-6xl border-x border-border" : "max-w-none",
|
|
99
|
+
fixedViewport && "min-h-0 overflow-hidden",
|
|
100
|
+
contentClassName
|
|
101
|
+
),
|
|
102
|
+
children
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
exports.AppLayout = AppLayout;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { SidebarProviderProps } from './app-sidebar.cjs';
|
|
4
|
+
import './button.cjs';
|
|
5
|
+
import 'class-variance-authority/types';
|
|
6
|
+
import 'class-variance-authority';
|
|
7
|
+
import './count-badge.cjs';
|
|
8
|
+
import './badge.cjs';
|
|
9
|
+
import './separator.cjs';
|
|
10
|
+
import '@radix-ui/react-separator';
|
|
11
|
+
import './sheet.cjs';
|
|
12
|
+
import '@radix-ui/react-dialog';
|
|
13
|
+
|
|
14
|
+
interface AppLayoutProps {
|
|
15
|
+
sidebar: ReactNode;
|
|
16
|
+
breadcrumbs?: ReactNode;
|
|
17
|
+
mobileBrand?: ReactNode;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
/** Primary page actions shown beside the current title. Spacing is owned by the shell. */
|
|
20
|
+
headerActions?: ReactNode;
|
|
21
|
+
headerContent?: ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
headerClassName?: string;
|
|
24
|
+
/** Translucent, blurred header with a solid fallback. Does not change the sidebar or scrolling. */
|
|
25
|
+
frostedHeader?: boolean;
|
|
26
|
+
contentClassName?: string;
|
|
27
|
+
sidebarStorageKey?: SidebarProviderProps["storageKey"];
|
|
28
|
+
sidebarWidth?: SidebarProviderProps["width"];
|
|
29
|
+
/** Surface shared by the application header and responsive navigation chrome. */
|
|
30
|
+
chromeSurface?: SidebarProviderProps["surface"];
|
|
31
|
+
/** `full` lets workspace-style products own the full inset rather than a bordered page column. */
|
|
32
|
+
contentWidth?: "contained" | "full";
|
|
33
|
+
/**
|
|
34
|
+
* `fixed` locks the shell to the viewport so a child workspace can own its
|
|
35
|
+
* scrolling region (for example, a chat transcript with a pinned composer).
|
|
36
|
+
* Normal pages keep document scrolling by default.
|
|
37
|
+
*/
|
|
38
|
+
viewport?: "document" | "fixed";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Responsive application shell for products whose navigation has outgrown a
|
|
42
|
+
* horizontal header. Navigation is persistent/collapsible on desktop and is
|
|
43
|
+
* exposed as a sheet from the same trigger on mobile.
|
|
44
|
+
*/
|
|
45
|
+
declare function AppLayout({ sidebar, breadcrumbs, mobileBrand, children, headerActions, headerContent, className, headerClassName, frostedHeader, contentClassName, sidebarStorageKey, sidebarWidth, chromeSurface, contentWidth, viewport, }: AppLayoutProps): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
export { AppLayout, type AppLayoutProps };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { SidebarProviderProps } from './app-sidebar.js';
|
|
4
|
+
import './button.js';
|
|
5
|
+
import 'class-variance-authority/types';
|
|
6
|
+
import 'class-variance-authority';
|
|
7
|
+
import './count-badge.js';
|
|
8
|
+
import './badge.js';
|
|
9
|
+
import './separator.js';
|
|
10
|
+
import '@radix-ui/react-separator';
|
|
11
|
+
import './sheet.js';
|
|
12
|
+
import '@radix-ui/react-dialog';
|
|
13
|
+
|
|
14
|
+
interface AppLayoutProps {
|
|
15
|
+
sidebar: ReactNode;
|
|
16
|
+
breadcrumbs?: ReactNode;
|
|
17
|
+
mobileBrand?: ReactNode;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
/** Primary page actions shown beside the current title. Spacing is owned by the shell. */
|
|
20
|
+
headerActions?: ReactNode;
|
|
21
|
+
headerContent?: ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
headerClassName?: string;
|
|
24
|
+
/** Translucent, blurred header with a solid fallback. Does not change the sidebar or scrolling. */
|
|
25
|
+
frostedHeader?: boolean;
|
|
26
|
+
contentClassName?: string;
|
|
27
|
+
sidebarStorageKey?: SidebarProviderProps["storageKey"];
|
|
28
|
+
sidebarWidth?: SidebarProviderProps["width"];
|
|
29
|
+
/** Surface shared by the application header and responsive navigation chrome. */
|
|
30
|
+
chromeSurface?: SidebarProviderProps["surface"];
|
|
31
|
+
/** `full` lets workspace-style products own the full inset rather than a bordered page column. */
|
|
32
|
+
contentWidth?: "contained" | "full";
|
|
33
|
+
/**
|
|
34
|
+
* `fixed` locks the shell to the viewport so a child workspace can own its
|
|
35
|
+
* scrolling region (for example, a chat transcript with a pinned composer).
|
|
36
|
+
* Normal pages keep document scrolling by default.
|
|
37
|
+
*/
|
|
38
|
+
viewport?: "document" | "fixed";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Responsive application shell for products whose navigation has outgrown a
|
|
42
|
+
* horizontal header. Navigation is persistent/collapsible on desktop and is
|
|
43
|
+
* exposed as a sheet from the same trigger on mobile.
|
|
44
|
+
*/
|
|
45
|
+
declare function AppLayout({ sidebar, breadcrumbs, mobileBrand, children, headerActions, headerContent, className, headerClassName, frostedHeader, contentClassName, sidebarStorageKey, sidebarWidth, chromeSurface, contentWidth, viewport, }: AppLayoutProps): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
export { AppLayout, type AppLayoutProps };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
SidebarInset,
|
|
4
|
+
SidebarProvider,
|
|
5
|
+
SidebarTrigger
|
|
6
|
+
} from "../chunk-2FVFPGP5.js";
|
|
7
|
+
import "../chunk-HYTILYE5.js";
|
|
8
|
+
import "../chunk-G76JANB4.js";
|
|
9
|
+
import "../chunk-PIU5SSUV.js";
|
|
10
|
+
import "../chunk-ZRLUUZHK.js";
|
|
11
|
+
import "../chunk-H7TETFLB.js";
|
|
12
|
+
import "../chunk-D4ZL2OEQ.js";
|
|
13
|
+
import "../chunk-W326GKML.js";
|
|
14
|
+
import {
|
|
15
|
+
cn
|
|
16
|
+
} from "../chunk-G6SRSWXB.js";
|
|
17
|
+
|
|
18
|
+
// src/primitives/app-layout.tsx
|
|
19
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
20
|
+
function AppLayout({
|
|
21
|
+
sidebar,
|
|
22
|
+
breadcrumbs,
|
|
23
|
+
mobileBrand,
|
|
24
|
+
children,
|
|
25
|
+
headerActions,
|
|
26
|
+
headerContent,
|
|
27
|
+
className,
|
|
28
|
+
headerClassName,
|
|
29
|
+
frostedHeader = false,
|
|
30
|
+
contentClassName,
|
|
31
|
+
sidebarStorageKey,
|
|
32
|
+
sidebarWidth = "default",
|
|
33
|
+
chromeSurface = "background",
|
|
34
|
+
contentWidth = "contained",
|
|
35
|
+
viewport = "document"
|
|
36
|
+
}) {
|
|
37
|
+
const fixedViewport = viewport === "fixed";
|
|
38
|
+
return /* @__PURE__ */ jsxs(
|
|
39
|
+
SidebarProvider,
|
|
40
|
+
{
|
|
41
|
+
storageKey: sidebarStorageKey,
|
|
42
|
+
width: sidebarWidth,
|
|
43
|
+
surface: chromeSurface,
|
|
44
|
+
className: cn(fixedViewport && "h-svh min-h-0 overflow-hidden", className),
|
|
45
|
+
children: [
|
|
46
|
+
sidebar,
|
|
47
|
+
/* @__PURE__ */ jsxs(
|
|
48
|
+
SidebarInset,
|
|
49
|
+
{
|
|
50
|
+
className: cn(
|
|
51
|
+
"bg-muted/40",
|
|
52
|
+
fixedViewport && "h-svh min-h-0 overflow-hidden"
|
|
53
|
+
),
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ jsxs(
|
|
56
|
+
"header",
|
|
57
|
+
{
|
|
58
|
+
"data-slot": "app-layout-header",
|
|
59
|
+
"data-surface": chromeSurface,
|
|
60
|
+
"data-frosted-surface": frostedHeader ? chromeSurface : void 0,
|
|
61
|
+
className: cn(
|
|
62
|
+
"sticky top-0 z-30 flex min-h-16 shrink-0 items-center gap-2 border-b border-border px-3 md:px-4",
|
|
63
|
+
!frostedHeader && "backdrop-blur-sm",
|
|
64
|
+
!frostedHeader && (chromeSurface === "card" ? "bg-card supports-[backdrop-filter]:bg-card" : "bg-background/85 supports-[backdrop-filter]:bg-background/75"),
|
|
65
|
+
headerClassName
|
|
66
|
+
),
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsx(SidebarTrigger, { visibility: "mobile" }),
|
|
69
|
+
(mobileBrand || breadcrumbs || headerActions) && /* @__PURE__ */ jsxs(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
"data-slot": "app-layout-header-primary",
|
|
73
|
+
className: "flex min-w-0 flex-1 items-center gap-6",
|
|
74
|
+
children: [
|
|
75
|
+
mobileBrand && /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1 items-center md:hidden", children: mobileBrand }),
|
|
76
|
+
breadcrumbs && /* @__PURE__ */ jsx("div", { className: "hidden min-w-0 flex-1 items-center md:flex", children: breadcrumbs }),
|
|
77
|
+
headerActions && /* @__PURE__ */ jsx(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
"data-slot": "app-layout-header-actions",
|
|
81
|
+
className: "flex shrink-0 items-center gap-3",
|
|
82
|
+
children: headerActions
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
headerContent && /* @__PURE__ */ jsx("div", { "data-slot": "app-layout-header-content", className: "ml-auto flex shrink-0 items-center", children: headerContent })
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
/* @__PURE__ */ jsx(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
"data-slot": "app-layout-content",
|
|
96
|
+
className: cn(
|
|
97
|
+
"mx-auto flex w-full flex-1 flex-col bg-background",
|
|
98
|
+
contentWidth === "contained" ? "max-w-6xl border-x border-border" : "max-w-none",
|
|
99
|
+
fixedViewport && "min-h-0 overflow-hidden",
|
|
100
|
+
contentClassName
|
|
101
|
+
),
|
|
102
|
+
children
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
AppLayout
|
|
114
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
var _chunkG3SF4RRAcjs = require('../chunk-G3SF4RRA.cjs');
|
|
24
|
+
require('../chunk-NQK5ZWC7.cjs');
|
|
25
|
+
require('../chunk-PPX2VPGI.cjs');
|
|
26
|
+
require('../chunk-R35FT53G.cjs');
|
|
27
|
+
require('../chunk-U2NES7VR.cjs');
|
|
28
|
+
require('../chunk-VGTINL5Q.cjs');
|
|
29
|
+
require('../chunk-I6GUOEBO.cjs');
|
|
30
|
+
require('../chunk-JDEXZGIY.cjs');
|
|
31
|
+
require('../chunk-KWLSBTB2.cjs');
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
exports.Sidebar = _chunkG3SF4RRAcjs.Sidebar; exports.SidebarBrand = _chunkG3SF4RRAcjs.SidebarBrand; exports.SidebarContent = _chunkG3SF4RRAcjs.SidebarContent; exports.SidebarFooter = _chunkG3SF4RRAcjs.SidebarFooter; exports.SidebarFooterActions = _chunkG3SF4RRAcjs.SidebarFooterActions; exports.SidebarGroup = _chunkG3SF4RRAcjs.SidebarGroup; exports.SidebarGroupContent = _chunkG3SF4RRAcjs.SidebarGroupContent; exports.SidebarGroupLabel = _chunkG3SF4RRAcjs.SidebarGroupLabel; exports.SidebarHeader = _chunkG3SF4RRAcjs.SidebarHeader; exports.SidebarInset = _chunkG3SF4RRAcjs.SidebarInset; exports.SidebarMenu = _chunkG3SF4RRAcjs.SidebarMenu; exports.SidebarMenuBadge = _chunkG3SF4RRAcjs.SidebarMenuBadge; exports.SidebarMenuButton = _chunkG3SF4RRAcjs.SidebarMenuButton; exports.SidebarMenuItem = _chunkG3SF4RRAcjs.SidebarMenuItem; exports.SidebarProvider = _chunkG3SF4RRAcjs.SidebarProvider; exports.SidebarRail = _chunkG3SF4RRAcjs.SidebarRail; exports.SidebarSeparator = _chunkG3SF4RRAcjs.SidebarSeparator; exports.SidebarTrigger = _chunkG3SF4RRAcjs.SidebarTrigger; exports.useSidebar = _chunkG3SF4RRAcjs.useSidebar;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Button } from './button.cjs';
|
|
4
|
+
import { CountBadgeProps } from './count-badge.cjs';
|
|
5
|
+
import { Separator } from './separator.cjs';
|
|
6
|
+
import { SheetContent } from './sheet.cjs';
|
|
7
|
+
import 'class-variance-authority/types';
|
|
8
|
+
import 'class-variance-authority';
|
|
9
|
+
import './badge.cjs';
|
|
10
|
+
import '@radix-ui/react-separator';
|
|
11
|
+
import '@radix-ui/react-dialog';
|
|
12
|
+
|
|
13
|
+
declare const SIDEBAR_WIDTHS: {
|
|
14
|
+
readonly default: "16rem";
|
|
15
|
+
readonly wide: "20rem";
|
|
16
|
+
};
|
|
17
|
+
type SidebarSurface = "background" | "card";
|
|
18
|
+
type SidebarContextValue = {
|
|
19
|
+
state: "expanded" | "collapsed";
|
|
20
|
+
open: boolean;
|
|
21
|
+
setOpen: (open: boolean) => void;
|
|
22
|
+
openMobile: boolean;
|
|
23
|
+
setOpenMobile: (open: boolean) => void;
|
|
24
|
+
isMobile: boolean;
|
|
25
|
+
surface: SidebarSurface;
|
|
26
|
+
toggleSidebar: () => void;
|
|
27
|
+
};
|
|
28
|
+
declare function useSidebar(): SidebarContextValue;
|
|
29
|
+
interface SidebarProviderProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
30
|
+
defaultOpen?: boolean;
|
|
31
|
+
open?: boolean;
|
|
32
|
+
onOpenChange?: (open: boolean) => void;
|
|
33
|
+
/** Optional local-storage key used to remember the desktop collapsed state. */
|
|
34
|
+
storageKey?: string;
|
|
35
|
+
/** Desktop sidebar width. `wide` is intended for conversation history and other text-heavy navigation. */
|
|
36
|
+
width?: keyof typeof SIDEBAR_WIDTHS;
|
|
37
|
+
/** Semantic surface shared by the desktop rail and mobile navigation sheet. */
|
|
38
|
+
surface?: SidebarSurface;
|
|
39
|
+
}
|
|
40
|
+
declare const SidebarProvider: React.ForwardRefExoticComponent<SidebarProviderProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
interface SidebarProps extends React.ComponentPropsWithoutRef<"aside"> {
|
|
42
|
+
side?: "left" | "right";
|
|
43
|
+
collapsible?: "offcanvas" | "icon" | "none";
|
|
44
|
+
mobileLabel?: string;
|
|
45
|
+
/** Lets the host handle Escape in the mobile sheet before it closes. */
|
|
46
|
+
onEscapeKeyDown?: React.ComponentPropsWithoutRef<typeof SheetContent>["onEscapeKeyDown"];
|
|
47
|
+
}
|
|
48
|
+
declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>>;
|
|
49
|
+
interface SidebarInsetProps extends React.ComponentPropsWithoutRef<"main"> {
|
|
50
|
+
}
|
|
51
|
+
declare const SidebarInset: React.ForwardRefExoticComponent<SidebarInsetProps & React.RefAttributes<HTMLElement>>;
|
|
52
|
+
interface SidebarTriggerProps extends React.ComponentPropsWithoutRef<typeof Button> {
|
|
53
|
+
visibility?: "always" | "mobile" | "desktop";
|
|
54
|
+
}
|
|
55
|
+
declare const SidebarTrigger: React.ForwardRefExoticComponent<SidebarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
56
|
+
interface SidebarRailProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
57
|
+
}
|
|
58
|
+
declare const SidebarRail: React.ForwardRefExoticComponent<SidebarRailProps & React.RefAttributes<HTMLButtonElement>>;
|
|
59
|
+
type SidebarSectionProps = React.ComponentPropsWithoutRef<"div">;
|
|
60
|
+
interface SidebarGroupProps extends SidebarSectionProps {
|
|
61
|
+
/** Adds the standard boundary used between distinct navigation groups. */
|
|
62
|
+
separated?: boolean;
|
|
63
|
+
/** Compact groups keep an explicit 12px inset in every theme. */
|
|
64
|
+
padding?: "default" | "compact";
|
|
65
|
+
}
|
|
66
|
+
interface SidebarHeaderProps extends SidebarSectionProps {
|
|
67
|
+
border?: "none" | "bottom";
|
|
68
|
+
minHeight?: "none" | "header";
|
|
69
|
+
padding?: "default" | "wide";
|
|
70
|
+
justify?: "start" | "center";
|
|
71
|
+
}
|
|
72
|
+
declare function SidebarHeader({ border, minHeight, padding, justify, className, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
|
|
73
|
+
interface SidebarBrandProps extends SidebarSectionProps {
|
|
74
|
+
expanded: React.ReactNode;
|
|
75
|
+
collapsed: React.ReactNode;
|
|
76
|
+
}
|
|
77
|
+
/** Switches between full and compact brand treatments as the desktop rail collapses. */
|
|
78
|
+
declare function SidebarBrand({ expanded, collapsed, className, ...props }: SidebarBrandProps): react_jsx_runtime.JSX.Element;
|
|
79
|
+
declare function SidebarFooter({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
80
|
+
/**
|
|
81
|
+
* Keeps persistent footer navigation and the desktop collapse control aligned
|
|
82
|
+
* on one row, then stacks them when the sidebar is reduced to its icon rail.
|
|
83
|
+
*/
|
|
84
|
+
declare function SidebarFooterActions({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
declare function SidebarContent({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
86
|
+
declare function SidebarGroup({ separated, padding, className, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
|
|
87
|
+
declare function SidebarGroupLabel({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
88
|
+
declare function SidebarGroupContent({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
89
|
+
declare function SidebarSeparator({ className, ...props }: React.ComponentPropsWithoutRef<typeof Separator>): react_jsx_runtime.JSX.Element;
|
|
90
|
+
declare function SidebarMenu({ className, ...props }: React.ComponentPropsWithoutRef<"ul">): react_jsx_runtime.JSX.Element;
|
|
91
|
+
declare function SidebarMenuItem({ className, ...props }: React.ComponentPropsWithoutRef<"li">): react_jsx_runtime.JSX.Element;
|
|
92
|
+
interface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
93
|
+
asChild?: boolean;
|
|
94
|
+
isActive?: boolean;
|
|
95
|
+
tooltip?: React.ReactNode;
|
|
96
|
+
}
|
|
97
|
+
declare const SidebarMenuButton: React.ForwardRefExoticComponent<SidebarMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
98
|
+
interface SidebarMenuBadgeProps extends Omit<CountBadgeProps, "value"> {
|
|
99
|
+
children: CountBadgeProps["value"];
|
|
100
|
+
/** `inline` participates in the menu row layout; `overlay` preserves the trailing notification position. */
|
|
101
|
+
placement?: "inline" | "overlay";
|
|
102
|
+
}
|
|
103
|
+
declare function SidebarMenuBadge({ children, className, placement, ...props }: SidebarMenuBadgeProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
|
|
105
|
+
export { Sidebar, SidebarBrand, type SidebarBrandProps, SidebarContent, SidebarFooter, SidebarFooterActions, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarInset, type SidebarInsetProps, SidebarMenu, SidebarMenuBadge, type SidebarMenuBadgeProps, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, type SidebarRailProps, SidebarSeparator, type SidebarSurface, SidebarTrigger, type SidebarTriggerProps, useSidebar };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Button } from './button.js';
|
|
4
|
+
import { CountBadgeProps } from './count-badge.js';
|
|
5
|
+
import { Separator } from './separator.js';
|
|
6
|
+
import { SheetContent } from './sheet.js';
|
|
7
|
+
import 'class-variance-authority/types';
|
|
8
|
+
import 'class-variance-authority';
|
|
9
|
+
import './badge.js';
|
|
10
|
+
import '@radix-ui/react-separator';
|
|
11
|
+
import '@radix-ui/react-dialog';
|
|
12
|
+
|
|
13
|
+
declare const SIDEBAR_WIDTHS: {
|
|
14
|
+
readonly default: "16rem";
|
|
15
|
+
readonly wide: "20rem";
|
|
16
|
+
};
|
|
17
|
+
type SidebarSurface = "background" | "card";
|
|
18
|
+
type SidebarContextValue = {
|
|
19
|
+
state: "expanded" | "collapsed";
|
|
20
|
+
open: boolean;
|
|
21
|
+
setOpen: (open: boolean) => void;
|
|
22
|
+
openMobile: boolean;
|
|
23
|
+
setOpenMobile: (open: boolean) => void;
|
|
24
|
+
isMobile: boolean;
|
|
25
|
+
surface: SidebarSurface;
|
|
26
|
+
toggleSidebar: () => void;
|
|
27
|
+
};
|
|
28
|
+
declare function useSidebar(): SidebarContextValue;
|
|
29
|
+
interface SidebarProviderProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
30
|
+
defaultOpen?: boolean;
|
|
31
|
+
open?: boolean;
|
|
32
|
+
onOpenChange?: (open: boolean) => void;
|
|
33
|
+
/** Optional local-storage key used to remember the desktop collapsed state. */
|
|
34
|
+
storageKey?: string;
|
|
35
|
+
/** Desktop sidebar width. `wide` is intended for conversation history and other text-heavy navigation. */
|
|
36
|
+
width?: keyof typeof SIDEBAR_WIDTHS;
|
|
37
|
+
/** Semantic surface shared by the desktop rail and mobile navigation sheet. */
|
|
38
|
+
surface?: SidebarSurface;
|
|
39
|
+
}
|
|
40
|
+
declare const SidebarProvider: React.ForwardRefExoticComponent<SidebarProviderProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
interface SidebarProps extends React.ComponentPropsWithoutRef<"aside"> {
|
|
42
|
+
side?: "left" | "right";
|
|
43
|
+
collapsible?: "offcanvas" | "icon" | "none";
|
|
44
|
+
mobileLabel?: string;
|
|
45
|
+
/** Lets the host handle Escape in the mobile sheet before it closes. */
|
|
46
|
+
onEscapeKeyDown?: React.ComponentPropsWithoutRef<typeof SheetContent>["onEscapeKeyDown"];
|
|
47
|
+
}
|
|
48
|
+
declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>>;
|
|
49
|
+
interface SidebarInsetProps extends React.ComponentPropsWithoutRef<"main"> {
|
|
50
|
+
}
|
|
51
|
+
declare const SidebarInset: React.ForwardRefExoticComponent<SidebarInsetProps & React.RefAttributes<HTMLElement>>;
|
|
52
|
+
interface SidebarTriggerProps extends React.ComponentPropsWithoutRef<typeof Button> {
|
|
53
|
+
visibility?: "always" | "mobile" | "desktop";
|
|
54
|
+
}
|
|
55
|
+
declare const SidebarTrigger: React.ForwardRefExoticComponent<SidebarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
56
|
+
interface SidebarRailProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
57
|
+
}
|
|
58
|
+
declare const SidebarRail: React.ForwardRefExoticComponent<SidebarRailProps & React.RefAttributes<HTMLButtonElement>>;
|
|
59
|
+
type SidebarSectionProps = React.ComponentPropsWithoutRef<"div">;
|
|
60
|
+
interface SidebarGroupProps extends SidebarSectionProps {
|
|
61
|
+
/** Adds the standard boundary used between distinct navigation groups. */
|
|
62
|
+
separated?: boolean;
|
|
63
|
+
/** Compact groups keep an explicit 12px inset in every theme. */
|
|
64
|
+
padding?: "default" | "compact";
|
|
65
|
+
}
|
|
66
|
+
interface SidebarHeaderProps extends SidebarSectionProps {
|
|
67
|
+
border?: "none" | "bottom";
|
|
68
|
+
minHeight?: "none" | "header";
|
|
69
|
+
padding?: "default" | "wide";
|
|
70
|
+
justify?: "start" | "center";
|
|
71
|
+
}
|
|
72
|
+
declare function SidebarHeader({ border, minHeight, padding, justify, className, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
|
|
73
|
+
interface SidebarBrandProps extends SidebarSectionProps {
|
|
74
|
+
expanded: React.ReactNode;
|
|
75
|
+
collapsed: React.ReactNode;
|
|
76
|
+
}
|
|
77
|
+
/** Switches between full and compact brand treatments as the desktop rail collapses. */
|
|
78
|
+
declare function SidebarBrand({ expanded, collapsed, className, ...props }: SidebarBrandProps): react_jsx_runtime.JSX.Element;
|
|
79
|
+
declare function SidebarFooter({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
80
|
+
/**
|
|
81
|
+
* Keeps persistent footer navigation and the desktop collapse control aligned
|
|
82
|
+
* on one row, then stacks them when the sidebar is reduced to its icon rail.
|
|
83
|
+
*/
|
|
84
|
+
declare function SidebarFooterActions({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
declare function SidebarContent({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
86
|
+
declare function SidebarGroup({ separated, padding, className, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
|
|
87
|
+
declare function SidebarGroupLabel({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
88
|
+
declare function SidebarGroupContent({ className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
|
|
89
|
+
declare function SidebarSeparator({ className, ...props }: React.ComponentPropsWithoutRef<typeof Separator>): react_jsx_runtime.JSX.Element;
|
|
90
|
+
declare function SidebarMenu({ className, ...props }: React.ComponentPropsWithoutRef<"ul">): react_jsx_runtime.JSX.Element;
|
|
91
|
+
declare function SidebarMenuItem({ className, ...props }: React.ComponentPropsWithoutRef<"li">): react_jsx_runtime.JSX.Element;
|
|
92
|
+
interface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
93
|
+
asChild?: boolean;
|
|
94
|
+
isActive?: boolean;
|
|
95
|
+
tooltip?: React.ReactNode;
|
|
96
|
+
}
|
|
97
|
+
declare const SidebarMenuButton: React.ForwardRefExoticComponent<SidebarMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
98
|
+
interface SidebarMenuBadgeProps extends Omit<CountBadgeProps, "value"> {
|
|
99
|
+
children: CountBadgeProps["value"];
|
|
100
|
+
/** `inline` participates in the menu row layout; `overlay` preserves the trailing notification position. */
|
|
101
|
+
placement?: "inline" | "overlay";
|
|
102
|
+
}
|
|
103
|
+
declare function SidebarMenuBadge({ children, className, placement, ...props }: SidebarMenuBadgeProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
|
|
105
|
+
export { Sidebar, SidebarBrand, type SidebarBrandProps, SidebarContent, SidebarFooter, SidebarFooterActions, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarInset, type SidebarInsetProps, SidebarMenu, SidebarMenuBadge, type SidebarMenuBadgeProps, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, type SidebarRailProps, SidebarSeparator, type SidebarSurface, SidebarTrigger, type SidebarTriggerProps, useSidebar };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
import {
|
|
4
|
+
Sidebar,
|
|
5
|
+
SidebarBrand,
|
|
6
|
+
SidebarContent,
|
|
7
|
+
SidebarFooter,
|
|
8
|
+
SidebarFooterActions,
|
|
9
|
+
SidebarGroup,
|
|
10
|
+
SidebarGroupContent,
|
|
11
|
+
SidebarGroupLabel,
|
|
12
|
+
SidebarHeader,
|
|
13
|
+
SidebarInset,
|
|
14
|
+
SidebarMenu,
|
|
15
|
+
SidebarMenuBadge,
|
|
16
|
+
SidebarMenuButton,
|
|
17
|
+
SidebarMenuItem,
|
|
18
|
+
SidebarProvider,
|
|
19
|
+
SidebarRail,
|
|
20
|
+
SidebarSeparator,
|
|
21
|
+
SidebarTrigger,
|
|
22
|
+
useSidebar
|
|
23
|
+
} from "../chunk-2FVFPGP5.js";
|
|
24
|
+
import "../chunk-HYTILYE5.js";
|
|
25
|
+
import "../chunk-G76JANB4.js";
|
|
26
|
+
import "../chunk-PIU5SSUV.js";
|
|
27
|
+
import "../chunk-ZRLUUZHK.js";
|
|
28
|
+
import "../chunk-H7TETFLB.js";
|
|
29
|
+
import "../chunk-D4ZL2OEQ.js";
|
|
30
|
+
import "../chunk-W326GKML.js";
|
|
31
|
+
import "../chunk-G6SRSWXB.js";
|
|
32
|
+
export {
|
|
33
|
+
Sidebar,
|
|
34
|
+
SidebarBrand,
|
|
35
|
+
SidebarContent,
|
|
36
|
+
SidebarFooter,
|
|
37
|
+
SidebarFooterActions,
|
|
38
|
+
SidebarGroup,
|
|
39
|
+
SidebarGroupContent,
|
|
40
|
+
SidebarGroupLabel,
|
|
41
|
+
SidebarHeader,
|
|
42
|
+
SidebarInset,
|
|
43
|
+
SidebarMenu,
|
|
44
|
+
SidebarMenuBadge,
|
|
45
|
+
SidebarMenuButton,
|
|
46
|
+
SidebarMenuItem,
|
|
47
|
+
SidebarProvider,
|
|
48
|
+
SidebarRail,
|
|
49
|
+
SidebarSeparator,
|
|
50
|
+
SidebarTrigger,
|
|
51
|
+
useSidebar
|
|
52
|
+
};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkKM5FHCXUcjs = require('../chunk-KM5FHCXU.cjs');
|
|
9
9
|
require('../chunk-LIUYHYFN.cjs');
|
|
10
10
|
require('../chunk-JDEXZGIY.cjs');
|
|
11
11
|
require('../chunk-KWLSBTB2.cjs');
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
|
-
import {
|
|
4
|
-
DeleteConfirmationDialog
|
|
5
|
-
} from "../chunk-WL73DFE3.js";
|
|
6
3
|
import {
|
|
7
4
|
Icon
|
|
8
5
|
} from "../chunk-KN4RPX35.js";
|
|
6
|
+
import {
|
|
7
|
+
DeleteConfirmationDialog
|
|
8
|
+
} from "../chunk-WL73DFE3.js";
|
|
9
9
|
import "../chunk-ZLU32SRP.js";
|
|
10
10
|
import "../chunk-W326GKML.js";
|
|
11
11
|
import "../chunk-G6SRSWXB.js";
|