@runlume/admin-ui 0.1.0 → 0.2.1
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.en.md +6 -13
- package/README.md +5 -11
- package/dist-package/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist-package/admin-ui.cjs +1 -0
- package/dist-package/admin-ui.d.ts +41 -1
- package/dist-package/admin-ui.d.ts.map +1 -1
- package/dist-package/admin-ui.js +79 -0
- package/dist-package/components/calendar.cjs +1 -0
- package/dist-package/components/calendar.d.ts +13 -0
- package/dist-package/components/calendar.d.ts.map +1 -0
- package/dist-package/components/calendar.js +91 -0
- package/dist-package/components/cascader.cjs +1 -0
- package/dist-package/components/cascader.d.ts +19 -0
- package/dist-package/components/cascader.d.ts.map +1 -0
- package/dist-package/components/cascader.js +85 -0
- package/dist-package/components/charts.cjs +1 -0
- package/dist-package/components/charts.d.ts +80 -0
- package/dist-package/components/charts.d.ts.map +1 -0
- package/dist-package/components/charts.js +374 -0
- package/dist-package/components/code-block.cjs +1 -0
- package/dist-package/components/code-block.d.ts +7 -0
- package/dist-package/components/code-block.d.ts.map +1 -0
- package/dist-package/components/code-block.js +47 -0
- package/dist-package/components/column-chart.cjs +1 -0
- package/dist-package/components/column-chart.d.ts +18 -0
- package/dist-package/components/column-chart.d.ts.map +1 -0
- package/dist-package/components/column-chart.js +89 -0
- package/dist-package/components/combobox.cjs +1 -0
- package/dist-package/components/combobox.d.ts +24 -0
- package/dist-package/components/combobox.d.ts.map +1 -0
- package/dist-package/components/combobox.js +111 -0
- package/dist-package/components/confirm-dialog.cjs +1 -0
- package/dist-package/components/confirm-dialog.d.ts +17 -0
- package/dist-package/components/confirm-dialog.d.ts.map +1 -0
- package/dist-package/components/confirm-dialog.js +44 -0
- package/dist-package/components/count-to.cjs +1 -0
- package/dist-package/components/count-to.d.ts +13 -0
- package/dist-package/components/count-to.d.ts.map +1 -0
- package/dist-package/components/count-to.js +36 -0
- package/dist-package/components/cursor-pagination.cjs +1 -0
- package/dist-package/components/cursor-pagination.d.ts +11 -0
- package/dist-package/components/cursor-pagination.d.ts.map +1 -0
- package/dist-package/components/cursor-pagination.js +39 -0
- package/dist-package/components/data-table.cjs +1 -0
- package/dist-package/components/data-table.d.ts +69 -0
- package/dist-package/components/data-table.d.ts.map +1 -0
- package/dist-package/components/data-table.js +377 -0
- package/dist-package/components/descriptions.cjs +1 -0
- package/dist-package/components/descriptions.d.ts +16 -0
- package/dist-package/components/descriptions.d.ts.map +1 -0
- package/dist-package/components/descriptions.js +28 -0
- package/dist-package/components/editable-table.cjs +1 -0
- package/dist-package/components/editable-table.d.ts +27 -0
- package/dist-package/components/editable-table.d.ts.map +1 -0
- package/dist-package/components/editable-table.js +212 -0
- package/dist-package/components/filter-presets.cjs +1 -0
- package/dist-package/components/filter-presets.d.ts +11 -0
- package/dist-package/components/filter-presets.d.ts.map +1 -0
- package/dist-package/components/filter-presets.js +17 -0
- package/dist-package/components/fixed-bar.cjs +1 -0
- package/dist-package/components/fixed-bar.d.ts +11 -0
- package/dist-package/components/fixed-bar.d.ts.map +1 -0
- package/dist-package/components/fixed-bar.js +18 -0
- package/dist-package/components/image-preview.cjs +1 -0
- package/dist-package/components/image-preview.d.ts +14 -0
- package/dist-package/components/image-preview.d.ts.map +1 -0
- package/dist-package/components/image-preview.js +166 -0
- package/dist-package/components/layout-container.cjs +1 -0
- package/dist-package/components/layout-container.d.ts +17 -0
- package/dist-package/components/layout-container.d.ts.map +1 -0
- package/dist-package/components/layout-container.js +85 -0
- package/dist-package/components/mention.cjs +1 -0
- package/dist-package/components/mention.d.ts +20 -0
- package/dist-package/components/mention.d.ts.map +1 -0
- package/dist-package/components/mention.js +126 -0
- package/dist-package/components/multi-select.cjs +1 -0
- package/dist-package/components/multi-select.d.ts +17 -0
- package/dist-package/components/multi-select.d.ts.map +1 -0
- package/dist-package/components/multi-select.js +126 -0
- package/dist-package/components/multi-step-loader.cjs +1 -0
- package/dist-package/components/multi-step-loader.d.ts +18 -0
- package/dist-package/components/multi-step-loader.d.ts.map +1 -0
- package/dist-package/components/multi-step-loader.js +38 -0
- package/dist-package/components/page-button.cjs +1 -0
- package/dist-package/components/page-button.d.ts +6 -0
- package/dist-package/components/page-button.d.ts.map +1 -0
- package/dist-package/components/page-button.js +24 -0
- package/dist-package/components/page-pager.cjs +1 -0
- package/dist-package/components/page-pager.d.ts +11 -0
- package/dist-package/components/page-pager.d.ts.map +1 -0
- package/dist-package/components/page-pager.js +51 -0
- package/dist-package/components/page.cjs +1 -0
- package/dist-package/components/page.d.ts +34 -0
- package/dist-package/components/page.d.ts.map +1 -0
- package/dist-package/components/page.js +208 -0
- package/dist-package/components/pagination-bar.cjs +1 -0
- package/dist-package/components/pagination-bar.d.ts +8 -0
- package/dist-package/components/pagination-bar.d.ts.map +1 -0
- package/dist-package/components/pagination-bar.js +23 -0
- package/dist-package/components/password-strength.cjs +1 -0
- package/dist-package/components/password-strength.d.ts +11 -0
- package/dist-package/components/password-strength.d.ts.map +1 -0
- package/dist-package/components/password-strength.js +70 -0
- package/dist-package/components/rate.cjs +1 -0
- package/dist-package/components/rate.d.ts +13 -0
- package/dist-package/components/rate.d.ts.map +1 -0
- package/dist-package/components/rate.js +56 -0
- package/dist-package/components/resizable-panel.cjs +1 -0
- package/dist-package/components/resizable-panel.d.ts +15 -0
- package/dist-package/components/resizable-panel.d.ts.map +1 -0
- package/dist-package/components/resizable-panel.js +56 -0
- package/dist-package/components/search-filters.cjs +1 -0
- package/dist-package/components/search-filters.d.ts +31 -0
- package/dist-package/components/search-filters.d.ts.map +1 -0
- package/dist-package/components/search-filters.js +110 -0
- package/dist-package/components/sortable-list.cjs +1 -0
- package/dist-package/components/sortable-list.d.ts +14 -0
- package/dist-package/components/sortable-list.d.ts.map +1 -0
- package/dist-package/components/sortable-list.js +48 -0
- package/dist-package/components/sparkline.cjs +1 -0
- package/dist-package/components/sparkline.d.ts +11 -0
- package/dist-package/components/sparkline.d.ts.map +1 -0
- package/dist-package/components/sparkline.js +50 -0
- package/dist-package/components/status-badge.cjs +1 -0
- package/dist-package/components/status-badge.d.ts +4 -0
- package/dist-package/components/status-badge.d.ts.map +1 -0
- package/dist-package/components/status-badge.js +28 -0
- package/dist-package/components/steps.cjs +1 -0
- package/dist-package/components/steps.d.ts +15 -0
- package/dist-package/components/steps.d.ts.map +1 -0
- package/dist-package/components/steps.js +41 -0
- package/dist-package/components/storage-box.cjs +1 -0
- package/dist-package/components/storage-box.d.ts +19 -0
- package/dist-package/components/storage-box.d.ts.map +1 -0
- package/dist-package/components/storage-box.js +153 -0
- package/dist-package/components/table-cell-overflow.cjs +1 -0
- package/dist-package/components/table-cell-overflow.d.ts +5 -0
- package/dist-package/components/table-cell-overflow.d.ts.map +1 -0
- package/dist-package/components/table-cell-overflow.js +31 -0
- package/dist-package/components/table-toolbar.cjs +1 -0
- package/dist-package/components/table-toolbar.d.ts +5 -0
- package/dist-package/components/table-toolbar.d.ts.map +1 -0
- package/dist-package/components/table-toolbar.js +11 -0
- package/dist-package/components/timeline.cjs +1 -0
- package/dist-package/components/timeline.d.ts +14 -0
- package/dist-package/components/timeline.d.ts.map +1 -0
- package/dist-package/components/timeline.js +40 -0
- package/dist-package/components/transfer.cjs +1 -0
- package/dist-package/components/transfer.d.ts +18 -0
- package/dist-package/components/transfer.d.ts.map +1 -0
- package/dist-package/components/transfer.js +98 -0
- package/dist-package/components/tree-table.cjs +1 -0
- package/dist-package/components/tree-table.d.ts +23 -0
- package/dist-package/components/tree-table.d.ts.map +1 -0
- package/dist-package/components/tree-table.js +53 -0
- package/dist-package/components/tree.cjs +1 -0
- package/dist-package/components/tree.d.ts +36 -0
- package/dist-package/components/tree.d.ts.map +1 -0
- package/dist-package/components/tree.js +204 -0
- package/dist-package/components/trend.cjs +1 -0
- package/dist-package/components/trend.d.ts +19 -0
- package/dist-package/components/trend.d.ts.map +1 -0
- package/dist-package/components/trend.js +18 -0
- package/dist-package/components/ui/alert-dialog.cjs +1 -0
- package/dist-package/components/ui/alert-dialog.js +57 -0
- package/dist-package/components/ui/alert.cjs +1 -0
- package/dist-package/components/ui/alert.js +63 -0
- package/dist-package/components/ui/avatar.cjs +1 -0
- package/dist-package/components/ui/avatar.js +27 -0
- package/dist-package/components/ui/badge.cjs +1 -0
- package/dist-package/components/ui/badge.js +40 -0
- package/dist-package/components/ui/breadcrumb.cjs +1 -0
- package/dist-package/components/ui/breadcrumb.js +70 -0
- package/dist-package/components/ui/button.cjs +1 -0
- package/dist-package/components/ui/button.js +58 -0
- package/dist-package/components/ui/card.cjs +1 -0
- package/dist-package/components/ui/card.js +55 -0
- package/dist-package/components/ui/checkbox.cjs +1 -0
- package/dist-package/components/ui/checkbox.js +19 -0
- package/dist-package/components/ui/collapsible.cjs +1 -0
- package/dist-package/components/ui/collapsible.js +32 -0
- package/dist-package/components/ui/context-menu.cjs +1 -0
- package/dist-package/components/ui/context-menu.js +46 -0
- package/dist-package/components/ui/date-input.cjs +1 -0
- package/dist-package/components/ui/date-input.js +183 -0
- package/dist-package/components/ui/date-range-input.cjs +1 -0
- package/dist-package/components/ui/date-range-input.js +209 -0
- package/dist-package/components/ui/date-time-input.cjs +1 -0
- package/dist-package/components/ui/date-time-input.js +23 -0
- package/dist-package/components/ui/dialog.cjs +1 -0
- package/dist-package/components/ui/dialog.js +189 -0
- package/dist-package/components/ui/dropdown-menu.cjs +1 -0
- package/dist-package/components/ui/dropdown-menu.js +124 -0
- package/dist-package/components/ui/file-upload.cjs +1 -0
- package/dist-package/components/ui/file-upload.js +160 -0
- package/dist-package/components/ui/hover-card.cjs +1 -0
- package/dist-package/components/ui/hover-card.js +28 -0
- package/dist-package/components/ui/input-otp.cjs +1 -0
- package/dist-package/components/ui/input-otp.js +33 -0
- package/dist-package/components/ui/input.cjs +1 -0
- package/dist-package/components/ui/input.js +65 -0
- package/dist-package/components/ui/kbd.cjs +1 -0
- package/dist-package/components/ui/kbd.js +20 -0
- package/dist-package/components/ui/label.cjs +1 -0
- package/dist-package/components/ui/label.js +14 -0
- package/dist-package/components/ui/native-select.cjs +1 -0
- package/dist-package/components/ui/native-select.js +125 -0
- package/dist-package/components/ui/number-field.cjs +1 -0
- package/dist-package/components/ui/number-field.js +50 -0
- package/dist-package/components/ui/progress.cjs +1 -0
- package/dist-package/components/ui/progress.js +28 -0
- package/dist-package/components/ui/radio-group.cjs +1 -0
- package/dist-package/components/ui/radio-group.js +27 -0
- package/dist-package/components/ui/scroll-area.cjs +1 -0
- package/dist-package/components/ui/scroll-area.js +25 -0
- package/dist-package/components/ui/select.cjs +1 -0
- package/dist-package/components/ui/select.js +23 -0
- package/dist-package/components/ui/separator.cjs +1 -0
- package/dist-package/components/ui/separator.js +17 -0
- package/dist-package/components/ui/sheet.cjs +1 -0
- package/dist-package/components/ui/sheet.js +86 -0
- package/dist-package/components/ui/sidebar.cjs +1 -0
- package/dist-package/components/ui/sidebar.js +350 -0
- package/dist-package/components/ui/skeleton.cjs +1 -0
- package/dist-package/components/ui/skeleton.js +12 -0
- package/dist-package/components/ui/slider.cjs +1 -0
- package/dist-package/components/ui/slider.js +36 -0
- package/dist-package/components/ui/switch.cjs +1 -0
- package/dist-package/components/ui/switch.js +14 -0
- package/dist-package/components/ui/table.cjs +1 -0
- package/dist-package/components/ui/table.js +66 -0
- package/dist-package/components/ui/tabs.cjs +1 -0
- package/dist-package/components/ui/tabs.js +47 -0
- package/dist-package/components/ui/tag-variants.cjs +1 -0
- package/dist-package/components/ui/tag-variants.js +15 -0
- package/dist-package/components/ui/tag.cjs +1 -0
- package/dist-package/components/ui/tag.js +31 -0
- package/dist-package/components/ui/textarea.cjs +1 -0
- package/dist-package/components/ui/textarea.js +13 -0
- package/dist-package/components/ui/time-input.cjs +1 -0
- package/dist-package/components/ui/time-input.js +89 -0
- package/dist-package/components/ui/tooltip.cjs +1 -0
- package/dist-package/components/ui/tooltip.js +35 -0
- package/dist-package/hooks/use-mobile.cjs +1 -0
- package/dist-package/hooks/use-mobile.js +11 -0
- package/dist-package/lib/dialog-focus.cjs +1 -0
- package/dist-package/lib/dialog-focus.js +10 -0
- package/dist-package/lib/metrics.cjs +1 -0
- package/dist-package/lib/metrics.d.ts +18 -0
- package/dist-package/lib/metrics.d.ts.map +1 -0
- package/dist-package/lib/metrics.js +22 -0
- package/dist-package/lib/pager.cjs +1 -0
- package/dist-package/lib/pager.d.ts +8 -0
- package/dist-package/lib/pager.d.ts.map +1 -0
- package/dist-package/lib/pager.js +18 -0
- package/dist-package/lib/password.cjs +1 -0
- package/dist-package/lib/password.d.ts +14 -0
- package/dist-package/lib/password.d.ts.map +1 -0
- package/dist-package/lib/password.js +34 -0
- package/dist-package/lib/presets.cjs +1 -0
- package/dist-package/lib/presets.d.ts +25 -0
- package/dist-package/lib/presets.d.ts.map +1 -0
- package/dist-package/lib/presets.js +48 -0
- package/dist-package/lib/range.cjs +1 -0
- package/dist-package/lib/range.js +57 -0
- package/dist-package/lib/storage-key.cjs +1 -0
- package/dist-package/lib/storage-key.d.ts +2 -0
- package/dist-package/lib/storage-key.d.ts.map +1 -0
- package/dist-package/lib/storage-key.js +6 -0
- package/dist-package/lib/table-prefs.cjs +1 -0
- package/dist-package/lib/table-prefs.d.ts +17 -0
- package/dist-package/lib/table-prefs.d.ts.map +1 -0
- package/dist-package/lib/table-prefs.js +64 -0
- package/dist-package/lib/tree.cjs +1 -0
- package/dist-package/lib/tree.d.ts +37 -0
- package/dist-package/lib/tree.d.ts.map +1 -0
- package/dist-package/lib/tree.js +57 -0
- package/dist-package/lib/use-ui-translation.cjs +1 -0
- package/dist-package/lib/use-ui-translation.d.ts +15 -0
- package/dist-package/lib/use-ui-translation.d.ts.map +1 -0
- package/dist-package/lib/use-ui-translation.js +65 -0
- package/dist-package/lib/utils.cjs +1 -0
- package/dist-package/lib/utils.js +8 -0
- package/dist-package/styles.css +1 -1
- package/package.json +25 -15
- package/dist-package/index.js +0 -12212
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { buttonVariants as t } from "./button.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { AlertDialog as n } from "radix-ui";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/ui/alert-dialog.tsx
|
|
7
|
+
var a = n.Root, o = n.Trigger, s = n.Portal;
|
|
8
|
+
function c({ className: t, ...i }) {
|
|
9
|
+
return /* @__PURE__ */ r(n.Overlay, {
|
|
10
|
+
className: e("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", t),
|
|
11
|
+
...i
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function l({ className: t, ...a }) {
|
|
15
|
+
return /* @__PURE__ */ i(s, { children: [/* @__PURE__ */ r(c, {}), /* @__PURE__ */ r(n.Content, {
|
|
16
|
+
className: e("fixed left-1/2 top-1/2 z-50 grid w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl border bg-background p-6 shadow-lg", t),
|
|
17
|
+
...a
|
|
18
|
+
})] });
|
|
19
|
+
}
|
|
20
|
+
function u({ className: t, ...n }) {
|
|
21
|
+
return /* @__PURE__ */ r("div", {
|
|
22
|
+
className: e("flex flex-col gap-2 text-center sm:text-left", t),
|
|
23
|
+
...n
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function d({ className: t, ...n }) {
|
|
27
|
+
return /* @__PURE__ */ r("div", {
|
|
28
|
+
className: e("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t),
|
|
29
|
+
...n
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function f({ className: t, ...i }) {
|
|
33
|
+
return /* @__PURE__ */ r(n.Title, {
|
|
34
|
+
className: e("text-lg font-semibold", t),
|
|
35
|
+
...i
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function p({ className: t, ...i }) {
|
|
39
|
+
return /* @__PURE__ */ r(n.Description, {
|
|
40
|
+
className: e("text-sm leading-6 text-muted-foreground", t),
|
|
41
|
+
...i
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function m({ className: i, ...a }) {
|
|
45
|
+
return /* @__PURE__ */ r(n.Action, {
|
|
46
|
+
className: e(t({ variant: "destructive" }), i),
|
|
47
|
+
...a
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function h({ className: i, ...a }) {
|
|
51
|
+
return /* @__PURE__ */ r(n.Cancel, {
|
|
52
|
+
className: e(t({ variant: "outline" }), i),
|
|
53
|
+
...a
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { a as AlertDialog, m as AlertDialogAction, h as AlertDialogCancel, l as AlertDialogContent, p as AlertDialogDescription, d as AlertDialogFooter, u as AlertDialogHeader, f as AlertDialogTitle, o as AlertDialogTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs"),t=require("../../lib/use-ui-translation.cjs");let n=require("class-variance-authority"),r=require("lucide-react"),i=require("react/jsx-runtime");var a=(0,n.cva)(`relative flex items-start gap-3 rounded-lg border px-4 py-3 text-sm [&>svg]:mt-0.5 [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{info:`border-info/25 bg-info-soft text-info`,success:`border-success/25 bg-success-soft text-success`,warning:`border-warning/25 bg-warning-soft text-warning`,danger:`border-danger/25 bg-danger-soft text-danger`}},defaultVariants:{variant:`info`}}),o={info:r.Info,success:r.CircleCheck,warning:r.TriangleAlert,danger:r.AlertCircle};function s({className:n,variant:r=`info`,title:s,description:c,action:l,onClose:u,children:d,...f}){let{t:p}=t.useUiTranslation(),m=o[r??`info`];return(0,i.jsxs)(`div`,{"data-slot":`alert`,"data-variant":r,role:`alert`,className:e.cn(a({variant:r}),n),...f,children:[(0,i.jsx)(m,{"aria-hidden":`true`}),(0,i.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s&&(0,i.jsx)(`p`,{className:`font-medium`,children:s}),c&&(0,i.jsx)(`p`,{className:e.cn(`leading-6 text-foreground`,s&&`mt-1`),children:c}),d,l&&(0,i.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:l})]}),u&&(0,i.jsx)(`button`,{type:`button`,"aria-label":p(`close`),className:`-mr-1 -mt-1 rounded p-1 text-muted-foreground hover:bg-black/5 hover:text-foreground`,onClick:u,children:(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`×`})})]})}exports.Alert=s,exports.alertVariants=a;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { useUiTranslation as t } from "../../lib/use-ui-translation.js";
|
|
3
|
+
import { cva as n } from "class-variance-authority";
|
|
4
|
+
import { AlertCircle as r, CircleCheck as i, Info as a, TriangleAlert as o } from "lucide-react";
|
|
5
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/ui/alert.tsx
|
|
7
|
+
var l = n("relative flex items-start gap-3 rounded-lg border px-4 py-3 text-sm [&>svg]:mt-0.5 [&>svg]:size-4 [&>svg]:shrink-0", {
|
|
8
|
+
variants: { variant: {
|
|
9
|
+
info: "border-info/25 bg-info-soft text-info",
|
|
10
|
+
success: "border-success/25 bg-success-soft text-success",
|
|
11
|
+
warning: "border-warning/25 bg-warning-soft text-warning",
|
|
12
|
+
danger: "border-danger/25 bg-danger-soft text-danger"
|
|
13
|
+
} },
|
|
14
|
+
defaultVariants: { variant: "info" }
|
|
15
|
+
}), u = {
|
|
16
|
+
info: a,
|
|
17
|
+
success: i,
|
|
18
|
+
warning: o,
|
|
19
|
+
danger: r
|
|
20
|
+
};
|
|
21
|
+
function d({ className: n, variant: r = "info", title: i, description: a, action: o, onClose: d, children: f, ...p }) {
|
|
22
|
+
let { t: m } = t(), h = u[r ?? "info"];
|
|
23
|
+
return /* @__PURE__ */ c("div", {
|
|
24
|
+
"data-slot": "alert",
|
|
25
|
+
"data-variant": r,
|
|
26
|
+
role: "alert",
|
|
27
|
+
className: e(l({ variant: r }), n),
|
|
28
|
+
...p,
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ s(h, { "aria-hidden": "true" }),
|
|
31
|
+
/* @__PURE__ */ c("div", {
|
|
32
|
+
className: "min-w-0 flex-1",
|
|
33
|
+
children: [
|
|
34
|
+
i && /* @__PURE__ */ s("p", {
|
|
35
|
+
className: "font-medium",
|
|
36
|
+
children: i
|
|
37
|
+
}),
|
|
38
|
+
a && /* @__PURE__ */ s("p", {
|
|
39
|
+
className: e("leading-6 text-foreground", i && "mt-1"),
|
|
40
|
+
children: a
|
|
41
|
+
}),
|
|
42
|
+
f,
|
|
43
|
+
o && /* @__PURE__ */ s("div", {
|
|
44
|
+
className: "mt-2 flex flex-wrap items-center gap-2",
|
|
45
|
+
children: o
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
}),
|
|
49
|
+
d && /* @__PURE__ */ s("button", {
|
|
50
|
+
type: "button",
|
|
51
|
+
"aria-label": m("close"),
|
|
52
|
+
className: "-mr-1 -mt-1 rounded p-1 text-muted-foreground hover:bg-black/5 hover:text-foreground",
|
|
53
|
+
onClick: d,
|
|
54
|
+
children: /* @__PURE__ */ s("span", {
|
|
55
|
+
"aria-hidden": "true",
|
|
56
|
+
children: "×"
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { d as Alert, l as alertVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("radix-ui"),n=require("react/jsx-runtime");var r={sm:`size-7 text-xs`,default:`size-9 text-sm`,lg:`size-12 text-base`};function i({src:i,name:a,size:o=`default`,className:s}){let c=a.trim().slice(0,1).toUpperCase();return(0,n.jsxs)(t.Avatar.Root,{"data-slot":`avatar`,className:e.cn(`inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-primary/12 font-medium text-primary`,r[o],s),children:[i&&(0,n.jsx)(t.Avatar.Image,{src:i,alt:a,className:`size-full object-cover`}),(0,n.jsx)(t.Avatar.Fallback,{delayMs:i?300:0,className:`flex size-full items-center justify-center`,children:c})]})}exports.Avatar=i;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { Avatar as t } from "radix-ui";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/ui/avatar.tsx
|
|
5
|
+
var i = {
|
|
6
|
+
sm: "size-7 text-xs",
|
|
7
|
+
default: "size-9 text-sm",
|
|
8
|
+
lg: "size-12 text-base"
|
|
9
|
+
};
|
|
10
|
+
function a({ src: a, name: o, size: s = "default", className: c }) {
|
|
11
|
+
let l = o.trim().slice(0, 1).toUpperCase();
|
|
12
|
+
return /* @__PURE__ */ r(t.Root, {
|
|
13
|
+
"data-slot": "avatar",
|
|
14
|
+
className: e("inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-primary/12 font-medium text-primary", i[s], c),
|
|
15
|
+
children: [a && /* @__PURE__ */ n(t.Image, {
|
|
16
|
+
src: a,
|
|
17
|
+
alt: o,
|
|
18
|
+
className: "size-full object-cover"
|
|
19
|
+
}), /* @__PURE__ */ n(t.Fallback, {
|
|
20
|
+
delayMs: a ? 300 : 0,
|
|
21
|
+
className: "flex size-full items-center justify-center",
|
|
22
|
+
children: l
|
|
23
|
+
})]
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { a as Avatar };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("radix-ui"),i=require("class-variance-authority"),a=require("react/jsx-runtime");var o=(0,i.cva)(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:`bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,ghost:`[a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,link:`text-primary underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function s({className:e,variant:n=`default`,asChild:i=!1,onClose:s,closeLabel:c,...l}){let u=i?r.Slot.Root:`span`;return(0,a.jsxs)(u,{"data-slot":`badge`,"data-variant":n,className:t.cn(o({variant:n}),e),...l,children:[l.children,s&&(0,a.jsx)(`button`,{type:`button`,"aria-label":c??`remove`,className:`-mr-0.5 ml-0.5 rounded-full p-0.5 hover:bg-black/10 dark:hover:bg-white/15`,onClick:e=>{e.stopPropagation(),s()},children:(0,a.jsx)(`span`,{"aria-hidden":`true`,children:`×`})})]})}exports.Badge=s,exports.badgeVariants=o;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Slot as t } from "radix-ui";
|
|
4
|
+
import { cva as n } from "class-variance-authority";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/ui/badge.tsx
|
|
7
|
+
var a = n("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3", {
|
|
8
|
+
variants: { variant: {
|
|
9
|
+
default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
10
|
+
secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
11
|
+
destructive: "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
|
|
12
|
+
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
13
|
+
ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
14
|
+
link: "text-primary underline-offset-4 [a&]:hover:underline"
|
|
15
|
+
} },
|
|
16
|
+
defaultVariants: { variant: "default" }
|
|
17
|
+
});
|
|
18
|
+
function o({ className: n, variant: o = "default", asChild: s = !1, onClose: c, closeLabel: l, ...u }) {
|
|
19
|
+
let d = s ? t.Root : "span";
|
|
20
|
+
return /* @__PURE__ */ i(d, {
|
|
21
|
+
"data-slot": "badge",
|
|
22
|
+
"data-variant": o,
|
|
23
|
+
className: e(a({ variant: o }), n),
|
|
24
|
+
...u,
|
|
25
|
+
children: [u.children, c && /* @__PURE__ */ r("button", {
|
|
26
|
+
type: "button",
|
|
27
|
+
"aria-label": l ?? "remove",
|
|
28
|
+
className: "-mr-0.5 ml-0.5 rounded-full p-0.5 hover:bg-black/10 dark:hover:bg-white/15",
|
|
29
|
+
onClick: (e) => {
|
|
30
|
+
e.stopPropagation(), c();
|
|
31
|
+
},
|
|
32
|
+
children: /* @__PURE__ */ r("span", {
|
|
33
|
+
"aria-hidden": "true",
|
|
34
|
+
children: "×"
|
|
35
|
+
})
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { o as Badge, a as badgeVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("radix-ui"),i=require("lucide-react"),a=require("react/jsx-runtime");function o({...e}){return(0,a.jsx)(`nav`,{"aria-label":`breadcrumb`,"data-slot":`breadcrumb`,...e})}function s({className:e,...n}){return(0,a.jsx)(`ol`,{"data-slot":`breadcrumb-list`,className:t.cn(`flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5`,e),...n})}function c({className:e,...n}){return(0,a.jsx)(`li`,{"data-slot":`breadcrumb-item`,className:t.cn(`inline-flex items-center gap-1.5`,e),...n})}function l({asChild:e,className:n,...i}){let o=e?r.Slot.Root:`a`;return(0,a.jsx)(o,{"data-slot":`breadcrumb-link`,className:t.cn(`transition-colors hover:text-foreground`,n),...i})}function u({className:e,...n}){return(0,a.jsx)(`span`,{"data-slot":`breadcrumb-page`,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:t.cn(`font-normal text-foreground`,e),...n})}function d({children:e,className:n,...r}){return(0,a.jsx)(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:t.cn(`[&>svg]:size-3.5`,n),...r,children:e??(0,a.jsx)(i.ChevronRight,{})})}function f({className:e,...n}){return(0,a.jsxs)(`span`,{"data-slot":`breadcrumb-ellipsis`,role:`presentation`,"aria-hidden":`true`,className:t.cn(`flex size-9 items-center justify-center`,e),...n,children:[(0,a.jsx)(i.MoreHorizontal,{className:`size-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:`More`})]})}exports.Breadcrumb=o,exports.BreadcrumbEllipsis=f,exports.BreadcrumbItem=c,exports.BreadcrumbLink=l,exports.BreadcrumbList=s,exports.BreadcrumbPage=u,exports.BreadcrumbSeparator=d;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Slot as t } from "radix-ui";
|
|
4
|
+
import { ChevronRight as n, MoreHorizontal as r } from "lucide-react";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/ui/breadcrumb.tsx
|
|
7
|
+
function o({ ...e }) {
|
|
8
|
+
return /* @__PURE__ */ i("nav", {
|
|
9
|
+
"aria-label": "breadcrumb",
|
|
10
|
+
"data-slot": "breadcrumb",
|
|
11
|
+
...e
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function s({ className: t, ...n }) {
|
|
15
|
+
return /* @__PURE__ */ i("ol", {
|
|
16
|
+
"data-slot": "breadcrumb-list",
|
|
17
|
+
className: e("flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5", t),
|
|
18
|
+
...n
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function c({ className: t, ...n }) {
|
|
22
|
+
return /* @__PURE__ */ i("li", {
|
|
23
|
+
"data-slot": "breadcrumb-item",
|
|
24
|
+
className: e("inline-flex items-center gap-1.5", t),
|
|
25
|
+
...n
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function l({ asChild: n, className: r, ...a }) {
|
|
29
|
+
let o = n ? t.Root : "a";
|
|
30
|
+
return /* @__PURE__ */ i(o, {
|
|
31
|
+
"data-slot": "breadcrumb-link",
|
|
32
|
+
className: e("transition-colors hover:text-foreground", r),
|
|
33
|
+
...a
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function u({ className: t, ...n }) {
|
|
37
|
+
return /* @__PURE__ */ i("span", {
|
|
38
|
+
"data-slot": "breadcrumb-page",
|
|
39
|
+
role: "link",
|
|
40
|
+
"aria-disabled": "true",
|
|
41
|
+
"aria-current": "page",
|
|
42
|
+
className: e("font-normal text-foreground", t),
|
|
43
|
+
...n
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function d({ children: t, className: r, ...a }) {
|
|
47
|
+
return /* @__PURE__ */ i("li", {
|
|
48
|
+
"data-slot": "breadcrumb-separator",
|
|
49
|
+
role: "presentation",
|
|
50
|
+
"aria-hidden": "true",
|
|
51
|
+
className: e("[&>svg]:size-3.5", r),
|
|
52
|
+
...a,
|
|
53
|
+
children: t ?? /* @__PURE__ */ i(n, {})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function f({ className: t, ...n }) {
|
|
57
|
+
return /* @__PURE__ */ a("span", {
|
|
58
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
59
|
+
role: "presentation",
|
|
60
|
+
"aria-hidden": "true",
|
|
61
|
+
className: e("flex size-9 items-center justify-center", t),
|
|
62
|
+
...n,
|
|
63
|
+
children: [/* @__PURE__ */ i(r, { className: "size-4" }), /* @__PURE__ */ i("span", {
|
|
64
|
+
className: "sr-only",
|
|
65
|
+
children: "More"
|
|
66
|
+
})]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//#endregion
|
|
70
|
+
export { o as Breadcrumb, f as BreadcrumbEllipsis, c as BreadcrumbItem, l as BreadcrumbLink, s as BreadcrumbList, u as BreadcrumbPage, d as BreadcrumbSeparator };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("radix-ui"),i=require("class-variance-authority"),a=require("lucide-react"),o=require("react/jsx-runtime");var s=(0,i.cva)(`inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,background-color,border-color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40`,warning:`bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:focus-visible:ring-warning/40`,success:`bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:focus-visible:ring-success/40`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,xs:`h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-xs":`size-6 rounded-md [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function c({className:e,variant:n=`default`,size:i=`default`,asChild:c=!1,loading:l=!1,disabled:u,children:d,...f}){let p=c?r.Slot.Root:`button`,m=c?d:(0,o.jsxs)(o.Fragment,{children:[l&&(0,o.jsx)(a.LoaderCircle,{"aria-hidden":`true`,className:`size-4 animate-spin`}),d]});return(0,o.jsx)(p,{"data-slot":`button`,"data-variant":n,"data-size":i,"data-loading":l||void 0,"aria-busy":l||void 0,disabled:u||l,className:t.cn(s({variant:n,size:i,className:e})),...f,children:m})}exports.Button=c,exports.buttonVariants=s;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Slot as t } from "radix-ui";
|
|
4
|
+
import { cva as n } from "class-variance-authority";
|
|
5
|
+
import { LoaderCircle as r } from "lucide-react";
|
|
6
|
+
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/ui/button.tsx
|
|
8
|
+
var s = n("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,background-color,border-color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
12
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
13
|
+
warning: "bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:focus-visible:ring-warning/40",
|
|
14
|
+
success: "bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:focus-visible:ring-success/40",
|
|
15
|
+
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
16
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
17
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
18
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
22
|
+
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
23
|
+
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
|
|
24
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
25
|
+
icon: "size-9",
|
|
26
|
+
"icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
27
|
+
"icon-sm": "size-8",
|
|
28
|
+
"icon-lg": "size-10"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
variant: "default",
|
|
33
|
+
size: "default"
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
function c({ className: n, variant: c = "default", size: l = "default", asChild: u = !1, loading: d = !1, disabled: f, children: p, ...m }) {
|
|
37
|
+
let h = u ? t.Root : "button", g = u ? p : /* @__PURE__ */ o(i, { children: [d && /* @__PURE__ */ a(r, {
|
|
38
|
+
"aria-hidden": "true",
|
|
39
|
+
className: "size-4 animate-spin"
|
|
40
|
+
}), p] });
|
|
41
|
+
return /* @__PURE__ */ a(h, {
|
|
42
|
+
"data-slot": "button",
|
|
43
|
+
"data-variant": c,
|
|
44
|
+
"data-size": l,
|
|
45
|
+
"data-loading": d || void 0,
|
|
46
|
+
"aria-busy": d || void 0,
|
|
47
|
+
disabled: f || d,
|
|
48
|
+
className: e(s({
|
|
49
|
+
variant: c,
|
|
50
|
+
size: l,
|
|
51
|
+
className: n
|
|
52
|
+
})),
|
|
53
|
+
...m,
|
|
54
|
+
children: g
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { c as Button, s as buttonVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card`,className:t.cn(`flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm`,e),...n})}function a({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-header`,className:t.cn(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...n})}function o({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-title`,className:t.cn(`leading-none font-semibold`,e),...n})}function s({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-description`,className:t.cn(`text-sm text-muted-foreground`,e),...n})}function c({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-action`,className:t.cn(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...n})}function l({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-content`,className:t.cn(`px-6`,e),...n})}function u({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-footer`,className:t.cn(`flex items-center px-6 [.border-t]:pt-6`,e),...n})}exports.Card=i,exports.CardAction=c,exports.CardContent=l,exports.CardDescription=s,exports.CardFooter=u,exports.CardHeader=a,exports.CardTitle=o;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/ui/card.tsx
|
|
5
|
+
function n({ className: n, ...r }) {
|
|
6
|
+
return /* @__PURE__ */ t("div", {
|
|
7
|
+
"data-slot": "card",
|
|
8
|
+
className: e("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm", n),
|
|
9
|
+
...r
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function r({ className: n, ...r }) {
|
|
13
|
+
return /* @__PURE__ */ t("div", {
|
|
14
|
+
"data-slot": "card-header",
|
|
15
|
+
className: e("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", n),
|
|
16
|
+
...r
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function i({ className: n, ...r }) {
|
|
20
|
+
return /* @__PURE__ */ t("div", {
|
|
21
|
+
"data-slot": "card-title",
|
|
22
|
+
className: e("leading-none font-semibold", n),
|
|
23
|
+
...r
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function a({ className: n, ...r }) {
|
|
27
|
+
return /* @__PURE__ */ t("div", {
|
|
28
|
+
"data-slot": "card-description",
|
|
29
|
+
className: e("text-sm text-muted-foreground", n),
|
|
30
|
+
...r
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function o({ className: n, ...r }) {
|
|
34
|
+
return /* @__PURE__ */ t("div", {
|
|
35
|
+
"data-slot": "card-action",
|
|
36
|
+
className: e("col-start-2 row-span-2 row-start-1 self-start justify-self-end", n),
|
|
37
|
+
...r
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function s({ className: n, ...r }) {
|
|
41
|
+
return /* @__PURE__ */ t("div", {
|
|
42
|
+
"data-slot": "card-content",
|
|
43
|
+
className: e("px-6", n),
|
|
44
|
+
...r
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function c({ className: n, ...r }) {
|
|
48
|
+
return /* @__PURE__ */ t("div", {
|
|
49
|
+
"data-slot": "card-footer",
|
|
50
|
+
className: e("flex items-center px-6 [.border-t]:pt-6", n),
|
|
51
|
+
...r
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { n as Card, o as CardAction, s as CardContent, a as CardDescription, c as CardFooter, r as CardHeader, i as CardTitle };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("radix-ui"),n=require("lucide-react"),r=require("react/jsx-runtime");function i({className:i,indeterminate:a=!1,checked:o,...s}){return(0,r.jsx)(t.Checkbox.Root,{"data-slot":`checkbox`,checked:a?`indeterminate`:o,className:e.cn(`peer size-4 shrink-0 rounded-[4px] border border-input bg-card outline-none`,`focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,`data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`,i),...s,children:(0,r.jsx)(t.Checkbox.Indicator,{className:`flex items-center justify-center text-current`,children:a?(0,r.jsx)(n.Minus,{className:`size-3`}):(0,r.jsx)(n.Check,{className:`size-3`})})})}exports.Checkbox=i;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { Checkbox as t } from "radix-ui";
|
|
3
|
+
import { Check as n, Minus as r } from "lucide-react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/ui/checkbox.tsx
|
|
6
|
+
function a({ className: a, indeterminate: o = !1, checked: s, ...c }) {
|
|
7
|
+
return /* @__PURE__ */ i(t.Root, {
|
|
8
|
+
"data-slot": "checkbox",
|
|
9
|
+
checked: o ? "indeterminate" : s,
|
|
10
|
+
className: e("peer size-4 shrink-0 rounded-[4px] border border-input bg-card outline-none", "focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30", "data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground", "data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground", "disabled:cursor-not-allowed disabled:opacity-50", a),
|
|
11
|
+
...c,
|
|
12
|
+
children: /* @__PURE__ */ i(t.Indicator, {
|
|
13
|
+
className: "flex items-center justify-center text-current",
|
|
14
|
+
children: i(o ? r : n, { className: "size-3" })
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { a as Checkbox };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("radix-ui"),n=require("lucide-react"),r=require("react/jsx-runtime");function i({className:n,...i}){return(0,r.jsx)(t.Collapsible.Root,{"data-slot":`collapsible`,className:e.cn(`space-y-2`,n),...i})}function a({className:i,children:a,...o}){return(0,r.jsxs)(t.Collapsible.Trigger,{"data-slot":`collapsible-trigger`,className:e.cn(`group flex w-full items-center gap-2 rounded-md text-left text-sm font-medium outline-none`,`focus-visible:ring-2 focus-visible:ring-ring/40`,i),...o,children:[(0,r.jsx)(n.ChevronRight,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90`}),a]})}function o({className:n,...i}){return(0,r.jsx)(t.Collapsible.Content,{"data-slot":`collapsible-content`,className:e.cn(`pl-6 text-sm text-muted-foreground`,n),...i})}exports.Collapsible=i,exports.CollapsibleContent=o,exports.CollapsibleTrigger=a;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { Collapsible as t } from "radix-ui";
|
|
3
|
+
import { ChevronRight as n } from "lucide-react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/ui/collapsible.tsx
|
|
6
|
+
function a({ className: n, ...i }) {
|
|
7
|
+
return /* @__PURE__ */ r(t.Root, {
|
|
8
|
+
"data-slot": "collapsible",
|
|
9
|
+
className: e("space-y-2", n),
|
|
10
|
+
...i
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function o({ className: a, children: o, ...s }) {
|
|
14
|
+
return /* @__PURE__ */ i(t.Trigger, {
|
|
15
|
+
"data-slot": "collapsible-trigger",
|
|
16
|
+
className: e("group flex w-full items-center gap-2 rounded-md text-left text-sm font-medium outline-none", "focus-visible:ring-2 focus-visible:ring-ring/40", a),
|
|
17
|
+
...s,
|
|
18
|
+
children: [/* @__PURE__ */ r(n, {
|
|
19
|
+
"aria-hidden": "true",
|
|
20
|
+
className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90"
|
|
21
|
+
}), o]
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function s({ className: n, ...i }) {
|
|
25
|
+
return /* @__PURE__ */ r(t.Content, {
|
|
26
|
+
"data-slot": "collapsible-content",
|
|
27
|
+
className: e("pl-6 text-sm text-muted-foreground", n),
|
|
28
|
+
...i
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { a as Collapsible, s as CollapsibleContent, o as CollapsibleTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("radix-ui"),n=require("react/jsx-runtime");function r(e){return(0,n.jsx)(t.ContextMenu.Root,{"data-slot":`context-menu`,...e})}function i(e){return(0,n.jsx)(t.ContextMenu.Trigger,{"data-slot":`context-menu-trigger`,...e})}function a({className:r,...i}){return(0,n.jsx)(t.ContextMenu.Portal,{children:(0,n.jsx)(t.ContextMenu.Content,{"data-slot":`context-menu-content`,className:e.cn(`z-50 min-w-40 overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-md`,r),...i})})}function o({className:r,...i}){return(0,n.jsx)(t.ContextMenu.Item,{"data-slot":`context-menu-item`,className:e.cn(`relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`[&_svg]:size-4 [&_svg]:shrink-0`,r),...i})}function s({className:r,...i}){return(0,n.jsx)(t.ContextMenu.Separator,{"data-slot":`context-menu-separator`,className:e.cn(`-mx-1 my-1 h-px bg-border`,r),...i})}function c({className:r,...i}){return(0,n.jsx)(t.ContextMenu.Label,{"data-slot":`context-menu-label`,className:e.cn(`px-2 py-1.5 text-xs text-muted-foreground`,r),...i})}exports.ContextMenu=r,exports.ContextMenuContent=a,exports.ContextMenuItem=o,exports.ContextMenuLabel=c,exports.ContextMenuSeparator=s,exports.ContextMenuTrigger=i;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { ContextMenu as t } from "radix-ui";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/ui/context-menu.tsx
|
|
5
|
+
function r(e) {
|
|
6
|
+
return /* @__PURE__ */ n(t.Root, {
|
|
7
|
+
"data-slot": "context-menu",
|
|
8
|
+
...e
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function i(e) {
|
|
12
|
+
return /* @__PURE__ */ n(t.Trigger, {
|
|
13
|
+
"data-slot": "context-menu-trigger",
|
|
14
|
+
...e
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function a({ className: r, ...i }) {
|
|
18
|
+
return /* @__PURE__ */ n(t.Portal, { children: /* @__PURE__ */ n(t.Content, {
|
|
19
|
+
"data-slot": "context-menu-content",
|
|
20
|
+
className: e("z-50 min-w-40 overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-md", r),
|
|
21
|
+
...i
|
|
22
|
+
}) });
|
|
23
|
+
}
|
|
24
|
+
function o({ className: r, ...i }) {
|
|
25
|
+
return /* @__PURE__ */ n(t.Item, {
|
|
26
|
+
"data-slot": "context-menu-item",
|
|
27
|
+
className: e("relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none", "focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", "[&_svg]:size-4 [&_svg]:shrink-0", r),
|
|
28
|
+
...i
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function s({ className: r, ...i }) {
|
|
32
|
+
return /* @__PURE__ */ n(t.Separator, {
|
|
33
|
+
"data-slot": "context-menu-separator",
|
|
34
|
+
className: e("-mx-1 my-1 h-px bg-border", r),
|
|
35
|
+
...i
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function c({ className: r, ...i }) {
|
|
39
|
+
return /* @__PURE__ */ n(t.Label, {
|
|
40
|
+
"data-slot": "context-menu-label",
|
|
41
|
+
className: e("px-2 py-1.5 text-xs text-muted-foreground", r),
|
|
42
|
+
...i
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { r as ContextMenu, a as ContextMenuContent, o as ContextMenuItem, c as ContextMenuLabel, s as ContextMenuSeparator, i as ContextMenuTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../../lib/use-ui-translation.cjs"),r=require("./input.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("radix-ui"),o=require("lucide-react"),s=require("react/jsx-runtime");var c=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,l=e=>{let[t,n,r]=e.slice(0,10).split(`-`).map(Number);return t&&n&&r?new Date(t,n-1,r):new Date};function u({ref:e,className:u,onChange:d,onKeyDown:f,disabled:p,readOnly:m,...h}){let{i18n:g}=n.useUiTranslation(),_=g.language.startsWith(`en`),v=i.useRef(null),y=i.useRef(null),[b,x]=i.useState(!1),[S,C]=i.useState(`day`),[w,T]=i.useState(()=>l(String(h.value??h.defaultValue??``))),[E,D]=i.useState(``),[O,k]=i.useState(``);i.useImperativeHandle(e,()=>v.current);let A=String(h.min??``).slice(0,10),j=String(h.max??``).slice(0,10),M=e=>!!A&&e<A||!!j&&e>j;function N(e){if(e){let e=v.current.value.slice(0,10),t=e||c(new Date);A&&t<A&&(t=A),j&&t>j&&(t=j),T(l(t)),D(t),k(e)}x(e)}i.useEffect(()=>{b&&y.current?.querySelector(`[data-day="${E}"]`)?.focus()},[b,E]);function P(e){let t=v.current,n=e&&h.type===`datetime-local`?`${e}T${t.value.split(`T`)[1]||`00:00`}`:e;Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`).set.call(t,n),t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.dispatchEvent(new Event(`change`,{bubbles:!0})),x(!1)}function F(e){let t=new Date(w.getFullYear(),w.getMonth()+e,1);T(t),D(c(t))}let I=new Date(w.getFullYear(),w.getMonth(),1);I.setDate(1-I.getDay());let L=Array.from({length:42},(e,t)=>new Date(I.getFullYear(),I.getMonth(),I.getDate()+t));return(0,s.jsxs)(a.Popover.Root,{open:b,onOpenChange:N,children:[(0,s.jsxs)(`div`,{className:`relative min-w-0 w-full`,children:[(0,s.jsx)(`input`,{...h,ref:v,disabled:p,readOnly:m,"data-slot":`input`,className:t.cn(r.inputBaseClass,`themed-date-input pr-10`,u),onChange:d,onKeyDown:e=>{f?.(e),!e.defaultPrevented&&e.altKey&&e.key===`ArrowDown`&&!p&&!m&&(e.preventDefault(),N(!0))}}),(0,s.jsx)(a.Popover.Trigger,{asChild:!0,children:(0,s.jsx)(`button`,{type:`button`,disabled:p||m,"aria-label":_?`Choose date`:`选择日期`,className:`absolute right-1 top-1/2 flex size-8 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50`,children:(0,s.jsx)(o.CalendarDays,{className:`size-4`})})})]}),(0,s.jsx)(a.Popover.Portal,{children:(0,s.jsxs)(a.Popover.Content,{ref:y,sideOffset:4,align:`start`,"aria-label":_?`Calendar`:`日历`,onOpenAutoFocus:e=>{e.preventDefault(),y.current?.querySelector(`[data-day="${E}"]`)?.focus()},className:`z-50 w-72 max-w-[calc(100vw-2rem)] rounded-xl border bg-popover p-3 text-popover-foreground shadow-md`,children:[(0,s.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":_?`Previous month`:`上个月`,onClick:()=>F(-1),className:`flex size-8 items-center justify-center rounded-md hover:bg-accent`,children:(0,s.jsx)(o.ChevronLeft,{className:`size-4`})}),(0,s.jsx)(`button`,{type:`button`,"aria-label":_?`Switch to month or year view`:`切换到月/年视图`,className:`rounded-md px-2 py-1 text-sm font-medium hover:bg-accent`,onClick:()=>C(S===`day`?`month`:S===`month`?`year`:`day`),children:new Intl.DateTimeFormat(g.language,{year:`numeric`,month:`long`}).format(w)}),(0,s.jsx)(`button`,{type:`button`,"aria-label":_?`Next month`:`下个月`,onClick:()=>F(1),className:`flex size-8 items-center justify-center rounded-md hover:bg-accent`,children:(0,s.jsx)(o.ChevronRight,{className:`size-4`})})]}),S===`month`&&(0,s.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Array.from({length:12},(e,t)=>t).map(e=>(0,s.jsx)(`button`,{type:`button`,className:t.cn(`rounded-md px-2 py-2 text-sm hover:bg-accent`,w.getMonth()===e&&`bg-primary/10 text-primary`),onClick:()=>{T(new Date(w.getFullYear(),e,1)),C(`day`)},children:new Intl.DateTimeFormat(g.language,{month:`short`}).format(new Date(w.getFullYear(),e,1))},e))}),S===`year`&&(0,s.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Array.from({length:12},(e,t)=>w.getFullYear()-6+t).map(e=>(0,s.jsx)(`button`,{type:`button`,className:t.cn(`rounded-md px-2 py-2 text-sm hover:bg-accent`,w.getFullYear()===e&&`bg-primary/10 text-primary`),onClick:()=>{T(new Date(e,w.getMonth(),1)),C(`month`)},children:e},e))}),S===`day`&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`div`,{className:`grid grid-cols-7 text-center text-xs text-muted-foreground`,children:L.slice(0,7).map(e=>(0,s.jsx)(`span`,{className:`py-2`,children:new Intl.DateTimeFormat(g.language,{weekday:`narrow`}).format(e)},c(e)))}),(0,s.jsx)(`div`,{className:`grid grid-cols-7 gap-0.5`,onKeyDown:e=>{let t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.key];if(t===void 0)return;e.preventDefault();let n=l(E);n.setDate(n.getDate()+t);let r=c(n);M(r)||(T(n),D(r))},children:L.map(e=>{let n=c(e);return(0,s.jsx)(`button`,{type:`button`,"data-day":n,tabIndex:n===E?0:-1,"aria-label":n,"aria-pressed":O===n,"aria-current":n===c(new Date)?`date`:void 0,disabled:M(n),onClick:()=>P(n),className:t.cn(`h-8 rounded-md text-sm hover:bg-accent hover:text-accent-foreground disabled:opacity-30`,e.getMonth()!==w.getMonth()&&`text-muted-foreground`,O===n&&`bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground`),children:e.getDate()},n)})})]}),(0,s.jsxs)(`div`,{className:`mt-2 flex justify-between border-t pt-2`,children:[(0,s.jsx)(`button`,{type:`button`,onClick:()=>P(``),className:`rounded-md px-2 py-1 text-sm text-muted-foreground hover:bg-accent`,children:_?`Clear`:`清除`}),(0,s.jsx)(`button`,{type:`button`,disabled:M(c(new Date)),onClick:()=>P(c(new Date)),className:`rounded-md px-2 py-1 text-sm text-primary hover:bg-accent disabled:opacity-30`,children:_?`Today`:`今天`})]})]})})]})}exports.DateInput=u;
|