@egose/shadcn-theme 0.0.61 → 0.0.62
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-GGOYFF4M.mjs → chunk-7734627I.mjs} +2 -2
- package/chunk-7734627I.mjs.map +1 -0
- package/{chunk-PVKN7E6W.js → chunk-AK7GRZQD.js} +5 -5
- package/{chunk-PVKN7E6W.js.map → chunk-AK7GRZQD.js.map} +1 -1
- package/{chunk-EIAS7WVI.mjs → chunk-L2NIAPCK.mjs} +4 -4
- package/{chunk-WCMH464B.js → chunk-M2OLRG5K.js} +2 -2
- package/chunk-M2OLRG5K.js.map +1 -0
- 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.js +3 -3
- package/layouts/sidebar1/app-sidebar.mjs +2 -2
- package/layouts/sidebar1/context-switcher.d.mts +1 -0
- package/layouts/sidebar1/context-switcher.d.ts +1 -0
- 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-GGOYFF4M.mjs.map +0 -1
- package/chunk-WCMH464B.js.map +0 -1
- /package/{chunk-EIAS7WVI.mjs.map → chunk-L2NIAPCK.mjs.map} +0 -0
|
@@ -28,7 +28,7 @@ function ContextSwitcher({
|
|
|
28
28
|
onContextSelected
|
|
29
29
|
}) {
|
|
30
30
|
const { isMobile } = useSidebar();
|
|
31
|
-
const [activeContext, setActiveContext] = React.useState(items[0]);
|
|
31
|
+
const [activeContext, setActiveContext] = React.useState(items.find((item) => item.active) || items[0]);
|
|
32
32
|
React.useEffect(() => {
|
|
33
33
|
if (!items || items.length === 0) return;
|
|
34
34
|
setActiveContext((prev) => {
|
|
@@ -97,4 +97,4 @@ function ContextSwitcher({
|
|
|
97
97
|
export {
|
|
98
98
|
ContextSwitcher
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
100
|
+
//# sourceMappingURL=chunk-7734627I.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 active?: boolean;\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.find((item) => item.active) || 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;AAsB9B,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,KAAK,CAAC,SAAS,KAAK,MAAM,KAAK,MAAM,CAAC,CAAC;AAEtG,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,15 +1,15 @@
|
|
|
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 _chunkWCMH464Bjs = require('./chunk-WCMH464B.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
4
|
var _chunk5WZCVX6Ijs = require('./chunk-5WZCVX6I.js');
|
|
8
5
|
|
|
9
6
|
|
|
10
7
|
var _chunkQ5QVXAFPjs = require('./chunk-Q5QVXAFP.js');
|
|
11
8
|
|
|
12
9
|
|
|
10
|
+
var _chunkM2OLRG5Kjs = require('./chunk-M2OLRG5K.js');
|
|
11
|
+
|
|
12
|
+
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -31,7 +31,7 @@ function AppSidebar(_a) {
|
|
|
31
31
|
const _a2 = props, { data, aslink } = _a2, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _a2, ["data", "aslink"]);
|
|
32
32
|
const { context } = data;
|
|
33
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
|
-
|
|
34
|
+
_chunkM2OLRG5Kjs.ContextSwitcher,
|
|
35
35
|
{
|
|
36
36
|
items: context.items,
|
|
37
37
|
title: context.title,
|
|
@@ -68,4 +68,4 @@ function AppSidebar(_a) {
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
exports.AppSidebar = AppSidebar;
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-AK7GRZQD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-AK7GRZQD.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a","context"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-AK7GRZQD.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"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ContextSwitcher
|
|
3
|
-
} from "./chunk-GGOYFF4M.mjs";
|
|
4
1
|
import {
|
|
5
2
|
NavMenus
|
|
6
3
|
} from "./chunk-QJLNEVAE.mjs";
|
|
7
4
|
import {
|
|
8
5
|
NavUser
|
|
9
6
|
} from "./chunk-F57PDM2P.mjs";
|
|
7
|
+
import {
|
|
8
|
+
ContextSwitcher
|
|
9
|
+
} from "./chunk-7734627I.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Sidebar,
|
|
12
12
|
SidebarContent,
|
|
@@ -67,4 +67,4 @@ function AppSidebar(_a) {
|
|
|
67
67
|
export {
|
|
68
68
|
AppSidebar
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-L2NIAPCK.mjs.map
|
|
@@ -29,7 +29,7 @@ function ContextSwitcher({
|
|
|
29
29
|
onContextSelected
|
|
30
30
|
}) {
|
|
31
31
|
const { isMobile } = _chunk5AC6SSUUjs.useSidebar.call(void 0, );
|
|
32
|
-
const [activeContext, setActiveContext] = React.useState(items[0]);
|
|
32
|
+
const [activeContext, setActiveContext] = React.useState(items.find((item) => item.active) || items[0]);
|
|
33
33
|
React.useEffect(() => {
|
|
34
34
|
if (!items || items.length === 0) return;
|
|
35
35
|
setActiveContext((prev) => {
|
|
@@ -98,4 +98,4 @@ function ContextSwitcher({
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
exports.ContextSwitcher = ContextSwitcher;
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-M2OLRG5K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-M2OLRG5K.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-M2OLRG5K.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 active?: boolean;\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.find((item) => item.active) || 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"]}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
var _chunkPS3LNHTAjs = require('../../../chunk-PS3LNHTA.js');
|
|
6
|
+
require('../../../chunk-5SLUBHNN.js');
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
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;AACE;AACA;AACA;AACF,6DAAmC;AACnC,sCAAmC;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,sCAAmC;AACnC;AACE;AACA;AACA;AACF,6DAAmC;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";
|
|
5
6
|
import {
|
|
6
7
|
DialogContext,
|
|
7
8
|
createTypedDialog,
|
|
8
9
|
useDialog
|
|
9
10
|
} from "../../../chunk-PDB2VCWX.mjs";
|
|
10
|
-
import "../../../chunk-B2Z7BNYW.mjs";
|
|
11
11
|
import "../../../chunk-YOSPWY5K.mjs";
|
|
12
12
|
export {
|
|
13
13
|
DialogContext,
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../chunk-WCMH464B.js');
|
|
5
|
+
var _chunkAK7GRZQDjs = require('../../chunk-AK7GRZQD.js');
|
|
7
6
|
require('../../chunk-5WZCVX6I.js');
|
|
8
7
|
require('../../chunk-Q5QVXAFP.js');
|
|
8
|
+
require('../../chunk-M2OLRG5K.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 = _chunkAK7GRZQDjs.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-
|
|
5
|
-
import "../../chunk-GGOYFF4M.mjs";
|
|
4
|
+
} from "../../chunk-L2NIAPCK.mjs";
|
|
6
5
|
import "../../chunk-QJLNEVAE.mjs";
|
|
7
6
|
import "../../chunk-F57PDM2P.mjs";
|
|
7
|
+
import "../../chunk-7734627I.mjs";
|
|
8
8
|
import "../../chunk-OI7CIW4X.mjs";
|
|
9
9
|
import "../../chunk-SSL4EXAQ.mjs";
|
|
10
10
|
import "../../chunk-JVMY3LCD.mjs";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkM2OLRG5Kjs = require('../../chunk-M2OLRG5K.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 = _chunkM2OLRG5Kjs.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
|
|
6
|
-
require('../../chunk-WCMH464B.js');
|
|
5
|
+
var _chunkAK7GRZQDjs = require('../../chunk-AK7GRZQD.js');
|
|
7
6
|
require('../../chunk-5WZCVX6I.js');
|
|
8
7
|
require('../../chunk-Q5QVXAFP.js');
|
|
8
|
+
require('../../chunk-M2OLRG5K.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(_chunkAK7GRZQDjs.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-
|
|
5
|
-
import "../../chunk-GGOYFF4M.mjs";
|
|
4
|
+
} from "../../chunk-L2NIAPCK.mjs";
|
|
6
5
|
import "../../chunk-QJLNEVAE.mjs";
|
|
7
6
|
import "../../chunk-F57PDM2P.mjs";
|
|
7
|
+
import "../../chunk-7734627I.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 _chunkOMQVDSR6js = require('../../chunk-OMQVDSR6.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkP6ZPREB6js = require('../../chunk-P6ZPREB6.js');
|
|
9
9
|
require('../../chunk-754FOR4K.js');
|
|
10
10
|
|
|
11
11
|
|
package/layouts/simple/index.mjs
CHANGED
package/package.json
CHANGED
package/chunk-GGOYFF4M.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 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":[]}
|
package/chunk-WCMH464B.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
File without changes
|