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