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.css +14 -3
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +318 -296
- package/dist/index.mjs +314 -292
- package/dist/styles.css +1 -1
- package/package.json +1 -2
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/
|
|
54
|
-
import
|
|
53
|
+
// src/components/custom/navbar/menuList.tsx
|
|
54
|
+
import Image2 from "next/image";
|
|
55
55
|
|
|
56
|
-
// src/components/
|
|
57
|
-
import
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
297
|
-
import { jsx as
|
|
298
|
-
var buttonVariants =
|
|
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__ */
|
|
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
|
|
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__ */
|
|
370
|
-
/* @__PURE__ */
|
|
371
|
-
/* @__PURE__ */
|
|
372
|
-
/* @__PURE__ */
|
|
373
|
-
/* @__PURE__ */
|
|
374
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
226
|
+
/* @__PURE__ */ jsx4(Icon, { size: 12 }),
|
|
385
227
|
" ",
|
|
386
228
|
text
|
|
387
229
|
]
|
|
388
230
|
},
|
|
389
231
|
i
|
|
390
232
|
)),
|
|
391
|
-
/* @__PURE__ */
|
|
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/
|
|
401
|
-
import
|
|
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__ */
|
|
408
|
-
/* @__PURE__ */
|
|
409
|
-
/* @__PURE__ */
|
|
410
|
-
|
|
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
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
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__ */
|
|
457
|
+
/* @__PURE__ */ jsx7(user_default2, { userData, onLogout })
|
|
436
458
|
] }) });
|
|
437
459
|
}
|
|
438
460
|
|
|
439
461
|
// src/components/custom/navbar/mobileNavbar.tsx
|
|
440
|
-
import
|
|
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
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
489
|
-
/* @__PURE__ */
|
|
490
|
-
/* @__PURE__ */
|
|
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__ */
|
|
506
|
-
/* @__PURE__ */
|
|
507
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
748
|
-
/* @__PURE__ */
|
|
749
|
-
/* @__PURE__ */
|
|
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__ */
|
|
773
|
+
/* @__PURE__ */ jsx10("div", { className: "flex h-full w-full flex-col", children })
|
|
752
774
|
]
|
|
753
775
|
}
|
|
754
776
|
) }));
|
|
755
777
|
}
|
|
756
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
830
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
959
|
-
/* @__PURE__ */
|
|
960
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1059
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1038
1060
|
function Collapsible(_a) {
|
|
1039
1061
|
var props = __objRest(_a, []);
|
|
1040
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1084
|
+
import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1063
1085
|
function NavMain({ items }) {
|
|
1064
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
1070
|
-
/* @__PURE__ */
|
|
1071
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1081
|
-
/* @__PURE__ */
|
|
1082
|
-
/* @__PURE__ */
|
|
1083
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
1109
|
-
/* @__PURE__ */
|
|
1110
|
-
/* @__PURE__ */
|
|
1111
|
-
/* @__PURE__ */
|
|
1112
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1160
|
+
) : /* @__PURE__ */ jsx15(
|
|
1139
1161
|
DesktopNavbar,
|
|
1140
1162
|
{
|
|
1141
1163
|
navbarData,
|