@egose/shadcn-theme 0.0.42 → 0.0.44

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.
@@ -4,10 +4,10 @@
4
4
  var _chunkDPLK6PWJjs = require('./chunk-DPLK6PWJ.js');
5
5
 
6
6
 
7
- var _chunkBXWNEMTLjs = require('./chunk-BXWNEMTL.js');
7
+ var _chunkIK7YLHCZjs = require('./chunk-IK7YLHCZ.js');
8
8
 
9
9
 
10
- var _chunk5BB6TPXPjs = require('./chunk-5BB6TPXP.js');
10
+ var _chunkNJRYW64Fjs = require('./chunk-NJRYW64F.js');
11
11
 
12
12
 
13
13
 
@@ -29,7 +29,7 @@ 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
- return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.Sidebar, _chunk2NMEKWO5js.__spreadValues.call(void 0, { collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarHeader, null, /* @__PURE__ */ React.createElement(_chunkBXWNEMTLjs.ContextSwitcher, { items: data.contexts })), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarContent, null, /* @__PURE__ */ React.createElement(_chunk5BB6TPXPjs.NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(_chunkDPLK6PWJjs.NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
32
+ return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.Sidebar, _chunk2NMEKWO5js.__spreadValues.call(void 0, { collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarHeader, null, /* @__PURE__ */ React.createElement(_chunkIK7YLHCZjs.ContextSwitcher, { items: data.contexts })), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarContent, null, /* @__PURE__ */ React.createElement(_chunkNJRYW64Fjs.NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(_chunkDPLK6PWJjs.NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
33
33
  _chunkL34PA4VZjs.Button,
34
34
  {
35
35
  variant: "primary",
@@ -47,4 +47,4 @@ function AppSidebar(_a) {
47
47
 
48
48
 
49
49
  exports.AppSidebar = AppSidebar;
50
- //# sourceMappingURL=chunk-GJZTTUZA.js.map
50
+ //# sourceMappingURL=chunk-BABLA6VF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-GJZTTUZA.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;ACrBA,2EAAuB;AAoBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAxBL,EAAA,IAAA,EAAA;AA6BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA7BhB,EAAA,EA6BoCA,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,SAAA,CAAU,CACzC,CAAA,kBACA,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,kBACA,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;AA7C3B,QAAA,IAAAA,GAAAA;AA8Cc,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,kBACA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADdA;AACA;AACE;AACF,gCAAC","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-GJZTTUZA.js","sourcesContent":[null,"\"use client\";\n'use client';\n\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';\nimport { cn } from '../../lib/utils';\n\nexport interface ISidebarData {\n user?: INavUser;\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} />\n </SidebarHeader>\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\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 <SidebarRail />\n </Sidebar>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-BABLA6VF.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;ACrBA,2EAAuB;AAoBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAxBL,EAAA,IAAA,EAAA;AA6BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA7BhB,EAAA,EA6BoCA,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,SAAA,CAAU,CACzC,CAAA,kBACA,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,kBACA,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;AA7C3B,QAAA,IAAAA,GAAAA;AA8Cc,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,kBACA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADdA;AACA;AACE;AACF,gCAAC","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-BABLA6VF.js","sourcesContent":[null,"\"use client\";\n'use client';\n\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';\nimport { cn } from '../../lib/utils';\n\nexport interface ISidebarData {\n user?: INavUser;\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} />\n </SidebarHeader>\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\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 <SidebarRail />\n </Sidebar>\n );\n}\n"]}
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-RVIFWC73.mjs";
4
4
  import {
5
5
  ContextSwitcher
6
- } from "./chunk-ZUH4R6OP.mjs";
6
+ } from "./chunk-HGMNZ2PG.mjs";
7
7
  import {
8
8
  NavMenus
9
- } from "./chunk-S6JMRRDR.mjs";
9
+ } from "./chunk-K5HL3OKX.mjs";
10
10
  import {
11
11
  Sidebar,
12
12
  SidebarContent,
@@ -46,4 +46,4 @@ function AppSidebar(_a) {
46
46
  export {
47
47
  AppSidebar
48
48
  };
49
- //# sourceMappingURL=chunk-NAFWUHBM.mjs.map
49
+ //# sourceMappingURL=chunk-ESUERRTJ.mjs.map
@@ -13,6 +13,9 @@ import {
13
13
  DropdownMenuShortcut,
14
14
  DropdownMenuTrigger
15
15
  } from "./chunk-IAJ2ZBSJ.mjs";
16
+ import {
17
+ cn
18
+ } from "./chunk-F5XCCSBC.mjs";
16
19
 
17
20
  // layouts/sidebar1/context-switcher.tsx
18
21
  import * as React from "react";
@@ -37,7 +40,16 @@ function ContextSwitcher({
37
40
  size: "lg",
38
41
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
39
42
  },
40
- /* @__PURE__ */ React.createElement("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground" }, /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })),
43
+ /* @__PURE__ */ React.createElement(
44
+ "div",
45
+ {
46
+ className: cn(
47
+ "flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground",
48
+ activeContext.className
49
+ )
50
+ },
51
+ /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })
52
+ ),
41
53
  /* @__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)),
42
54
  /* @__PURE__ */ React.createElement(ChevronsUpDown, { className: "ml-auto" })
43
55
  )), /* @__PURE__ */ React.createElement(
@@ -58,4 +70,4 @@ function ContextSwitcher({
58
70
  export {
59
71
  ContextSwitcher
60
72
  };
61
- //# sourceMappingURL=chunk-ZUH4R6OP.mjs.map
73
+ //# sourceMappingURL=chunk-HGMNZ2PG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../layouts/sidebar1/context-switcher.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\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 '../../lib/utils';\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 <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 <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\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 {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 <DropdownMenuSeparator />\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":";;;;;;;;;;;;;;;;;;;;AAGA,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,IACA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,cAAc,IAAK,GAC7D,oCAAC,UAAK,WAAU,sBAAoB,cAAc,IAAK,CACzD;AAAA,IACA,oCAAC,kBAAe,WAAU,WAAU;AAAA,EACtC,CACF,GACA;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,IACnE,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,IACD,oCAAC,2BAAsB;AAAA,IACvB,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":[]}
@@ -15,6 +15,9 @@ var _chunkW3FZDYNLjs = require('./chunk-W3FZDYNL.js');
15
15
 
16
16
  var _chunkNI2SIUXOjs = require('./chunk-NI2SIUXO.js');
17
17
 
18
+
19
+ var _chunk6N4WCMTEjs = require('./chunk-6N4WCMTE.js');
20
+
18
21
  // layouts/sidebar1/context-switcher.tsx
19
22
  var _react = require('react'); var React = _interopRequireWildcard(_react);
20
23
  var _lucidereact = require('lucide-react');
@@ -38,7 +41,16 @@ function ContextSwitcher({
38
41
  size: "lg",
39
42
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
40
43
  },
41
- /* @__PURE__ */ React.createElement("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground" }, /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })),
44
+ /* @__PURE__ */ React.createElement(
45
+ "div",
46
+ {
47
+ className: _chunk6N4WCMTEjs.cn.call(void 0,
48
+ "flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground",
49
+ activeContext.className
50
+ )
51
+ },
52
+ /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })
53
+ ),
42
54
  /* @__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)),
43
55
  /* @__PURE__ */ React.createElement(_lucidereact.ChevronsUpDown, { className: "ml-auto" })
44
56
  )), /* @__PURE__ */ React.createElement(
@@ -59,4 +71,4 @@ function ContextSwitcher({
59
71
 
60
72
 
61
73
  exports.ContextSwitcher = ContextSwitcher;
62
- //# sourceMappingURL=chunk-BXWNEMTL.js.map
74
+ //# sourceMappingURL=chunk-IK7YLHCZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-IK7YLHCZ.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-IK7YLHCZ.js","sourcesContent":[null,"\"use client\";\n'use client';\n\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 '../../lib/utils';\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 <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 <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\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 {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 <DropdownMenuSeparator />\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"]}
@@ -6,7 +6,8 @@ import {
6
6
  SidebarMenuItem,
7
7
  SidebarMenuSub,
8
8
  SidebarMenuSubButton,
9
- SidebarMenuSubItem
9
+ SidebarMenuSubItem,
10
+ useSidebar
10
11
  } from "./chunk-FWFDWXUG.mjs";
11
12
  import {
12
13
  Collapsible,
@@ -18,17 +19,19 @@ import {
18
19
  import * as React from "react";
19
20
  import { ChevronRight } from "lucide-react";
20
21
  function SidebarMenuLink({ item, as: LinkComponent }) {
22
+ const { setOpenMobile } = useSidebar();
21
23
  const Comp = LinkComponent && item.url ? LinkComponent : "button";
22
- return /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
24
+ return /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
23
25
  var _a;
24
26
  return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
25
27
  } }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
26
28
  }
27
29
  function SidebarMenuCollapsible({ item, as: LinkComponent }) {
30
+ const { setOpenMobile } = useSidebar();
28
31
  if (!item.subItems) return null;
29
32
  return /* @__PURE__ */ React.createElement(Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(SidebarMenuButton, { tooltip: item.title }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title), /* @__PURE__ */ React.createElement(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" }))), /* @__PURE__ */ React.createElement(CollapsibleContent, null, /* @__PURE__ */ React.createElement(SidebarMenuSub, null, item.subItems.map((subItem) => {
30
33
  const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
31
- return /* @__PURE__ */ React.createElement(SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive }, /* @__PURE__ */ React.createElement(
34
+ return /* @__PURE__ */ React.createElement(SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(
32
35
  Comp,
33
36
  {
34
37
  to: subItem.url,
@@ -55,4 +58,4 @@ function NavMenus({ menus, aslink }) {
55
58
  export {
56
59
  NavMenus
57
60
  };
58
- //# sourceMappingURL=chunk-S6JMRRDR.mjs.map
61
+ //# sourceMappingURL=chunk-K5HL3OKX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../layouts/sidebar1/nav-menus.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAGA,YAAY,WAAW;AACvB,SAAS,oBAAoB;AA+B7B,SAAS,gBAAgB,EAAE,MAAM,IAAI,cAAc,GAAkD;AACnG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,QAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,SACE,oCAAC,uBACC,oCAAC,qBAAkB,SAAO,MAAC,UAAU,KAAK,UAAU,SAAS,KAAK,OAAO,SAAS,MAAM,cAAc,KAAK,KACzG,oCAAC,QAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,SAAS,MAAG;AA1CxD;AA0C2D,sBAAK,YAAL,8BAAe,KAAK;AAAA,OACpE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,CACpB,CACF,CACF;AAEJ;AAEA,SAAS,uBAAuB,EAAE,MAAM,IAAI,cAAc,GAA+C;AACvG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,MAAI,CAAC,KAAK,SAAU,QAAO;AAE3B,SACE,oCAAC,eAAY,KAAK,KAAK,OAAO,SAAO,MAAC,aAAa,KAAK,UAAU,WAAU,uBAC1E,oCAAC,uBACC,oCAAC,sBAAmB,SAAO,QACzB,oCAAC,qBAAkB,SAAS,KAAK,SAC9B,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,GAClB,oCAAC,gBAAa,WAAU,2FAA0F,CACpH,CACF,GACA,oCAAC,0BACC,oCAAC,sBACE,KAAK,SAAS,IAAI,CAAC,YAAY;AAC9B,UAAM,OAAO,iBAAiB,QAAQ,MAAM,gBAAgB;AAE5D,WACE,oCAAC,sBAAmB,KAAK,QAAQ,SAC/B,oCAAC,wBAAqB,SAAO,MAAC,UAAU,QAAQ,UAAU,SAAS,MAAM,cAAc,KAAK,KAC1F;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,MAAG;AA5ElC;AA4EqC,4BAAK,YAAL,8BAAe,QAAQ;AAAA;AAAA,QACtC,WAAU;AAAA;AAAA,MAET,QAAQ,QAAQ,oCAAC,QAAQ,MAAR,IAAa;AAAA,MAC/B,oCAAC,cAAM,QAAQ,KAAM;AAAA,IACvB,CACF,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF;AAEJ;AAEO,SAAS,SAAS,EAAE,OAAO,OAAO,GAAqD;AAC5F,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WACE,oCAAC,gBAAa,KAAK,KAAK,SACtB,oCAAC,yBAAmB,KAAK,KAAM,GAC/B,oCAAC,mBACE,KAAK,MAAM;AAAA,MAAI,CAAC,SACf,KAAK,YAAY,KAAK,SAAS,SAAS,IACtC,oCAAC,0BAAuB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ,IAEjE,oCAAC,mBAAgB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ;AAAA,IAE9D,CACF,CACF;AAAA,EAEJ,CAAC;AACH;","names":[]}
@@ -8,6 +8,7 @@
8
8
 
9
9
 
10
10
 
11
+
11
12
  var _chunkW3FZDYNLjs = require('./chunk-W3FZDYNL.js');
12
13
 
13
14
 
@@ -19,17 +20,19 @@ var _chunkN2AJY4KMjs = require('./chunk-N2AJY4KM.js');
19
20
  var _react = require('react'); var React = _interopRequireWildcard(_react);
20
21
  var _lucidereact = require('lucide-react');
21
22
  function SidebarMenuLink({ item, as: LinkComponent }) {
23
+ const { setOpenMobile } = _chunkW3FZDYNLjs.useSidebar.call(void 0, );
22
24
  const Comp = LinkComponent && item.url ? LinkComponent : "button";
23
- return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
25
+ return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
24
26
  var _a;
25
27
  return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
26
28
  } }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
27
29
  }
28
30
  function SidebarMenuCollapsible({ item, as: LinkComponent }) {
31
+ const { setOpenMobile } = _chunkW3FZDYNLjs.useSidebar.call(void 0, );
29
32
  if (!item.subItems) return null;
30
33
  return /* @__PURE__ */ React.createElement(_chunkN2AJY4KMjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkN2AJY4KMjs.CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuButton, { tooltip: item.title }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title), /* @__PURE__ */ React.createElement(_lucidereact.ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" }))), /* @__PURE__ */ React.createElement(_chunkN2AJY4KMjs.CollapsibleContent, null, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuSub, null, item.subItems.map((subItem) => {
31
34
  const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
32
- return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive }, /* @__PURE__ */ React.createElement(
35
+ return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(
33
36
  Comp,
34
37
  {
35
38
  to: subItem.url,
@@ -56,4 +59,4 @@ function NavMenus({ menus, aslink }) {
56
59
 
57
60
 
58
61
  exports.NavMenus = NavMenus;
59
- //# sourceMappingURL=chunk-5BB6TPXP.js.map
62
+ //# sourceMappingURL=chunk-NJRYW64F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-NJRYW64F.js","../layouts/sidebar1/nav-menus.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-NJRYW64F.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"]}
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkGJZTTUZAjs = require('../../chunk-GJZTTUZA.js');
5
+ var _chunkBABLA6VFjs = require('../../chunk-BABLA6VF.js');
6
6
  require('../../chunk-DPLK6PWJ.js');
7
- require('../../chunk-BXWNEMTL.js');
8
- require('../../chunk-5BB6TPXP.js');
7
+ require('../../chunk-IK7YLHCZ.js');
8
+ require('../../chunk-NJRYW64F.js');
9
9
  require('../../chunk-W3FZDYNL.js');
10
10
  require('../../chunk-V7M2UXTR.js');
11
11
  require('../../chunk-EZKZVF5B.js');
@@ -22,5 +22,5 @@ require('../../chunk-6N4WCMTE.js');
22
22
  require('../../chunk-2NMEKWO5.js');
23
23
 
24
24
 
25
- exports.AppSidebar = _chunkGJZTTUZAjs.AppSidebar;
25
+ exports.AppSidebar = _chunkBABLA6VFjs.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-NAFWUHBM.mjs";
4
+ } from "../../chunk-ESUERRTJ.mjs";
5
5
  import "../../chunk-RVIFWC73.mjs";
6
- import "../../chunk-ZUH4R6OP.mjs";
7
- import "../../chunk-S6JMRRDR.mjs";
6
+ import "../../chunk-HGMNZ2PG.mjs";
7
+ import "../../chunk-K5HL3OKX.mjs";
8
8
  import "../../chunk-FWFDWXUG.mjs";
9
9
  import "../../chunk-V4BQYO2M.mjs";
10
10
  import "../../chunk-FACB3AR5.mjs";
@@ -4,6 +4,7 @@ interface INavContext {
4
4
  name: string;
5
5
  logo: React.ElementType;
6
6
  text: string;
7
+ className?: string;
7
8
  }
8
9
  declare function ContextSwitcher({ items, title, newContextText, }: {
9
10
  items: INavContext[];
@@ -4,6 +4,7 @@ interface INavContext {
4
4
  name: string;
5
5
  logo: React.ElementType;
6
6
  text: string;
7
+ className?: string;
7
8
  }
8
9
  declare function ContextSwitcher({ items, title, newContextText, }: {
9
10
  items: INavContext[];
@@ -2,7 +2,7 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkBXWNEMTLjs = require('../../chunk-BXWNEMTL.js');
5
+ var _chunkIK7YLHCZjs = require('../../chunk-IK7YLHCZ.js');
6
6
  require('../../chunk-W3FZDYNL.js');
7
7
  require('../../chunk-V7M2UXTR.js');
8
8
  require('../../chunk-EZKZVF5B.js');
@@ -17,5 +17,5 @@ require('../../chunk-6N4WCMTE.js');
17
17
  require('../../chunk-2NMEKWO5.js');
18
18
 
19
19
 
20
- exports.ContextSwitcher = _chunkBXWNEMTLjs.ContextSwitcher;
20
+ exports.ContextSwitcher = _chunkIK7YLHCZjs.ContextSwitcher;
21
21
  //# sourceMappingURL=context-switcher.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  ContextSwitcher
4
- } from "../../chunk-ZUH4R6OP.mjs";
4
+ } from "../../chunk-HGMNZ2PG.mjs";
5
5
  import "../../chunk-FWFDWXUG.mjs";
6
6
  import "../../chunk-V4BQYO2M.mjs";
7
7
  import "../../chunk-FACB3AR5.mjs";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ISidebarData } from './app-sidebar.mjs';
3
- import { INavUser } from './nav-user.mjs';
3
+ export { INavUser } from './nav-user.mjs';
4
4
  import './context-switcher.mjs';
5
5
  import './nav-menus.mjs';
6
6
  import '../../components/ui/sidebar.mjs';
@@ -10,11 +10,10 @@ import 'class-variance-authority';
10
10
  import '../../components/ui/tooltip.mjs';
11
11
  import '@radix-ui/react-tooltip';
12
12
 
13
- declare function SidebarLayout({ children, aslink, onLogout, data, }: Readonly<{
13
+ declare function SidebarLayout({ children, aslink, data, }: Readonly<{
14
14
  children: React.ReactNode;
15
15
  aslink: React.ElementType;
16
- onLogout?: (user: INavUser) => void;
17
16
  data: ISidebarData;
18
17
  }>): React.JSX.Element;
19
18
 
20
- export { INavUser, ISidebarData, SidebarLayout as default };
19
+ export { ISidebarData, SidebarLayout as default };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ISidebarData } from './app-sidebar.js';
3
- import { INavUser } from './nav-user.js';
3
+ export { INavUser } from './nav-user.js';
4
4
  import './context-switcher.js';
5
5
  import './nav-menus.js';
6
6
  import '../../components/ui/sidebar.js';
@@ -10,11 +10,10 @@ import 'class-variance-authority';
10
10
  import '../../components/ui/tooltip.js';
11
11
  import '@radix-ui/react-tooltip';
12
12
 
13
- declare function SidebarLayout({ children, aslink, onLogout, data, }: Readonly<{
13
+ declare function SidebarLayout({ children, aslink, data, }: Readonly<{
14
14
  children: React.ReactNode;
15
15
  aslink: React.ElementType;
16
- onLogout?: (user: INavUser) => void;
17
16
  data: ISidebarData;
18
17
  }>): React.JSX.Element;
19
18
 
20
- export { INavUser, ISidebarData, SidebarLayout as default };
19
+ export { ISidebarData, SidebarLayout as default };
@@ -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 _chunkGJZTTUZAjs = require('../../chunk-GJZTTUZA.js');
5
+ var _chunkBABLA6VFjs = require('../../chunk-BABLA6VF.js');
6
6
  require('../../chunk-DPLK6PWJ.js');
7
- require('../../chunk-BXWNEMTL.js');
8
- require('../../chunk-5BB6TPXP.js');
7
+ require('../../chunk-IK7YLHCZ.js');
8
+ require('../../chunk-NJRYW64F.js');
9
9
 
10
10
 
11
11
 
@@ -39,7 +39,6 @@ var _react = require('react'); var React = _interopRequireWildcard(_react);
39
39
  function SidebarLayout({
40
40
  children,
41
41
  aslink,
42
- onLogout,
43
42
  data
44
43
  }) {
45
44
  const activeItems = [];
@@ -56,7 +55,7 @@ function SidebarLayout({
56
55
  }
57
56
  });
58
57
  });
59
- return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarProvider, null, /* @__PURE__ */ React.createElement(_chunkGJZTTUZAjs.AppSidebar, { aslink, data }), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.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(_chunkW3FZDYNLjs.SidebarTrigger, { className: "-ml-1" }), /* @__PURE__ */ React.createElement(_chunkV7M2UXTRjs.Separator, { orientation: "vertical", className: "mr-2 h-4 w-[1px] bg-secondary" }), /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.Breadcrumb, null, /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.BreadcrumbList, { className: "text-dark" }, activeItems.map((bread, index) => {
58
+ return /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.SidebarProvider, null, /* @__PURE__ */ React.createElement(_chunkBABLA6VFjs.AppSidebar, { aslink, data }), /* @__PURE__ */ React.createElement(_chunkW3FZDYNLjs.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(_chunkW3FZDYNLjs.SidebarTrigger, { className: "-ml-1" }), /* @__PURE__ */ React.createElement(_chunkV7M2UXTRjs.Separator, { orientation: "vertical", className: "mr-2 h-4 w-[1px] bg-secondary" }), /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.Breadcrumb, null, /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.BreadcrumbList, { className: "text-dark" }, activeItems.map((bread, index) => {
60
59
  return /* @__PURE__ */ React.createElement(React.Fragment, { key: bread }, index > 0 && /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.BreadcrumbSeparator, null), /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.BreadcrumbItem, null, /* @__PURE__ */ React.createElement(_chunkRSQ25E6Yjs.BreadcrumbPage, { className: "" }, bread)));
61
60
  }))))), /* @__PURE__ */ React.createElement("main", { className: "px-4 pb-2 overflow-auto" }, children)));
62
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/layouts/sidebar1/index.js","../../../layouts/sidebar1/index.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/layouts/sidebar1/index.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n onLogout,\n data,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n onLogout?: (user: INavUser) => void;\n data: ISidebarData;\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} />\n <SidebarInset>\n <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\">\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"mr-2 h-4 w-[1px] bg-secondary\" />\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {activeItems.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n </header>\n <main className=\"px-4 pb-2 overflow-auto\">{children}</main>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/layouts/sidebar1/index.js","../../../layouts/sidebar1/index.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/layouts/sidebar1/index.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} />\n <SidebarInset>\n <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\">\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"mr-2 h-4 w-[1px] bg-secondary\" />\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {activeItems.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n </header>\n <main className=\"px-4 pb-2 overflow-auto\">{children}</main>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  AppSidebar
4
- } from "../../chunk-NAFWUHBM.mjs";
4
+ } from "../../chunk-ESUERRTJ.mjs";
5
5
  import "../../chunk-RVIFWC73.mjs";
6
- import "../../chunk-ZUH4R6OP.mjs";
7
- import "../../chunk-S6JMRRDR.mjs";
6
+ import "../../chunk-HGMNZ2PG.mjs";
7
+ import "../../chunk-K5HL3OKX.mjs";
8
8
  import {
9
9
  SidebarInset,
10
10
  SidebarProvider,
@@ -38,7 +38,6 @@ import * as React from "react";
38
38
  function SidebarLayout({
39
39
  children,
40
40
  aslink,
41
- onLogout,
42
41
  data
43
42
  }) {
44
43
  const activeItems = [];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../layouts/sidebar1/index.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n onLogout,\n data,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n onLogout?: (user: INavUser) => void;\n data: ISidebarData;\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} />\n <SidebarInset>\n <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\">\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"mr-2 h-4 w-[1px] bg-secondary\" />\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {activeItems.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n </header>\n <main className=\"px-4 pb-2 overflow-auto\">{children}</main>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AAgBR,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKI;AACF,QAAM,cAAwB,CAAC;AAE/B,OAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,SAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,QAAQ,CAAC,YAAY;AACjC,cAAI,QAAQ,UAAU;AACpB,wBAAY,KAAK,KAAK,OAAO,QAAQ,KAAK;AAAA,UAC5C;AAAA,QACF,CAAC;AAAA,MACH,WAAW,KAAK,UAAU;AACxB,oBAAY,KAAK,KAAK,KAAK;AAAA,MAC7B;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SACE,oCAAC,uBACC,oCAAC,cAAW,QAAgB,MAAY,GACxC,oCAAC,oBACC,oCAAC,YAAO,WAAU,0IAChB,oCAAC,SAAI,WAAU,kCACb,oCAAC,kBAAe,WAAU,SAAQ,GAClC,oCAAC,aAAU,aAAY,YAAW,WAAU,iCAAgC,GAC5E,oCAAC,kBACC,oCAAC,kBAAe,WAAU,eACvB,YAAY,IAAI,CAAC,OAAO,UAAU;AACjC,WACE,oCAAO,gBAAN,EAAe,KAAK,SAClB,QAAQ,KAAK,oCAAC,yBAAoB,GACnC,oCAAC,sBACC,oCAAC,kBAAe,WAAU,MAAI,KAAM,CACtC,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF,GACA,oCAAC,UAAK,WAAU,6BAA2B,QAAS,CACtD,CACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../layouts/sidebar1/index.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} />\n <SidebarInset>\n <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\">\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"mr-2 h-4 w-[1px] bg-secondary\" />\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {activeItems.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n </header>\n <main className=\"px-4 pb-2 overflow-auto\">{children}</main>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AAgBR,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAII;AACF,QAAM,cAAwB,CAAC;AAE/B,OAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,SAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,QAAQ,CAAC,YAAY;AACjC,cAAI,QAAQ,UAAU;AACpB,wBAAY,KAAK,KAAK,OAAO,QAAQ,KAAK;AAAA,UAC5C;AAAA,QACF,CAAC;AAAA,MACH,WAAW,KAAK,UAAU;AACxB,oBAAY,KAAK,KAAK,KAAK;AAAA,MAC7B;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SACE,oCAAC,uBACC,oCAAC,cAAW,QAAgB,MAAY,GACxC,oCAAC,oBACC,oCAAC,YAAO,WAAU,0IAChB,oCAAC,SAAI,WAAU,kCACb,oCAAC,kBAAe,WAAU,SAAQ,GAClC,oCAAC,aAAU,aAAY,YAAW,WAAU,iCAAgC,GAC5E,oCAAC,kBACC,oCAAC,kBAAe,WAAU,eACvB,YAAY,IAAI,CAAC,OAAO,UAAU;AACjC,WACE,oCAAO,gBAAN,EAAe,KAAK,SAClB,QAAQ,KAAK,oCAAC,yBAAoB,GACnC,oCAAC,sBACC,oCAAC,kBAAe,WAAU,MAAI,KAAM,CACtC,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF,GACA,oCAAC,UAAK,WAAU,6BAA2B,QAAS,CACtD,CACF;AAEJ;","names":[]}
@@ -2,7 +2,7 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunk5BB6TPXPjs = require('../../chunk-5BB6TPXP.js');
5
+ var _chunkNJRYW64Fjs = require('../../chunk-NJRYW64F.js');
6
6
  require('../../chunk-W3FZDYNL.js');
7
7
  require('../../chunk-V7M2UXTR.js');
8
8
  require('../../chunk-EZKZVF5B.js');
@@ -17,5 +17,5 @@ require('../../chunk-6N4WCMTE.js');
17
17
  require('../../chunk-2NMEKWO5.js');
18
18
 
19
19
 
20
- exports.NavMenus = _chunk5BB6TPXPjs.NavMenus;
20
+ exports.NavMenus = _chunkNJRYW64Fjs.NavMenus;
21
21
  //# sourceMappingURL=nav-menus.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  NavMenus
4
- } from "../../chunk-S6JMRRDR.mjs";
4
+ } from "../../chunk-K5HL3OKX.mjs";
5
5
  import "../../chunk-FWFDWXUG.mjs";
6
6
  import "../../chunk-V4BQYO2M.mjs";
7
7
  import "../../chunk-FACB3AR5.mjs";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.42",
2
+ "version": "0.0.44",
3
3
  "description": "shadcn UI theme",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-5BB6TPXP.js","../layouts/sidebar1/nav-menus.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-5BB6TPXP.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-BXWNEMTL.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-BXWNEMTL.js","sourcesContent":[null,"\"use client\";\n'use client';\n\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';\n\nexport interface INavContext {\n name: string;\n logo: React.ElementType;\n text: 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 className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground\">\n <activeContext.logo className=\"size-4\" />\n </div>\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 <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\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 {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 <DropdownMenuSeparator />\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../layouts/sidebar1/nav-menus.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAGA,YAAY,WAAW;AACvB,SAAS,oBAAoB;AA8B7B,SAAS,gBAAgB,EAAE,MAAM,IAAI,cAAc,GAAkD;AACnG,QAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,SACE,oCAAC,uBACC,oCAAC,qBAAkB,SAAO,MAAC,UAAU,KAAK,UAAU,SAAS,KAAK,SAChE,oCAAC,QAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,SAAS,MAAG;AAxCxD;AAwC2D,sBAAK,YAAL,8BAAe,KAAK;AAAA,OACpE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,CACpB,CACF,CACF;AAEJ;AAEA,SAAS,uBAAuB,EAAE,MAAM,IAAI,cAAc,GAA+C;AACvG,MAAI,CAAC,KAAK,SAAU,QAAO;AAE3B,SACE,oCAAC,eAAY,KAAK,KAAK,OAAO,SAAO,MAAC,aAAa,KAAK,UAAU,WAAU,uBAC1E,oCAAC,uBACC,oCAAC,sBAAmB,SAAO,QACzB,oCAAC,qBAAkB,SAAS,KAAK,SAC9B,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,GAClB,oCAAC,gBAAa,WAAU,2FAA0F,CACpH,CACF,GACA,oCAAC,0BACC,oCAAC,sBACE,KAAK,SAAS,IAAI,CAAC,YAAY;AAC9B,UAAM,OAAO,iBAAiB,QAAQ,MAAM,gBAAgB;AAE5D,WACE,oCAAC,sBAAmB,KAAK,QAAQ,SAC/B,oCAAC,wBAAqB,SAAO,MAAC,UAAU,QAAQ,YAC9C;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,MAAG;AAzElC;AAyEqC,4BAAK,YAAL,8BAAe,QAAQ;AAAA;AAAA,QACtC,WAAU;AAAA;AAAA,MAET,QAAQ,QAAQ,oCAAC,QAAQ,MAAR,IAAa;AAAA,MAC/B,oCAAC,cAAM,QAAQ,KAAM;AAAA,IACvB,CACF,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF;AAEJ;AAEO,SAAS,SAAS,EAAE,OAAO,OAAO,GAAqD;AAC5F,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WACE,oCAAC,gBAAa,KAAK,KAAK,SACtB,oCAAC,yBAAmB,KAAK,KAAM,GAC/B,oCAAC,mBACE,KAAK,MAAM;AAAA,MAAI,CAAC,SACf,KAAK,YAAY,KAAK,SAAS,SAAS,IACtC,oCAAC,0BAAuB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ,IAEjE,oCAAC,mBAAgB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ;AAAA,IAE9D,CACF,CACF;AAAA,EAEJ,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../layouts/sidebar1/context-switcher.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\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';\n\nexport interface INavContext {\n name: string;\n logo: React.ElementType;\n text: 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 className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground\">\n <activeContext.logo className=\"size-4\" />\n </div>\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 <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\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 {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 <DropdownMenuSeparator />\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":";;;;;;;;;;;;;;;;;AAGA,YAAY,WAAW;AACvB,SAAS,gBAAgB,YAAY;AAkB9B,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,oCAAC,SAAI,WAAU,mGACb,oCAAC,cAAc,MAAd,EAAmB,WAAU,UAAS,CACzC;AAAA,IACA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,cAAc,IAAK,GAC7D,oCAAC,UAAK,WAAU,sBAAoB,cAAc,IAAK,CACzD;AAAA,IACA,oCAAC,kBAAe,WAAU,WAAU;AAAA,EACtC,CACF,GACA;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,IACnE,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,IACD,oCAAC,2BAAsB;AAAA,IACvB,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":[]}