@egose/shadcn-theme 0.0.59 → 0.0.61
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/chunk-EIAS7WVI.mjs +70 -0
- package/chunk-EIAS7WVI.mjs.map +1 -0
- package/{chunk-WXRT742N.mjs → chunk-GGOYFF4M.mjs} +34 -7
- package/chunk-GGOYFF4M.mjs.map +1 -0
- package/{chunk-JNPTEXR6.js → chunk-PVKN7E6W.js} +26 -5
- package/chunk-PVKN7E6W.js.map +1 -0
- package/{chunk-XP4SPI7B.js → chunk-WCMH464B.js} +34 -7
- package/chunk-WCMH464B.js.map +1 -0
- package/components/ui/resizable.d.mts +1 -1
- package/components/ui/resizable.d.ts +1 -1
- package/components/widgets/dialog-manager/index.js +1 -1
- package/components/widgets/dialog-manager/index.js.map +1 -1
- package/components/widgets/dialog-manager/index.mjs +1 -1
- package/layouts/sidebar1/app-sidebar.d.mts +10 -4
- package/layouts/sidebar1/app-sidebar.d.ts +10 -4
- package/layouts/sidebar1/app-sidebar.js +3 -3
- package/layouts/sidebar1/app-sidebar.mjs +2 -2
- package/layouts/sidebar1/context-switcher.d.mts +6 -2
- package/layouts/sidebar1/context-switcher.d.ts +6 -2
- package/layouts/sidebar1/context-switcher.js +2 -2
- package/layouts/sidebar1/context-switcher.mjs +1 -1
- package/layouts/sidebar1/index.js +3 -3
- package/layouts/sidebar1/index.mjs +2 -2
- package/layouts/simple/index.js +2 -2
- package/layouts/simple/index.mjs +3 -3
- package/package.json +1 -1
- package/chunk-JNPTEXR6.js.map +0 -1
- package/chunk-WXRT742N.mjs.map +0 -1
- package/chunk-XP4SPI7B.js.map +0 -1
- package/chunk-YLGGLSUM.mjs +0 -49
- package/chunk-YLGGLSUM.mjs.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContextSwitcher
|
|
3
|
+
} from "./chunk-GGOYFF4M.mjs";
|
|
4
|
+
import {
|
|
5
|
+
NavMenus
|
|
6
|
+
} from "./chunk-QJLNEVAE.mjs";
|
|
7
|
+
import {
|
|
8
|
+
NavUser
|
|
9
|
+
} from "./chunk-F57PDM2P.mjs";
|
|
10
|
+
import {
|
|
11
|
+
Sidebar,
|
|
12
|
+
SidebarContent,
|
|
13
|
+
SidebarFooter,
|
|
14
|
+
SidebarHeader,
|
|
15
|
+
SidebarRail
|
|
16
|
+
} from "./chunk-OI7CIW4X.mjs";
|
|
17
|
+
import {
|
|
18
|
+
Button
|
|
19
|
+
} from "./chunk-SQK67X4D.mjs";
|
|
20
|
+
import {
|
|
21
|
+
__objRest,
|
|
22
|
+
__spreadValues
|
|
23
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
24
|
+
|
|
25
|
+
// layouts/sidebar1/app-sidebar.tsx
|
|
26
|
+
import * as React from "react";
|
|
27
|
+
function AppSidebar(_a) {
|
|
28
|
+
var props = __objRest(_a, []);
|
|
29
|
+
var _b;
|
|
30
|
+
const _a2 = props, { data, aslink } = _a2, rest = __objRest(_a2, ["data", "aslink"]);
|
|
31
|
+
const { context } = data;
|
|
32
|
+
return /* @__PURE__ */ React.createElement(Sidebar, __spreadValues({ collapsible: "icon" }, rest), (context == null ? void 0 : context.items) && context.items.length > 0 && /* @__PURE__ */ React.createElement(SidebarHeader, null, /* @__PURE__ */ React.createElement(
|
|
33
|
+
ContextSwitcher,
|
|
34
|
+
{
|
|
35
|
+
items: context.items,
|
|
36
|
+
title: context.title,
|
|
37
|
+
newContextText: context.addText,
|
|
38
|
+
canAdd: context.canAdd,
|
|
39
|
+
onContextAdd: () => {
|
|
40
|
+
var _a3;
|
|
41
|
+
if ((_a3 = data.events) == null ? void 0 : _a3.newContext) {
|
|
42
|
+
data.events.newContext();
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
onContextSelected: (context2) => {
|
|
46
|
+
var _a3;
|
|
47
|
+
if ((_a3 = data.events) == null ? void 0 : _a3.contextSelect) {
|
|
48
|
+
data.events.contextSelect(context2);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
)), /* @__PURE__ */ React.createElement(SidebarContent, null, /* @__PURE__ */ React.createElement(NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
|
|
53
|
+
Button,
|
|
54
|
+
{
|
|
55
|
+
variant: "primary",
|
|
56
|
+
onClick: () => {
|
|
57
|
+
var _a3;
|
|
58
|
+
if ((_a3 = data.events) == null ? void 0 : _a3.login) {
|
|
59
|
+
data.events.login();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"Sign in"
|
|
64
|
+
)), /* @__PURE__ */ React.createElement(SidebarRail, null));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
AppSidebar
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=chunk-EIAS7WVI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../layouts/sidebar1/app-sidebar.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\n\nexport interface ISidebarContext {\n title?: string;\n addText?: string;\n items?: INavContext[];\n canAdd?: boolean;\n}\n\nexport interface ISidebarData {\n user?: INavUser;\n context?: ISidebarContext;\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n newContext?: () => void;\n contextSelect?: (context: INavContext) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n const { context } = data;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n {context?.items && context.items.length > 0 && (\n <SidebarHeader>\n <ContextSwitcher\n items={context.items}\n title={context.title}\n newContextText={context.addText}\n canAdd={context.canAdd}\n onContextAdd={() => {\n if (data.events?.newContext) {\n data.events.newContext();\n }\n }}\n onContextSelected={(context: INavContext) => {\n if (data.events?.contextSelect) {\n data.events.contextSelect(context);\n }\n }}\n />\n </SidebarHeader>\n )}\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AA4BhB,SAAS,WAAW,IAKxB;AALwB,MACtB,kBADsB,IACtB;AA9BL;AAmCE,QAAkCA,MAAA,OAA1B,QAAM,OAnChB,IAmCoCA,KAAT,iBAASA,KAAT,CAAjB,QAAM;AACd,QAAM,EAAE,QAAQ,IAAI;AAEpB,SACE,oCAAC,0BAAQ,aAAY,UAAW,QAC7B,mCAAS,UAAS,QAAQ,MAAM,SAAS,KACxC,oCAAC,qBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,QAAQ;AAAA,MACf,OAAO,QAAQ;AAAA,MACf,gBAAgB,QAAQ;AAAA,MACxB,QAAQ,QAAQ;AAAA,MAChB,cAAc,MAAM;AA/ChC,YAAAA;AAgDc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,YAAY;AAC3B,eAAK,OAAO,WAAW;AAAA,QACzB;AAAA,MACF;AAAA,MACA,mBAAmB,CAACC,aAAyB;AApDzD,YAAAD;AAqDc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,eAAe;AAC9B,eAAK,OAAO,cAAcC,QAAO;AAAA,QACnC;AAAA,MACF;AAAA;AAAA,EACF,CACF,GAGF,oCAAC,sBACC,oCAAC,YAAS,OAAO,KAAK,OAAO,QAAgB,CAC/C,GAEA,oCAAC,qBACE,KAAK,OACJ,oCAAC,WAAQ,MAAM,KAAK,MAAM,OAAO,KAAK,WAAW,QAAgB,WAAU,UAAK,WAAL,mBAAa,QAAQ,IAEhG;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAS,MAAM;AAvE3B,YAAAD;AAwEc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,OAAO;AACtB,eAAK,OAAO,MAAM;AAAA,QACpB;AAAA,MACF;AAAA;AAAA,IACD;AAAA,EAED,CAEJ,GAEA,oCAAC,iBAAY,CACf;AAEJ;","names":["_a","context"]}
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
DropdownMenuItem,
|
|
11
11
|
DropdownMenuLabel,
|
|
12
12
|
DropdownMenuSeparator,
|
|
13
|
-
DropdownMenuShortcut,
|
|
14
13
|
DropdownMenuTrigger
|
|
15
14
|
} from "./chunk-QJKRCNUX.mjs";
|
|
16
15
|
import {
|
|
@@ -23,7 +22,10 @@ import { ChevronsUpDown, Plus } from "lucide-react";
|
|
|
23
22
|
function ContextSwitcher({
|
|
24
23
|
items,
|
|
25
24
|
title = "Contexts",
|
|
26
|
-
newContextText = "Add context"
|
|
25
|
+
newContextText = "Add context",
|
|
26
|
+
canAdd = false,
|
|
27
|
+
onContextAdd,
|
|
28
|
+
onContextSelected
|
|
27
29
|
}) {
|
|
28
30
|
const { isMobile } = useSidebar();
|
|
29
31
|
const [activeContext, setActiveContext] = React.useState(items[0]);
|
|
@@ -48,7 +50,7 @@ function ContextSwitcher({
|
|
|
48
50
|
activeContext.className
|
|
49
51
|
)
|
|
50
52
|
},
|
|
51
|
-
/* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })
|
|
53
|
+
activeContext.logo ? /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" }) : /* @__PURE__ */ React.createElement("img", { src: activeContext.logoUrl, alt: activeContext.name, className: "size-4 rounded-sm" })
|
|
52
54
|
),
|
|
53
55
|
/* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, activeContext.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, activeContext.text)),
|
|
54
56
|
/* @__PURE__ */ React.createElement(ChevronsUpDown, { className: "ml-auto" })
|
|
@@ -61,13 +63,38 @@ function ContextSwitcher({
|
|
|
61
63
|
sideOffset: 4
|
|
62
64
|
},
|
|
63
65
|
/* @__PURE__ */ React.createElement(DropdownMenuLabel, { className: "text-xs text-muted-foreground" }, title),
|
|
64
|
-
items.map((item, index) => /* @__PURE__ */ React.createElement(
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
items.map((item, index) => /* @__PURE__ */ React.createElement(
|
|
67
|
+
DropdownMenuItem,
|
|
68
|
+
{
|
|
69
|
+
key: item.name,
|
|
70
|
+
onClick: () => {
|
|
71
|
+
setActiveContext(item);
|
|
72
|
+
if (onContextSelected) {
|
|
73
|
+
onContextSelected(item);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
className: "gap-2 p-2"
|
|
77
|
+
},
|
|
78
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-sm border" }, item.logo ? /* @__PURE__ */ React.createElement(item.logo, { className: "size-4 shrink-0" }) : /* @__PURE__ */ React.createElement("img", { src: item.logoUrl, alt: item.name, className: "size-4 shrink-0 rounded-sm" })),
|
|
79
|
+
item.name
|
|
80
|
+
)),
|
|
81
|
+
canAdd && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ React.createElement(
|
|
82
|
+
DropdownMenuItem,
|
|
83
|
+
{
|
|
84
|
+
className: "gap-2 p-2",
|
|
85
|
+
onClick: () => {
|
|
86
|
+
if (onContextAdd) {
|
|
87
|
+
onContextAdd();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border bg-background" }, /* @__PURE__ */ React.createElement(Plus, { className: "size-4" })),
|
|
92
|
+
/* @__PURE__ */ React.createElement("div", { className: "font-medium text-muted-foreground" }, newContextText)
|
|
93
|
+
))
|
|
67
94
|
))));
|
|
68
95
|
}
|
|
69
96
|
|
|
70
97
|
export {
|
|
71
98
|
ContextSwitcher
|
|
72
99
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
100
|
+
//# sourceMappingURL=chunk-GGOYFF4M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../layouts/sidebar1/context-switcher.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { ChevronsUpDown, Plus } from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\nimport { cn } from '../../utils/ui';\n\nexport interface INavContext {\n name: string;\n logo?: React.ElementType;\n logoUrl?: string;\n text: string;\n className?: string;\n}\n\nexport function ContextSwitcher({\n items,\n title = 'Contexts',\n newContextText = 'Add context',\n canAdd = false,\n onContextAdd,\n onContextSelected,\n}: {\n items: INavContext[];\n title?: string;\n newContextText?: string;\n canAdd?: boolean;\n onContextAdd?: () => void;\n onContextSelected?: (context: INavContext) => void;\n}) {\n const { isMobile } = useSidebar();\n const [activeContext, setActiveContext] = React.useState(items[0]);\n\n React.useEffect(() => {\n if (!items || items.length === 0) return;\n setActiveContext((prev) => {\n const stillExists = items.find((item) => item.name === prev?.name);\n return stillExists ?? items[0];\n });\n }, [items]);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <div\n className={cn(\n 'flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground',\n activeContext.className,\n )}\n >\n {activeContext.logo ? (\n <activeContext.logo className=\"size-4\" />\n ) : (\n <img src={activeContext.logoUrl} alt={activeContext.name} className=\"size-4 rounded-sm\" />\n )}\n </div>\n\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{activeContext.name}</span>\n <span className=\"truncate text-xs\">{activeContext.text}</span>\n </div>\n\n <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n align=\"start\"\n side={isMobile ? 'bottom' : 'right'}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-xs text-muted-foreground\">{title}</DropdownMenuLabel>\n\n {items.map((item, index) => (\n <DropdownMenuItem\n key={item.name}\n onClick={() => {\n setActiveContext(item);\n if (onContextSelected) {\n onContextSelected(item);\n }\n }}\n className=\"gap-2 p-2\"\n >\n <div className=\"flex size-6 items-center justify-center rounded-sm border\">\n {item.logo ? (\n <item.logo className=\"size-4 shrink-0\" />\n ) : (\n <img src={item.logoUrl} alt={item.name} className=\"size-4 shrink-0 rounded-sm\" />\n )}\n </div>\n {item.name}\n {/* <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut> */}\n </DropdownMenuItem>\n ))}\n\n {canAdd && (\n <>\n <DropdownMenuSeparator />\n\n <DropdownMenuItem\n className=\"gap-2 p-2\"\n onClick={() => {\n if (onContextAdd) {\n onContextAdd();\n }\n }}\n >\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-background\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">{newContextText}</div>\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,gBAAgB,YAAY;AAqB9B,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT;AAAA,EACA;AACF,GAOG;AACD,QAAM,EAAE,SAAS,IAAI,WAAW;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAU,eAAS,MAAM,CAAC,CAAC;AAEjE,EAAM,gBAAU,MAAM;AACpB,QAAI,CAAC,SAAS,MAAM,WAAW,EAAG;AAClC,qBAAiB,CAAC,SAAS;AACzB,YAAM,cAAc,MAAM,KAAK,CAAC,SAAS,KAAK,UAAS,6BAAM,KAAI;AACjE,aAAO,oCAAe,MAAM,CAAC;AAAA,IAC/B,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,CAAC;AAEV,SACE,oCAAC,mBACC,oCAAC,uBACC,oCAAC,oBACC,oCAAC,uBAAoB,SAAO,QAC1B;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA;AAAA,IAEV;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,cAAc;AAAA,QAChB;AAAA;AAAA,MAEC,cAAc,OACb,oCAAC,cAAc,MAAd,EAAmB,WAAU,UAAS,IAEvC,oCAAC,SAAI,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,WAAU,qBAAoB;AAAA,IAE5F;AAAA,IAEA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,cAAc,IAAK,GAC7D,oCAAC,UAAK,WAAU,sBAAoB,cAAc,IAAK,CACzD;AAAA,IAEA,oCAAC,kBAAe,WAAU,WAAU;AAAA,EACtC,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAM;AAAA,MACN,MAAM,WAAW,WAAW;AAAA,MAC5B,YAAY;AAAA;AAAA,IAEZ,oCAAC,qBAAkB,WAAU,mCAAiC,KAAM;AAAA,IAEnE,MAAM,IAAI,CAAC,MAAM,UAChB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,KAAK;AAAA,QACV,SAAS,MAAM;AACb,2BAAiB,IAAI;AACrB,cAAI,mBAAmB;AACrB,8BAAkB,IAAI;AAAA,UACxB;AAAA,QACF;AAAA,QACA,WAAU;AAAA;AAAA,MAEV,oCAAC,SAAI,WAAU,+DACZ,KAAK,OACJ,oCAAC,KAAK,MAAL,EAAU,WAAU,mBAAkB,IAEvC,oCAAC,SAAI,KAAK,KAAK,SAAS,KAAK,KAAK,MAAM,WAAU,8BAA6B,CAEnF;AAAA,MACC,KAAK;AAAA,IAER,CACD;AAAA,IAEA,UACC,0DACE,oCAAC,2BAAsB,GAEvB;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,MAAM;AACb,cAAI,cAAc;AAChB,yBAAa;AAAA,UACf;AAAA,QACF;AAAA;AAAA,MAEA,oCAAC,SAAI,WAAU,6EACb,oCAAC,QAAK,WAAU,UAAS,CAC3B;AAAA,MACA,oCAAC,SAAI,WAAU,uCAAqC,cAAe;AAAA,IACrE,CACF;AAAA,EAEJ,CACF,CACF,CACF;AAEJ;","names":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkWCMH464Bjs = require('./chunk-WCMH464B.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk5WZCVX6Ijs = require('./chunk-5WZCVX6I.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkQ5QVXAFPjs = require('./chunk-Q5QVXAFP.js');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -29,7 +29,28 @@ function AppSidebar(_a) {
|
|
|
29
29
|
var props = _chunk2NMEKWO5js.__objRest.call(void 0, _a, []);
|
|
30
30
|
var _b;
|
|
31
31
|
const _a2 = props, { data, aslink } = _a2, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _a2, ["data", "aslink"]);
|
|
32
|
-
|
|
32
|
+
const { context } = data;
|
|
33
|
+
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.Sidebar, _chunk2NMEKWO5js.__spreadValues.call(void 0, { collapsible: "icon" }, rest), (context == null ? void 0 : context.items) && context.items.length > 0 && /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarHeader, null, /* @__PURE__ */ React.createElement(
|
|
34
|
+
_chunkWCMH464Bjs.ContextSwitcher,
|
|
35
|
+
{
|
|
36
|
+
items: context.items,
|
|
37
|
+
title: context.title,
|
|
38
|
+
newContextText: context.addText,
|
|
39
|
+
canAdd: context.canAdd,
|
|
40
|
+
onContextAdd: () => {
|
|
41
|
+
var _a3;
|
|
42
|
+
if ((_a3 = data.events) == null ? void 0 : _a3.newContext) {
|
|
43
|
+
data.events.newContext();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
onContextSelected: (context2) => {
|
|
47
|
+
var _a3;
|
|
48
|
+
if ((_a3 = data.events) == null ? void 0 : _a3.contextSelect) {
|
|
49
|
+
data.events.contextSelect(context2);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
)), /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarContent, null, /* @__PURE__ */ React.createElement(_chunk5WZCVX6Ijs.NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(_chunkQ5QVXAFPjs.NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
|
|
33
54
|
_chunkOFRRRK4Njs.Button,
|
|
34
55
|
{
|
|
35
56
|
variant: "primary",
|
|
@@ -47,4 +68,4 @@ function AppSidebar(_a) {
|
|
|
47
68
|
|
|
48
69
|
|
|
49
70
|
exports.AppSidebar = AppSidebar;
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-PVKN7E6W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-PVKN7E6W.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a","context"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-PVKN7E6W.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\n\nexport interface ISidebarContext {\n title?: string;\n addText?: string;\n items?: INavContext[];\n canAdd?: boolean;\n}\n\nexport interface ISidebarData {\n user?: INavUser;\n context?: ISidebarContext;\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n newContext?: () => void;\n contextSelect?: (context: INavContext) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n const { context } = data;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n {context?.items && context.items.length > 0 && (\n <SidebarHeader>\n <ContextSwitcher\n items={context.items}\n title={context.title}\n newContextText={context.addText}\n canAdd={context.canAdd}\n onContextAdd={() => {\n if (data.events?.newContext) {\n data.events.newContext();\n }\n }}\n onContextSelected={(context: INavContext) => {\n if (data.events?.contextSelect) {\n data.events.contextSelect(context);\n }\n }}\n />\n </SidebarHeader>\n )}\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"]}
|
|
@@ -12,7 +12,6 @@ var _chunk5AC6SSUUjs = require('./chunk-5AC6SSUU.js');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
|
|
16
15
|
var _chunk754FOR4Kjs = require('./chunk-754FOR4K.js');
|
|
17
16
|
|
|
18
17
|
|
|
@@ -24,7 +23,10 @@ var _lucidereact = require('lucide-react');
|
|
|
24
23
|
function ContextSwitcher({
|
|
25
24
|
items,
|
|
26
25
|
title = "Contexts",
|
|
27
|
-
newContextText = "Add context"
|
|
26
|
+
newContextText = "Add context",
|
|
27
|
+
canAdd = false,
|
|
28
|
+
onContextAdd,
|
|
29
|
+
onContextSelected
|
|
28
30
|
}) {
|
|
29
31
|
const { isMobile } = _chunk5AC6SSUUjs.useSidebar.call(void 0, );
|
|
30
32
|
const [activeContext, setActiveContext] = React.useState(items[0]);
|
|
@@ -49,7 +51,7 @@ function ContextSwitcher({
|
|
|
49
51
|
activeContext.className
|
|
50
52
|
)
|
|
51
53
|
},
|
|
52
|
-
/* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })
|
|
54
|
+
activeContext.logo ? /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" }) : /* @__PURE__ */ React.createElement("img", { src: activeContext.logoUrl, alt: activeContext.name, className: "size-4 rounded-sm" })
|
|
53
55
|
),
|
|
54
56
|
/* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, activeContext.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, activeContext.text)),
|
|
55
57
|
/* @__PURE__ */ React.createElement(_lucidereact.ChevronsUpDown, { className: "ml-auto" })
|
|
@@ -62,13 +64,38 @@ function ContextSwitcher({
|
|
|
62
64
|
sideOffset: 4
|
|
63
65
|
},
|
|
64
66
|
/* @__PURE__ */ React.createElement(_chunk754FOR4Kjs.DropdownMenuLabel, { className: "text-xs text-muted-foreground" }, title),
|
|
65
|
-
items.map((item, index) => /* @__PURE__ */ React.createElement(
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
items.map((item, index) => /* @__PURE__ */ React.createElement(
|
|
68
|
+
_chunk754FOR4Kjs.DropdownMenuItem,
|
|
69
|
+
{
|
|
70
|
+
key: item.name,
|
|
71
|
+
onClick: () => {
|
|
72
|
+
setActiveContext(item);
|
|
73
|
+
if (onContextSelected) {
|
|
74
|
+
onContextSelected(item);
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
className: "gap-2 p-2"
|
|
78
|
+
},
|
|
79
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-sm border" }, item.logo ? /* @__PURE__ */ React.createElement(item.logo, { className: "size-4 shrink-0" }) : /* @__PURE__ */ React.createElement("img", { src: item.logoUrl, alt: item.name, className: "size-4 shrink-0 rounded-sm" })),
|
|
80
|
+
item.name
|
|
81
|
+
)),
|
|
82
|
+
canAdd && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(_chunk754FOR4Kjs.DropdownMenuSeparator, null), /* @__PURE__ */ React.createElement(
|
|
83
|
+
_chunk754FOR4Kjs.DropdownMenuItem,
|
|
84
|
+
{
|
|
85
|
+
className: "gap-2 p-2",
|
|
86
|
+
onClick: () => {
|
|
87
|
+
if (onContextAdd) {
|
|
88
|
+
onContextAdd();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border bg-background" }, /* @__PURE__ */ React.createElement(_lucidereact.Plus, { className: "size-4" })),
|
|
93
|
+
/* @__PURE__ */ React.createElement("div", { className: "font-medium text-muted-foreground" }, newContextText)
|
|
94
|
+
))
|
|
68
95
|
))));
|
|
69
96
|
}
|
|
70
97
|
|
|
71
98
|
|
|
72
99
|
|
|
73
100
|
exports.ContextSwitcher = ContextSwitcher;
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-WCMH464B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-WCMH464B.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-WCMH464B.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { ChevronsUpDown, Plus } from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\nimport { cn } from '../../utils/ui';\n\nexport interface INavContext {\n name: string;\n logo?: React.ElementType;\n logoUrl?: string;\n text: string;\n className?: string;\n}\n\nexport function ContextSwitcher({\n items,\n title = 'Contexts',\n newContextText = 'Add context',\n canAdd = false,\n onContextAdd,\n onContextSelected,\n}: {\n items: INavContext[];\n title?: string;\n newContextText?: string;\n canAdd?: boolean;\n onContextAdd?: () => void;\n onContextSelected?: (context: INavContext) => void;\n}) {\n const { isMobile } = useSidebar();\n const [activeContext, setActiveContext] = React.useState(items[0]);\n\n React.useEffect(() => {\n if (!items || items.length === 0) return;\n setActiveContext((prev) => {\n const stillExists = items.find((item) => item.name === prev?.name);\n return stillExists ?? items[0];\n });\n }, [items]);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <div\n className={cn(\n 'flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground',\n activeContext.className,\n )}\n >\n {activeContext.logo ? (\n <activeContext.logo className=\"size-4\" />\n ) : (\n <img src={activeContext.logoUrl} alt={activeContext.name} className=\"size-4 rounded-sm\" />\n )}\n </div>\n\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{activeContext.name}</span>\n <span className=\"truncate text-xs\">{activeContext.text}</span>\n </div>\n\n <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n align=\"start\"\n side={isMobile ? 'bottom' : 'right'}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-xs text-muted-foreground\">{title}</DropdownMenuLabel>\n\n {items.map((item, index) => (\n <DropdownMenuItem\n key={item.name}\n onClick={() => {\n setActiveContext(item);\n if (onContextSelected) {\n onContextSelected(item);\n }\n }}\n className=\"gap-2 p-2\"\n >\n <div className=\"flex size-6 items-center justify-center rounded-sm border\">\n {item.logo ? (\n <item.logo className=\"size-4 shrink-0\" />\n ) : (\n <img src={item.logoUrl} alt={item.name} className=\"size-4 shrink-0 rounded-sm\" />\n )}\n </div>\n {item.name}\n {/* <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut> */}\n </DropdownMenuItem>\n ))}\n\n {canAdd && (\n <>\n <DropdownMenuSeparator />\n\n <DropdownMenuItem\n className=\"gap-2 p-2\"\n onClick={() => {\n if (onContextAdd) {\n onContextAdd();\n }\n }}\n >\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-background\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">{newContextText}</div>\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
3
3
|
|
|
4
4
|
declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React.JSX.Element;
|
|
5
|
-
declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<
|
|
5
|
+
declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
|
|
6
6
|
className?: string;
|
|
7
7
|
collapsedSize?: number | undefined;
|
|
8
8
|
collapsible?: boolean | undefined;
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
3
3
|
|
|
4
4
|
declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React.JSX.Element;
|
|
5
|
-
declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<
|
|
5
|
+
declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
|
|
6
6
|
className?: string;
|
|
7
7
|
collapsedSize?: number | undefined;
|
|
8
8
|
collapsible?: boolean | undefined;
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
var _chunkPS3LNHTAjs = require('../../../chunk-PS3LNHTA.js');
|
|
6
|
-
require('../../../chunk-5SLUBHNN.js');
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
var _chunkA4FV6TTMjs = require('../../../chunk-A4FV6TTM.js');
|
|
11
|
+
require('../../../chunk-5SLUBHNN.js');
|
|
12
12
|
require('../../../chunk-2NMEKWO5.js');
|
|
13
13
|
|
|
14
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,6DAAmC;AACnC
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,6DAAmC;AACnC;AACE;AACA;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC,sCAAmC;AACnC;AACE;AACA;AACA;AACA;AACF,wOAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import {
|
|
3
3
|
DialogProvider
|
|
4
4
|
} from "../../../chunk-OXCN3BD6.mjs";
|
|
5
|
-
import "../../../chunk-B2Z7BNYW.mjs";
|
|
6
5
|
import {
|
|
7
6
|
DialogContext,
|
|
8
7
|
createTypedDialog,
|
|
9
8
|
useDialog
|
|
10
9
|
} from "../../../chunk-PDB2VCWX.mjs";
|
|
10
|
+
import "../../../chunk-B2Z7BNYW.mjs";
|
|
11
11
|
import "../../../chunk-YOSPWY5K.mjs";
|
|
12
12
|
export {
|
|
13
13
|
DialogContext,
|
|
@@ -9,16 +9,22 @@ import 'class-variance-authority';
|
|
|
9
9
|
import '../../components/ui/tooltip.mjs';
|
|
10
10
|
import '@radix-ui/react-tooltip';
|
|
11
11
|
|
|
12
|
+
interface ISidebarContext {
|
|
13
|
+
title?: string;
|
|
14
|
+
addText?: string;
|
|
15
|
+
items?: INavContext[];
|
|
16
|
+
canAdd?: boolean;
|
|
17
|
+
}
|
|
12
18
|
interface ISidebarData {
|
|
13
19
|
user?: INavUser;
|
|
14
|
-
|
|
15
|
-
newContextText?: string;
|
|
16
|
-
contexts: INavContext[];
|
|
20
|
+
context?: ISidebarContext;
|
|
17
21
|
menus: INavMenu[];
|
|
18
22
|
userMenus: INavUserMenuItem[];
|
|
19
23
|
events?: {
|
|
20
24
|
login?: () => void;
|
|
21
25
|
logout?: (user: INavUser) => void;
|
|
26
|
+
newContext?: () => void;
|
|
27
|
+
contextSelect?: (context: INavContext) => void;
|
|
22
28
|
};
|
|
23
29
|
}
|
|
24
30
|
declare function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar> & {
|
|
@@ -26,4 +32,4 @@ declare function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar> &
|
|
|
26
32
|
aslink: React.ElementType;
|
|
27
33
|
}): React.JSX.Element;
|
|
28
34
|
|
|
29
|
-
export { AppSidebar, type ISidebarData };
|
|
35
|
+
export { AppSidebar, type ISidebarContext, type ISidebarData };
|
|
@@ -9,16 +9,22 @@ import 'class-variance-authority';
|
|
|
9
9
|
import '../../components/ui/tooltip.js';
|
|
10
10
|
import '@radix-ui/react-tooltip';
|
|
11
11
|
|
|
12
|
+
interface ISidebarContext {
|
|
13
|
+
title?: string;
|
|
14
|
+
addText?: string;
|
|
15
|
+
items?: INavContext[];
|
|
16
|
+
canAdd?: boolean;
|
|
17
|
+
}
|
|
12
18
|
interface ISidebarData {
|
|
13
19
|
user?: INavUser;
|
|
14
|
-
|
|
15
|
-
newContextText?: string;
|
|
16
|
-
contexts: INavContext[];
|
|
20
|
+
context?: ISidebarContext;
|
|
17
21
|
menus: INavMenu[];
|
|
18
22
|
userMenus: INavUserMenuItem[];
|
|
19
23
|
events?: {
|
|
20
24
|
login?: () => void;
|
|
21
25
|
logout?: (user: INavUser) => void;
|
|
26
|
+
newContext?: () => void;
|
|
27
|
+
contextSelect?: (context: INavContext) => void;
|
|
22
28
|
};
|
|
23
29
|
}
|
|
24
30
|
declare function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar> & {
|
|
@@ -26,4 +32,4 @@ declare function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar> &
|
|
|
26
32
|
aslink: React.ElementType;
|
|
27
33
|
}): React.JSX.Element;
|
|
28
34
|
|
|
29
|
-
export { AppSidebar, type ISidebarData };
|
|
35
|
+
export { AppSidebar, type ISidebarContext, type ISidebarData };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkPVKN7E6Wjs = require('../../chunk-PVKN7E6W.js');
|
|
6
|
+
require('../../chunk-WCMH464B.js');
|
|
6
7
|
require('../../chunk-5WZCVX6I.js');
|
|
7
8
|
require('../../chunk-Q5QVXAFP.js');
|
|
8
|
-
require('../../chunk-XP4SPI7B.js');
|
|
9
9
|
require('../../chunk-5AC6SSUU.js');
|
|
10
10
|
require('../../chunk-HMEHDD5N.js');
|
|
11
11
|
require('../../chunk-BH4FHKAR.js');
|
|
@@ -22,5 +22,5 @@ require('../../chunk-PSPAJNNB.js');
|
|
|
22
22
|
require('../../chunk-2NMEKWO5.js');
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
exports.AppSidebar =
|
|
25
|
+
exports.AppSidebar = _chunkPVKN7E6Wjs.AppSidebar;
|
|
26
26
|
//# sourceMappingURL=app-sidebar.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
AppSidebar
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-EIAS7WVI.mjs";
|
|
5
|
+
import "../../chunk-GGOYFF4M.mjs";
|
|
5
6
|
import "../../chunk-QJLNEVAE.mjs";
|
|
6
7
|
import "../../chunk-F57PDM2P.mjs";
|
|
7
|
-
import "../../chunk-WXRT742N.mjs";
|
|
8
8
|
import "../../chunk-OI7CIW4X.mjs";
|
|
9
9
|
import "../../chunk-SSL4EXAQ.mjs";
|
|
10
10
|
import "../../chunk-JVMY3LCD.mjs";
|
|
@@ -2,14 +2,18 @@ import * as React from 'react';
|
|
|
2
2
|
|
|
3
3
|
interface INavContext {
|
|
4
4
|
name: string;
|
|
5
|
-
logo
|
|
5
|
+
logo?: React.ElementType;
|
|
6
|
+
logoUrl?: string;
|
|
6
7
|
text: string;
|
|
7
8
|
className?: string;
|
|
8
9
|
}
|
|
9
|
-
declare function ContextSwitcher({ items, title, newContextText, }: {
|
|
10
|
+
declare function ContextSwitcher({ items, title, newContextText, canAdd, onContextAdd, onContextSelected, }: {
|
|
10
11
|
items: INavContext[];
|
|
11
12
|
title?: string;
|
|
12
13
|
newContextText?: string;
|
|
14
|
+
canAdd?: boolean;
|
|
15
|
+
onContextAdd?: () => void;
|
|
16
|
+
onContextSelected?: (context: INavContext) => void;
|
|
13
17
|
}): React.JSX.Element;
|
|
14
18
|
|
|
15
19
|
export { ContextSwitcher, type INavContext };
|
|
@@ -2,14 +2,18 @@ import * as React from 'react';
|
|
|
2
2
|
|
|
3
3
|
interface INavContext {
|
|
4
4
|
name: string;
|
|
5
|
-
logo
|
|
5
|
+
logo?: React.ElementType;
|
|
6
|
+
logoUrl?: string;
|
|
6
7
|
text: string;
|
|
7
8
|
className?: string;
|
|
8
9
|
}
|
|
9
|
-
declare function ContextSwitcher({ items, title, newContextText, }: {
|
|
10
|
+
declare function ContextSwitcher({ items, title, newContextText, canAdd, onContextAdd, onContextSelected, }: {
|
|
10
11
|
items: INavContext[];
|
|
11
12
|
title?: string;
|
|
12
13
|
newContextText?: string;
|
|
14
|
+
canAdd?: boolean;
|
|
15
|
+
onContextAdd?: () => void;
|
|
16
|
+
onContextSelected?: (context: INavContext) => void;
|
|
13
17
|
}): React.JSX.Element;
|
|
14
18
|
|
|
15
19
|
export { ContextSwitcher, type INavContext };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkWCMH464Bjs = require('../../chunk-WCMH464B.js');
|
|
6
6
|
require('../../chunk-5AC6SSUU.js');
|
|
7
7
|
require('../../chunk-HMEHDD5N.js');
|
|
8
8
|
require('../../chunk-BH4FHKAR.js');
|
|
@@ -17,5 +17,5 @@ require('../../chunk-PSPAJNNB.js');
|
|
|
17
17
|
require('../../chunk-2NMEKWO5.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
exports.ContextSwitcher =
|
|
20
|
+
exports.ContextSwitcher = _chunkWCMH464Bjs.ContextSwitcher;
|
|
21
21
|
//# sourceMappingURL=context-switcher.js.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkPVKN7E6Wjs = require('../../chunk-PVKN7E6W.js');
|
|
6
|
+
require('../../chunk-WCMH464B.js');
|
|
6
7
|
require('../../chunk-5WZCVX6I.js');
|
|
7
8
|
require('../../chunk-Q5QVXAFP.js');
|
|
8
|
-
require('../../chunk-XP4SPI7B.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
@@ -55,7 +55,7 @@ function SidebarLayout({
|
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
|
-
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarProvider, null, /* @__PURE__ */ React.createElement(
|
|
58
|
+
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarProvider, null, /* @__PURE__ */ React.createElement(_chunkPVKN7E6Wjs.AppSidebar, { aslink, data }), /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarInset, null, /* @__PURE__ */ React.createElement("header", { className: "flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2 px-4" }, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarTrigger, { className: "-ml-1" }), /* @__PURE__ */ React.createElement(_chunkHMEHDD5Njs.Separator, { orientation: "vertical", className: "mr-2 h-4 w-[1px] bg-secondary" }), /* @__PURE__ */ React.createElement(_chunkXIHKXTB2js.Breadcrumb, null, /* @__PURE__ */ React.createElement(_chunkXIHKXTB2js.BreadcrumbList, { className: "text-dark" }, activeItems.map((bread, index) => {
|
|
59
59
|
return /* @__PURE__ */ React.createElement(React.Fragment, { key: bread }, index > 0 && /* @__PURE__ */ React.createElement(_chunkXIHKXTB2js.BreadcrumbSeparator, null), /* @__PURE__ */ React.createElement(_chunkXIHKXTB2js.BreadcrumbItem, null, /* @__PURE__ */ React.createElement(_chunkXIHKXTB2js.BreadcrumbPage, { className: "" }, bread)));
|
|
60
60
|
}))))), /* @__PURE__ */ React.createElement("main", { className: "px-4 pb-2 overflow-auto" }, children)));
|
|
61
61
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
AppSidebar
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-EIAS7WVI.mjs";
|
|
5
|
+
import "../../chunk-GGOYFF4M.mjs";
|
|
5
6
|
import "../../chunk-QJLNEVAE.mjs";
|
|
6
7
|
import "../../chunk-F57PDM2P.mjs";
|
|
7
|
-
import "../../chunk-WXRT742N.mjs";
|
|
8
8
|
import {
|
|
9
9
|
SidebarInset,
|
|
10
10
|
SidebarProvider,
|
package/layouts/simple/index.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkP6ZPREB6js = require('../../chunk-P6ZPREB6.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkOMQVDSR6js = require('../../chunk-OMQVDSR6.js');
|
|
9
9
|
require('../../chunk-754FOR4K.js');
|
|
10
10
|
|
|
11
11
|
|
package/layouts/simple/index.mjs
CHANGED
package/package.json
CHANGED
package/chunk-JNPTEXR6.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-JNPTEXR6.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACvBA,2EAAuB;AAqBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAvBL,EAAA,IAAA,EAAA;AA4BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA5BhB,EAAA,EA4BoCA,GAAAA,EAAT,KAAA,EAAA,wCAAA,GAASA,EAAT,CAAjB,MAAA,EAAM,QAAA,CAAA,CAAA;AAEd,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,6CAAA,EAAQ,WAAA,EAAY,OAAA,CAAA,EAAW,IAAA,CAAA,kBAC9B,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,gCAAA,EAAA,EAAgB,KAAA,EAAO,IAAA,CAAK,QAAA,EAAU,KAAA,EAAO,IAAA,CAAK,YAAA,EAAc,cAAA,EAAgB,IAAA,CAAK,eAAA,CAAgB,CACxG,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,EAAS,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,OAAA,CAAgB,CAC/C,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,EACE,IAAA,CAAK,KAAA,kBACJ,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,EAAQ,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,IAAA,CAAK,SAAA,EAAW,MAAA,EAAgB,QAAA,EAAA,CAAU,GAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAa,OAAA,CAAQ,EAAA,kBAEhG,KAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,CAAA,EAAA,GAAM;AA9C3B,QAAA,IAAAA,GAAAA;AA+Cc,QAAA,GAAA,CAAA,CAAIA,IAAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAAA,GAAAA,CAAa,KAAA,EAAO;AACtB,UAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA;AAAA,QACpB;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IACD;AAAA,EAED,CAEJ,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADhBA;AACA;AACE;AACF,gCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-JNPTEXR6.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\n\nexport interface ISidebarData {\n user?: INavUser;\n contextTitle?: string;\n newContextText?: string;\n contexts: INavContext[];\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <ContextSwitcher items={data.contexts} title={data.contextTitle} newContextText={data.newContextText} />\n </SidebarHeader>\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"]}
|
package/chunk-WXRT742N.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../layouts/sidebar1/context-switcher.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { ChevronsUpDown, Plus } from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\nimport { cn } from '../../utils/ui';\n\nexport interface INavContext {\n name: string;\n logo: React.ElementType;\n text: string;\n className?: string;\n}\n\nexport function ContextSwitcher({\n items,\n title = 'Contexts',\n newContextText = 'Add context',\n}: {\n items: INavContext[];\n title?: string;\n newContextText?: string;\n}) {\n const { isMobile } = useSidebar();\n const [activeContext, setActiveContext] = React.useState(items[0]);\n\n React.useEffect(() => {\n if (!items || items.length === 0) return;\n setActiveContext((prev) => {\n const stillExists = items.find((item) => item.name === prev?.name);\n return stillExists ?? items[0];\n });\n }, [items]);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <div\n className={cn(\n 'flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground',\n activeContext.className,\n )}\n >\n <activeContext.logo className=\"size-4\" />\n </div>\n\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{activeContext.name}</span>\n <span className=\"truncate text-xs\">{activeContext.text}</span>\n </div>\n\n <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n align=\"start\"\n side={isMobile ? 'bottom' : 'right'}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-xs text-muted-foreground\">{title}</DropdownMenuLabel>\n\n {items.map((item, index) => (\n <DropdownMenuItem key={item.name} onClick={() => setActiveContext(item)} className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-sm border\">\n <item.logo className=\"size-4 shrink-0\" />\n </div>\n {item.name}\n <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut>\n </DropdownMenuItem>\n ))}\n\n <DropdownMenuSeparator />\n\n <DropdownMenuItem className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-background\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">{newContextText}</div>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,gBAAgB,YAAY;AAoB9B,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,EACR,iBAAiB;AACnB,GAIG;AACD,QAAM,EAAE,SAAS,IAAI,WAAW;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAU,eAAS,MAAM,CAAC,CAAC;AAEjE,EAAM,gBAAU,MAAM;AACpB,QAAI,CAAC,SAAS,MAAM,WAAW,EAAG;AAClC,qBAAiB,CAAC,SAAS;AACzB,YAAM,cAAc,MAAM,KAAK,CAAC,SAAS,KAAK,UAAS,6BAAM,KAAI;AACjE,aAAO,oCAAe,MAAM,CAAC;AAAA,IAC/B,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,CAAC;AAEV,SACE,oCAAC,mBACC,oCAAC,uBACC,oCAAC,oBACC,oCAAC,uBAAoB,SAAO,QAC1B;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA;AAAA,IAEV;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,cAAc;AAAA,QAChB;AAAA;AAAA,MAEA,oCAAC,cAAc,MAAd,EAAmB,WAAU,UAAS;AAAA,IACzC;AAAA,IAEA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,cAAc,IAAK,GAC7D,oCAAC,UAAK,WAAU,sBAAoB,cAAc,IAAK,CACzD;AAAA,IAEA,oCAAC,kBAAe,WAAU,WAAU;AAAA,EACtC,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAM;AAAA,MACN,MAAM,WAAW,WAAW;AAAA,MAC5B,YAAY;AAAA;AAAA,IAEZ,oCAAC,qBAAkB,WAAU,mCAAiC,KAAM;AAAA,IAEnE,MAAM,IAAI,CAAC,MAAM,UAChB,oCAAC,oBAAiB,KAAK,KAAK,MAAM,SAAS,MAAM,iBAAiB,IAAI,GAAG,WAAU,eACjF,oCAAC,SAAI,WAAU,+DACb,oCAAC,KAAK,MAAL,EAAU,WAAU,mBAAkB,CACzC,GACC,KAAK,MACN,oCAAC,4BAAqB,UAAE,QAAQ,CAAE,CACpC,CACD;AAAA,IAED,oCAAC,2BAAsB;AAAA,IAEvB,oCAAC,oBAAiB,WAAU,eAC1B,oCAAC,SAAI,WAAU,6EACb,oCAAC,QAAK,WAAU,UAAS,CAC3B,GACA,oCAAC,SAAI,WAAU,uCAAqC,cAAe,CACrE;AAAA,EACF,CACF,CACF,CACF;AAEJ;","names":[]}
|
package/chunk-XP4SPI7B.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-XP4SPI7B.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-XP4SPI7B.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { ChevronsUpDown, Plus } from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\nimport { cn } from '../../utils/ui';\n\nexport interface INavContext {\n name: string;\n logo: React.ElementType;\n text: string;\n className?: string;\n}\n\nexport function ContextSwitcher({\n items,\n title = 'Contexts',\n newContextText = 'Add context',\n}: {\n items: INavContext[];\n title?: string;\n newContextText?: string;\n}) {\n const { isMobile } = useSidebar();\n const [activeContext, setActiveContext] = React.useState(items[0]);\n\n React.useEffect(() => {\n if (!items || items.length === 0) return;\n setActiveContext((prev) => {\n const stillExists = items.find((item) => item.name === prev?.name);\n return stillExists ?? items[0];\n });\n }, [items]);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <div\n className={cn(\n 'flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground',\n activeContext.className,\n )}\n >\n <activeContext.logo className=\"size-4\" />\n </div>\n\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{activeContext.name}</span>\n <span className=\"truncate text-xs\">{activeContext.text}</span>\n </div>\n\n <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n align=\"start\"\n side={isMobile ? 'bottom' : 'right'}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-xs text-muted-foreground\">{title}</DropdownMenuLabel>\n\n {items.map((item, index) => (\n <DropdownMenuItem key={item.name} onClick={() => setActiveContext(item)} className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-sm border\">\n <item.logo className=\"size-4 shrink-0\" />\n </div>\n {item.name}\n <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut>\n </DropdownMenuItem>\n ))}\n\n <DropdownMenuSeparator />\n\n <DropdownMenuItem className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-background\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">{newContextText}</div>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"]}
|
package/chunk-YLGGLSUM.mjs
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NavMenus
|
|
3
|
-
} from "./chunk-QJLNEVAE.mjs";
|
|
4
|
-
import {
|
|
5
|
-
NavUser
|
|
6
|
-
} from "./chunk-F57PDM2P.mjs";
|
|
7
|
-
import {
|
|
8
|
-
ContextSwitcher
|
|
9
|
-
} from "./chunk-WXRT742N.mjs";
|
|
10
|
-
import {
|
|
11
|
-
Sidebar,
|
|
12
|
-
SidebarContent,
|
|
13
|
-
SidebarFooter,
|
|
14
|
-
SidebarHeader,
|
|
15
|
-
SidebarRail
|
|
16
|
-
} from "./chunk-OI7CIW4X.mjs";
|
|
17
|
-
import {
|
|
18
|
-
Button
|
|
19
|
-
} from "./chunk-SQK67X4D.mjs";
|
|
20
|
-
import {
|
|
21
|
-
__objRest,
|
|
22
|
-
__spreadValues
|
|
23
|
-
} from "./chunk-YOSPWY5K.mjs";
|
|
24
|
-
|
|
25
|
-
// layouts/sidebar1/app-sidebar.tsx
|
|
26
|
-
import * as React from "react";
|
|
27
|
-
function AppSidebar(_a) {
|
|
28
|
-
var props = __objRest(_a, []);
|
|
29
|
-
var _b;
|
|
30
|
-
const _a2 = props, { data, aslink } = _a2, rest = __objRest(_a2, ["data", "aslink"]);
|
|
31
|
-
return /* @__PURE__ */ React.createElement(Sidebar, __spreadValues({ collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(SidebarHeader, null, /* @__PURE__ */ React.createElement(ContextSwitcher, { items: data.contexts, title: data.contextTitle, newContextText: data.newContextText })), /* @__PURE__ */ React.createElement(SidebarContent, null, /* @__PURE__ */ React.createElement(NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
|
|
32
|
-
Button,
|
|
33
|
-
{
|
|
34
|
-
variant: "primary",
|
|
35
|
-
onClick: () => {
|
|
36
|
-
var _a3;
|
|
37
|
-
if ((_a3 = data.events) == null ? void 0 : _a3.login) {
|
|
38
|
-
data.events.login();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"Sign in"
|
|
43
|
-
)), /* @__PURE__ */ React.createElement(SidebarRail, null));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export {
|
|
47
|
-
AppSidebar
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=chunk-YLGGLSUM.mjs.map
|
package/chunk-YLGGLSUM.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../layouts/sidebar1/app-sidebar.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\n\nexport interface ISidebarData {\n user?: INavUser;\n contextTitle?: string;\n newContextText?: string;\n contexts: INavContext[];\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <ContextSwitcher items={data.contexts} title={data.contextTitle} newContextText={data.newContextText} />\n </SidebarHeader>\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AAqBhB,SAAS,WAAW,IAKxB;AALwB,MACtB,kBADsB,IACtB;AAvBL;AA4BE,QAAkCA,MAAA,OAA1B,QAAM,OA5BhB,IA4BoCA,KAAT,iBAASA,KAAT,CAAjB,QAAM;AAEd,SACE,oCAAC,0BAAQ,aAAY,UAAW,OAC9B,oCAAC,qBACC,oCAAC,mBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,cAAc,gBAAgB,KAAK,gBAAgB,CACxG,GAEA,oCAAC,sBACC,oCAAC,YAAS,OAAO,KAAK,OAAO,QAAgB,CAC/C,GAEA,oCAAC,qBACE,KAAK,OACJ,oCAAC,WAAQ,MAAM,KAAK,MAAM,OAAO,KAAK,WAAW,QAAgB,WAAU,UAAK,WAAL,mBAAa,QAAQ,IAEhG;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAS,MAAM;AA9C3B,YAAAA;AA+Cc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,OAAO;AACtB,eAAK,OAAO,MAAM;AAAA,QACpB;AAAA,MACF;AAAA;AAAA,IACD;AAAA,EAED,CAEJ,GAEA,oCAAC,iBAAY,CACf;AAEJ;","names":["_a"]}
|