@prediktif/ui 0.1.7 → 0.1.9
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.d.mts +38 -86
- package/dist/index.d.ts +38 -86
- package/dist/index.js +710 -430
- package/dist/index.mjs +708 -404
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -60,59 +60,234 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
60
60
|
// src/index.ts
|
|
61
61
|
var index_exports = {};
|
|
62
62
|
__export(index_exports, {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
Sidebar: () => Sidebar,
|
|
66
|
-
SidebarContent: () => SidebarContent,
|
|
67
|
-
SidebarFooter: () => SidebarFooter,
|
|
68
|
-
SidebarGroup: () => SidebarGroup,
|
|
69
|
-
SidebarGroupAction: () => SidebarGroupAction,
|
|
70
|
-
SidebarGroupContent: () => SidebarGroupContent,
|
|
71
|
-
SidebarGroupLabel: () => SidebarGroupLabel,
|
|
72
|
-
SidebarHeader: () => SidebarHeader,
|
|
73
|
-
SidebarInput: () => SidebarInput,
|
|
74
|
-
SidebarInset: () => SidebarInset,
|
|
75
|
-
SidebarMenu: () => SidebarMenu,
|
|
76
|
-
SidebarMenuAction: () => SidebarMenuAction,
|
|
77
|
-
SidebarMenuBadge: () => SidebarMenuBadge,
|
|
78
|
-
SidebarMenuButton: () => SidebarMenuButton,
|
|
79
|
-
SidebarMenuItem: () => SidebarMenuItem,
|
|
80
|
-
SidebarMenuSkeleton: () => SidebarMenuSkeleton,
|
|
81
|
-
SidebarMenuSub: () => SidebarMenuSub,
|
|
82
|
-
SidebarMenuSubButton: () => SidebarMenuSubButton,
|
|
83
|
-
SidebarMenuSubItem: () => SidebarMenuSubItem,
|
|
84
|
-
SidebarProvider: () => SidebarProvider,
|
|
85
|
-
SidebarRail: () => SidebarRail,
|
|
86
|
-
SidebarSeparator: () => SidebarSeparator,
|
|
87
|
-
SidebarTrigger: () => SidebarTrigger,
|
|
88
|
-
useSidebar: () => useSidebar
|
|
63
|
+
AppSidebar: () => AppSidebar,
|
|
64
|
+
HeaderTitle: () => HeaderTitle
|
|
89
65
|
});
|
|
90
66
|
module.exports = __toCommonJS(index_exports);
|
|
91
67
|
|
|
92
|
-
// src/components/composed/
|
|
68
|
+
// src/components/composed/app-sidebar.tsx
|
|
69
|
+
var import_lucide_react5 = require("lucide-react");
|
|
70
|
+
var import_link = __toESM(require("next/link"));
|
|
71
|
+
var import_navigation = require("next/navigation");
|
|
93
72
|
var import_react = require("react");
|
|
73
|
+
|
|
74
|
+
// src/components/ui/alert-dialog.tsx
|
|
75
|
+
var import_alert_dialog = require("@base-ui/react/alert-dialog");
|
|
76
|
+
var import_cn2 = require("cn");
|
|
77
|
+
|
|
78
|
+
// src/components/ui/button.tsx
|
|
79
|
+
var import_button = require("@base-ui/react/button");
|
|
80
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
81
|
+
var import_cn = require("cn");
|
|
94
82
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
83
|
+
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
84
|
+
"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
85
|
+
{
|
|
86
|
+
variants: {
|
|
87
|
+
variant: {
|
|
88
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
89
|
+
outline: "border-border hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-input/30",
|
|
90
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
91
|
+
ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
92
|
+
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
93
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
94
|
+
},
|
|
95
|
+
size: {
|
|
96
|
+
default: "h-7 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
97
|
+
xs: "h-5 gap-1 rounded-sm px-2 text-[0.625rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-2.5",
|
|
98
|
+
sm: "h-6 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
99
|
+
lg: "h-8 gap-1 px-2.5 text-xs/relaxed has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-4",
|
|
100
|
+
icon: "size-7 [&_svg:not([class*='size-'])]:size-3.5",
|
|
101
|
+
"icon-xs": "size-5 rounded-sm [&_svg:not([class*='size-'])]:size-2.5",
|
|
102
|
+
"icon-sm": "size-6 [&_svg:not([class*='size-'])]:size-3",
|
|
103
|
+
"icon-lg": "size-8 [&_svg:not([class*='size-'])]:size-4"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
defaultVariants: {
|
|
107
|
+
variant: "default",
|
|
108
|
+
size: "default"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
function Button(_a) {
|
|
113
|
+
var _b = _a, {
|
|
114
|
+
className,
|
|
115
|
+
variant = "default",
|
|
116
|
+
size = "default"
|
|
117
|
+
} = _b, props = __objRest(_b, [
|
|
118
|
+
"className",
|
|
119
|
+
"variant",
|
|
120
|
+
"size"
|
|
121
|
+
]);
|
|
122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
|
+
import_button.Button,
|
|
124
|
+
__spreadValues({
|
|
125
|
+
"data-slot": "button",
|
|
126
|
+
className: (0, import_cn.cn)(buttonVariants({ variant, size, className }))
|
|
127
|
+
}, props)
|
|
128
|
+
);
|
|
129
|
+
}
|
|
108
130
|
|
|
109
|
-
// src/components/
|
|
110
|
-
var
|
|
131
|
+
// src/components/ui/alert-dialog.tsx
|
|
132
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
133
|
+
function AlertDialog(_a) {
|
|
134
|
+
var props = __objRest(_a, []);
|
|
135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_alert_dialog.AlertDialog.Root, __spreadValues({ "data-slot": "alert-dialog" }, props));
|
|
136
|
+
}
|
|
137
|
+
function AlertDialogTrigger(_a) {
|
|
138
|
+
var props = __objRest(_a, []);
|
|
139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_alert_dialog.AlertDialog.Trigger, __spreadValues({ "data-slot": "alert-dialog-trigger" }, props));
|
|
140
|
+
}
|
|
141
|
+
function AlertDialogPortal(_a) {
|
|
142
|
+
var props = __objRest(_a, []);
|
|
143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_alert_dialog.AlertDialog.Portal, __spreadValues({ "data-slot": "alert-dialog-portal" }, props));
|
|
144
|
+
}
|
|
145
|
+
function AlertDialogOverlay(_a) {
|
|
146
|
+
var _b = _a, {
|
|
147
|
+
className
|
|
148
|
+
} = _b, props = __objRest(_b, [
|
|
149
|
+
"className"
|
|
150
|
+
]);
|
|
151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
152
|
+
import_alert_dialog.AlertDialog.Backdrop,
|
|
153
|
+
__spreadValues({
|
|
154
|
+
"data-slot": "alert-dialog-overlay",
|
|
155
|
+
className: (0, import_cn2.cn)(
|
|
156
|
+
"fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
157
|
+
className
|
|
158
|
+
)
|
|
159
|
+
}, props)
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
function AlertDialogContent(_a) {
|
|
163
|
+
var _b = _a, {
|
|
164
|
+
className,
|
|
165
|
+
size = "default"
|
|
166
|
+
} = _b, props = __objRest(_b, [
|
|
167
|
+
"className",
|
|
168
|
+
"size"
|
|
169
|
+
]);
|
|
170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(AlertDialogPortal, { children: [
|
|
171
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AlertDialogOverlay, {}),
|
|
172
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
173
|
+
import_alert_dialog.AlertDialog.Popup,
|
|
174
|
+
__spreadValues({
|
|
175
|
+
"data-slot": "alert-dialog-content",
|
|
176
|
+
"data-size": size,
|
|
177
|
+
className: (0, import_cn2.cn)(
|
|
178
|
+
"group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-3 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
179
|
+
className
|
|
180
|
+
)
|
|
181
|
+
}, props)
|
|
182
|
+
)
|
|
183
|
+
] });
|
|
184
|
+
}
|
|
185
|
+
function AlertDialogHeader(_a) {
|
|
186
|
+
var _b = _a, {
|
|
187
|
+
className
|
|
188
|
+
} = _b, props = __objRest(_b, [
|
|
189
|
+
"className"
|
|
190
|
+
]);
|
|
191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
192
|
+
"div",
|
|
193
|
+
__spreadValues({
|
|
194
|
+
"data-slot": "alert-dialog-header",
|
|
195
|
+
className: (0, import_cn2.cn)(
|
|
196
|
+
"grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
|
|
197
|
+
className
|
|
198
|
+
)
|
|
199
|
+
}, props)
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
function AlertDialogFooter(_a) {
|
|
203
|
+
var _b = _a, {
|
|
204
|
+
className
|
|
205
|
+
} = _b, props = __objRest(_b, [
|
|
206
|
+
"className"
|
|
207
|
+
]);
|
|
208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
209
|
+
"div",
|
|
210
|
+
__spreadValues({
|
|
211
|
+
"data-slot": "alert-dialog-footer",
|
|
212
|
+
className: (0, import_cn2.cn)(
|
|
213
|
+
"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
|
|
214
|
+
className
|
|
215
|
+
)
|
|
216
|
+
}, props)
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
function AlertDialogTitle(_a) {
|
|
220
|
+
var _b = _a, {
|
|
221
|
+
className
|
|
222
|
+
} = _b, props = __objRest(_b, [
|
|
223
|
+
"className"
|
|
224
|
+
]);
|
|
225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
226
|
+
import_alert_dialog.AlertDialog.Title,
|
|
227
|
+
__spreadValues({
|
|
228
|
+
"data-slot": "alert-dialog-title",
|
|
229
|
+
className: (0, import_cn2.cn)(
|
|
230
|
+
"font-heading text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
|
|
231
|
+
className
|
|
232
|
+
)
|
|
233
|
+
}, props)
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
function AlertDialogDescription(_a) {
|
|
237
|
+
var _b = _a, {
|
|
238
|
+
className
|
|
239
|
+
} = _b, props = __objRest(_b, [
|
|
240
|
+
"className"
|
|
241
|
+
]);
|
|
242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
243
|
+
import_alert_dialog.AlertDialog.Description,
|
|
244
|
+
__spreadValues({
|
|
245
|
+
"data-slot": "alert-dialog-description",
|
|
246
|
+
className: (0, import_cn2.cn)(
|
|
247
|
+
"text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
|
|
248
|
+
className
|
|
249
|
+
)
|
|
250
|
+
}, props)
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
function AlertDialogAction(_a) {
|
|
254
|
+
var _b = _a, {
|
|
255
|
+
className
|
|
256
|
+
} = _b, props = __objRest(_b, [
|
|
257
|
+
"className"
|
|
258
|
+
]);
|
|
259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
260
|
+
Button,
|
|
261
|
+
__spreadValues({
|
|
262
|
+
"data-slot": "alert-dialog-action",
|
|
263
|
+
className: (0, import_cn2.cn)(className)
|
|
264
|
+
}, props)
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
function AlertDialogCancel(_a) {
|
|
268
|
+
var _b = _a, {
|
|
269
|
+
className,
|
|
270
|
+
variant = "outline",
|
|
271
|
+
size = "default"
|
|
272
|
+
} = _b, props = __objRest(_b, [
|
|
273
|
+
"className",
|
|
274
|
+
"variant",
|
|
275
|
+
"size"
|
|
276
|
+
]);
|
|
277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
278
|
+
import_alert_dialog.AlertDialog.Close,
|
|
279
|
+
__spreadValues({
|
|
280
|
+
"data-slot": "alert-dialog-cancel",
|
|
281
|
+
className: (0, import_cn2.cn)(className),
|
|
282
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Button, { variant, size })
|
|
283
|
+
}, props)
|
|
284
|
+
);
|
|
285
|
+
}
|
|
111
286
|
|
|
112
287
|
// src/components/ui/avatar.tsx
|
|
113
288
|
var import_avatar = require("@base-ui/react/avatar");
|
|
114
|
-
var
|
|
115
|
-
var
|
|
289
|
+
var import_cn3 = require("cn");
|
|
290
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
116
291
|
function Avatar(_a) {
|
|
117
292
|
var _b = _a, {
|
|
118
293
|
className,
|
|
@@ -121,12 +296,12 @@ function Avatar(_a) {
|
|
|
121
296
|
"className",
|
|
122
297
|
"size"
|
|
123
298
|
]);
|
|
124
|
-
return /* @__PURE__ */ (0,
|
|
299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
125
300
|
import_avatar.Avatar.Root,
|
|
126
301
|
__spreadValues({
|
|
127
302
|
"data-slot": "avatar",
|
|
128
303
|
"data-size": size,
|
|
129
|
-
className: (0,
|
|
304
|
+
className: (0, import_cn3.cn)(
|
|
130
305
|
"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",
|
|
131
306
|
className
|
|
132
307
|
)
|
|
@@ -135,11 +310,11 @@ function Avatar(_a) {
|
|
|
135
310
|
}
|
|
136
311
|
function AvatarImage(_a) {
|
|
137
312
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
138
|
-
return /* @__PURE__ */ (0,
|
|
313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
139
314
|
import_avatar.Avatar.Image,
|
|
140
315
|
__spreadValues({
|
|
141
316
|
"data-slot": "avatar-image",
|
|
142
|
-
className: (0,
|
|
317
|
+
className: (0, import_cn3.cn)(
|
|
143
318
|
"aspect-square size-full rounded-full object-cover",
|
|
144
319
|
className
|
|
145
320
|
)
|
|
@@ -152,11 +327,11 @@ function AvatarFallback(_a) {
|
|
|
152
327
|
} = _b, props = __objRest(_b, [
|
|
153
328
|
"className"
|
|
154
329
|
]);
|
|
155
|
-
return /* @__PURE__ */ (0,
|
|
330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
156
331
|
import_avatar.Avatar.Fallback,
|
|
157
332
|
__spreadValues({
|
|
158
333
|
"data-slot": "avatar-fallback",
|
|
159
|
-
className: (0,
|
|
334
|
+
className: (0, import_cn3.cn)(
|
|
160
335
|
"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
|
|
161
336
|
className
|
|
162
337
|
)
|
|
@@ -164,80 +339,192 @@ function AvatarFallback(_a) {
|
|
|
164
339
|
);
|
|
165
340
|
}
|
|
166
341
|
|
|
167
|
-
// src/components/ui/
|
|
342
|
+
// src/components/ui/breadcrumb.tsx
|
|
168
343
|
var import_merge_props = require("@base-ui/react/merge-props");
|
|
169
344
|
var import_use_render = require("@base-ui/react/use-render");
|
|
170
|
-
var
|
|
171
|
-
var
|
|
172
|
-
var
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
345
|
+
var import_cn4 = require("cn");
|
|
346
|
+
var import_lucide_react = require("lucide-react");
|
|
347
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
348
|
+
function Breadcrumb(_a) {
|
|
349
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
351
|
+
"nav",
|
|
352
|
+
__spreadValues({
|
|
353
|
+
"aria-label": "breadcrumb",
|
|
354
|
+
"data-slot": "breadcrumb",
|
|
355
|
+
className: (0, import_cn4.cn)(className)
|
|
356
|
+
}, props)
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
function BreadcrumbList(_a) {
|
|
360
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
361
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
362
|
+
"ol",
|
|
363
|
+
__spreadValues({
|
|
364
|
+
"data-slot": "breadcrumb-list",
|
|
365
|
+
className: (0, import_cn4.cn)(
|
|
366
|
+
"flex flex-wrap items-center gap-1.5 text-xs/relaxed wrap-break-word text-muted-foreground",
|
|
367
|
+
className
|
|
368
|
+
)
|
|
369
|
+
}, props)
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
function BreadcrumbItem(_a) {
|
|
373
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
375
|
+
"li",
|
|
376
|
+
__spreadValues({
|
|
377
|
+
"data-slot": "breadcrumb-item",
|
|
378
|
+
className: (0, import_cn4.cn)("inline-flex items-center gap-1", className)
|
|
379
|
+
}, props)
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
function BreadcrumbLink(_a) {
|
|
383
|
+
var _b = _a, {
|
|
384
|
+
className,
|
|
385
|
+
render
|
|
386
|
+
} = _b, props = __objRest(_b, [
|
|
387
|
+
"className",
|
|
388
|
+
"render"
|
|
389
|
+
]);
|
|
390
|
+
return (0, import_use_render.useRender)({
|
|
391
|
+
defaultTagName: "a",
|
|
392
|
+
props: (0, import_merge_props.mergeProps)(
|
|
393
|
+
{
|
|
394
|
+
className: (0, import_cn4.cn)("transition-colors hover:text-foreground", className)
|
|
191
395
|
},
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
icon: "size-7 [&_svg:not([class*='size-'])]:size-3.5",
|
|
198
|
-
"icon-xs": "size-5 rounded-sm [&_svg:not([class*='size-'])]:size-2.5",
|
|
199
|
-
"icon-sm": "size-6 [&_svg:not([class*='size-'])]:size-3",
|
|
200
|
-
"icon-lg": "size-8 [&_svg:not([class*='size-'])]:size-4"
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
defaultVariants: {
|
|
204
|
-
variant: "default",
|
|
205
|
-
size: "default"
|
|
396
|
+
props
|
|
397
|
+
),
|
|
398
|
+
render,
|
|
399
|
+
state: {
|
|
400
|
+
slot: "breadcrumb-link"
|
|
206
401
|
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
function
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
function BreadcrumbPage(_a) {
|
|
405
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
407
|
+
"span",
|
|
408
|
+
__spreadValues({
|
|
409
|
+
"data-slot": "breadcrumb-page",
|
|
410
|
+
role: "link",
|
|
411
|
+
"aria-disabled": "true",
|
|
412
|
+
"aria-current": "page",
|
|
413
|
+
className: (0, import_cn4.cn)("font-normal text-foreground", className)
|
|
414
|
+
}, props)
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
function BreadcrumbSeparator(_a) {
|
|
418
|
+
var _b = _a, {
|
|
419
|
+
children,
|
|
420
|
+
className
|
|
421
|
+
} = _b, props = __objRest(_b, [
|
|
422
|
+
"children",
|
|
423
|
+
"className"
|
|
424
|
+
]);
|
|
425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
426
|
+
"li",
|
|
427
|
+
__spreadProps(__spreadValues({
|
|
428
|
+
"data-slot": "breadcrumb-separator",
|
|
429
|
+
role: "presentation",
|
|
430
|
+
"aria-hidden": "true",
|
|
431
|
+
className: (0, import_cn4.cn)("[&>svg]:size-3.5", className)
|
|
432
|
+
}, props), {
|
|
433
|
+
children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.ChevronRightIcon, {})
|
|
434
|
+
})
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
// src/components/ui/dropdown-menu.tsx
|
|
439
|
+
var import_menu = require("@base-ui/react/menu");
|
|
440
|
+
var import_cn5 = require("cn");
|
|
441
|
+
var import_lucide_react2 = require("lucide-react");
|
|
442
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
443
|
+
function DropdownMenu(_a) {
|
|
444
|
+
var props = __objRest(_a, []);
|
|
445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_menu.Menu.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
|
|
446
|
+
}
|
|
447
|
+
function DropdownMenuTrigger(_a) {
|
|
448
|
+
var props = __objRest(_a, []);
|
|
449
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_menu.Menu.Trigger, __spreadValues({ "data-slot": "dropdown-menu-trigger" }, props));
|
|
450
|
+
}
|
|
451
|
+
function DropdownMenuContent(_a) {
|
|
452
|
+
var _b = _a, {
|
|
453
|
+
align = "start",
|
|
454
|
+
alignOffset = 0,
|
|
455
|
+
side = "bottom",
|
|
456
|
+
sideOffset = 4,
|
|
457
|
+
className
|
|
458
|
+
} = _b, props = __objRest(_b, [
|
|
459
|
+
"align",
|
|
460
|
+
"alignOffset",
|
|
461
|
+
"side",
|
|
462
|
+
"sideOffset",
|
|
463
|
+
"className"
|
|
464
|
+
]);
|
|
465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
466
|
+
import_menu.Menu.Positioner,
|
|
467
|
+
{
|
|
468
|
+
className: "isolate z-50 outline-none",
|
|
469
|
+
align,
|
|
470
|
+
alignOffset,
|
|
471
|
+
side,
|
|
472
|
+
sideOffset,
|
|
473
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
474
|
+
import_menu.Menu.Popup,
|
|
475
|
+
__spreadValues({
|
|
476
|
+
"data-slot": "dropdown-menu-content",
|
|
477
|
+
className: (0, import_cn5.cn)(
|
|
478
|
+
"z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
479
|
+
className
|
|
480
|
+
)
|
|
481
|
+
}, props)
|
|
482
|
+
)
|
|
483
|
+
}
|
|
484
|
+
) });
|
|
485
|
+
}
|
|
486
|
+
function DropdownMenuGroup(_a) {
|
|
487
|
+
var props = __objRest(_a, []);
|
|
488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_menu.Menu.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
|
|
489
|
+
}
|
|
490
|
+
function DropdownMenuLabel(_a) {
|
|
210
491
|
var _b = _a, {
|
|
211
492
|
className,
|
|
212
|
-
|
|
213
|
-
size = "default"
|
|
493
|
+
inset
|
|
214
494
|
} = _b, props = __objRest(_b, [
|
|
215
495
|
"className",
|
|
216
|
-
"
|
|
217
|
-
"size"
|
|
496
|
+
"inset"
|
|
218
497
|
]);
|
|
219
|
-
return /* @__PURE__ */ (0,
|
|
220
|
-
|
|
498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
499
|
+
import_menu.Menu.GroupLabel,
|
|
221
500
|
__spreadValues({
|
|
222
|
-
"data-slot": "
|
|
223
|
-
|
|
501
|
+
"data-slot": "dropdown-menu-label",
|
|
502
|
+
"data-inset": inset,
|
|
503
|
+
className: (0, import_cn5.cn)(
|
|
504
|
+
"px-2 py-1.5 text-xs text-muted-foreground data-inset:pl-7.5",
|
|
505
|
+
className
|
|
506
|
+
)
|
|
224
507
|
}, props)
|
|
225
508
|
);
|
|
226
509
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
510
|
+
function DropdownMenuItem(_a) {
|
|
511
|
+
var _b = _a, {
|
|
512
|
+
className,
|
|
513
|
+
inset,
|
|
514
|
+
variant = "default"
|
|
515
|
+
} = _b, props = __objRest(_b, [
|
|
516
|
+
"className",
|
|
517
|
+
"inset",
|
|
518
|
+
"variant"
|
|
519
|
+
]);
|
|
520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
521
|
+
import_menu.Menu.Item,
|
|
236
522
|
__spreadValues({
|
|
237
|
-
|
|
238
|
-
"data-
|
|
239
|
-
|
|
240
|
-
|
|
523
|
+
"data-slot": "dropdown-menu-item",
|
|
524
|
+
"data-inset": inset,
|
|
525
|
+
"data-variant": variant,
|
|
526
|
+
className: (0, import_cn5.cn)(
|
|
527
|
+
"group/dropdown-menu-item relative flex min-h-7 cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 data-[variant=destructive]:*:[svg]:text-destructive",
|
|
241
528
|
className
|
|
242
529
|
)
|
|
243
530
|
}, props)
|
|
@@ -246,8 +533,8 @@ function Input(_a) {
|
|
|
246
533
|
|
|
247
534
|
// src/components/ui/separator.tsx
|
|
248
535
|
var import_separator = require("@base-ui/react/separator");
|
|
249
|
-
var
|
|
250
|
-
var
|
|
536
|
+
var import_cn6 = require("cn");
|
|
537
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
251
538
|
function Separator(_a) {
|
|
252
539
|
var _b = _a, {
|
|
253
540
|
className,
|
|
@@ -256,12 +543,12 @@ function Separator(_a) {
|
|
|
256
543
|
"className",
|
|
257
544
|
"orientation"
|
|
258
545
|
]);
|
|
259
|
-
return /* @__PURE__ */ (0,
|
|
546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
260
547
|
import_separator.Separator,
|
|
261
548
|
__spreadValues({
|
|
262
549
|
"data-slot": "separator",
|
|
263
550
|
orientation,
|
|
264
|
-
className: (0,
|
|
551
|
+
className: (0, import_cn6.cn)(
|
|
265
552
|
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
266
553
|
className
|
|
267
554
|
)
|
|
@@ -269,26 +556,39 @@ function Separator(_a) {
|
|
|
269
556
|
);
|
|
270
557
|
}
|
|
271
558
|
|
|
559
|
+
// src/components/ui/sidebar.tsx
|
|
560
|
+
var import_merge_props2 = require("@base-ui/react/merge-props");
|
|
561
|
+
var import_use_render2 = require("@base-ui/react/use-render");
|
|
562
|
+
var import_class_variance_authority2 = require("class-variance-authority");
|
|
563
|
+
var import_cn11 = require("cn");
|
|
564
|
+
var import_lucide_react4 = require("lucide-react");
|
|
565
|
+
var React2 = __toESM(require("react"));
|
|
566
|
+
|
|
567
|
+
// src/components/ui/input.tsx
|
|
568
|
+
var import_input = require("@base-ui/react/input");
|
|
569
|
+
var import_cn7 = require("cn");
|
|
570
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
571
|
+
|
|
272
572
|
// src/components/ui/sheet.tsx
|
|
273
573
|
var import_dialog = require("@base-ui/react/dialog");
|
|
274
|
-
var
|
|
275
|
-
var
|
|
276
|
-
var
|
|
574
|
+
var import_cn8 = require("cn");
|
|
575
|
+
var import_lucide_react3 = require("lucide-react");
|
|
576
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
277
577
|
function Sheet(_a) {
|
|
278
578
|
var props = __objRest(_a, []);
|
|
279
|
-
return /* @__PURE__ */ (0,
|
|
579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_dialog.Dialog.Root, __spreadValues({ "data-slot": "sheet" }, props));
|
|
280
580
|
}
|
|
281
581
|
function SheetPortal(_a) {
|
|
282
582
|
var props = __objRest(_a, []);
|
|
283
|
-
return /* @__PURE__ */ (0,
|
|
583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_dialog.Dialog.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
|
|
284
584
|
}
|
|
285
585
|
function SheetOverlay(_a) {
|
|
286
586
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
287
|
-
return /* @__PURE__ */ (0,
|
|
587
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
288
588
|
import_dialog.Dialog.Backdrop,
|
|
289
589
|
__spreadValues({
|
|
290
590
|
"data-slot": "sheet-overlay",
|
|
291
|
-
className: (0,
|
|
591
|
+
className: (0, import_cn8.cn)(
|
|
292
592
|
"fixed inset-0 z-50 bg-black/80 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",
|
|
293
593
|
className
|
|
294
594
|
)
|
|
@@ -307,25 +607,25 @@ function SheetContent(_a) {
|
|
|
307
607
|
"side",
|
|
308
608
|
"showCloseButton"
|
|
309
609
|
]);
|
|
310
|
-
return /* @__PURE__ */ (0,
|
|
311
|
-
/* @__PURE__ */ (0,
|
|
312
|
-
/* @__PURE__ */ (0,
|
|
610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(SheetPortal, { children: [
|
|
611
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SheetOverlay, {}),
|
|
612
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
313
613
|
import_dialog.Dialog.Popup,
|
|
314
614
|
__spreadProps(__spreadValues({
|
|
315
615
|
"data-slot": "sheet-content",
|
|
316
616
|
"data-side": side,
|
|
317
|
-
className: (0,
|
|
617
|
+
className: (0, import_cn8.cn)(
|
|
318
618
|
"fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
|
|
319
619
|
className
|
|
320
620
|
)
|
|
321
621
|
}, props), {
|
|
322
622
|
children: [
|
|
323
623
|
children,
|
|
324
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
624
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
325
625
|
import_dialog.Dialog.Close,
|
|
326
626
|
{
|
|
327
627
|
"data-slot": "sheet-close",
|
|
328
|
-
render: /* @__PURE__ */ (0,
|
|
628
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
329
629
|
Button,
|
|
330
630
|
{
|
|
331
631
|
variant: "ghost",
|
|
@@ -334,8 +634,8 @@ function SheetContent(_a) {
|
|
|
334
634
|
}
|
|
335
635
|
),
|
|
336
636
|
children: [
|
|
337
|
-
/* @__PURE__ */ (0,
|
|
338
|
-
/* @__PURE__ */ (0,
|
|
637
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react3.XIcon, {}),
|
|
638
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "sr-only", children: "Close" })
|
|
339
639
|
]
|
|
340
640
|
}
|
|
341
641
|
)
|
|
@@ -346,21 +646,21 @@ function SheetContent(_a) {
|
|
|
346
646
|
}
|
|
347
647
|
function SheetHeader(_a) {
|
|
348
648
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
349
|
-
return /* @__PURE__ */ (0,
|
|
649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
350
650
|
"div",
|
|
351
651
|
__spreadValues({
|
|
352
652
|
"data-slot": "sheet-header",
|
|
353
|
-
className: (0,
|
|
653
|
+
className: (0, import_cn8.cn)("flex flex-col gap-1.5 p-6", className)
|
|
354
654
|
}, props)
|
|
355
655
|
);
|
|
356
656
|
}
|
|
357
657
|
function SheetTitle(_a) {
|
|
358
658
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
359
|
-
return /* @__PURE__ */ (0,
|
|
659
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
360
660
|
import_dialog.Dialog.Title,
|
|
361
661
|
__spreadValues({
|
|
362
662
|
"data-slot": "sheet-title",
|
|
363
|
-
className: (0,
|
|
663
|
+
className: (0, import_cn8.cn)(
|
|
364
664
|
"font-heading text-sm font-medium text-foreground",
|
|
365
665
|
className
|
|
366
666
|
)
|
|
@@ -373,40 +673,30 @@ function SheetDescription(_a) {
|
|
|
373
673
|
} = _b, props = __objRest(_b, [
|
|
374
674
|
"className"
|
|
375
675
|
]);
|
|
376
|
-
return /* @__PURE__ */ (0,
|
|
676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
377
677
|
import_dialog.Dialog.Description,
|
|
378
678
|
__spreadValues({
|
|
379
679
|
"data-slot": "sheet-description",
|
|
380
|
-
className: (0,
|
|
680
|
+
className: (0, import_cn8.cn)("text-xs/relaxed text-muted-foreground", className)
|
|
381
681
|
}, props)
|
|
382
682
|
);
|
|
383
683
|
}
|
|
384
684
|
|
|
385
685
|
// src/components/ui/skeleton.tsx
|
|
386
|
-
var
|
|
387
|
-
var
|
|
388
|
-
function Skeleton(_a) {
|
|
389
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
390
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
391
|
-
"div",
|
|
392
|
-
__spreadValues({
|
|
393
|
-
"data-slot": "skeleton",
|
|
394
|
-
className: (0, import_cn6.cn)("animate-pulse rounded-md bg-muted", className)
|
|
395
|
-
}, props)
|
|
396
|
-
);
|
|
397
|
-
}
|
|
686
|
+
var import_cn9 = require("cn");
|
|
687
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
398
688
|
|
|
399
689
|
// src/components/ui/tooltip.tsx
|
|
400
690
|
var import_tooltip = require("@base-ui/react/tooltip");
|
|
401
|
-
var
|
|
402
|
-
var
|
|
691
|
+
var import_cn10 = require("cn");
|
|
692
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
403
693
|
function Tooltip(_a) {
|
|
404
694
|
var props = __objRest(_a, []);
|
|
405
|
-
return /* @__PURE__ */ (0,
|
|
695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_tooltip.Tooltip.Root, __spreadValues({ "data-slot": "tooltip" }, props));
|
|
406
696
|
}
|
|
407
697
|
function TooltipTrigger(_a) {
|
|
408
698
|
var props = __objRest(_a, []);
|
|
409
|
-
return /* @__PURE__ */ (0,
|
|
699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_tooltip.Tooltip.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
|
|
410
700
|
}
|
|
411
701
|
function TooltipContent(_a) {
|
|
412
702
|
var _b = _a, {
|
|
@@ -424,7 +714,7 @@ function TooltipContent(_a) {
|
|
|
424
714
|
"alignOffset",
|
|
425
715
|
"children"
|
|
426
716
|
]);
|
|
427
|
-
return /* @__PURE__ */ (0,
|
|
717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
428
718
|
import_tooltip.Tooltip.Positioner,
|
|
429
719
|
{
|
|
430
720
|
align,
|
|
@@ -432,18 +722,18 @@ function TooltipContent(_a) {
|
|
|
432
722
|
side,
|
|
433
723
|
sideOffset,
|
|
434
724
|
className: "isolate z-50",
|
|
435
|
-
children: /* @__PURE__ */ (0,
|
|
725
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
436
726
|
import_tooltip.Tooltip.Popup,
|
|
437
727
|
__spreadProps(__spreadValues({
|
|
438
728
|
"data-slot": "tooltip-content",
|
|
439
|
-
className: (0,
|
|
729
|
+
className: (0, import_cn10.cn)(
|
|
440
730
|
"z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
441
731
|
className
|
|
442
732
|
)
|
|
443
733
|
}, props), {
|
|
444
734
|
children: [
|
|
445
735
|
children,
|
|
446
|
-
/* @__PURE__ */ (0,
|
|
736
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })
|
|
447
737
|
]
|
|
448
738
|
})
|
|
449
739
|
)
|
|
@@ -471,7 +761,7 @@ function useIsMobile() {
|
|
|
471
761
|
}
|
|
472
762
|
|
|
473
763
|
// src/components/ui/sidebar.tsx
|
|
474
|
-
var
|
|
764
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
475
765
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
476
766
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
477
767
|
var SIDEBAR_WIDTH = "16rem";
|
|
@@ -544,7 +834,7 @@ function SidebarProvider(_a) {
|
|
|
544
834
|
}),
|
|
545
835
|
[state, open, setOpen, isMobile, openMobile, toggleSidebar]
|
|
546
836
|
);
|
|
547
|
-
return /* @__PURE__ */ (0,
|
|
837
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
548
838
|
"div",
|
|
549
839
|
__spreadProps(__spreadValues({
|
|
550
840
|
"data-slot": "sidebar-wrapper",
|
|
@@ -552,7 +842,7 @@ function SidebarProvider(_a) {
|
|
|
552
842
|
"--sidebar-width": SIDEBAR_WIDTH,
|
|
553
843
|
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON
|
|
554
844
|
}, style),
|
|
555
|
-
className: (0,
|
|
845
|
+
className: (0, import_cn11.cn)(
|
|
556
846
|
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
|
557
847
|
className
|
|
558
848
|
)
|
|
@@ -579,11 +869,11 @@ function Sidebar(_a) {
|
|
|
579
869
|
]);
|
|
580
870
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
581
871
|
if (collapsible === "none") {
|
|
582
|
-
return /* @__PURE__ */ (0,
|
|
872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
583
873
|
"div",
|
|
584
874
|
__spreadProps(__spreadValues({
|
|
585
875
|
"data-slot": "sidebar",
|
|
586
|
-
className: (0,
|
|
876
|
+
className: (0, import_cn11.cn)(
|
|
587
877
|
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
|
588
878
|
className
|
|
589
879
|
)
|
|
@@ -593,7 +883,7 @@ function Sidebar(_a) {
|
|
|
593
883
|
);
|
|
594
884
|
}
|
|
595
885
|
if (isMobile) {
|
|
596
|
-
return /* @__PURE__ */ (0,
|
|
886
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
597
887
|
SheetContent,
|
|
598
888
|
{
|
|
599
889
|
dir,
|
|
@@ -606,16 +896,16 @@ function Sidebar(_a) {
|
|
|
606
896
|
},
|
|
607
897
|
side,
|
|
608
898
|
children: [
|
|
609
|
-
/* @__PURE__ */ (0,
|
|
610
|
-
/* @__PURE__ */ (0,
|
|
611
|
-
/* @__PURE__ */ (0,
|
|
899
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
900
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
901
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
612
902
|
] }),
|
|
613
|
-
/* @__PURE__ */ (0,
|
|
903
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
614
904
|
]
|
|
615
905
|
}
|
|
616
906
|
) }));
|
|
617
907
|
}
|
|
618
|
-
return /* @__PURE__ */ (0,
|
|
908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
619
909
|
"div",
|
|
620
910
|
{
|
|
621
911
|
className: "group peer hidden text-sidebar-foreground md:block",
|
|
@@ -625,11 +915,11 @@ function Sidebar(_a) {
|
|
|
625
915
|
"data-side": side,
|
|
626
916
|
"data-slot": "sidebar",
|
|
627
917
|
children: [
|
|
628
|
-
/* @__PURE__ */ (0,
|
|
918
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
629
919
|
"div",
|
|
630
920
|
{
|
|
631
921
|
"data-slot": "sidebar-gap",
|
|
632
|
-
className: (0,
|
|
922
|
+
className: (0, import_cn11.cn)(
|
|
633
923
|
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
634
924
|
"group-data-[collapsible=offcanvas]:w-0",
|
|
635
925
|
"group-data-[side=right]:rotate-180",
|
|
@@ -637,19 +927,19 @@ function Sidebar(_a) {
|
|
|
637
927
|
)
|
|
638
928
|
}
|
|
639
929
|
),
|
|
640
|
-
/* @__PURE__ */ (0,
|
|
930
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
641
931
|
"div",
|
|
642
932
|
__spreadProps(__spreadValues({
|
|
643
933
|
"data-slot": "sidebar-container",
|
|
644
934
|
"data-side": side,
|
|
645
|
-
className: (0,
|
|
935
|
+
className: (0, import_cn11.cn)(
|
|
646
936
|
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",
|
|
647
937
|
// Adjust the padding for floating and inset variants.
|
|
648
938
|
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
649
939
|
className
|
|
650
940
|
)
|
|
651
941
|
}, props), {
|
|
652
|
-
children: /* @__PURE__ */ (0,
|
|
942
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
653
943
|
"div",
|
|
654
944
|
{
|
|
655
945
|
"data-sidebar": "sidebar",
|
|
@@ -673,22 +963,22 @@ function SidebarTrigger(_a) {
|
|
|
673
963
|
"onClick"
|
|
674
964
|
]);
|
|
675
965
|
const { toggleSidebar } = useSidebar();
|
|
676
|
-
return /* @__PURE__ */ (0,
|
|
966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
677
967
|
Button,
|
|
678
968
|
__spreadProps(__spreadValues({
|
|
679
969
|
"data-sidebar": "trigger",
|
|
680
970
|
"data-slot": "sidebar-trigger",
|
|
681
971
|
variant: "ghost",
|
|
682
972
|
size: "icon-sm",
|
|
683
|
-
className: (0,
|
|
973
|
+
className: (0, import_cn11.cn)(className),
|
|
684
974
|
onClick: (event) => {
|
|
685
975
|
onClick == null ? void 0 : onClick(event);
|
|
686
976
|
toggleSidebar();
|
|
687
977
|
}
|
|
688
978
|
}, props), {
|
|
689
979
|
children: [
|
|
690
|
-
/* @__PURE__ */ (0,
|
|
691
|
-
/* @__PURE__ */ (0,
|
|
980
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.PanelLeftIcon, {}),
|
|
981
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
692
982
|
]
|
|
693
983
|
})
|
|
694
984
|
);
|
|
@@ -696,7 +986,7 @@ function SidebarTrigger(_a) {
|
|
|
696
986
|
function SidebarRail(_a) {
|
|
697
987
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
698
988
|
const { toggleSidebar } = useSidebar();
|
|
699
|
-
return /* @__PURE__ */ (0,
|
|
989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
700
990
|
"button",
|
|
701
991
|
__spreadValues({
|
|
702
992
|
"data-sidebar": "rail",
|
|
@@ -705,7 +995,7 @@ function SidebarRail(_a) {
|
|
|
705
995
|
tabIndex: -1,
|
|
706
996
|
onClick: toggleSidebar,
|
|
707
997
|
title: "Toggle Sidebar",
|
|
708
|
-
className: (0,
|
|
998
|
+
className: (0, import_cn11.cn)(
|
|
709
999
|
"absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
|
|
710
1000
|
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
711
1001
|
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
@@ -719,80 +1009,47 @@ function SidebarRail(_a) {
|
|
|
719
1009
|
}
|
|
720
1010
|
function SidebarInset(_a) {
|
|
721
1011
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
722
|
-
return /* @__PURE__ */ (0,
|
|
1012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
723
1013
|
"main",
|
|
724
1014
|
__spreadValues({
|
|
725
1015
|
"data-slot": "sidebar-inset",
|
|
726
|
-
className: (0,
|
|
1016
|
+
className: (0, import_cn11.cn)(
|
|
727
1017
|
"relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
728
1018
|
className
|
|
729
1019
|
)
|
|
730
1020
|
}, props)
|
|
731
1021
|
);
|
|
732
1022
|
}
|
|
733
|
-
function SidebarInput(_a) {
|
|
734
|
-
var _b = _a, {
|
|
735
|
-
className
|
|
736
|
-
} = _b, props = __objRest(_b, [
|
|
737
|
-
"className"
|
|
738
|
-
]);
|
|
739
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
740
|
-
Input,
|
|
741
|
-
__spreadValues({
|
|
742
|
-
"data-slot": "sidebar-input",
|
|
743
|
-
"data-sidebar": "input",
|
|
744
|
-
className: (0, import_cn8.cn)(
|
|
745
|
-
"h-8 w-full border-input bg-muted/20 dark:bg-muted/30",
|
|
746
|
-
className
|
|
747
|
-
)
|
|
748
|
-
}, props)
|
|
749
|
-
);
|
|
750
|
-
}
|
|
751
1023
|
function SidebarHeader(_a) {
|
|
752
1024
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
753
|
-
return /* @__PURE__ */ (0,
|
|
1025
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
754
1026
|
"div",
|
|
755
1027
|
__spreadValues({
|
|
756
1028
|
"data-slot": "sidebar-header",
|
|
757
1029
|
"data-sidebar": "header",
|
|
758
|
-
className: (0,
|
|
1030
|
+
className: (0, import_cn11.cn)("flex flex-col gap-2 p-2", className)
|
|
759
1031
|
}, props)
|
|
760
1032
|
);
|
|
761
1033
|
}
|
|
762
1034
|
function SidebarFooter(_a) {
|
|
763
1035
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
764
|
-
return /* @__PURE__ */ (0,
|
|
1036
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
765
1037
|
"div",
|
|
766
1038
|
__spreadValues({
|
|
767
1039
|
"data-slot": "sidebar-footer",
|
|
768
1040
|
"data-sidebar": "footer",
|
|
769
|
-
className: (0,
|
|
770
|
-
}, props)
|
|
771
|
-
);
|
|
772
|
-
}
|
|
773
|
-
function SidebarSeparator(_a) {
|
|
774
|
-
var _b = _a, {
|
|
775
|
-
className
|
|
776
|
-
} = _b, props = __objRest(_b, [
|
|
777
|
-
"className"
|
|
778
|
-
]);
|
|
779
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
780
|
-
Separator,
|
|
781
|
-
__spreadValues({
|
|
782
|
-
"data-slot": "sidebar-separator",
|
|
783
|
-
"data-sidebar": "separator",
|
|
784
|
-
className: (0, import_cn8.cn)("mx-2 w-auto bg-sidebar-border", className)
|
|
1041
|
+
className: (0, import_cn11.cn)("flex flex-col gap-2 p-2", className)
|
|
785
1042
|
}, props)
|
|
786
1043
|
);
|
|
787
1044
|
}
|
|
788
1045
|
function SidebarContent(_a) {
|
|
789
1046
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
790
|
-
return /* @__PURE__ */ (0,
|
|
1047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
791
1048
|
"div",
|
|
792
1049
|
__spreadValues({
|
|
793
1050
|
"data-slot": "sidebar-content",
|
|
794
1051
|
"data-sidebar": "content",
|
|
795
|
-
className: (0,
|
|
1052
|
+
className: (0, import_cn11.cn)(
|
|
796
1053
|
"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
797
1054
|
className
|
|
798
1055
|
)
|
|
@@ -801,12 +1058,12 @@ function SidebarContent(_a) {
|
|
|
801
1058
|
}
|
|
802
1059
|
function SidebarGroup(_a) {
|
|
803
1060
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
804
|
-
return /* @__PURE__ */ (0,
|
|
1061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
805
1062
|
"div",
|
|
806
1063
|
__spreadValues({
|
|
807
1064
|
"data-slot": "sidebar-group",
|
|
808
1065
|
"data-sidebar": "group",
|
|
809
|
-
className: (0,
|
|
1066
|
+
className: (0, import_cn11.cn)(
|
|
810
1067
|
"relative flex w-full min-w-0 flex-col px-2 py-1",
|
|
811
1068
|
className
|
|
812
1069
|
)
|
|
@@ -821,11 +1078,11 @@ function SidebarGroupLabel(_a) {
|
|
|
821
1078
|
"className",
|
|
822
1079
|
"render"
|
|
823
1080
|
]);
|
|
824
|
-
return (0,
|
|
1081
|
+
return (0, import_use_render2.useRender)({
|
|
825
1082
|
defaultTagName: "div",
|
|
826
|
-
props: (0,
|
|
1083
|
+
props: (0, import_merge_props2.mergeProps)(
|
|
827
1084
|
{
|
|
828
|
-
className: (0,
|
|
1085
|
+
className: (0, import_cn11.cn)(
|
|
829
1086
|
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
830
1087
|
className
|
|
831
1088
|
)
|
|
@@ -839,66 +1096,40 @@ function SidebarGroupLabel(_a) {
|
|
|
839
1096
|
}
|
|
840
1097
|
});
|
|
841
1098
|
}
|
|
842
|
-
function SidebarGroupAction(_a) {
|
|
843
|
-
var _b = _a, {
|
|
844
|
-
className,
|
|
845
|
-
render
|
|
846
|
-
} = _b, props = __objRest(_b, [
|
|
847
|
-
"className",
|
|
848
|
-
"render"
|
|
849
|
-
]);
|
|
850
|
-
return (0, import_use_render.useRender)({
|
|
851
|
-
defaultTagName: "button",
|
|
852
|
-
props: (0, import_merge_props.mergeProps)(
|
|
853
|
-
{
|
|
854
|
-
className: (0, import_cn8.cn)(
|
|
855
|
-
"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
856
|
-
className
|
|
857
|
-
)
|
|
858
|
-
},
|
|
859
|
-
props
|
|
860
|
-
),
|
|
861
|
-
render,
|
|
862
|
-
state: {
|
|
863
|
-
slot: "sidebar-group-action",
|
|
864
|
-
sidebar: "group-action"
|
|
865
|
-
}
|
|
866
|
-
});
|
|
867
|
-
}
|
|
868
1099
|
function SidebarGroupContent(_a) {
|
|
869
1100
|
var _b = _a, {
|
|
870
1101
|
className
|
|
871
1102
|
} = _b, props = __objRest(_b, [
|
|
872
1103
|
"className"
|
|
873
1104
|
]);
|
|
874
|
-
return /* @__PURE__ */ (0,
|
|
1105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
875
1106
|
"div",
|
|
876
1107
|
__spreadValues({
|
|
877
1108
|
"data-slot": "sidebar-group-content",
|
|
878
1109
|
"data-sidebar": "group-content",
|
|
879
|
-
className: (0,
|
|
1110
|
+
className: (0, import_cn11.cn)("w-full text-xs", className)
|
|
880
1111
|
}, props)
|
|
881
1112
|
);
|
|
882
1113
|
}
|
|
883
1114
|
function SidebarMenu(_a) {
|
|
884
1115
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
885
|
-
return /* @__PURE__ */ (0,
|
|
1116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
886
1117
|
"ul",
|
|
887
1118
|
__spreadValues({
|
|
888
1119
|
"data-slot": "sidebar-menu",
|
|
889
1120
|
"data-sidebar": "menu",
|
|
890
|
-
className: (0,
|
|
1121
|
+
className: (0, import_cn11.cn)("flex w-full min-w-0 flex-col gap-px", className)
|
|
891
1122
|
}, props)
|
|
892
1123
|
);
|
|
893
1124
|
}
|
|
894
1125
|
function SidebarMenuItem(_a) {
|
|
895
1126
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
896
|
-
return /* @__PURE__ */ (0,
|
|
1127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
897
1128
|
"li",
|
|
898
1129
|
__spreadValues({
|
|
899
1130
|
"data-slot": "sidebar-menu-item",
|
|
900
1131
|
"data-sidebar": "menu-item",
|
|
901
|
-
className: (0,
|
|
1132
|
+
className: (0, import_cn11.cn)("group/menu-item relative", className)
|
|
902
1133
|
}, props)
|
|
903
1134
|
);
|
|
904
1135
|
}
|
|
@@ -939,15 +1170,15 @@ function SidebarMenuButton(_a) {
|
|
|
939
1170
|
"className"
|
|
940
1171
|
]);
|
|
941
1172
|
const { isMobile, state } = useSidebar();
|
|
942
|
-
const comp = (0,
|
|
1173
|
+
const comp = (0, import_use_render2.useRender)({
|
|
943
1174
|
defaultTagName: "button",
|
|
944
|
-
props: (0,
|
|
1175
|
+
props: (0, import_merge_props2.mergeProps)(
|
|
945
1176
|
{
|
|
946
|
-
className: (0,
|
|
1177
|
+
className: (0, import_cn11.cn)(sidebarMenuButtonVariants({ variant, size }), className)
|
|
947
1178
|
},
|
|
948
1179
|
props
|
|
949
1180
|
),
|
|
950
|
-
render: !tooltip ? render : /* @__PURE__ */ (0,
|
|
1181
|
+
render: !tooltip ? render : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TooltipTrigger, { render }),
|
|
951
1182
|
state: {
|
|
952
1183
|
slot: "sidebar-menu-button",
|
|
953
1184
|
sidebar: "menu-button",
|
|
@@ -963,9 +1194,9 @@ function SidebarMenuButton(_a) {
|
|
|
963
1194
|
children: tooltip
|
|
964
1195
|
};
|
|
965
1196
|
}
|
|
966
|
-
return /* @__PURE__ */ (0,
|
|
1197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Tooltip, { children: [
|
|
967
1198
|
comp,
|
|
968
|
-
/* @__PURE__ */ (0,
|
|
1199
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
969
1200
|
TooltipContent,
|
|
970
1201
|
__spreadValues({
|
|
971
1202
|
side: "right",
|
|
@@ -975,201 +1206,250 @@ function SidebarMenuButton(_a) {
|
|
|
975
1206
|
)
|
|
976
1207
|
] });
|
|
977
1208
|
}
|
|
978
|
-
function SidebarMenuAction(_a) {
|
|
979
|
-
var _b = _a, {
|
|
980
|
-
className,
|
|
981
|
-
render,
|
|
982
|
-
showOnHover = false
|
|
983
|
-
} = _b, props = __objRest(_b, [
|
|
984
|
-
"className",
|
|
985
|
-
"render",
|
|
986
|
-
"showOnHover"
|
|
987
|
-
]);
|
|
988
|
-
return (0, import_use_render.useRender)({
|
|
989
|
-
defaultTagName: "button",
|
|
990
|
-
props: (0, import_merge_props.mergeProps)(
|
|
991
|
-
{
|
|
992
|
-
className: (0, import_cn8.cn)(
|
|
993
|
-
"absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-[calc(var(--radius-sm)-2px)] p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
994
|
-
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0",
|
|
995
|
-
className
|
|
996
|
-
)
|
|
997
|
-
},
|
|
998
|
-
props
|
|
999
|
-
),
|
|
1000
|
-
render,
|
|
1001
|
-
state: {
|
|
1002
|
-
slot: "sidebar-menu-action",
|
|
1003
|
-
sidebar: "menu-action"
|
|
1004
|
-
}
|
|
1005
|
-
});
|
|
1006
|
-
}
|
|
1007
1209
|
function SidebarMenuBadge(_a) {
|
|
1008
1210
|
var _b = _a, {
|
|
1009
1211
|
className
|
|
1010
1212
|
} = _b, props = __objRest(_b, [
|
|
1011
1213
|
"className"
|
|
1012
1214
|
]);
|
|
1013
|
-
return /* @__PURE__ */ (0,
|
|
1215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1014
1216
|
"div",
|
|
1015
1217
|
__spreadValues({
|
|
1016
1218
|
"data-slot": "sidebar-menu-badge",
|
|
1017
1219
|
"data-sidebar": "menu-badge",
|
|
1018
|
-
className: (0,
|
|
1220
|
+
className: (0, import_cn11.cn)(
|
|
1019
1221
|
"pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-[calc(var(--radius-sm)-2px)] px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground",
|
|
1020
1222
|
className
|
|
1021
1223
|
)
|
|
1022
1224
|
}, props)
|
|
1023
1225
|
);
|
|
1024
1226
|
}
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
1037
|
-
"div",
|
|
1038
|
-
__spreadProps(__spreadValues({
|
|
1039
|
-
"data-slot": "sidebar-menu-skeleton",
|
|
1040
|
-
"data-sidebar": "menu-skeleton",
|
|
1041
|
-
className: (0, import_cn8.cn)("flex h-8 items-center gap-2 rounded-md px-2", className)
|
|
1042
|
-
}, props), {
|
|
1043
|
-
children: [
|
|
1044
|
-
showIcon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1045
|
-
Skeleton,
|
|
1046
|
-
{
|
|
1047
|
-
className: "size-4 rounded-md",
|
|
1048
|
-
"data-sidebar": "menu-skeleton-icon"
|
|
1049
|
-
}
|
|
1050
|
-
),
|
|
1051
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1052
|
-
Skeleton,
|
|
1053
|
-
{
|
|
1054
|
-
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
1055
|
-
"data-sidebar": "menu-skeleton-text",
|
|
1056
|
-
style: {
|
|
1057
|
-
"--skeleton-width": width
|
|
1058
|
-
}
|
|
1059
|
-
}
|
|
1060
|
-
)
|
|
1061
|
-
]
|
|
1062
|
-
})
|
|
1063
|
-
);
|
|
1064
|
-
}
|
|
1065
|
-
function SidebarMenuSub(_a) {
|
|
1066
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1067
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1068
|
-
"ul",
|
|
1069
|
-
__spreadValues({
|
|
1070
|
-
"data-slot": "sidebar-menu-sub",
|
|
1071
|
-
"data-sidebar": "menu-sub",
|
|
1072
|
-
className: (0, import_cn8.cn)(
|
|
1073
|
-
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",
|
|
1074
|
-
className
|
|
1075
|
-
)
|
|
1076
|
-
}, props)
|
|
1077
|
-
);
|
|
1078
|
-
}
|
|
1079
|
-
function SidebarMenuSubItem(_a) {
|
|
1080
|
-
var _b = _a, {
|
|
1081
|
-
className
|
|
1082
|
-
} = _b, props = __objRest(_b, [
|
|
1083
|
-
"className"
|
|
1084
|
-
]);
|
|
1085
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1086
|
-
"li",
|
|
1087
|
-
__spreadValues({
|
|
1088
|
-
"data-slot": "sidebar-menu-sub-item",
|
|
1089
|
-
"data-sidebar": "menu-sub-item",
|
|
1090
|
-
className: (0, import_cn8.cn)("group/menu-sub-item relative", className)
|
|
1091
|
-
}, props)
|
|
1092
|
-
);
|
|
1227
|
+
|
|
1228
|
+
// src/components/composed/app-sidebar.tsx
|
|
1229
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1230
|
+
function formatSegment(segment, subHref, navMainItems = [], navSecondaryItems = []) {
|
|
1231
|
+
if (subHref) {
|
|
1232
|
+
const matched = [...navMainItems, ...navSecondaryItems].find(
|
|
1233
|
+
(item) => item.url === subHref
|
|
1234
|
+
);
|
|
1235
|
+
if (matched) return matched.title;
|
|
1236
|
+
}
|
|
1237
|
+
return segment.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
1093
1238
|
}
|
|
1094
|
-
function
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
className
|
|
1100
|
-
} = _b, props = __objRest(_b, [
|
|
1101
|
-
"render",
|
|
1102
|
-
"size",
|
|
1103
|
-
"isActive",
|
|
1104
|
-
"className"
|
|
1105
|
-
]);
|
|
1106
|
-
return (0, import_use_render.useRender)({
|
|
1107
|
-
defaultTagName: "a",
|
|
1108
|
-
props: (0, import_merge_props.mergeProps)(
|
|
1109
|
-
{
|
|
1110
|
-
className: (0, import_cn8.cn)(
|
|
1111
|
-
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-xs data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
1112
|
-
className
|
|
1113
|
-
)
|
|
1114
|
-
},
|
|
1115
|
-
props
|
|
1116
|
-
),
|
|
1117
|
-
render,
|
|
1118
|
-
state: {
|
|
1119
|
-
slot: "sidebar-menu-sub-button",
|
|
1120
|
-
sidebar: "menu-sub-button",
|
|
1121
|
-
size,
|
|
1122
|
-
active: isActive
|
|
1123
|
-
}
|
|
1124
|
-
});
|
|
1239
|
+
function isRouteActive(url, pathname) {
|
|
1240
|
+
if (!pathname) return false;
|
|
1241
|
+
if (url === "/") return pathname === "/";
|
|
1242
|
+
const rootPrefix = `/${url.split("/")[1]}`;
|
|
1243
|
+
return pathname === url || pathname.startsWith(rootPrefix);
|
|
1125
1244
|
}
|
|
1126
|
-
|
|
1127
|
-
// src/components/composed/nav-user.tsx
|
|
1128
|
-
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1129
|
-
var NavUser = (0, import_react2.memo)(function NavUser2({
|
|
1245
|
+
var AppSidebar = (0, import_react.memo)(function AppSidebar2({
|
|
1130
1246
|
name,
|
|
1131
1247
|
email,
|
|
1248
|
+
orgRole,
|
|
1249
|
+
brand = "Prediktif",
|
|
1250
|
+
href,
|
|
1251
|
+
confirmDialog = false,
|
|
1252
|
+
headerDropdown = false,
|
|
1132
1253
|
image,
|
|
1133
|
-
|
|
1254
|
+
defaultOpen = true,
|
|
1255
|
+
navMainItems,
|
|
1256
|
+
navSecondaryItems = [],
|
|
1257
|
+
organizations,
|
|
1258
|
+
activeOrg,
|
|
1259
|
+
setActiveOrg,
|
|
1260
|
+
children
|
|
1134
1261
|
}) {
|
|
1262
|
+
const _isMobile = useIsMobile();
|
|
1263
|
+
const pathname = (0, import_navigation.usePathname)();
|
|
1264
|
+
const segments = pathname ? pathname.split("/").filter(Boolean) : [];
|
|
1135
1265
|
const initials = name ? name.trim().split(" ").map((n) => n[0]).join("").substring(0, 2).toUpperCase() : "U";
|
|
1136
|
-
return /* @__PURE__ */ (0,
|
|
1137
|
-
/* @__PURE__ */ (0,
|
|
1138
|
-
/* @__PURE__ */ (0,
|
|
1139
|
-
|
|
1266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarProvider, { defaultOpen, children: [
|
|
1267
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Sidebar, { collapsible: "icon", children: [
|
|
1268
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarHeader, { children: headerDropdown ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenu, { children: [
|
|
1269
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1270
|
+
DropdownMenuTrigger,
|
|
1271
|
+
{
|
|
1272
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1273
|
+
SidebarMenuButton,
|
|
1274
|
+
{
|
|
1275
|
+
size: "lg",
|
|
1276
|
+
className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
|
|
1277
|
+
children: [
|
|
1278
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Command, { className: "size-4" }) }),
|
|
1279
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1280
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate font-medium", children: (activeOrg == null ? void 0 : activeOrg.name) || brand }),
|
|
1281
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-xs", children: (activeOrg == null ? void 0 : activeOrg.plan) || orgRole })
|
|
1282
|
+
] }),
|
|
1283
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.ChevronsUpDown, { className: "ml-auto" })
|
|
1284
|
+
]
|
|
1285
|
+
}
|
|
1286
|
+
)
|
|
1287
|
+
}
|
|
1288
|
+
),
|
|
1289
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1290
|
+
DropdownMenuContent,
|
|
1291
|
+
{
|
|
1292
|
+
className: "w-(--radix-dropdown-menu-trigger-width) min-w-60 rounded-lg",
|
|
1293
|
+
align: "start",
|
|
1294
|
+
side: "bottom",
|
|
1295
|
+
sideOffset: 4,
|
|
1296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenuGroup, { children: [
|
|
1297
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuLabel, { className: "text-xs text-muted-foreground", children: "Organizations" }),
|
|
1298
|
+
(organizations || []).map((org) => {
|
|
1299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1300
|
+
DropdownMenuItem,
|
|
1301
|
+
{
|
|
1302
|
+
onClick: () => setActiveOrg == null ? void 0 : setActiveOrg(org),
|
|
1303
|
+
className: "gap-2 p-2",
|
|
1304
|
+
children: [
|
|
1305
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex size-6 items-center justify-center rounded-md border", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Command, { className: "size-3.5 shrink-0" }) }),
|
|
1306
|
+
org.name
|
|
1307
|
+
]
|
|
1308
|
+
},
|
|
1309
|
+
org.name
|
|
1310
|
+
);
|
|
1311
|
+
})
|
|
1312
|
+
] })
|
|
1313
|
+
}
|
|
1314
|
+
)
|
|
1315
|
+
] }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarMenuButton, { size: "lg", render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href: "/" }), children: [
|
|
1316
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Command, { className: "size-4" }) }),
|
|
1317
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1318
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate font-medium", children: brand }),
|
|
1319
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-xs", children: orgRole })
|
|
1320
|
+
] })
|
|
1321
|
+
] }) }) }) }),
|
|
1322
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarContent, { children: [
|
|
1323
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarGroup, { children: [
|
|
1324
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarGroupLabel, { children: "Platform" }),
|
|
1325
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenu, { children: navMainItems.map(({ title, url, icon: Icon, locked }) => {
|
|
1326
|
+
const isActive = isRouteActive(url, pathname);
|
|
1327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarMenuItem, { children: [
|
|
1328
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1329
|
+
SidebarMenuButton,
|
|
1330
|
+
{
|
|
1331
|
+
isActive,
|
|
1332
|
+
tooltip: title,
|
|
1333
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href: url }),
|
|
1334
|
+
children: [
|
|
1335
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, {}),
|
|
1336
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children: title })
|
|
1337
|
+
]
|
|
1338
|
+
}
|
|
1339
|
+
),
|
|
1340
|
+
locked && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenuBadge, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.LockIcon, { size: 12 }) })
|
|
1341
|
+
] }, title);
|
|
1342
|
+
}) })
|
|
1343
|
+
] }),
|
|
1344
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarGroup, { className: "mt-auto", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarGroupContent, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenu, { children: navSecondaryItems.map(({ title, url, icon: Icon, locked }) => {
|
|
1345
|
+
const isActive = isRouteActive(url, pathname);
|
|
1346
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarMenuItem, { children: [
|
|
1347
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1348
|
+
SidebarMenuButton,
|
|
1349
|
+
{
|
|
1350
|
+
size: "sm",
|
|
1351
|
+
isActive,
|
|
1352
|
+
tooltip: title,
|
|
1353
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href: url }),
|
|
1354
|
+
children: [
|
|
1355
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, {}),
|
|
1356
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children: title })
|
|
1357
|
+
]
|
|
1358
|
+
}
|
|
1359
|
+
),
|
|
1360
|
+
locked && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenuBadge, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.LockIcon, { size: 12 }) })
|
|
1361
|
+
] }, title);
|
|
1362
|
+
}) }) }) })
|
|
1363
|
+
] }),
|
|
1364
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarMenuItem, { children: confirmDialog ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialog, { children: [
|
|
1365
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1366
|
+
AlertDialogTrigger,
|
|
1367
|
+
{
|
|
1368
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarMenuButton, { size: "lg", children: [
|
|
1369
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Avatar, { children: [
|
|
1370
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarImage, { src: image || "", alt: name || "" }),
|
|
1371
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarFallback, { children: initials })
|
|
1372
|
+
] }),
|
|
1373
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1374
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate font-medium", children: name }),
|
|
1375
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: email })
|
|
1376
|
+
] })
|
|
1377
|
+
] })
|
|
1378
|
+
}
|
|
1379
|
+
),
|
|
1380
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialogContent, { children: [
|
|
1381
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialogHeader, { children: [
|
|
1382
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AlertDialogTitle, { children: "Manage Account in Identity" }),
|
|
1383
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AlertDialogDescription, { children: "You will be redirected to the Identity website to manage your profile, account, and settings." })
|
|
1384
|
+
] }),
|
|
1385
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialogFooter, { children: [
|
|
1386
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AlertDialogCancel, { children: "Cancel" }),
|
|
1387
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1388
|
+
AlertDialogAction,
|
|
1389
|
+
{
|
|
1390
|
+
nativeButton: false,
|
|
1391
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href, target: "_blank" }),
|
|
1392
|
+
children: "Continue"
|
|
1393
|
+
}
|
|
1394
|
+
)
|
|
1395
|
+
] })
|
|
1396
|
+
] })
|
|
1397
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarMenuButton, { size: "lg", render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href }), children: [
|
|
1398
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Avatar, { children: [
|
|
1399
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarImage, { src: image || "", alt: name || "" }),
|
|
1400
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarFallback, { children: initials })
|
|
1401
|
+
] }),
|
|
1402
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1403
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate font-medium", children: name }),
|
|
1404
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: email })
|
|
1405
|
+
] })
|
|
1406
|
+
] }) }) }) }),
|
|
1407
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarRail, {})
|
|
1140
1408
|
] }),
|
|
1141
|
-
/* @__PURE__ */ (0,
|
|
1142
|
-
/* @__PURE__ */ (0,
|
|
1143
|
-
|
|
1409
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(SidebarInset, { children: [
|
|
1410
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("header", { className: "flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-2 px-4", children: [
|
|
1411
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SidebarTrigger, { className: "-ml-1" }),
|
|
1412
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1413
|
+
Separator,
|
|
1414
|
+
{
|
|
1415
|
+
orientation: "vertical",
|
|
1416
|
+
className: "mr-2 data-vertical:h-4 data-vertical:self-auto"
|
|
1417
|
+
}
|
|
1418
|
+
),
|
|
1419
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Breadcrumb, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(BreadcrumbList, { children: [
|
|
1420
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BreadcrumbItem, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BreadcrumbLink, { render: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_link.default, { href: "/" }), children: "Platform" }) }),
|
|
1421
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BreadcrumbSeparator, {}),
|
|
1422
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BreadcrumbItem, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BreadcrumbPage, { children: segments.length === 0 ? "Overview" : formatSegment(
|
|
1423
|
+
segments[segments.length - 1],
|
|
1424
|
+
`/${segments.join("/")}`,
|
|
1425
|
+
navMainItems,
|
|
1426
|
+
navSecondaryItems
|
|
1427
|
+
) }) })
|
|
1428
|
+
] }) })
|
|
1429
|
+
] }) }),
|
|
1430
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "p-4 pt-0", children })
|
|
1144
1431
|
] })
|
|
1145
|
-
] })
|
|
1432
|
+
] });
|
|
1433
|
+
});
|
|
1434
|
+
|
|
1435
|
+
// src/components/composed/header-title.tsx
|
|
1436
|
+
var import_react2 = require("react");
|
|
1437
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1438
|
+
var HeaderTitle = (0, import_react2.memo)(function HeaderTitle2({
|
|
1439
|
+
title,
|
|
1440
|
+
subtitle,
|
|
1441
|
+
children
|
|
1442
|
+
}) {
|
|
1443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "w-full space-y-4", children: [
|
|
1444
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1445
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("h1", { className: "font-semibold", children: title }),
|
|
1446
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-xs text-muted-foreground", children: subtitle })
|
|
1447
|
+
] }),
|
|
1448
|
+
children
|
|
1449
|
+
] });
|
|
1146
1450
|
});
|
|
1147
1451
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1148
1452
|
0 && (module.exports = {
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
Sidebar,
|
|
1152
|
-
SidebarContent,
|
|
1153
|
-
SidebarFooter,
|
|
1154
|
-
SidebarGroup,
|
|
1155
|
-
SidebarGroupAction,
|
|
1156
|
-
SidebarGroupContent,
|
|
1157
|
-
SidebarGroupLabel,
|
|
1158
|
-
SidebarHeader,
|
|
1159
|
-
SidebarInput,
|
|
1160
|
-
SidebarInset,
|
|
1161
|
-
SidebarMenu,
|
|
1162
|
-
SidebarMenuAction,
|
|
1163
|
-
SidebarMenuBadge,
|
|
1164
|
-
SidebarMenuButton,
|
|
1165
|
-
SidebarMenuItem,
|
|
1166
|
-
SidebarMenuSkeleton,
|
|
1167
|
-
SidebarMenuSub,
|
|
1168
|
-
SidebarMenuSubButton,
|
|
1169
|
-
SidebarMenuSubItem,
|
|
1170
|
-
SidebarProvider,
|
|
1171
|
-
SidebarRail,
|
|
1172
|
-
SidebarSeparator,
|
|
1173
|
-
SidebarTrigger,
|
|
1174
|
-
useSidebar
|
|
1453
|
+
AppSidebar,
|
|
1454
|
+
HeaderTitle
|
|
1175
1455
|
});
|