baaz-custom-components 3.1.0 → 3.1.2

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/dist/index.mjs CHANGED
@@ -50,13 +50,15 @@ function useIsMobile() {
50
50
  // src/components/custom/navbar/navbar.tsx
51
51
  import { useEffect as useEffect3, useState as useState3 } from "react";
52
52
 
53
- // src/components/custom/navbar/desktopNavbar.tsx
54
- import Link2 from "next/link";
53
+ // src/components/custom/navbar/menuList.tsx
54
+ import Image2 from "next/image";
55
55
 
56
- // src/components/ui/navigation-menu.tsx
57
- import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
58
- import { cva } from "class-variance-authority";
59
- import { ChevronDownIcon } from "lucide-react";
56
+ // src/components/custom/navbar/user.tsx
57
+ import Image from "next/image";
58
+
59
+ // src/components/ui/dropdown-menu.tsx
60
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
61
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
60
62
 
61
63
  // src/lib/utils.ts
62
64
  import { clsx } from "clsx";
@@ -65,175 +67,15 @@ function cn(...inputs) {
65
67
  return twMerge(clsx(inputs));
66
68
  }
67
69
 
68
- // src/components/ui/navigation-menu.tsx
69
- import { jsx, jsxs } from "react/jsx-runtime";
70
- function NavigationMenu(_a) {
71
- var _b = _a, {
72
- className,
73
- children,
74
- viewport = true
75
- } = _b, props = __objRest(_b, [
76
- "className",
77
- "children",
78
- "viewport"
79
- ]);
80
- return /* @__PURE__ */ jsxs(
81
- NavigationMenuPrimitive.Root,
82
- __spreadProps(__spreadValues({
83
- "data-slot": "navigation-menu",
84
- "data-viewport": viewport,
85
- className: cn(
86
- "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
87
- className
88
- )
89
- }, props), {
90
- children: [
91
- children,
92
- viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})
93
- ]
94
- })
95
- );
96
- }
97
- function NavigationMenuList(_a) {
98
- var _b = _a, {
99
- className
100
- } = _b, props = __objRest(_b, [
101
- "className"
102
- ]);
103
- return /* @__PURE__ */ jsx(
104
- NavigationMenuPrimitive.List,
105
- __spreadValues({
106
- "data-slot": "navigation-menu-list",
107
- className: cn(
108
- "group flex flex-1 list-none items-center justify-center gap-1",
109
- className
110
- )
111
- }, props)
112
- );
113
- }
114
- function NavigationMenuItem(_a) {
115
- var _b = _a, {
116
- className
117
- } = _b, props = __objRest(_b, [
118
- "className"
119
- ]);
120
- return /* @__PURE__ */ jsx(
121
- NavigationMenuPrimitive.Item,
122
- __spreadValues({
123
- "data-slot": "navigation-menu-item",
124
- className: cn("relative", className)
125
- }, props)
126
- );
127
- }
128
- var navigationMenuTriggerStyle = cva(
129
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
130
- );
131
- function NavigationMenuTrigger(_a) {
132
- var _b = _a, {
133
- className,
134
- children
135
- } = _b, props = __objRest(_b, [
136
- "className",
137
- "children"
138
- ]);
139
- return /* @__PURE__ */ jsxs(
140
- NavigationMenuPrimitive.Trigger,
141
- __spreadProps(__spreadValues({
142
- "data-slot": "navigation-menu-trigger",
143
- className: cn(navigationMenuTriggerStyle(), "group", className)
144
- }, props), {
145
- children: [
146
- children,
147
- " ",
148
- /* @__PURE__ */ jsx(
149
- ChevronDownIcon,
150
- {
151
- className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
152
- "aria-hidden": "true"
153
- }
154
- )
155
- ]
156
- })
157
- );
158
- }
159
- function NavigationMenuContent(_a) {
160
- var _b = _a, {
161
- className
162
- } = _b, props = __objRest(_b, [
163
- "className"
164
- ]);
165
- return /* @__PURE__ */ jsx(
166
- NavigationMenuPrimitive.Content,
167
- __spreadValues({
168
- "data-slot": "navigation-menu-content",
169
- className: cn(
170
- "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
171
- "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
172
- className
173
- )
174
- }, props)
175
- );
176
- }
177
- function NavigationMenuViewport(_a) {
178
- var _b = _a, {
179
- className
180
- } = _b, props = __objRest(_b, [
181
- "className"
182
- ]);
183
- return /* @__PURE__ */ jsx(
184
- "div",
185
- {
186
- className: cn(
187
- "absolute top-full left-0 isolate z-50 flex justify-center"
188
- ),
189
- children: /* @__PURE__ */ jsx(
190
- NavigationMenuPrimitive.Viewport,
191
- __spreadValues({
192
- "data-slot": "navigation-menu-viewport",
193
- className: cn(
194
- "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
195
- className
196
- )
197
- }, props)
198
- )
199
- }
200
- );
201
- }
202
- function NavigationMenuLink(_a) {
203
- var _b = _a, {
204
- className
205
- } = _b, props = __objRest(_b, [
206
- "className"
207
- ]);
208
- return /* @__PURE__ */ jsx(
209
- NavigationMenuPrimitive.Link,
210
- __spreadValues({
211
- "data-slot": "navigation-menu-link",
212
- className: cn(
213
- "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
214
- className
215
- )
216
- }, props)
217
- );
218
- }
219
-
220
- // src/components/custom/navbar/desktopNavbar.tsx
221
- import Image2 from "next/image";
222
-
223
- // src/components/custom/navbar/user.tsx
224
- import Image from "next/image";
225
-
226
70
  // src/components/ui/dropdown-menu.tsx
227
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
228
- import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
229
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
71
+ import { jsx, jsxs } from "react/jsx-runtime";
230
72
  function DropdownMenu(_a) {
231
73
  var props = __objRest(_a, []);
232
- return /* @__PURE__ */ jsx2(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
74
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
233
75
  }
234
76
  function DropdownMenuTrigger(_a) {
235
77
  var props = __objRest(_a, []);
236
- return /* @__PURE__ */ jsx2(
78
+ return /* @__PURE__ */ jsx(
237
79
  DropdownMenuPrimitive.Trigger,
238
80
  __spreadValues({
239
81
  "data-slot": "dropdown-menu-trigger"
@@ -248,7 +90,7 @@ function DropdownMenuContent(_a) {
248
90
  "className",
249
91
  "sideOffset"
250
92
  ]);
251
- return /* @__PURE__ */ jsx2(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx2(
93
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
252
94
  DropdownMenuPrimitive.Content,
253
95
  __spreadValues({
254
96
  "data-slot": "dropdown-menu-content",
@@ -266,7 +108,7 @@ import { Mail, MapPin, Phone } from "lucide-react";
266
108
 
267
109
  // src/components/ui/separator.tsx
268
110
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
269
- import { jsx as jsx3 } from "react/jsx-runtime";
111
+ import { jsx as jsx2 } from "react/jsx-runtime";
270
112
  function Separator2(_a) {
271
113
  var _b = _a, {
272
114
  className,
@@ -277,7 +119,7 @@ function Separator2(_a) {
277
119
  "orientation",
278
120
  "decorative"
279
121
  ]);
280
- return /* @__PURE__ */ jsx3(
122
+ return /* @__PURE__ */ jsx2(
281
123
  SeparatorPrimitive.Root,
282
124
  __spreadValues({
283
125
  "data-slot": "separator",
@@ -293,9 +135,9 @@ function Separator2(_a) {
293
135
 
294
136
  // src/components/ui/button.tsx
295
137
  import { Slot } from "@radix-ui/react-slot";
296
- import { cva as cva2 } from "class-variance-authority";
297
- import { jsx as jsx4 } from "react/jsx-runtime";
298
- var buttonVariants = cva2(
138
+ import { cva } from "class-variance-authority";
139
+ import { jsx as jsx3 } from "react/jsx-runtime";
140
+ var buttonVariants = cva(
299
141
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
300
142
  {
301
143
  variants: {
@@ -333,7 +175,7 @@ function Button(_a) {
333
175
  "asChild"
334
176
  ]);
335
177
  const Comp = asChild ? Slot : "button";
336
- return /* @__PURE__ */ jsx4(
178
+ return /* @__PURE__ */ jsx3(
337
179
  Comp,
338
180
  __spreadValues({
339
181
  "data-slot": "button",
@@ -346,7 +188,7 @@ function Button(_a) {
346
188
  var user_default = 'data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_3747_24298)">%0A<circle cx="12" cy="12" r="12" fill="%2348546B"/>%0A<path d="M7.5 9.5C7.5 11.981 9.519 14 12 14C14.481 14 16.5 11.981 16.5 9.5C16.5 7.019 14.481 5 12 5C9.519 5 7.5 7.019 7.5 9.5ZM20 24H21V23C21 19.141 17.859 16 14 16H10C6.14 16 3 19.141 3 23V24H20Z" fill="%236E7DFF"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_3747_24298">%0A<rect width="24" height="24" rx="12" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';
347
189
 
348
190
  // src/components/custom/navbar/user.tsx
349
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
191
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
350
192
  var User = ({ userData, onLogout }) => {
351
193
  var _a;
352
194
  const safeUserData = userData || {
@@ -366,29 +208,29 @@ var User = ({ userData, onLogout }) => {
366
208
  "Logout clicked - please provide onLogout prop for custom behavior"
367
209
  );
368
210
  };
369
- return /* @__PURE__ */ jsxs3(DropdownMenu, { children: [
370
- /* @__PURE__ */ jsx5(DropdownMenuTrigger, { className: "cursor-pointer", asChild: true, children: /* @__PURE__ */ jsx5(Image, { src: user_default, alt: "Profile", width: 32, height: 32 }) }),
371
- /* @__PURE__ */ jsx5(DropdownMenuContent, { className: "w-56", align: "start", children: /* @__PURE__ */ jsxs3("div", { className: "p-4", children: [
372
- /* @__PURE__ */ jsx5("h1", { className: "font-semibold", children: safeUserData.name }),
373
- /* @__PURE__ */ jsx5("h3", { className: "text-primary text-sm", children: safeUserData.role }),
374
- /* @__PURE__ */ jsx5(Separator2, { className: "my-4" }),
211
+ return /* @__PURE__ */ jsxs2(DropdownMenu, { children: [
212
+ /* @__PURE__ */ jsx4(DropdownMenuTrigger, { className: "cursor-pointer", asChild: true, children: /* @__PURE__ */ jsx4(Image, { src: user_default, alt: "Profile", width: 32, height: 32 }) }),
213
+ /* @__PURE__ */ jsx4(DropdownMenuContent, { className: "w-56", align: "start", children: /* @__PURE__ */ jsxs2("div", { className: "p-4", children: [
214
+ /* @__PURE__ */ jsx4("h1", { className: "font-semibold", children: safeUserData.name }),
215
+ /* @__PURE__ */ jsx4("h3", { className: "text-primary text-sm", children: safeUserData.role }),
216
+ /* @__PURE__ */ jsx4(Separator2, { className: "my-4" }),
375
217
  (_a = [
376
218
  { icon: Mail, text: safeUserData.email },
377
219
  { icon: Phone, text: safeUserData.phone },
378
220
  { icon: MapPin, text: safeUserData.location }
379
- ]) == null ? void 0 : _a.map(({ icon: Icon, text }, i) => /* @__PURE__ */ jsxs3(
221
+ ]) == null ? void 0 : _a.map(({ icon: Icon, text }, i) => /* @__PURE__ */ jsxs2(
380
222
  "p",
381
223
  {
382
224
  className: "flex items-center gap-2 text-sm py-1",
383
225
  children: [
384
- /* @__PURE__ */ jsx5(Icon, { size: 12 }),
226
+ /* @__PURE__ */ jsx4(Icon, { size: 12 }),
385
227
  " ",
386
228
  text
387
229
  ]
388
230
  },
389
231
  i
390
232
  )),
391
- /* @__PURE__ */ jsx5(Button, { className: "w-full mt-4", onClick: handleLogout, children: "Logout" })
233
+ /* @__PURE__ */ jsx4(Button, { className: "w-full mt-4", onClick: handleLogout, children: "Logout" })
392
234
  ] }) })
393
235
  ] });
394
236
  };
@@ -397,66 +239,246 @@ var user_default2 = User;
397
239
  // src/assets/svg/sidebarIcon.svg
398
240
  var sidebarIcon_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="13" viewBox="0 0 48 13" fill="none">%0A <path d="M23.9953 12.5C27.3257 12.5 30.0255 9.81371 30.0255 6.5C30.0255 3.18629 27.3257 0.5 23.9953 0.5C20.6649 0.5 17.9651 3.18629 17.9651 6.5C17.9651 9.81371 20.6649 12.5 23.9953 12.5Z" fill="%23F7941D"/>%0A <path d="M15.2876 6.49978C15.2876 7.27496 15.3922 8.0248 15.584 8.73994C15.592 8.76796 15.5665 8.79331 15.5384 8.7853C10.428 7.39104 5.31906 5.99678 0.210065 4.60385C-0.11042 4.51579 -0.0473957 4.04614 0.285158 4.04614H15.5866C15.6135 4.04614 15.6296 4.06749 15.6229 4.09417C15.4432 4.74528 15.3654 5.28297 15.3292 5.65655C15.2903 6.05815 15.2876 6.38637 15.2876 6.49844V6.49978Z" fill="white"/>%0A <path d="M32.7098 6.49953C32.7098 7.27472 32.6052 8.02455 32.4135 8.7397C32.4054 8.76771 32.4309 8.79306 32.459 8.78506C37.568 7.39079 42.6784 5.99653 47.7874 4.6036C48.1078 4.51554 48.0448 4.0459 47.7123 4.0459H32.4108C32.384 4.0459 32.3679 4.06725 32.3746 4.09393C32.5543 4.74503 32.632 5.28272 32.6682 5.65631C32.7071 6.05791 32.7098 6.38613 32.7098 6.4982V6.49953Z" fill="white"/>%0A</svg>';
399
241
 
400
- // src/components/custom/navbar/desktopNavbar.tsx
401
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
242
+ // src/components/ui/menubar.tsx
243
+ import * as MenubarPrimitive from "@radix-ui/react-menubar";
244
+ import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon2, CircleIcon as CircleIcon2 } from "lucide-react";
245
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
246
+ function Menubar(_a) {
247
+ var _b = _a, {
248
+ className
249
+ } = _b, props = __objRest(_b, [
250
+ "className"
251
+ ]);
252
+ return /* @__PURE__ */ jsx5(
253
+ MenubarPrimitive.Root,
254
+ __spreadValues({
255
+ "data-slot": "menubar",
256
+ className: cn(
257
+ "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",
258
+ className
259
+ )
260
+ }, props)
261
+ );
262
+ }
263
+ function MenubarMenu(_a) {
264
+ var props = __objRest(_a, []);
265
+ return /* @__PURE__ */ jsx5(MenubarPrimitive.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
266
+ }
267
+ function MenubarPortal(_a) {
268
+ var props = __objRest(_a, []);
269
+ return /* @__PURE__ */ jsx5(MenubarPrimitive.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
270
+ }
271
+ function MenubarTrigger(_a) {
272
+ var _b = _a, {
273
+ className
274
+ } = _b, props = __objRest(_b, [
275
+ "className"
276
+ ]);
277
+ return /* @__PURE__ */ jsx5(
278
+ MenubarPrimitive.Trigger,
279
+ __spreadValues({
280
+ "data-slot": "menubar-trigger",
281
+ className: cn(
282
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
283
+ className
284
+ )
285
+ }, props)
286
+ );
287
+ }
288
+ function MenubarContent(_a) {
289
+ var _b = _a, {
290
+ className,
291
+ align = "start",
292
+ alignOffset = -4,
293
+ sideOffset = 8
294
+ } = _b, props = __objRest(_b, [
295
+ "className",
296
+ "align",
297
+ "alignOffset",
298
+ "sideOffset"
299
+ ]);
300
+ return /* @__PURE__ */ jsx5(MenubarPortal, { children: /* @__PURE__ */ jsx5(
301
+ MenubarPrimitive.Content,
302
+ __spreadValues({
303
+ "data-slot": "menubar-content",
304
+ align,
305
+ alignOffset,
306
+ sideOffset,
307
+ className: cn(
308
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
309
+ className
310
+ )
311
+ }, props)
312
+ ) });
313
+ }
314
+ function MenubarItem(_a) {
315
+ var _b = _a, {
316
+ className,
317
+ inset,
318
+ variant = "default"
319
+ } = _b, props = __objRest(_b, [
320
+ "className",
321
+ "inset",
322
+ "variant"
323
+ ]);
324
+ return /* @__PURE__ */ jsx5(
325
+ MenubarPrimitive.Item,
326
+ __spreadValues({
327
+ "data-slot": "menubar-item",
328
+ "data-inset": inset,
329
+ "data-variant": variant,
330
+ className: cn(
331
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
332
+ className
333
+ )
334
+ }, props)
335
+ );
336
+ }
337
+ function MenubarSub(_a) {
338
+ var props = __objRest(_a, []);
339
+ return /* @__PURE__ */ jsx5(MenubarPrimitive.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
340
+ }
341
+ function MenubarSubTrigger(_a) {
342
+ var _b = _a, {
343
+ className,
344
+ inset,
345
+ children
346
+ } = _b, props = __objRest(_b, [
347
+ "className",
348
+ "inset",
349
+ "children"
350
+ ]);
351
+ return /* @__PURE__ */ jsxs3(
352
+ MenubarPrimitive.SubTrigger,
353
+ __spreadProps(__spreadValues({
354
+ "data-slot": "menubar-sub-trigger",
355
+ "data-inset": inset,
356
+ className: cn(
357
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
358
+ className
359
+ )
360
+ }, props), {
361
+ children: [
362
+ children,
363
+ /* @__PURE__ */ jsx5(ChevronRightIcon2, { className: "ml-auto h-4 w-4" })
364
+ ]
365
+ })
366
+ );
367
+ }
368
+ function MenubarSubContent(_a) {
369
+ var _b = _a, {
370
+ className
371
+ } = _b, props = __objRest(_b, [
372
+ "className"
373
+ ]);
374
+ return /* @__PURE__ */ jsx5(
375
+ MenubarPrimitive.SubContent,
376
+ __spreadValues({
377
+ "data-slot": "menubar-sub-content",
378
+ className: cn(
379
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
380
+ className
381
+ )
382
+ }, props)
383
+ );
384
+ }
385
+
386
+ // src/components/custom/navbar/customMenu.tsx
387
+ import { ChevronDown, ChevronUp } from "lucide-react";
388
+ import { useRouter } from "next/navigation";
389
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
390
+ function isLeaf(value) {
391
+ return typeof value === "string";
392
+ }
393
+ function MenuItems({ data }) {
394
+ const router = useRouter();
395
+ return /* @__PURE__ */ jsx6(Fragment, { children: Object.entries(data).map(([label, value]) => {
396
+ if (isLeaf(value)) {
397
+ return /* @__PURE__ */ jsx6(
398
+ MenubarItem,
399
+ {
400
+ onClick: () => router.push(`/${value}`),
401
+ children: label
402
+ },
403
+ label
404
+ );
405
+ }
406
+ return /* @__PURE__ */ jsxs4(MenubarSub, { children: [
407
+ /* @__PURE__ */ jsx6(MenubarSubTrigger, { children: label }),
408
+ /* @__PURE__ */ jsx6(MenubarSubContent, { children: /* @__PURE__ */ jsx6(MenuItems, { data: value }) })
409
+ ] }, label);
410
+ }) });
411
+ }
412
+ function MenuList({
413
+ menuKey,
414
+ menuData
415
+ }) {
416
+ return /* @__PURE__ */ jsx6(Menubar, { className: "bg-transparent border-none ", children: /* @__PURE__ */ jsxs4(MenubarMenu, { children: [
417
+ /* @__PURE__ */ jsxs4(MenubarTrigger, { className: "cursor-pointer group inline-flex items-center", children: [
418
+ menuKey,
419
+ /* @__PURE__ */ jsx6(
420
+ ChevronDown,
421
+ {
422
+ size: 16,
423
+ className: "ml-1 group-data-[state=open]:hidden"
424
+ }
425
+ ),
426
+ /* @__PURE__ */ jsx6(
427
+ ChevronUp,
428
+ {
429
+ size: 16,
430
+ className: "ml-1 hidden group-data-[state=open]:inline"
431
+ }
432
+ )
433
+ ] }),
434
+ /* @__PURE__ */ jsx6(MenubarContent, { children: /* @__PURE__ */ jsx6(MenuItems, { data: menuData }) })
435
+ ] }) });
436
+ }
437
+
438
+ // src/components/custom/navbar/menuList.tsx
439
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
402
440
  function DesktopNavbar({
403
441
  navbarData,
404
442
  userData,
405
443
  onLogout
406
444
  }) {
407
- return /* @__PURE__ */ jsx6("nav", { children: /* @__PURE__ */ jsxs4("div", { className: "flex justify-between px-10 py-2 bg-card items-center", children: [
408
- /* @__PURE__ */ jsxs4("div", { className: "left flex gap-2", children: [
409
- /* @__PURE__ */ jsx6(
410
- Image2,
445
+ return /* @__PURE__ */ jsx7("nav", { children: /* @__PURE__ */ jsxs5("div", { className: "flex justify-between px-10 py-2 bg-card items-center border-b-1", children: [
446
+ /* @__PURE__ */ jsxs5("div", { className: "left flex gap-4 items-center", children: [
447
+ /* @__PURE__ */ jsx7(Image2, { src: sidebarIcon_default, alt: "Logo", width: 72, height: 18 }),
448
+ Object.keys(navbarData).map((menuKey) => /* @__PURE__ */ jsx7(
449
+ MenuList,
411
450
  {
412
- src: sidebarIcon_default,
413
- alt: "Logo",
414
- width: 72,
415
- height: 18
416
- }
417
- ),
418
- /* @__PURE__ */ jsx6(NavigationMenu, { viewport: false, children: /* @__PURE__ */ jsxs4(NavigationMenuList, { children: [
419
- /* @__PURE__ */ jsxs4(NavigationMenuItem, { children: [
420
- /* @__PURE__ */ jsx6(NavigationMenuTrigger, { className: "bg-card-bg hover:bg-modal-bg", children: "Hub Tool" }),
421
- /* @__PURE__ */ jsx6(NavigationMenuContent, { className: "bg-card-bg hover:bg-modal-bg", children: /* @__PURE__ */ jsx6("ul", { className: "grid w-[200px] gap-4", children: /* @__PURE__ */ jsxs4("li", { children: [
422
- /* @__PURE__ */ jsx6(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx6(Link2, { href: "#", children: "Components" }) }),
423
- /* @__PURE__ */ jsx6(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx6(Link2, { href: "#", children: "Documentation" }) })
424
- ] }) }) })
425
- ] }),
426
- /* @__PURE__ */ jsxs4(NavigationMenuItem, { children: [
427
- /* @__PURE__ */ jsx6(NavigationMenuTrigger, { className: "bg-card-bg hover:bg-modal-bg", children: "Admin" }),
428
- /* @__PURE__ */ jsx6(NavigationMenuContent, { className: "bg-card-bg hover:bg-modal-bg", children: /* @__PURE__ */ jsx6("ul", { className: "grid w-[200px] gap-4", children: /* @__PURE__ */ jsxs4("li", { children: [
429
- /* @__PURE__ */ jsx6(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx6(Link2, { href: "#", children: "Components" }) }),
430
- /* @__PURE__ */ jsx6(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx6(Link2, { href: "#", children: "Documentation" }) })
431
- ] }) }) })
432
- ] })
433
- ] }) })
451
+ menuKey,
452
+ menuData: navbarData[menuKey]
453
+ },
454
+ menuKey
455
+ ))
434
456
  ] }),
435
- /* @__PURE__ */ jsx6(user_default2, { userData, onLogout })
457
+ /* @__PURE__ */ jsx7(user_default2, { userData, onLogout })
436
458
  ] }) });
437
459
  }
438
460
 
439
461
  // src/components/custom/navbar/mobileNavbar.tsx
440
- import Link3 from "next/link";
462
+ import Link from "next/link";
441
463
  import Image3 from "next/image";
442
464
 
443
465
  // src/components/ui/sidebar.tsx
444
466
  import * as React2 from "react";
445
467
  import { Slot as Slot2 } from "@radix-ui/react-slot";
446
- import { cva as cva3 } from "class-variance-authority";
447
- import { Menu, X } from "lucide-react";
468
+ import { cva as cva2 } from "class-variance-authority";
469
+ import { Menu as Menu2, X } from "lucide-react";
448
470
 
449
471
  // src/components/ui/sheet.tsx
450
472
  import * as SheetPrimitive from "@radix-ui/react-dialog";
451
473
  import { XIcon } from "lucide-react";
452
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
474
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
453
475
  function Sheet(_a) {
454
476
  var props = __objRest(_a, []);
455
- return /* @__PURE__ */ jsx7(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
477
+ return /* @__PURE__ */ jsx8(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
456
478
  }
457
479
  function SheetPortal(_a) {
458
480
  var props = __objRest(_a, []);
459
- return /* @__PURE__ */ jsx7(SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
481
+ return /* @__PURE__ */ jsx8(SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
460
482
  }
461
483
  function SheetOverlay(_a) {
462
484
  var _b = _a, {
@@ -464,7 +486,7 @@ function SheetOverlay(_a) {
464
486
  } = _b, props = __objRest(_b, [
465
487
  "className"
466
488
  ]);
467
- return /* @__PURE__ */ jsx7(
489
+ return /* @__PURE__ */ jsx8(
468
490
  SheetPrimitive.Overlay,
469
491
  __spreadValues({
470
492
  "data-slot": "sheet-overlay",
@@ -485,9 +507,9 @@ function SheetContent(_a) {
485
507
  "children",
486
508
  "side"
487
509
  ]);
488
- return /* @__PURE__ */ jsxs5(SheetPortal, { children: [
489
- /* @__PURE__ */ jsx7(SheetOverlay, {}),
490
- /* @__PURE__ */ jsxs5(
510
+ return /* @__PURE__ */ jsxs6(SheetPortal, { children: [
511
+ /* @__PURE__ */ jsx8(SheetOverlay, {}),
512
+ /* @__PURE__ */ jsxs6(
491
513
  SheetPrimitive.Content,
492
514
  __spreadProps(__spreadValues({
493
515
  "data-slot": "sheet-content",
@@ -502,9 +524,9 @@ function SheetContent(_a) {
502
524
  }, props), {
503
525
  children: [
504
526
  children,
505
- /* @__PURE__ */ jsxs5(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
506
- /* @__PURE__ */ jsx7(XIcon, { className: "size-4" }),
507
- /* @__PURE__ */ jsx7("span", { className: "sr-only", children: "Close" })
527
+ /* @__PURE__ */ jsxs6(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
528
+ /* @__PURE__ */ jsx8(XIcon, { className: "size-4" }),
529
+ /* @__PURE__ */ jsx8("span", { className: "sr-only", children: "Close" })
508
530
  ] })
509
531
  ]
510
532
  })
@@ -513,7 +535,7 @@ function SheetContent(_a) {
513
535
  }
514
536
  function SheetHeader(_a) {
515
537
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
516
- return /* @__PURE__ */ jsx7(
538
+ return /* @__PURE__ */ jsx8(
517
539
  "div",
518
540
  __spreadValues({
519
541
  "data-slot": "sheet-header",
@@ -527,7 +549,7 @@ function SheetTitle(_a) {
527
549
  } = _b, props = __objRest(_b, [
528
550
  "className"
529
551
  ]);
530
- return /* @__PURE__ */ jsx7(
552
+ return /* @__PURE__ */ jsx8(
531
553
  SheetPrimitive.Title,
532
554
  __spreadValues({
533
555
  "data-slot": "sheet-title",
@@ -541,7 +563,7 @@ function SheetDescription(_a) {
541
563
  } = _b, props = __objRest(_b, [
542
564
  "className"
543
565
  ]);
544
- return /* @__PURE__ */ jsx7(
566
+ return /* @__PURE__ */ jsx8(
545
567
  SheetPrimitive.Description,
546
568
  __spreadValues({
547
569
  "data-slot": "sheet-description",
@@ -552,14 +574,14 @@ function SheetDescription(_a) {
552
574
 
553
575
  // src/components/ui/tooltip.tsx
554
576
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
555
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
577
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
556
578
  function TooltipProvider(_a) {
557
579
  var _b = _a, {
558
580
  delayDuration = 0
559
581
  } = _b, props = __objRest(_b, [
560
582
  "delayDuration"
561
583
  ]);
562
- return /* @__PURE__ */ jsx8(
584
+ return /* @__PURE__ */ jsx9(
563
585
  TooltipPrimitive.Provider,
564
586
  __spreadValues({
565
587
  "data-slot": "tooltip-provider",
@@ -569,11 +591,11 @@ function TooltipProvider(_a) {
569
591
  }
570
592
  function Tooltip(_a) {
571
593
  var props = __objRest(_a, []);
572
- return /* @__PURE__ */ jsx8(TooltipProvider, { children: /* @__PURE__ */ jsx8(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props)) });
594
+ return /* @__PURE__ */ jsx9(TooltipProvider, { children: /* @__PURE__ */ jsx9(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props)) });
573
595
  }
574
596
  function TooltipTrigger(_a) {
575
597
  var props = __objRest(_a, []);
576
- return /* @__PURE__ */ jsx8(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
598
+ return /* @__PURE__ */ jsx9(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
577
599
  }
578
600
  function TooltipContent(_a) {
579
601
  var _b = _a, {
@@ -585,7 +607,7 @@ function TooltipContent(_a) {
585
607
  "sideOffset",
586
608
  "children"
587
609
  ]);
588
- return /* @__PURE__ */ jsx8(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs6(
610
+ return /* @__PURE__ */ jsx9(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs7(
589
611
  TooltipPrimitive.Content,
590
612
  __spreadProps(__spreadValues({
591
613
  "data-slot": "tooltip-content",
@@ -597,14 +619,14 @@ function TooltipContent(_a) {
597
619
  }, props), {
598
620
  children: [
599
621
  children,
600
- /* @__PURE__ */ jsx8(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
622
+ /* @__PURE__ */ jsx9(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
601
623
  ]
602
624
  })
603
625
  ) });
604
626
  }
605
627
 
606
628
  // src/components/ui/sidebar.tsx
607
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
629
+ import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
608
630
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
609
631
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
610
632
  var SIDEBAR_WIDTH = "16rem";
@@ -685,7 +707,7 @@ function SidebarProvider(_a) {
685
707
  toggleSidebar
686
708
  ]
687
709
  );
688
- return /* @__PURE__ */ jsx9(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx9(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx9(
710
+ return /* @__PURE__ */ jsx10(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx10(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx10(
689
711
  "div",
690
712
  __spreadProps(__spreadValues({
691
713
  "data-slot": "sidebar-wrapper",
@@ -718,7 +740,7 @@ function Sidebar(_a) {
718
740
  ]);
719
741
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
720
742
  if (collapsible === "none") {
721
- return /* @__PURE__ */ jsx9(
743
+ return /* @__PURE__ */ jsx10(
722
744
  "div",
723
745
  __spreadProps(__spreadValues({
724
746
  "data-slot": "sidebar",
@@ -732,7 +754,7 @@ function Sidebar(_a) {
732
754
  );
733
755
  }
734
756
  if (isMobile) {
735
- return /* @__PURE__ */ jsx9(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs7(
757
+ return /* @__PURE__ */ jsx10(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs8(
736
758
  SheetContent,
737
759
  {
738
760
  "data-sidebar": "sidebar",
@@ -744,16 +766,16 @@ function Sidebar(_a) {
744
766
  },
745
767
  side,
746
768
  children: [
747
- /* @__PURE__ */ jsxs7(SheetHeader, { className: "sr-only", children: [
748
- /* @__PURE__ */ jsx9(SheetTitle, { children: "Sidebar" }),
749
- /* @__PURE__ */ jsx9(SheetDescription, { children: "Displays the mobile sidebar." })
769
+ /* @__PURE__ */ jsxs8(SheetHeader, { className: "sr-only", children: [
770
+ /* @__PURE__ */ jsx10(SheetTitle, { children: "Sidebar" }),
771
+ /* @__PURE__ */ jsx10(SheetDescription, { children: "Displays the mobile sidebar." })
750
772
  ] }),
751
- /* @__PURE__ */ jsx9("div", { className: "flex h-full w-full flex-col", children })
773
+ /* @__PURE__ */ jsx10("div", { className: "flex h-full w-full flex-col", children })
752
774
  ]
753
775
  }
754
776
  ) }));
755
777
  }
756
- return /* @__PURE__ */ jsxs7(
778
+ return /* @__PURE__ */ jsxs8(
757
779
  "div",
758
780
  {
759
781
  className: "group peer text-sidebar-foreground hidden md:block",
@@ -763,7 +785,7 @@ function Sidebar(_a) {
763
785
  "data-side": side,
764
786
  "data-slot": "sidebar",
765
787
  children: [
766
- /* @__PURE__ */ jsx9(
788
+ /* @__PURE__ */ jsx10(
767
789
  "div",
768
790
  {
769
791
  "data-slot": "sidebar-gap",
@@ -775,7 +797,7 @@ function Sidebar(_a) {
775
797
  )
776
798
  }
777
799
  ),
778
- /* @__PURE__ */ jsx9(
800
+ /* @__PURE__ */ jsx10(
779
801
  "div",
780
802
  __spreadProps(__spreadValues({
781
803
  "data-slot": "sidebar-container",
@@ -787,7 +809,7 @@ function Sidebar(_a) {
787
809
  className
788
810
  )
789
811
  }, props), {
790
- children: /* @__PURE__ */ jsx9(
812
+ children: /* @__PURE__ */ jsx10(
791
813
  "div",
792
814
  {
793
815
  "data-sidebar": "sidebar",
@@ -811,7 +833,7 @@ function SidebarTrigger(_a) {
811
833
  "onClick"
812
834
  ]);
813
835
  const { toggleSidebar, openMobile } = useSidebar();
814
- return /* @__PURE__ */ jsxs7(
836
+ return /* @__PURE__ */ jsxs8(
815
837
  "button",
816
838
  __spreadProps(__spreadValues({
817
839
  "data-sidebar": "trigger",
@@ -826,15 +848,15 @@ function SidebarTrigger(_a) {
826
848
  }
827
849
  }, props), {
828
850
  children: [
829
- openMobile ? /* @__PURE__ */ jsx9(X, { className: "size-[clamp(1.5rem,1.5rem,1.5rem)]" }) : /* @__PURE__ */ jsx9(Menu, { className: "size-[clamp(1.5rem,1.5rem,1.5rem)]" }),
830
- /* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Toggle Sidebar" })
851
+ openMobile ? /* @__PURE__ */ jsx10(X, { className: "size-[clamp(1.5rem,1.5rem,1.5rem)]" }) : /* @__PURE__ */ jsx10(Menu2, { className: "size-[clamp(1.5rem,1.5rem,1.5rem)]" }),
852
+ /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "Toggle Sidebar" })
831
853
  ]
832
854
  })
833
855
  );
834
856
  }
835
857
  function SidebarInset(_a) {
836
858
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
837
- return /* @__PURE__ */ jsx9(
859
+ return /* @__PURE__ */ jsx10(
838
860
  "main",
839
861
  __spreadValues({
840
862
  "data-slot": "sidebar-inset",
@@ -848,7 +870,7 @@ function SidebarInset(_a) {
848
870
  }
849
871
  function SidebarContent(_a) {
850
872
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
851
- return /* @__PURE__ */ jsx9(
873
+ return /* @__PURE__ */ jsx10(
852
874
  "div",
853
875
  __spreadValues({
854
876
  "data-slot": "sidebar-content",
@@ -862,7 +884,7 @@ function SidebarContent(_a) {
862
884
  }
863
885
  function SidebarGroup(_a) {
864
886
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
865
- return /* @__PURE__ */ jsx9(
887
+ return /* @__PURE__ */ jsx10(
866
888
  "div",
867
889
  __spreadValues({
868
890
  "data-slot": "sidebar-group",
@@ -876,7 +898,7 @@ function SidebarGroup(_a) {
876
898
  }
877
899
  function SidebarMenu(_a) {
878
900
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
879
- return /* @__PURE__ */ jsx9(
901
+ return /* @__PURE__ */ jsx10(
880
902
  "ul",
881
903
  __spreadValues({
882
904
  "data-slot": "sidebar-menu",
@@ -887,7 +909,7 @@ function SidebarMenu(_a) {
887
909
  }
888
910
  function SidebarMenuItem(_a) {
889
911
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
890
- return /* @__PURE__ */ jsx9(
912
+ return /* @__PURE__ */ jsx10(
891
913
  "li",
892
914
  __spreadValues({
893
915
  "data-slot": "sidebar-menu-item",
@@ -896,7 +918,7 @@ function SidebarMenuItem(_a) {
896
918
  }, props)
897
919
  );
898
920
  }
899
- var sidebarMenuButtonVariants = cva3(
921
+ var sidebarMenuButtonVariants = cva2(
900
922
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
901
923
  {
902
924
  variants: {
@@ -934,7 +956,7 @@ function SidebarMenuButton(_a) {
934
956
  ]);
935
957
  const Comp = asChild ? Slot2 : "button";
936
958
  const { isMobile, state } = useSidebar();
937
- const button = /* @__PURE__ */ jsx9(
959
+ const button = /* @__PURE__ */ jsx10(
938
960
  Comp,
939
961
  __spreadValues({
940
962
  "data-slot": "sidebar-menu-button",
@@ -955,9 +977,9 @@ function SidebarMenuButton(_a) {
955
977
  children: tooltip
956
978
  };
957
979
  }
958
- return /* @__PURE__ */ jsxs7(Tooltip, { children: [
959
- /* @__PURE__ */ jsx9(TooltipTrigger, { asChild: true, children: button }),
960
- /* @__PURE__ */ jsx9(
980
+ return /* @__PURE__ */ jsxs8(Tooltip, { children: [
981
+ /* @__PURE__ */ jsx10(TooltipTrigger, { asChild: true, children: button }),
982
+ /* @__PURE__ */ jsx10(
961
983
  TooltipContent,
962
984
  __spreadValues({
963
985
  side: "right",
@@ -969,7 +991,7 @@ function SidebarMenuButton(_a) {
969
991
  }
970
992
  function SidebarMenuSub(_a) {
971
993
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
972
- return /* @__PURE__ */ jsx9(
994
+ return /* @__PURE__ */ jsx10(
973
995
  "ul",
974
996
  __spreadValues({
975
997
  "data-slot": "sidebar-menu-sub",
@@ -988,7 +1010,7 @@ function SidebarMenuSubItem(_a) {
988
1010
  } = _b, props = __objRest(_b, [
989
1011
  "className"
990
1012
  ]);
991
- return /* @__PURE__ */ jsx9(
1013
+ return /* @__PURE__ */ jsx10(
992
1014
  "li",
993
1015
  __spreadValues({
994
1016
  "data-slot": "sidebar-menu-sub-item",
@@ -1010,7 +1032,7 @@ function SidebarMenuSubButton(_a) {
1010
1032
  "className"
1011
1033
  ]);
1012
1034
  const Comp = asChild ? Slot2 : "a";
1013
- return /* @__PURE__ */ jsx9(
1035
+ return /* @__PURE__ */ jsx10(
1014
1036
  Comp,
1015
1037
  __spreadValues({
1016
1038
  "data-slot": "sidebar-menu-sub-button",
@@ -1034,14 +1056,14 @@ import { ChevronRight, CornerDownRight } from "lucide-react";
1034
1056
 
1035
1057
  // src/components/ui/collapsible.tsx
1036
1058
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
1037
- import { jsx as jsx10 } from "react/jsx-runtime";
1059
+ import { jsx as jsx11 } from "react/jsx-runtime";
1038
1060
  function Collapsible(_a) {
1039
1061
  var props = __objRest(_a, []);
1040
- return /* @__PURE__ */ jsx10(CollapsiblePrimitive.Root, __spreadValues({ "data-slot": "collapsible" }, props));
1062
+ return /* @__PURE__ */ jsx11(CollapsiblePrimitive.Root, __spreadValues({ "data-slot": "collapsible" }, props));
1041
1063
  }
1042
1064
  function CollapsibleTrigger2(_a) {
1043
1065
  var props = __objRest(_a, []);
1044
- return /* @__PURE__ */ jsx10(
1066
+ return /* @__PURE__ */ jsx11(
1045
1067
  CollapsiblePrimitive.CollapsibleTrigger,
1046
1068
  __spreadValues({
1047
1069
  "data-slot": "collapsible-trigger"
@@ -1050,7 +1072,7 @@ function CollapsibleTrigger2(_a) {
1050
1072
  }
1051
1073
  function CollapsibleContent2(_a) {
1052
1074
  var props = __objRest(_a, []);
1053
- return /* @__PURE__ */ jsx10(
1075
+ return /* @__PURE__ */ jsx11(
1054
1076
  CollapsiblePrimitive.CollapsibleContent,
1055
1077
  __spreadValues({
1056
1078
  "data-slot": "collapsible-content"
@@ -1059,30 +1081,30 @@ function CollapsibleContent2(_a) {
1059
1081
  }
1060
1082
 
1061
1083
  // src/components/custom/navbar/nav-main.tsx
1062
- import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1084
+ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
1063
1085
  function NavMain({ items }) {
1064
- return /* @__PURE__ */ jsx11(SidebarGroup, { children: /* @__PURE__ */ jsx11(SidebarMenu, { children: renderMenu(items) }) });
1086
+ return /* @__PURE__ */ jsx12(SidebarGroup, { children: /* @__PURE__ */ jsx12(SidebarMenu, { children: renderMenu(items) }) });
1065
1087
  }
1066
1088
  function renderMenu(data) {
1067
1089
  return Object.entries(data).map(([title, value]) => {
1068
1090
  if (typeof value === "string") {
1069
- return /* @__PURE__ */ jsx11(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx11(SidebarMenuSubButton, { asChild: true, children: /* @__PURE__ */ jsxs8("a", { href: `/${value}`, children: [
1070
- /* @__PURE__ */ jsx11(CornerDownRight, {}),
1071
- /* @__PURE__ */ jsx11("span", { className: "font-light text-sm", children: title })
1091
+ return /* @__PURE__ */ jsx12(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx12(SidebarMenuSubButton, { asChild: true, children: /* @__PURE__ */ jsxs9("a", { href: `/${value}`, children: [
1092
+ /* @__PURE__ */ jsx12(CornerDownRight, {}),
1093
+ /* @__PURE__ */ jsx12("span", { className: "font-light text-sm", children: title })
1072
1094
  ] }) }) }, title);
1073
1095
  }
1074
- return /* @__PURE__ */ jsx11(
1096
+ return /* @__PURE__ */ jsx12(
1075
1097
  Collapsible,
1076
1098
  {
1077
1099
  asChild: true,
1078
1100
  defaultOpen: false,
1079
1101
  className: "group/collapsible group-data-[state=open]:bg-sidebar-accent group-data-[state=open]:text-sidebar-accent-foreground",
1080
- children: /* @__PURE__ */ jsxs8(SidebarMenuItem, { children: [
1081
- /* @__PURE__ */ jsx11(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs8(SidebarMenuButton, { tooltip: title, children: [
1082
- /* @__PURE__ */ jsx11("span", { className: "font-medium text-lg", children: title }),
1083
- /* @__PURE__ */ jsx11(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
1102
+ children: /* @__PURE__ */ jsxs9(SidebarMenuItem, { children: [
1103
+ /* @__PURE__ */ jsx12(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs9(SidebarMenuButton, { tooltip: title, children: [
1104
+ /* @__PURE__ */ jsx12("span", { className: "font-medium text-lg", children: title }),
1105
+ /* @__PURE__ */ jsx12(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
1084
1106
  ] }) }),
1085
- /* @__PURE__ */ jsx11(CollapsibleContent2, { children: /* @__PURE__ */ jsx11(SidebarMenuSub, { children: renderMenu(value) }) })
1107
+ /* @__PURE__ */ jsx12(CollapsibleContent2, { children: /* @__PURE__ */ jsx12(SidebarMenuSub, { children: renderMenu(value) }) })
1086
1108
  ] })
1087
1109
  },
1088
1110
  title
@@ -1091,32 +1113,32 @@ function renderMenu(data) {
1091
1113
  }
1092
1114
 
1093
1115
  // src/components/custom/navbar/app-sidebar.tsx
1094
- import { jsx as jsx12 } from "react/jsx-runtime";
1116
+ import { jsx as jsx13 } from "react/jsx-runtime";
1095
1117
  function AppSidebar(_a) {
1096
1118
  var _b = _a, { data } = _b, props = __objRest(_b, ["data"]);
1097
- return /* @__PURE__ */ jsx12(Sidebar, __spreadProps(__spreadValues({ collapsible: "icon" }, props), { children: /* @__PURE__ */ jsx12(SidebarContent, { children: /* @__PURE__ */ jsx12(NavMain, { items: data }) }) }));
1119
+ return /* @__PURE__ */ jsx13(Sidebar, __spreadProps(__spreadValues({ collapsible: "icon" }, props), { children: /* @__PURE__ */ jsx13(SidebarContent, { children: /* @__PURE__ */ jsx13(NavMain, { items: data }) }) }));
1098
1120
  }
1099
1121
 
1100
1122
  // src/components/custom/navbar/mobileNavbar.tsx
1101
- import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1123
+ import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1102
1124
  function MobileNavbar({
1103
1125
  navbarData,
1104
1126
  userData,
1105
1127
  onLogout
1106
1128
  }) {
1107
1129
  const safeData = navbarData || {};
1108
- return /* @__PURE__ */ jsxs9(SidebarProvider, { className: "relative w-full", children: [
1109
- /* @__PURE__ */ jsxs9("header", { className: "fixed top-0 left-0 right-0 z-50 flex bg-card h-12 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 justify-between px-4 w-full border-b-1", children: [
1110
- /* @__PURE__ */ jsx13(SidebarTrigger, {}),
1111
- /* @__PURE__ */ jsx13(Link3, { href: "/", children: /* @__PURE__ */ jsx13(Image3, { src: sidebarIcon_default, alt: "Logo", width: 72, height: 18 }) }),
1112
- /* @__PURE__ */ jsx13(user_default2, { userData, onLogout })
1130
+ return /* @__PURE__ */ jsxs10(SidebarProvider, { className: "relative w-full", children: [
1131
+ /* @__PURE__ */ jsxs10("header", { className: "fixed top-0 left-0 right-0 z-50 flex bg-card h-12 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 justify-between px-4 w-full border-b-1", children: [
1132
+ /* @__PURE__ */ jsx14(SidebarTrigger, {}),
1133
+ /* @__PURE__ */ jsx14(Link, { href: "/", children: /* @__PURE__ */ jsx14(Image3, { src: sidebarIcon_default, alt: "Logo", width: 72, height: 18 }) }),
1134
+ /* @__PURE__ */ jsx14(user_default2, { userData, onLogout })
1113
1135
  ] }),
1114
- /* @__PURE__ */ jsx13(SidebarInset, { className: "pt-12", children: /* @__PURE__ */ jsx13(AppSidebar, { data: safeData }) })
1136
+ /* @__PURE__ */ jsx14(SidebarInset, { className: "pt-12", children: /* @__PURE__ */ jsx14(AppSidebar, { data: safeData }) })
1115
1137
  ] });
1116
1138
  }
1117
1139
 
1118
1140
  // src/components/custom/navbar/navbar.tsx
1119
- import { Fragment, jsx as jsx14 } from "react/jsx-runtime";
1141
+ import { Fragment as Fragment2, jsx as jsx15 } from "react/jsx-runtime";
1120
1142
  function Navbar({
1121
1143
  navbarData,
1122
1144
  userData,
@@ -1128,14 +1150,14 @@ function Navbar({
1128
1150
  setMounted(true);
1129
1151
  }, []);
1130
1152
  if (!mounted) return null;
1131
- return /* @__PURE__ */ jsx14(Fragment, { children: isMobile ? /* @__PURE__ */ jsx14(
1153
+ return /* @__PURE__ */ jsx15(Fragment2, { children: isMobile ? /* @__PURE__ */ jsx15(
1132
1154
  MobileNavbar,
1133
1155
  {
1134
1156
  navbarData,
1135
1157
  userData,
1136
1158
  onLogout
1137
1159
  }
1138
- ) : /* @__PURE__ */ jsx14(
1160
+ ) : /* @__PURE__ */ jsx15(
1139
1161
  DesktopNavbar,
1140
1162
  {
1141
1163
  navbarData,