@krak-stack/registry 0.1.26 → 0.1.27
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/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/components/ui/data-table.js +212 -207
- package/dist/components/ui/effect-form.js +170 -169
- package/dist/components/ui/form.js +113 -112
- package/dist/components/ui/icon-input.js +43 -40
- package/dist/components/ui/pagination.js +2 -2
- package/dist/components/ui/sidebar-layout.js +71 -66
- package/dist/components/ui/theme-switcher.js +3 -3
- package/dist/components/ui/virtualized-combobox.js +34 -31
- package/dist/lib/docs.js +138 -133
- package/dist/lib/docs.server.js +47 -23
- package/dist/lib/documentation-toolkit.js +48 -24
- package/dist/lib/httpapi-cli.js +7 -7
- package/dist/lib/httpapi-client.js +3 -3
- package/dist/lib/httpapi-helpers.js +11 -11
- package/dist/lib/httpapi-mcp.js +2 -2
- package/dist/lib/httpapi-toolkit.js +2 -2
- package/dist/lib/query.js +7 -7
- package/dist/lib/seo.js +2 -2
- package/dist/lib/webfetch-toolkit.js +6 -6
- package/dist/services/agent/client/index.js +128 -127
- package/dist/services/agent/schema.js +5 -5
- package/dist/services/file-extraction/index.js +4 -4
- package/dist/services/file-extraction/schema.js +2 -2
- package/dist/services/health/index.js +9 -9
- package/dist/services/notification/channels/ses/index.d.ts +2 -2
- package/dist/services/notification/channels/ses/index.js +2 -2
- package/dist/services/notification/channels/ses/schema.js +2 -2
- package/dist/services/notification/client/index.js +5 -5
- package/dist/services/notification/index.js +2 -2
- package/dist/services/notification/persistence/drizzle.d.ts +868 -0
- package/dist/services/notification/persistence/drizzle.js +2 -2
- package/dist/services/notification/persistence/index.d.ts +2 -0
- package/dist/services/notification/persistence/index.js +15 -15
- package/dist/services/notification/persistence/schema.d.ts +143 -0
- package/dist/services/notification/persistence/schema.js +12 -12
- package/dist/services/notification/public.js +7 -7
- package/dist/services/notification/schema.js +2 -2
- package/dist/services/s3/index.js +2 -2
- package/dist/services/s3/schema.js +2 -2
- package/package.json +2 -2
|
@@ -119,29 +119,31 @@ function Button({
|
|
|
119
119
|
|
|
120
120
|
// ../../src/components/ui/input.tsx
|
|
121
121
|
import { Input as InputPrimitive } from "@base-ui/react/input";
|
|
122
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
122
123
|
|
|
123
124
|
// ../../src/components/ui/separator.tsx
|
|
124
125
|
import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
|
|
126
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
125
127
|
|
|
126
128
|
// ../../src/components/ui/sheet.tsx
|
|
127
129
|
import { Dialog as SheetPrimitive } from "@base-ui/react/dialog";
|
|
128
130
|
import { XIcon } from "lucide-react";
|
|
129
|
-
import { jsx as
|
|
131
|
+
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
130
132
|
"use client";
|
|
131
133
|
function Sheet({ ...props }) {
|
|
132
|
-
return /* @__PURE__ */
|
|
134
|
+
return /* @__PURE__ */ jsx4(SheetPrimitive.Root, {
|
|
133
135
|
"data-slot": "sheet",
|
|
134
136
|
...props
|
|
135
137
|
});
|
|
136
138
|
}
|
|
137
139
|
function SheetPortal({ ...props }) {
|
|
138
|
-
return /* @__PURE__ */
|
|
140
|
+
return /* @__PURE__ */ jsx4(SheetPrimitive.Portal, {
|
|
139
141
|
"data-slot": "sheet-portal",
|
|
140
142
|
...props
|
|
141
143
|
});
|
|
142
144
|
}
|
|
143
145
|
function SheetOverlay({ className, ...props }) {
|
|
144
|
-
return /* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ jsx4(SheetPrimitive.Backdrop, {
|
|
145
147
|
"data-slot": "sheet-overlay",
|
|
146
148
|
className: cn("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs", className),
|
|
147
149
|
...props
|
|
@@ -156,7 +158,7 @@ function SheetContent({
|
|
|
156
158
|
}) {
|
|
157
159
|
return /* @__PURE__ */ jsxs(SheetPortal, {
|
|
158
160
|
children: [
|
|
159
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ jsx4(SheetOverlay, {}),
|
|
160
162
|
/* @__PURE__ */ jsxs(SheetPrimitive.Popup, {
|
|
161
163
|
"data-slot": "sheet-content",
|
|
162
164
|
"data-side": side,
|
|
@@ -166,14 +168,14 @@ function SheetContent({
|
|
|
166
168
|
children,
|
|
167
169
|
showCloseButton && /* @__PURE__ */ jsxs(SheetPrimitive.Close, {
|
|
168
170
|
"data-slot": "sheet-close",
|
|
169
|
-
render: /* @__PURE__ */
|
|
171
|
+
render: /* @__PURE__ */ jsx4(Button, {
|
|
170
172
|
variant: "ghost",
|
|
171
173
|
className: "absolute top-4 right-4",
|
|
172
174
|
size: "icon-sm"
|
|
173
175
|
}),
|
|
174
176
|
children: [
|
|
175
|
-
/* @__PURE__ */
|
|
176
|
-
/* @__PURE__ */
|
|
177
|
+
/* @__PURE__ */ jsx4(XIcon, {}),
|
|
178
|
+
/* @__PURE__ */ jsx4("span", {
|
|
177
179
|
className: "sr-only",
|
|
178
180
|
children: "Close"
|
|
179
181
|
})
|
|
@@ -185,14 +187,14 @@ function SheetContent({
|
|
|
185
187
|
});
|
|
186
188
|
}
|
|
187
189
|
function SheetHeader({ className, ...props }) {
|
|
188
|
-
return /* @__PURE__ */
|
|
190
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
189
191
|
"data-slot": "sheet-header",
|
|
190
192
|
className: cn("flex flex-col gap-1.5 p-4", className),
|
|
191
193
|
...props
|
|
192
194
|
});
|
|
193
195
|
}
|
|
194
196
|
function SheetTitle({ className, ...props }) {
|
|
195
|
-
return /* @__PURE__ */
|
|
197
|
+
return /* @__PURE__ */ jsx4(SheetPrimitive.Title, {
|
|
196
198
|
"data-slot": "sheet-title",
|
|
197
199
|
className: cn("font-medium text-foreground", className),
|
|
198
200
|
...props
|
|
@@ -202,25 +204,28 @@ function SheetDescription({
|
|
|
202
204
|
className,
|
|
203
205
|
...props
|
|
204
206
|
}) {
|
|
205
|
-
return /* @__PURE__ */
|
|
207
|
+
return /* @__PURE__ */ jsx4(SheetPrimitive.Description, {
|
|
206
208
|
"data-slot": "sheet-description",
|
|
207
209
|
className: cn("text-sm text-muted-foreground", className),
|
|
208
210
|
...props
|
|
209
211
|
});
|
|
210
212
|
}
|
|
211
213
|
|
|
214
|
+
// ../../src/components/ui/skeleton.tsx
|
|
215
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
216
|
+
|
|
212
217
|
// ../../src/components/ui/tooltip.tsx
|
|
213
218
|
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
214
|
-
import { jsx as
|
|
219
|
+
import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
215
220
|
"use client";
|
|
216
221
|
function Tooltip({ ...props }) {
|
|
217
|
-
return /* @__PURE__ */
|
|
222
|
+
return /* @__PURE__ */ jsx6(TooltipPrimitive.Root, {
|
|
218
223
|
"data-slot": "tooltip",
|
|
219
224
|
...props
|
|
220
225
|
});
|
|
221
226
|
}
|
|
222
227
|
function TooltipTrigger({ ...props }) {
|
|
223
|
-
return /* @__PURE__ */
|
|
228
|
+
return /* @__PURE__ */ jsx6(TooltipPrimitive.Trigger, {
|
|
224
229
|
"data-slot": "tooltip-trigger",
|
|
225
230
|
...props
|
|
226
231
|
});
|
|
@@ -234,8 +239,8 @@ function TooltipContent({
|
|
|
234
239
|
children,
|
|
235
240
|
...props
|
|
236
241
|
}) {
|
|
237
|
-
return /* @__PURE__ */
|
|
238
|
-
children: /* @__PURE__ */
|
|
242
|
+
return /* @__PURE__ */ jsx6(TooltipPrimitive.Portal, {
|
|
243
|
+
children: /* @__PURE__ */ jsx6(TooltipPrimitive.Positioner, {
|
|
239
244
|
align,
|
|
240
245
|
alignOffset,
|
|
241
246
|
side,
|
|
@@ -247,7 +252,7 @@ function TooltipContent({
|
|
|
247
252
|
...props,
|
|
248
253
|
children: [
|
|
249
254
|
children,
|
|
250
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ jsx6(TooltipPrimitive.Arrow, {
|
|
251
256
|
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] 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"
|
|
252
257
|
})
|
|
253
258
|
]
|
|
@@ -259,7 +264,7 @@ function TooltipContent({
|
|
|
259
264
|
// ../../src/components/ui/sidebar.tsx
|
|
260
265
|
import { PanelLeftIcon } from "lucide-react";
|
|
261
266
|
import { Schema } from "effect";
|
|
262
|
-
import { jsx as
|
|
267
|
+
import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
263
268
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
264
269
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
265
270
|
var SIDEBAR_WIDTH = "16rem";
|
|
@@ -323,9 +328,9 @@ function SidebarProvider({
|
|
|
323
328
|
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
324
329
|
...style
|
|
325
330
|
};
|
|
326
|
-
return /* @__PURE__ */
|
|
331
|
+
return /* @__PURE__ */ jsx7(SidebarContext.Provider, {
|
|
327
332
|
value: contextValue,
|
|
328
|
-
children: /* @__PURE__ */
|
|
333
|
+
children: /* @__PURE__ */ jsx7("div", {
|
|
329
334
|
"data-slot": "sidebar-wrapper",
|
|
330
335
|
style: wrapperStyle,
|
|
331
336
|
className: cn("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className),
|
|
@@ -345,7 +350,7 @@ function Sidebar({
|
|
|
345
350
|
}) {
|
|
346
351
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
347
352
|
if (collapsible === "none") {
|
|
348
|
-
return /* @__PURE__ */
|
|
353
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
349
354
|
"data-slot": "sidebar",
|
|
350
355
|
className: cn("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", className),
|
|
351
356
|
...props,
|
|
@@ -356,7 +361,7 @@ function Sidebar({
|
|
|
356
361
|
const mobileStyle = {
|
|
357
362
|
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
358
363
|
};
|
|
359
|
-
return /* @__PURE__ */
|
|
364
|
+
return /* @__PURE__ */ jsx7(Sheet, {
|
|
360
365
|
open: openMobile,
|
|
361
366
|
onOpenChange: setOpenMobile,
|
|
362
367
|
...props,
|
|
@@ -372,15 +377,15 @@ function Sidebar({
|
|
|
372
377
|
/* @__PURE__ */ jsxs3(SheetHeader, {
|
|
373
378
|
className: "sr-only",
|
|
374
379
|
children: [
|
|
375
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ jsx7(SheetTitle, {
|
|
376
381
|
children: "Sidebar"
|
|
377
382
|
}),
|
|
378
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ jsx7(SheetDescription, {
|
|
379
384
|
children: "Displays the mobile sidebar."
|
|
380
385
|
})
|
|
381
386
|
]
|
|
382
387
|
}),
|
|
383
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ jsx7("div", {
|
|
384
389
|
className: "flex h-full w-full flex-col",
|
|
385
390
|
children
|
|
386
391
|
})
|
|
@@ -396,16 +401,16 @@ function Sidebar({
|
|
|
396
401
|
"data-side": side,
|
|
397
402
|
"data-slot": "sidebar",
|
|
398
403
|
children: [
|
|
399
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ jsx7("div", {
|
|
400
405
|
"data-slot": "sidebar-gap",
|
|
401
406
|
className: cn("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
|
|
402
407
|
}),
|
|
403
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ jsx7("div", {
|
|
404
409
|
"data-slot": "sidebar-container",
|
|
405
410
|
"data-side": side,
|
|
406
411
|
className: cn("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", 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", className),
|
|
407
412
|
...props,
|
|
408
|
-
children: /* @__PURE__ */
|
|
413
|
+
children: /* @__PURE__ */ jsx7("div", {
|
|
409
414
|
"data-sidebar": "sidebar",
|
|
410
415
|
"data-slot": "sidebar-inner",
|
|
411
416
|
className: "bg-sidebar group-data-[variant=floating]:ring-sidebar-border flex size-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1",
|
|
@@ -433,8 +438,8 @@ function SidebarTrigger({
|
|
|
433
438
|
},
|
|
434
439
|
...props,
|
|
435
440
|
children: [
|
|
436
|
-
/* @__PURE__ */
|
|
437
|
-
/* @__PURE__ */
|
|
441
|
+
/* @__PURE__ */ jsx7(PanelLeftIcon, {}),
|
|
442
|
+
/* @__PURE__ */ jsx7("span", {
|
|
438
443
|
className: "sr-only",
|
|
439
444
|
children: "Toggle Sidebar"
|
|
440
445
|
})
|
|
@@ -443,7 +448,7 @@ function SidebarTrigger({
|
|
|
443
448
|
}
|
|
444
449
|
function SidebarRail({ className, ...props }) {
|
|
445
450
|
const { toggleSidebar } = useSidebar();
|
|
446
|
-
return /* @__PURE__ */
|
|
451
|
+
return /* @__PURE__ */ jsx7("button", {
|
|
447
452
|
"data-sidebar": "rail",
|
|
448
453
|
"data-slot": "sidebar-rail",
|
|
449
454
|
"aria-label": "Toggle Sidebar",
|
|
@@ -455,14 +460,14 @@ function SidebarRail({ className, ...props }) {
|
|
|
455
460
|
});
|
|
456
461
|
}
|
|
457
462
|
function SidebarInset({ className, ...props }) {
|
|
458
|
-
return /* @__PURE__ */
|
|
463
|
+
return /* @__PURE__ */ jsx7("main", {
|
|
459
464
|
"data-slot": "sidebar-inset",
|
|
460
465
|
className: cn("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", className),
|
|
461
466
|
...props
|
|
462
467
|
});
|
|
463
468
|
}
|
|
464
469
|
function SidebarHeader({ className, ...props }) {
|
|
465
|
-
return /* @__PURE__ */
|
|
470
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
466
471
|
"data-slot": "sidebar-header",
|
|
467
472
|
"data-sidebar": "header",
|
|
468
473
|
className: cn("flex flex-col gap-2 p-2", className),
|
|
@@ -470,7 +475,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
470
475
|
});
|
|
471
476
|
}
|
|
472
477
|
function SidebarFooter({ className, ...props }) {
|
|
473
|
-
return /* @__PURE__ */
|
|
478
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
474
479
|
"data-slot": "sidebar-footer",
|
|
475
480
|
"data-sidebar": "footer",
|
|
476
481
|
className: cn("flex flex-col gap-2 p-2", className),
|
|
@@ -478,7 +483,7 @@ function SidebarFooter({ className, ...props }) {
|
|
|
478
483
|
});
|
|
479
484
|
}
|
|
480
485
|
function SidebarContent({ className, ...props }) {
|
|
481
|
-
return /* @__PURE__ */
|
|
486
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
482
487
|
"data-slot": "sidebar-content",
|
|
483
488
|
"data-sidebar": "content",
|
|
484
489
|
className: cn("no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className),
|
|
@@ -486,7 +491,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
486
491
|
});
|
|
487
492
|
}
|
|
488
493
|
function SidebarGroup({ className, ...props }) {
|
|
489
|
-
return /* @__PURE__ */
|
|
494
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
490
495
|
"data-slot": "sidebar-group",
|
|
491
496
|
"data-sidebar": "group",
|
|
492
497
|
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
@@ -514,7 +519,7 @@ function SidebarGroupContent({
|
|
|
514
519
|
className,
|
|
515
520
|
...props
|
|
516
521
|
}) {
|
|
517
|
-
return /* @__PURE__ */
|
|
522
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
518
523
|
"data-slot": "sidebar-group-content",
|
|
519
524
|
"data-sidebar": "group-content",
|
|
520
525
|
className: cn("w-full text-sm", className),
|
|
@@ -522,7 +527,7 @@ function SidebarGroupContent({
|
|
|
522
527
|
});
|
|
523
528
|
}
|
|
524
529
|
function SidebarMenu({ className, ...props }) {
|
|
525
|
-
return /* @__PURE__ */
|
|
530
|
+
return /* @__PURE__ */ jsx7("ul", {
|
|
526
531
|
"data-slot": "sidebar-menu",
|
|
527
532
|
"data-sidebar": "menu",
|
|
528
533
|
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
@@ -530,7 +535,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
530
535
|
});
|
|
531
536
|
}
|
|
532
537
|
function SidebarMenuItem({ className, ...props }) {
|
|
533
|
-
return /* @__PURE__ */
|
|
538
|
+
return /* @__PURE__ */ jsx7("li", {
|
|
534
539
|
"data-slot": "sidebar-menu-item",
|
|
535
540
|
"data-sidebar": "menu-item",
|
|
536
541
|
className: cn("group/menu-item relative", className),
|
|
@@ -569,7 +574,7 @@ function SidebarMenuButton({
|
|
|
569
574
|
props: mergeProps2({
|
|
570
575
|
className: cn(sidebarMenuButtonVariants({ variant, size }), className)
|
|
571
576
|
}, props),
|
|
572
|
-
render: !tooltip ? render : /* @__PURE__ */
|
|
577
|
+
render: !tooltip ? render : /* @__PURE__ */ jsx7(TooltipTrigger, {
|
|
573
578
|
render
|
|
574
579
|
}),
|
|
575
580
|
state: {
|
|
@@ -586,7 +591,7 @@ function SidebarMenuButton({
|
|
|
586
591
|
return /* @__PURE__ */ jsxs3(Tooltip, {
|
|
587
592
|
children: [
|
|
588
593
|
comp,
|
|
589
|
-
/* @__PURE__ */
|
|
594
|
+
/* @__PURE__ */ jsx7(TooltipContent, {
|
|
590
595
|
side: "right",
|
|
591
596
|
align: "center",
|
|
592
597
|
hidden: state !== "collapsed" || isMobile,
|
|
@@ -597,7 +602,7 @@ function SidebarMenuButton({
|
|
|
597
602
|
}
|
|
598
603
|
|
|
599
604
|
// ../../src/components/ui/sidebar-layout.tsx
|
|
600
|
-
import { jsx as
|
|
605
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
601
606
|
var SIDEBAR_COOKIE_NAME2 = "sidebar_state";
|
|
602
607
|
var SidebarOpenCookie = Schema2.Literals(["true", "false"]).annotate({
|
|
603
608
|
identifier: "SidebarOpenCookie"
|
|
@@ -621,38 +626,38 @@ function AppSidebar({ collapsible, footer, groups, header }) {
|
|
|
621
626
|
return /* @__PURE__ */ jsxs4(Sidebar, {
|
|
622
627
|
collapsible,
|
|
623
628
|
children: [
|
|
624
|
-
header && /* @__PURE__ */
|
|
629
|
+
header && /* @__PURE__ */ jsx8(SidebarHeader, {
|
|
625
630
|
children: header
|
|
626
631
|
}),
|
|
627
|
-
/* @__PURE__ */
|
|
632
|
+
/* @__PURE__ */ jsx8(SidebarContent, {
|
|
628
633
|
className: "group-data-[collapsible=icon]:overflow-x-hidden group-data-[collapsible=icon]:overflow-y-auto",
|
|
629
634
|
children: groups.map((group) => /* @__PURE__ */ jsxs4(SidebarGroup, {
|
|
630
635
|
children: [
|
|
631
|
-
/* @__PURE__ */
|
|
636
|
+
/* @__PURE__ */ jsx8(SidebarGroupLabel, {
|
|
632
637
|
children: group.label()
|
|
633
638
|
}),
|
|
634
|
-
/* @__PURE__ */
|
|
635
|
-
children: /* @__PURE__ */
|
|
639
|
+
/* @__PURE__ */ jsx8(SidebarGroupContent, {
|
|
640
|
+
children: /* @__PURE__ */ jsx8(SidebarMenu, {
|
|
636
641
|
children: group.items.map((item) => {
|
|
637
|
-
const render = item.external ? /* @__PURE__ */
|
|
642
|
+
const render = item.external ? /* @__PURE__ */ jsx8("a", {
|
|
638
643
|
href: item.href,
|
|
639
644
|
target: "_blank",
|
|
640
645
|
rel: "noreferrer"
|
|
641
|
-
}) : /* @__PURE__ */
|
|
646
|
+
}) : /* @__PURE__ */ jsx8(Link, {
|
|
642
647
|
to: item.href
|
|
643
648
|
});
|
|
644
|
-
return /* @__PURE__ */
|
|
649
|
+
return /* @__PURE__ */ jsx8(SidebarMenuItem, {
|
|
645
650
|
children: /* @__PURE__ */ jsxs4(SidebarMenuButton, {
|
|
646
651
|
isActive: !item.external && pathname === item.href,
|
|
647
652
|
onClick: closeMobileSidebar,
|
|
648
653
|
render,
|
|
649
654
|
tooltip: item.label(),
|
|
650
655
|
children: [
|
|
651
|
-
item.icon ? /* @__PURE__ */
|
|
652
|
-
/* @__PURE__ */
|
|
656
|
+
item.icon ? /* @__PURE__ */ jsx8(item.icon, {}) : null,
|
|
657
|
+
/* @__PURE__ */ jsx8("span", {
|
|
653
658
|
children: item.label()
|
|
654
659
|
}),
|
|
655
|
-
item.badge ? /* @__PURE__ */
|
|
660
|
+
item.badge ? /* @__PURE__ */ jsx8(Badge, {
|
|
656
661
|
className: "ml-auto",
|
|
657
662
|
variant: "secondary",
|
|
658
663
|
children: item.badge()
|
|
@@ -666,10 +671,10 @@ function AppSidebar({ collapsible, footer, groups, header }) {
|
|
|
666
671
|
]
|
|
667
672
|
}, group.label()))
|
|
668
673
|
}),
|
|
669
|
-
footer ? /* @__PURE__ */
|
|
674
|
+
footer ? /* @__PURE__ */ jsx8(SidebarFooter, {
|
|
670
675
|
children: footer
|
|
671
676
|
}) : null,
|
|
672
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ jsx8(SidebarRail, {})
|
|
673
678
|
]
|
|
674
679
|
});
|
|
675
680
|
}
|
|
@@ -685,7 +690,7 @@ function SidebarPageHeader({
|
|
|
685
690
|
/* @__PURE__ */ jsxs4("div", {
|
|
686
691
|
className: "flex flex-col gap-2",
|
|
687
692
|
children: [
|
|
688
|
-
badge ? /* @__PURE__ */
|
|
693
|
+
badge ? /* @__PURE__ */ jsx8(Badge, {
|
|
689
694
|
className: "w-fit",
|
|
690
695
|
variant: badge.variant ?? "secondary",
|
|
691
696
|
children: badge.label
|
|
@@ -693,11 +698,11 @@ function SidebarPageHeader({
|
|
|
693
698
|
/* @__PURE__ */ jsxs4("div", {
|
|
694
699
|
className: "flex flex-col gap-1",
|
|
695
700
|
children: [
|
|
696
|
-
/* @__PURE__ */
|
|
701
|
+
/* @__PURE__ */ jsx8("h1", {
|
|
697
702
|
className: "text-3xl font-bold tracking-tight",
|
|
698
703
|
children: title
|
|
699
704
|
}),
|
|
700
|
-
description ? /* @__PURE__ */
|
|
705
|
+
description ? /* @__PURE__ */ jsx8("p", {
|
|
701
706
|
className: "text-muted-foreground max-w-2xl text-sm",
|
|
702
707
|
children: description
|
|
703
708
|
}) : null
|
|
@@ -705,7 +710,7 @@ function SidebarPageHeader({
|
|
|
705
710
|
})
|
|
706
711
|
]
|
|
707
712
|
}),
|
|
708
|
-
actions ? /* @__PURE__ */
|
|
713
|
+
actions ? /* @__PURE__ */ jsx8("div", {
|
|
709
714
|
className: "flex gap-2",
|
|
710
715
|
children: actions
|
|
711
716
|
}) : null
|
|
@@ -729,7 +734,7 @@ function SidebarLayout({
|
|
|
729
734
|
onOpenChange: setSidebarOpen,
|
|
730
735
|
className: cn(fullPage && "xl:h-svh xl:min-h-0 xl:overflow-hidden"),
|
|
731
736
|
children: [
|
|
732
|
-
/* @__PURE__ */
|
|
737
|
+
/* @__PURE__ */ jsx8(AppSidebar, {
|
|
733
738
|
collapsible: sidebarCollapsible,
|
|
734
739
|
footer: sidebarFooter,
|
|
735
740
|
groups,
|
|
@@ -741,16 +746,16 @@ function SidebarLayout({
|
|
|
741
746
|
/* @__PURE__ */ jsxs4("header", {
|
|
742
747
|
className: "bg-background/95 supports-[backdrop-filter]:bg-background/60 sticky top-0 z-10 flex h-14 shrink-0 items-center gap-2 border-b px-4 backdrop-blur",
|
|
743
748
|
children: [
|
|
744
|
-
/* @__PURE__ */
|
|
745
|
-
/* @__PURE__ */
|
|
749
|
+
/* @__PURE__ */ jsx8(SidebarTrigger, {}),
|
|
750
|
+
/* @__PURE__ */ jsx8("div", {
|
|
746
751
|
className: "ml-auto flex items-center gap-2",
|
|
747
752
|
children: headerActions
|
|
748
753
|
})
|
|
749
754
|
]
|
|
750
755
|
}),
|
|
751
|
-
/* @__PURE__ */
|
|
756
|
+
/* @__PURE__ */ jsx8("div", {
|
|
752
757
|
className: contentClassName ?? "flex flex-col gap-6 px-5 py-6 md:px-8",
|
|
753
|
-
children: children ?? /* @__PURE__ */
|
|
758
|
+
children: children ?? /* @__PURE__ */ jsx8(Outlet, {})
|
|
754
759
|
})
|
|
755
760
|
]
|
|
756
761
|
})
|
|
@@ -758,7 +763,7 @@ function SidebarLayout({
|
|
|
758
763
|
});
|
|
759
764
|
}
|
|
760
765
|
export {
|
|
761
|
-
|
|
766
|
+
useSidebarLayout,
|
|
762
767
|
SidebarPageHeader,
|
|
763
|
-
|
|
768
|
+
SidebarLayout
|
|
764
769
|
};
|
|
@@ -76,10 +76,13 @@ function Input({ className, type, ...props }) {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
// ../../src/components/ui/
|
|
79
|
+
// ../../src/components/ui/textarea.tsx
|
|
80
80
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
81
|
+
|
|
82
|
+
// ../../src/components/ui/input-group.tsx
|
|
83
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
81
84
|
function InputGroup({ className, ...props }) {
|
|
82
|
-
return /* @__PURE__ */
|
|
85
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
83
86
|
"data-slot": "input-group",
|
|
84
87
|
role: "group",
|
|
85
88
|
className: cn("group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
|
|
@@ -112,7 +115,7 @@ function InputGroupInput({
|
|
|
112
115
|
className,
|
|
113
116
|
...props
|
|
114
117
|
}) {
|
|
115
|
-
return /* @__PURE__ */
|
|
118
|
+
return /* @__PURE__ */ jsx4(Input, {
|
|
116
119
|
"data-slot": "input-group-control",
|
|
117
120
|
className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
|
|
118
121
|
...props
|
|
@@ -556,7 +559,7 @@ function isCustomStrategy(strategy2) {
|
|
|
556
559
|
}
|
|
557
560
|
|
|
558
561
|
// ../../src/components/ui/virtualized-combobox.tsx
|
|
559
|
-
import { jsx as
|
|
562
|
+
import { jsx as jsx5, jsxs } from "react/jsx-runtime";
|
|
560
563
|
"use client";
|
|
561
564
|
var messages = {
|
|
562
565
|
en: {
|
|
@@ -632,19 +635,19 @@ var VirtualizedComboboxList = ({
|
|
|
632
635
|
virtualizer.measure();
|
|
633
636
|
}, [virtualizer]);
|
|
634
637
|
if (filteredItems.length === 0) {
|
|
635
|
-
return /* @__PURE__ */
|
|
638
|
+
return /* @__PURE__ */ jsx5("div", {
|
|
636
639
|
className: "text-muted-foreground py-6 text-center text-sm",
|
|
637
640
|
children: emptyLabel
|
|
638
641
|
});
|
|
639
642
|
}
|
|
640
|
-
return /* @__PURE__ */
|
|
643
|
+
return /* @__PURE__ */ jsx5(ComboboxPrimitive.List, {
|
|
641
644
|
className: "scroll-py-1 overflow-auto overscroll-contain p-1",
|
|
642
645
|
ref: handleScrollElementRef,
|
|
643
646
|
style: {
|
|
644
647
|
height: Math.min(virtualizer.getTotalSize() + 8, 288),
|
|
645
648
|
maxHeight: "var(--available-height)"
|
|
646
649
|
},
|
|
647
|
-
children: /* @__PURE__ */
|
|
650
|
+
children: /* @__PURE__ */ jsx5("div", {
|
|
648
651
|
className: "relative w-full",
|
|
649
652
|
role: "presentation",
|
|
650
653
|
style: { height: virtualizer.getTotalSize() },
|
|
@@ -657,9 +660,9 @@ var VirtualizedComboboxList = ({
|
|
|
657
660
|
transform: `translateY(${virtualItem.start}px)`
|
|
658
661
|
};
|
|
659
662
|
if (entry.kind === "group") {
|
|
660
|
-
return /* @__PURE__ */
|
|
663
|
+
return /* @__PURE__ */ jsx5(ComboboxPrimitive.Group, {
|
|
661
664
|
className: "contents",
|
|
662
|
-
children: /* @__PURE__ */
|
|
665
|
+
children: /* @__PURE__ */ jsx5(ComboboxPrimitive.GroupLabel, {
|
|
663
666
|
className: "text-muted-foreground absolute top-0 left-0 w-full px-2 pt-3 pb-1 text-xs",
|
|
664
667
|
"data-index": virtualItem.index,
|
|
665
668
|
ref: virtualizer.measureElement,
|
|
@@ -678,13 +681,13 @@ var VirtualizedComboboxList = ({
|
|
|
678
681
|
style,
|
|
679
682
|
value: entry.item,
|
|
680
683
|
children: [
|
|
681
|
-
renderItem?.(entry.item) ?? /* @__PURE__ */
|
|
684
|
+
renderItem?.(entry.item) ?? /* @__PURE__ */ jsx5("span", {
|
|
682
685
|
className: "min-w-0 truncate",
|
|
683
686
|
children: entry.item.label
|
|
684
687
|
}),
|
|
685
|
-
/* @__PURE__ */
|
|
688
|
+
/* @__PURE__ */ jsx5(ComboboxPrimitive.ItemIndicator, {
|
|
686
689
|
className: "absolute right-2 flex size-4 items-center justify-center",
|
|
687
|
-
children: /* @__PURE__ */
|
|
690
|
+
children: /* @__PURE__ */ jsx5(Check, {})
|
|
688
691
|
})
|
|
689
692
|
]
|
|
690
693
|
}, entry.item.value);
|
|
@@ -703,8 +706,8 @@ var VirtualizedComboboxContent = ({
|
|
|
703
706
|
virtualizerRef
|
|
704
707
|
}) => {
|
|
705
708
|
const labels = virtualizedComboboxMessages(messageOverrides);
|
|
706
|
-
return /* @__PURE__ */
|
|
707
|
-
children: /* @__PURE__ */
|
|
709
|
+
return /* @__PURE__ */ jsx5(ComboboxPrimitive.Portal, {
|
|
710
|
+
children: /* @__PURE__ */ jsx5(ComboboxPrimitive.Positioner, {
|
|
708
711
|
align: "start",
|
|
709
712
|
className: "isolate z-50",
|
|
710
713
|
side: "bottom",
|
|
@@ -712,17 +715,17 @@ var VirtualizedComboboxContent = ({
|
|
|
712
715
|
children: /* @__PURE__ */ jsxs(ComboboxPrimitive.Popup, {
|
|
713
716
|
className: cn("relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-0 origin-(--transform-origin) overflow-hidden rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-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:fade-out-0 data-closed:zoom-in-95", contentClassName),
|
|
714
717
|
children: [
|
|
715
|
-
/* @__PURE__ */
|
|
718
|
+
/* @__PURE__ */ jsx5("div", {
|
|
716
719
|
className: "min-w-0 p-1 pb-0",
|
|
717
|
-
children: /* @__PURE__ */
|
|
720
|
+
children: /* @__PURE__ */ jsx5(InputGroup, {
|
|
718
721
|
className: "border-input/30 bg-input/30 h-8 w-full min-w-0 shadow-none",
|
|
719
|
-
children: /* @__PURE__ */
|
|
722
|
+
children: /* @__PURE__ */ jsx5(ComboboxPrimitive.Input, {
|
|
720
723
|
placeholder: labels.search,
|
|
721
|
-
render: /* @__PURE__ */
|
|
724
|
+
render: /* @__PURE__ */ jsx5(InputGroupInput, {})
|
|
722
725
|
})
|
|
723
726
|
})
|
|
724
727
|
}),
|
|
725
|
-
/* @__PURE__ */
|
|
728
|
+
/* @__PURE__ */ jsx5(VirtualizedComboboxList, {
|
|
726
729
|
emptyLabel,
|
|
727
730
|
groupSelections,
|
|
728
731
|
itemIndexRef,
|
|
@@ -745,20 +748,20 @@ var defaultTrigger = (ariaLabel, ariaInvalid, disabled, label, triggerId) => /*
|
|
|
745
748
|
type: "button",
|
|
746
749
|
variant: "outline",
|
|
747
750
|
children: [
|
|
748
|
-
/* @__PURE__ */
|
|
751
|
+
/* @__PURE__ */ jsx5("span", {
|
|
749
752
|
className: "min-w-0 flex-1 truncate pr-7 text-left",
|
|
750
753
|
children: label
|
|
751
754
|
}),
|
|
752
|
-
/* @__PURE__ */
|
|
755
|
+
/* @__PURE__ */ jsx5(ChevronsUpDown, {
|
|
753
756
|
className: "text-muted-foreground shrink-0 opacity-70"
|
|
754
757
|
})
|
|
755
758
|
]
|
|
756
759
|
});
|
|
757
|
-
var defaultClear = (label) => /* @__PURE__ */
|
|
760
|
+
var defaultClear = (label) => /* @__PURE__ */ jsx5(ComboboxPrimitive.Clear, {
|
|
758
761
|
"aria-label": label,
|
|
759
762
|
className: "text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute top-1/2 right-7 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-sm outline-none focus-visible:border focus-visible:ring-3",
|
|
760
763
|
type: "button",
|
|
761
|
-
children: /* @__PURE__ */
|
|
764
|
+
children: /* @__PURE__ */ jsx5(X, {
|
|
762
765
|
className: "size-3.5"
|
|
763
766
|
})
|
|
764
767
|
});
|
|
@@ -797,13 +800,13 @@ var VirtualizedComboboxSingle = (props) => {
|
|
|
797
800
|
/* @__PURE__ */ jsxs("div", {
|
|
798
801
|
className: "relative",
|
|
799
802
|
children: [
|
|
800
|
-
/* @__PURE__ */
|
|
803
|
+
/* @__PURE__ */ jsx5(ComboboxPrimitive.Trigger, {
|
|
801
804
|
render: props.trigger ?? defaultTrigger(props.ariaLabel, props.ariaInvalid, props.disabled, selectedLabel(props.value, props.placeholder), props.triggerId)
|
|
802
805
|
}),
|
|
803
806
|
props.trigger ? null : defaultClear(labels.clear)
|
|
804
807
|
]
|
|
805
808
|
}),
|
|
806
|
-
/* @__PURE__ */
|
|
809
|
+
/* @__PURE__ */ jsx5(VirtualizedComboboxContent, {
|
|
807
810
|
...props,
|
|
808
811
|
groupSelections: false,
|
|
809
812
|
itemIndexRef,
|
|
@@ -839,13 +842,13 @@ var VirtualizedComboboxMultiple = (props) => {
|
|
|
839
842
|
/* @__PURE__ */ jsxs("div", {
|
|
840
843
|
className: "relative",
|
|
841
844
|
children: [
|
|
842
|
-
/* @__PURE__ */
|
|
845
|
+
/* @__PURE__ */ jsx5(ComboboxPrimitive.Trigger, {
|
|
843
846
|
render: props.trigger ?? defaultTrigger(props.ariaLabel, props.ariaInvalid, props.disabled, selectedLabel(props.value, props.placeholder), props.triggerId)
|
|
844
847
|
}),
|
|
845
848
|
props.trigger ? null : defaultClear(labels.clear)
|
|
846
849
|
]
|
|
847
850
|
}),
|
|
848
|
-
/* @__PURE__ */
|
|
851
|
+
/* @__PURE__ */ jsx5(VirtualizedComboboxContent, {
|
|
849
852
|
...props,
|
|
850
853
|
groupSelections: true,
|
|
851
854
|
itemIndexRef,
|
|
@@ -856,13 +859,13 @@ var VirtualizedComboboxMultiple = (props) => {
|
|
|
856
859
|
});
|
|
857
860
|
};
|
|
858
861
|
function VirtualizedCombobox(props) {
|
|
859
|
-
return props.multiple ? /* @__PURE__ */
|
|
862
|
+
return props.multiple ? /* @__PURE__ */ jsx5(VirtualizedComboboxMultiple, {
|
|
860
863
|
...props
|
|
861
|
-
}) : /* @__PURE__ */
|
|
864
|
+
}) : /* @__PURE__ */ jsx5(VirtualizedComboboxSingle, {
|
|
862
865
|
...props
|
|
863
866
|
});
|
|
864
867
|
}
|
|
865
868
|
export {
|
|
866
|
-
|
|
867
|
-
|
|
869
|
+
virtualizedComboboxMessages,
|
|
870
|
+
VirtualizedCombobox
|
|
868
871
|
};
|