@demokit-ui/demokit 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/app/demo1-shell.js +195 -188
- package/dist/app/tweak-panel.d.ts +1 -2
- package/dist/app/tweak-panel.js +20 -4
- package/dist/index.js +811 -479
- package/dist/kit/components/chart/chart/chart.examples.d.ts +24 -0
- package/dist/kit/components/chart/chart/chart.examples.js +422 -0
- package/dist/kit/components/composite/action-bar/action-bar.examples.d.ts +2 -0
- package/dist/kit/components/composite/action-bar/action-bar.examples.js +35 -0
- package/dist/kit/components/composite/action-card/action-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/action-card/action-card.examples.js +34 -0
- package/dist/kit/components/composite/activity-feed/activity-feed.examples.d.ts +2 -0
- package/dist/kit/components/composite/activity-feed/activity-feed.examples.js +44 -0
- package/dist/kit/components/composite/alert-card/alert-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/alert-card/alert-card.examples.js +18 -0
- package/dist/kit/components/composite/approval-flow/approval-flow.examples.d.ts +2 -0
- package/dist/kit/components/composite/approval-flow/approval-flow.examples.js +70 -0
- package/dist/kit/components/composite/auth-shell/auth-shell.examples.d.ts +2 -0
- package/dist/kit/components/composite/auth-shell/auth-shell.examples.js +23 -0
- package/dist/kit/components/composite/board-toolbar/board-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/board-toolbar/board-toolbar.examples.js +32 -0
- package/dist/kit/components/composite/chart-card/chart-card.examples.d.ts +3 -0
- package/dist/kit/components/composite/chart-card/chart-card.examples.js +58 -0
- package/dist/kit/components/composite/chart-toolbar/chart-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/chart-toolbar/chart-toolbar.examples.js +39 -0
- package/dist/kit/components/composite/data-section/data-section.examples.d.ts +3 -0
- package/dist/kit/components/composite/data-section/data-section.examples.js +48 -0
- package/dist/kit/components/composite/description-grid/description-grid.examples.d.ts +2 -0
- package/dist/kit/components/composite/description-grid/description-grid.examples.js +30 -0
- package/dist/kit/components/composite/detail-header/detail-header.examples.d.ts +2 -0
- package/dist/kit/components/composite/detail-header/detail-header.examples.js +37 -0
- package/dist/kit/components/composite/filter-panel/filter-panel.examples.d.ts +2 -0
- package/dist/kit/components/composite/filter-panel/filter-panel.examples.js +63 -0
- package/dist/kit/components/composite/filter-toolbar/filter-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/filter-toolbar/filter-toolbar.examples.js +39 -0
- package/dist/kit/components/composite/forgot-password-form/forgot-password-form.examples.d.ts +2 -0
- package/dist/kit/components/composite/forgot-password-form/forgot-password-form.examples.js +19 -0
- package/dist/kit/components/composite/form-section/form-section.examples.d.ts +2 -0
- package/dist/kit/components/composite/form-section/form-section.examples.js +40 -0
- package/dist/kit/components/composite/kanban-board/kanban-board.examples.d.ts +2 -0
- package/dist/kit/components/composite/kanban-board/kanban-board.examples.js +72 -0
- package/dist/kit/components/composite/login-card/login-card.examples.d.ts +3 -0
- package/dist/kit/components/composite/login-card/login-card.examples.js +30 -0
- package/dist/kit/components/composite/message-list-card/message-list-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/message-list-card/message-list-card.examples.js +56 -0
- package/dist/kit/components/composite/metric-card/metric-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/metric-card/metric-card.examples.js +50 -0
- package/dist/kit/components/composite/milestone-card/milestone-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/milestone-card/milestone-card.examples.js +54 -0
- package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.examples.d.ts +2 -0
- package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.examples.js +24 -0
- package/dist/kit/components/composite/page-header/page-header.examples.d.ts +3 -0
- package/dist/kit/components/composite/page-header/page-header.examples.js +56 -0
- package/dist/kit/components/composite/profile-card/profile-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/profile-card/profile-card.examples.js +45 -0
- package/dist/kit/components/composite/progress-card/progress-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/progress-card/progress-card.examples.js +42 -0
- package/dist/kit/components/composite/project-card/project-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/project-card/project-card.examples.js +48 -0
- package/dist/kit/components/composite/shortcut-card/shortcut-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/shortcut-card/shortcut-card.examples.js +18 -0
- package/dist/kit/components/composite/sprint-summary/sprint-summary.examples.d.ts +2 -0
- package/dist/kit/components/composite/sprint-summary/sprint-summary.examples.js +27 -0
- package/dist/kit/components/composite/state-panel/state-panel.examples.d.ts +2 -0
- package/dist/kit/components/composite/state-panel/state-panel.examples.js +48 -0
- package/dist/kit/components/composite/summary-card/summary-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/summary-card/summary-card.examples.js +32 -0
- package/dist/kit/components/composite/task-card/task-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/task-card/task-card.examples.js +39 -0
- package/dist/kit/components/composite/timeline/timeline.examples.d.ts +2 -0
- package/dist/kit/components/composite/timeline/timeline.examples.js +75 -0
- package/dist/kit/components/composite/todo-card/todo-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/todo-card/todo-card.examples.js +42 -0
- package/dist/kit/components/data-display/avatar/avatar.examples.d.ts +7 -0
- package/dist/kit/components/data-display/avatar/avatar.examples.js +48 -0
- package/dist/kit/components/data-display/avatar-group/avatar-group.examples.d.ts +3 -0
- package/dist/kit/components/data-display/avatar-group/avatar-group.examples.js +35 -0
- package/dist/kit/components/data-display/badge/badge.examples.d.ts +9 -0
- package/dist/kit/components/data-display/badge/badge.examples.js +57 -0
- package/dist/kit/components/data-display/card/card.examples.d.ts +16 -0
- package/dist/kit/components/data-display/card/card.examples.js +72 -0
- package/dist/kit/components/data-display/data-grid/data-grid.examples.d.ts +2 -0
- package/dist/kit/components/data-display/data-grid/data-grid.examples.js +92 -0
- package/dist/kit/components/data-display/kbd/kbd.examples.d.ts +3 -0
- package/dist/kit/components/data-display/kbd/kbd.examples.js +43 -0
- package/dist/kit/components/data-display/money-amount/money-amount.examples.d.ts +1 -0
- package/dist/kit/components/data-display/money-amount/money-amount.examples.js +26 -0
- package/dist/kit/components/data-display/progress/progress.examples.d.ts +3 -0
- package/dist/kit/components/data-display/progress/progress.examples.js +45 -0
- package/dist/kit/components/data-display/skeleton/skeleton.examples.d.ts +3 -0
- package/dist/kit/components/data-display/skeleton/skeleton.examples.js +37 -0
- package/dist/kit/components/data-display/sliding-number/sliding-number.examples.d.ts +3 -0
- package/dist/kit/components/data-display/sliding-number/sliding-number.examples.js +42 -0
- package/dist/kit/components/data-display/stepper/stepper.examples.d.ts +2 -0
- package/dist/kit/components/data-display/stepper/stepper.examples.js +28 -0
- package/dist/kit/components/data-display/table/table.examples.d.ts +4 -0
- package/dist/kit/components/data-display/table/table.examples.js +78 -0
- package/dist/kit/components/decorative/aurora-background/aurora-background.examples.d.ts +2 -0
- package/dist/kit/components/decorative/aurora-background/aurora-background.examples.js +22 -0
- package/dist/kit/components/decorative/grid-background/grid-background.examples.d.ts +4 -0
- package/dist/kit/components/decorative/grid-background/grid-background.examples.js +42 -0
- package/dist/kit/components/decorative/shimmering-text/shimmering-text.examples.d.ts +4 -0
- package/dist/kit/components/decorative/shimmering-text/shimmering-text.examples.js +54 -0
- package/dist/kit/components/decorative/text-reveal/text-reveal.examples.d.ts +2 -0
- package/dist/kit/components/decorative/text-reveal/text-reveal.examples.js +46 -0
- package/dist/kit/components/feedback/alert/alert.examples.d.ts +2 -0
- package/dist/kit/components/feedback/alert/alert.examples.js +37 -0
- package/dist/kit/components/feedback/alert-dialog/alert-dialog.examples.d.ts +2 -0
- package/dist/kit/components/feedback/alert-dialog/alert-dialog.examples.js +28 -0
- package/dist/kit/components/feedback/context-menu/context-menu.examples.d.ts +2 -0
- package/dist/kit/components/feedback/context-menu/context-menu.examples.js +33 -0
- package/dist/kit/components/feedback/dialog/dialog.examples.d.ts +2 -0
- package/dist/kit/components/feedback/dialog/dialog.examples.js +51 -0
- package/dist/kit/components/feedback/drawer/drawer.examples.d.ts +2 -0
- package/dist/kit/components/feedback/drawer/drawer.examples.js +29 -0
- package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.examples.d.ts +3 -0
- package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.examples.js +54 -0
- package/dist/kit/components/feedback/hover-card/hover-card.examples.d.ts +2 -0
- package/dist/kit/components/feedback/hover-card/hover-card.examples.js +27 -0
- package/dist/kit/components/feedback/popover/popover.examples.d.ts +2 -0
- package/dist/kit/components/feedback/popover/popover.examples.js +42 -0
- package/dist/kit/components/feedback/sheet/sheet.examples.d.ts +2 -0
- package/dist/kit/components/feedback/sheet/sheet.examples.js +39 -0
- package/dist/kit/components/feedback/sonner/sonner.examples.d.ts +3 -0
- package/dist/kit/components/feedback/sonner/sonner.examples.js +49 -0
- package/dist/kit/components/feedback/title-help/title-help.examples.d.ts +1 -0
- package/dist/kit/components/feedback/title-help/title-help.examples.js +25 -0
- package/dist/kit/components/feedback/tooltip/tooltip.examples.d.ts +3 -0
- package/dist/kit/components/feedback/tooltip/tooltip.examples.js +44 -0
- package/dist/kit/components/form/button/button.examples.d.ts +13 -0
- package/dist/kit/components/form/button/button.examples.js +84 -0
- package/dist/kit/components/form/calendar/calendar.examples.d.ts +2 -0
- package/dist/kit/components/form/calendar/calendar.examples.js +23 -0
- package/dist/kit/components/form/checkbox/checkbox.examples.d.ts +4 -0
- package/dist/kit/components/form/checkbox/checkbox.examples.js +72 -0
- package/dist/kit/components/form/command/command.examples.d.ts +3 -0
- package/dist/kit/components/form/command/command.examples.js +52 -0
- package/dist/kit/components/form/datefield/datefield.examples.d.ts +2 -0
- package/dist/kit/components/form/datefield/datefield.examples.js +19 -0
- package/dist/kit/components/form/file-upload/file-upload.examples.d.ts +1 -0
- package/dist/kit/components/form/file-upload/file-upload.examples.js +18 -0
- package/dist/kit/components/form/form/form.examples.d.ts +2 -0
- package/dist/kit/components/form/form/form.examples.js +77 -0
- package/dist/kit/components/form/input/input.examples.d.ts +5 -0
- package/dist/kit/components/form/input/input.examples.js +64 -0
- package/dist/kit/components/form/label/label.examples.d.ts +4 -0
- package/dist/kit/components/form/label/label.examples.js +49 -0
- package/dist/kit/components/form/radio-group/radio-group.examples.d.ts +3 -0
- package/dist/kit/components/form/radio-group/radio-group.examples.js +40 -0
- package/dist/kit/components/form/select/select.examples.d.ts +3 -0
- package/dist/kit/components/form/select/select.examples.js +58 -0
- package/dist/kit/components/form/slider/slider.examples.d.ts +3 -0
- package/dist/kit/components/form/slider/slider.examples.js +46 -0
- package/dist/kit/components/form/switch/switch.examples.d.ts +3 -0
- package/dist/kit/components/form/switch/switch.examples.js +37 -0
- package/dist/kit/components/form/textarea/textarea.examples.d.ts +3 -0
- package/dist/kit/components/form/textarea/textarea.examples.js +49 -0
- package/dist/kit/components/form/toggle/toggle.examples.d.ts +3 -0
- package/dist/kit/components/form/toggle/toggle.examples.js +33 -0
- package/dist/kit/components/form/toggle-group/toggle-group.examples.d.ts +4 -0
- package/dist/kit/components/form/toggle-group/toggle-group.examples.js +46 -0
- package/dist/kit/components/index.d.ts +91 -0
- package/dist/kit/components/layout/accordion/accordion.examples.d.ts +2 -0
- package/dist/kit/components/layout/accordion/accordion.examples.js +34 -0
- package/dist/kit/components/layout/aspect-ratio/aspect-ratio.examples.d.ts +3 -0
- package/dist/kit/components/layout/aspect-ratio/aspect-ratio.examples.js +29 -0
- package/dist/kit/components/layout/collapsible/collapsible.examples.d.ts +2 -0
- package/dist/kit/components/layout/collapsible/collapsible.examples.js +28 -0
- package/dist/kit/components/layout/resizable/resizable.examples.d.ts +2 -0
- package/dist/kit/components/layout/resizable/resizable.examples.js +26 -0
- package/dist/kit/components/layout/scroll-area/scroll-area.examples.d.ts +2 -0
- package/dist/kit/components/layout/scroll-area/scroll-area.examples.js +16 -0
- package/dist/kit/components/layout/separator/separator.examples.d.ts +3 -0
- package/dist/kit/components/layout/separator/separator.examples.js +35 -0
- package/dist/kit/components/navigation/accordion-menu/accordion-menu.examples.d.ts +2 -0
- package/dist/kit/components/navigation/accordion-menu/accordion-menu.examples.js +36 -0
- package/dist/kit/components/navigation/breadcrumb/breadcrumb.examples.d.ts +3 -0
- package/dist/kit/components/navigation/breadcrumb/breadcrumb.examples.js +39 -0
- package/dist/kit/components/navigation/menubar/menubar.examples.d.ts +2 -0
- package/dist/kit/components/navigation/menubar/menubar.examples.js +54 -0
- package/dist/kit/components/navigation/navigation-menu/navigation-menu.examples.d.ts +2 -0
- package/dist/kit/components/navigation/navigation-menu/navigation-menu.examples.js +31 -0
- package/dist/kit/components/navigation/pagination/pagination.examples.d.ts +2 -0
- package/dist/kit/components/navigation/pagination/pagination.examples.js +42 -0
- package/dist/kit/components/navigation/scrollspy/scrollspy.examples.d.ts +2 -0
- package/dist/kit/components/navigation/scrollspy/scrollspy.examples.js +68 -0
- package/dist/kit/components/navigation/tabs/tabs.examples.d.ts +5 -0
- package/dist/kit/components/navigation/tabs/tabs.examples.js +43 -0
- package/dist/styles.css +29 -12
- package/package.json +7 -2
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { RiMoreLine as l } from "@remixicon/react";
|
|
3
|
+
import { DropdownMenu as o, DropdownMenuTrigger as t, DropdownMenuContent as c, DropdownMenuItem as n, DropdownMenuShortcut as a, DropdownMenuSeparator as i, DropdownMenuLabel as h } from "./dropdown-menu.js";
|
|
4
|
+
import { Button as d } from "../../form/button/button.js";
|
|
5
|
+
import { Avatar as s, AvatarFallback as m } from "../../data-display/avatar/avatar.js";
|
|
6
|
+
function p() {
|
|
7
|
+
return /* @__PURE__ */ r(o, { children: [
|
|
8
|
+
/* @__PURE__ */ e(t, { asChild: !0, children: /* @__PURE__ */ e(d, { mode: "icon", variant: "ghost", size: "sm", children: /* @__PURE__ */ e(l, {}) }) }),
|
|
9
|
+
/* @__PURE__ */ r(c, { children: [
|
|
10
|
+
/* @__PURE__ */ e(n, { children: "查看详情" }),
|
|
11
|
+
/* @__PURE__ */ r(n, { children: [
|
|
12
|
+
"编辑 ",
|
|
13
|
+
/* @__PURE__ */ e(a, { children: "⌘E" })
|
|
14
|
+
] }),
|
|
15
|
+
/* @__PURE__ */ e(n, { children: "复制链接" }),
|
|
16
|
+
/* @__PURE__ */ e(i, {}),
|
|
17
|
+
/* @__PURE__ */ e(n, { variant: "destructive", children: "删除" })
|
|
18
|
+
] })
|
|
19
|
+
] });
|
|
20
|
+
}
|
|
21
|
+
function u() {
|
|
22
|
+
return /* @__PURE__ */ r(o, { children: [
|
|
23
|
+
/* @__PURE__ */ e(t, { asChild: !0, children: /* @__PURE__ */ r(d, { variant: "ghost", className: "gap-2", children: [
|
|
24
|
+
/* @__PURE__ */ e(s, { className: "size-6", children: /* @__PURE__ */ e(m, { className: "text-[10px] bg-primary/10 text-primary", children: "AC" }) }),
|
|
25
|
+
"Alice Chen"
|
|
26
|
+
] }) }),
|
|
27
|
+
/* @__PURE__ */ r(c, { align: "end", children: [
|
|
28
|
+
/* @__PURE__ */ e(h, { children: "Alice Chen · Project Manager" }),
|
|
29
|
+
/* @__PURE__ */ e(i, {}),
|
|
30
|
+
/* @__PURE__ */ e(n, { children: "个人信息" }),
|
|
31
|
+
/* @__PURE__ */ e(n, { children: "偏好设置" }),
|
|
32
|
+
/* @__PURE__ */ e(n, { children: "帮助文档" }),
|
|
33
|
+
/* @__PURE__ */ e(i, {}),
|
|
34
|
+
/* @__PURE__ */ e(n, { variant: "destructive", children: "退出登录" })
|
|
35
|
+
] })
|
|
36
|
+
] });
|
|
37
|
+
}
|
|
38
|
+
function g() {
|
|
39
|
+
return /* @__PURE__ */ r("div", { className: "flex flex-col gap-6", children: [
|
|
40
|
+
/* @__PURE__ */ r("section", { children: [
|
|
41
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "表格行操作" }),
|
|
42
|
+
/* @__PURE__ */ e(p, {})
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ r("section", { children: [
|
|
45
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "用户菜单" }),
|
|
46
|
+
/* @__PURE__ */ e(u, {})
|
|
47
|
+
] })
|
|
48
|
+
] });
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
p as DropdownMenuRowActions,
|
|
52
|
+
g as DropdownMenuShowcase,
|
|
53
|
+
u as DropdownMenuUser
|
|
54
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { HoverCard as a, HoverCardTrigger as t, HoverCardContent as d } from "./hover-card.js";
|
|
3
|
+
import { Avatar as i, AvatarFallback as l } from "../../data-display/avatar/avatar.js";
|
|
4
|
+
function s() {
|
|
5
|
+
return /* @__PURE__ */ r(a, { children: [
|
|
6
|
+
/* @__PURE__ */ e(t, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "text-primary cursor-pointer underline decoration-dotted", children: "Alice Chen" }) }),
|
|
7
|
+
/* @__PURE__ */ e(d, { className: "w-72", children: /* @__PURE__ */ r("div", { className: "flex gap-3", children: [
|
|
8
|
+
/* @__PURE__ */ e(i, { className: "size-12", children: /* @__PURE__ */ e(l, { className: "bg-primary/10 text-primary", children: "AC" }) }),
|
|
9
|
+
/* @__PURE__ */ r("div", { children: [
|
|
10
|
+
/* @__PURE__ */ e("div", { className: "font-semibold", children: "Alice Chen" }),
|
|
11
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "Product Manager · Growth Team" }),
|
|
12
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground mt-2", children: "参与:Acme Dashboard / Mobile App" }),
|
|
13
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "本周任务:14 条" })
|
|
14
|
+
] })
|
|
15
|
+
] }) })
|
|
16
|
+
] });
|
|
17
|
+
}
|
|
18
|
+
function m() {
|
|
19
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ r("section", { children: [
|
|
20
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "用户名悬浮卡" }),
|
|
21
|
+
/* @__PURE__ */ e(s, {})
|
|
22
|
+
] }) });
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
m as HoverCardShowcase,
|
|
26
|
+
s as HoverCardUser
|
|
27
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Popover as n, PopoverTrigger as o, PopoverContent as t } from "./popover.js";
|
|
3
|
+
import { Button as r } from "../../form/button/button.js";
|
|
4
|
+
import { Label as c } from "../../form/label/label.js";
|
|
5
|
+
import { Input as a } from "../../form/input/input.js";
|
|
6
|
+
import { Select as d, SelectTrigger as s, SelectValue as h, SelectContent as m, SelectItem as i } from "../../form/select/select.js";
|
|
7
|
+
function p() {
|
|
8
|
+
return /* @__PURE__ */ l(n, { children: [
|
|
9
|
+
/* @__PURE__ */ e(o, { asChild: !0, children: /* @__PURE__ */ e(r, { variant: "outline", children: "筛选" }) }),
|
|
10
|
+
/* @__PURE__ */ e(t, { className: "w-80", children: /* @__PURE__ */ l("div", { className: "space-y-3", children: [
|
|
11
|
+
/* @__PURE__ */ l("div", { className: "space-y-1.5", children: [
|
|
12
|
+
/* @__PURE__ */ e(c, { children: "关键字" }),
|
|
13
|
+
/* @__PURE__ */ e(a, { placeholder: "搜索..." })
|
|
14
|
+
] }),
|
|
15
|
+
/* @__PURE__ */ l("div", { className: "space-y-1.5", children: [
|
|
16
|
+
/* @__PURE__ */ e(c, { children: "优先级" }),
|
|
17
|
+
/* @__PURE__ */ l(d, { children: [
|
|
18
|
+
/* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(h, { placeholder: "不限" }) }),
|
|
19
|
+
/* @__PURE__ */ l(m, { children: [
|
|
20
|
+
/* @__PURE__ */ e(i, { value: "high", children: "High" }),
|
|
21
|
+
/* @__PURE__ */ e(i, { value: "medium", children: "Medium" }),
|
|
22
|
+
/* @__PURE__ */ e(i, { value: "low", children: "Low" })
|
|
23
|
+
] })
|
|
24
|
+
] })
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ l("div", { className: "flex gap-2 pt-2", children: [
|
|
27
|
+
/* @__PURE__ */ e(r, { size: "sm", className: "flex-1", children: "应用" }),
|
|
28
|
+
/* @__PURE__ */ e(r, { size: "sm", variant: "outline", children: "重置" })
|
|
29
|
+
] })
|
|
30
|
+
] }) })
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
function S() {
|
|
34
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ l("section", { children: [
|
|
35
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "筛选面板" }),
|
|
36
|
+
/* @__PURE__ */ e(p, {})
|
|
37
|
+
] }) });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
p as PopoverFilter,
|
|
41
|
+
S as PopoverShowcase
|
|
42
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Sheet as d, SheetTrigger as r, SheetContent as n, SheetHeader as l, SheetTitle as c, SheetBody as h, SheetFooter as s, SheetClose as o } from "./sheet.js";
|
|
3
|
+
import { Button as i } from "../../form/button/button.js";
|
|
4
|
+
function a() {
|
|
5
|
+
return /* @__PURE__ */ t(d, { children: [
|
|
6
|
+
/* @__PURE__ */ e(r, { asChild: !0, children: /* @__PURE__ */ e(i, { variant: "outline", children: "查看详情" }) }),
|
|
7
|
+
/* @__PURE__ */ t(n, { side: "right", className: "w-[480px]", children: [
|
|
8
|
+
/* @__PURE__ */ e(l, { children: /* @__PURE__ */ e(c, { children: "任务详情" }) }),
|
|
9
|
+
/* @__PURE__ */ t(h, { className: "space-y-4 py-4", children: [
|
|
10
|
+
/* @__PURE__ */ t("div", { children: [
|
|
11
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "标题" }),
|
|
12
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium", children: "Add OAuth login flow" })
|
|
13
|
+
] }),
|
|
14
|
+
/* @__PURE__ */ t("div", { children: [
|
|
15
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "优先级" }),
|
|
16
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium", children: "High" })
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ t("div", { children: [
|
|
19
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "状态" }),
|
|
20
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium", children: "In Review" })
|
|
21
|
+
] })
|
|
22
|
+
] }),
|
|
23
|
+
/* @__PURE__ */ t(s, { children: [
|
|
24
|
+
/* @__PURE__ */ e(i, { children: "编辑" }),
|
|
25
|
+
/* @__PURE__ */ e(o, { asChild: !0, children: /* @__PURE__ */ e(i, { variant: "outline", children: "关闭" }) })
|
|
26
|
+
] })
|
|
27
|
+
] })
|
|
28
|
+
] });
|
|
29
|
+
}
|
|
30
|
+
function f() {
|
|
31
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ t("section", { children: [
|
|
32
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "右侧详情抽屉" }),
|
|
33
|
+
/* @__PURE__ */ e(a, {})
|
|
34
|
+
] }) });
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
a as SheetBasic,
|
|
38
|
+
f as SheetShowcase
|
|
39
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsxs as i, Fragment as l, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { toast as r } from "sonner";
|
|
3
|
+
import { Toaster as s } from "./sonner.js";
|
|
4
|
+
import { Button as e } from "../../form/button/button.js";
|
|
5
|
+
function a() {
|
|
6
|
+
return /* @__PURE__ */ i(l, { children: [
|
|
7
|
+
/* @__PURE__ */ n(s, {}),
|
|
8
|
+
/* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2", children: [
|
|
9
|
+
/* @__PURE__ */ n(e, { onClick: () => r("纯文本通知"), children: "默认" }),
|
|
10
|
+
/* @__PURE__ */ n(e, { variant: "outline", onClick: () => r.success("保存成功"), children: "Success" }),
|
|
11
|
+
/* @__PURE__ */ n(e, { variant: "outline", onClick: () => r.error("网络错误"), children: "Error" }),
|
|
12
|
+
/* @__PURE__ */ n(e, { variant: "outline", onClick: () => r.warning("未保存的修改"), children: "Warning" }),
|
|
13
|
+
/* @__PURE__ */ n(e, { variant: "outline", onClick: () => r.info("3 人正在编辑"), children: "Info" })
|
|
14
|
+
] })
|
|
15
|
+
] });
|
|
16
|
+
}
|
|
17
|
+
function m() {
|
|
18
|
+
const o = () => new Promise((c, t) => {
|
|
19
|
+
setTimeout(() => Math.random() > 0.5 ? c() : t(new Error("fail")), 1500);
|
|
20
|
+
});
|
|
21
|
+
return /* @__PURE__ */ n(
|
|
22
|
+
e,
|
|
23
|
+
{
|
|
24
|
+
onClick: () => r.promise(o(), {
|
|
25
|
+
loading: "保存中...",
|
|
26
|
+
success: "已保存",
|
|
27
|
+
error: "保存失败,请重试"
|
|
28
|
+
}),
|
|
29
|
+
children: "Promise 样式"
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function p() {
|
|
34
|
+
return /* @__PURE__ */ i("div", { className: "flex flex-col gap-6", children: [
|
|
35
|
+
/* @__PURE__ */ i("section", { children: [
|
|
36
|
+
/* @__PURE__ */ n("h3", { className: "text-sm font-semibold mb-3", children: "基础通知" }),
|
|
37
|
+
/* @__PURE__ */ n(a, {})
|
|
38
|
+
] }),
|
|
39
|
+
/* @__PURE__ */ i("section", { children: [
|
|
40
|
+
/* @__PURE__ */ n("h3", { className: "text-sm font-semibold mb-3", children: "Promise 样式" }),
|
|
41
|
+
/* @__PURE__ */ n(m, {})
|
|
42
|
+
] })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
a as SonnerBasic,
|
|
47
|
+
m as SonnerPromise,
|
|
48
|
+
p as SonnerShowcase
|
|
49
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function TitleHelpShowcase(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsxs as d, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Card as t, CardHeader as i, CardTitle as l, CardContent as r } from "../../data-display/card/card.js";
|
|
3
|
+
import { TitleHelp as s } from "./title-help.js";
|
|
4
|
+
function m() {
|
|
5
|
+
return /* @__PURE__ */ d(t, { className: "max-w-xl", children: [
|
|
6
|
+
/* @__PURE__ */ e(i, { children: /* @__PURE__ */ e(l, { children: /* @__PURE__ */ e(s, { help: "统计最近 30 天内仍处于处理中、待验证和待关闭状态的缺陷。", children: "质量缺陷" }) }) }),
|
|
7
|
+
/* @__PURE__ */ e(r, { children: /* @__PURE__ */ d("div", { className: "grid grid-cols-3 gap-3", children: [
|
|
8
|
+
/* @__PURE__ */ d("div", { children: [
|
|
9
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "待处理" }),
|
|
10
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-2xl font-semibold", children: "18" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ d("div", { children: [
|
|
13
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "待验证" }),
|
|
14
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-2xl font-semibold", children: "7" })
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ d("div", { children: [
|
|
17
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "已关闭" }),
|
|
18
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-2xl font-semibold", children: "42" })
|
|
19
|
+
] })
|
|
20
|
+
] }) })
|
|
21
|
+
] });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
m as TitleHelpShowcase
|
|
25
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as i, jsxs as e } from "react/jsx-runtime";
|
|
2
|
+
import { RiSearchLine as a, RiNotification3Line as s } from "@remixicon/react";
|
|
3
|
+
import { Tooltip as o, TooltipTrigger as l, TooltipContent as r } from "./tooltip.js";
|
|
4
|
+
import { Avatar as d, AvatarFallback as h } from "../../data-display/avatar/avatar.js";
|
|
5
|
+
import { Button as n } from "../../form/button/button.js";
|
|
6
|
+
function m() {
|
|
7
|
+
return /* @__PURE__ */ e("div", { className: "flex gap-2", children: [
|
|
8
|
+
/* @__PURE__ */ e(o, { children: [
|
|
9
|
+
/* @__PURE__ */ i(l, { asChild: !0, children: /* @__PURE__ */ i(n, { mode: "icon", variant: "ghost", size: "sm", children: /* @__PURE__ */ i(a, {}) }) }),
|
|
10
|
+
/* @__PURE__ */ i(r, { children: "搜索" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ e(o, { children: [
|
|
13
|
+
/* @__PURE__ */ i(l, { asChild: !0, children: /* @__PURE__ */ i(n, { mode: "icon", variant: "ghost", size: "sm", children: /* @__PURE__ */ i(s, {}) }) }),
|
|
14
|
+
/* @__PURE__ */ i(r, { children: "通知(3 条未读)" })
|
|
15
|
+
] })
|
|
16
|
+
] });
|
|
17
|
+
}
|
|
18
|
+
function p() {
|
|
19
|
+
return /* @__PURE__ */ i("div", { className: "flex gap-2", children: [
|
|
20
|
+
["AC", "Alice Chen"],
|
|
21
|
+
["BM", "Bob Miller"],
|
|
22
|
+
["CJ", "Carol Johnson"]
|
|
23
|
+
].map(([c, t]) => /* @__PURE__ */ e(o, { children: [
|
|
24
|
+
/* @__PURE__ */ i(l, { asChild: !0, children: /* @__PURE__ */ i(d, { className: "size-8 cursor-default", children: /* @__PURE__ */ i(h, { className: "text-xs bg-muted", children: c }) }) }),
|
|
25
|
+
/* @__PURE__ */ i(r, { children: t })
|
|
26
|
+
] }, t)) });
|
|
27
|
+
}
|
|
28
|
+
function v() {
|
|
29
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: [
|
|
30
|
+
/* @__PURE__ */ e("section", { children: [
|
|
31
|
+
/* @__PURE__ */ i("h3", { className: "text-sm font-semibold mb-3", children: "图标按钮 Tooltip" }),
|
|
32
|
+
/* @__PURE__ */ i(m, {})
|
|
33
|
+
] }),
|
|
34
|
+
/* @__PURE__ */ e("section", { children: [
|
|
35
|
+
/* @__PURE__ */ i("h3", { className: "text-sm font-semibold mb-3", children: "头像 Tooltip" }),
|
|
36
|
+
/* @__PURE__ */ i(p, {})
|
|
37
|
+
] })
|
|
38
|
+
] });
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
p as TooltipAvatar,
|
|
42
|
+
m as TooltipIcon,
|
|
43
|
+
v as TooltipShowcase
|
|
44
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Variants */
|
|
2
|
+
export declare function ButtonVariants(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
/** Sizes */
|
|
4
|
+
export declare function ButtonSizes(): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
/** Icon mode */
|
|
6
|
+
export declare function ButtonIcons(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
/** asChild — wraps Link */
|
|
8
|
+
export declare function ButtonAsChild(): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
/** Hierarchy example — page header */
|
|
10
|
+
export declare function ButtonHierarchy(): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/** Dialog footer example */
|
|
12
|
+
export declare function ButtonDialogFooter(): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function ButtonShowcase(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { RiAddLine as r, RiSearchLine as t, RiDeleteBinLine as c } from "@remixicon/react";
|
|
3
|
+
import { Link as l } from "react-router-dom";
|
|
4
|
+
import { Button as i } from "./button.js";
|
|
5
|
+
function o() {
|
|
6
|
+
return /* @__PURE__ */ n("div", { className: "flex flex-wrap gap-2", children: [
|
|
7
|
+
/* @__PURE__ */ e(i, { children: "Primary" }),
|
|
8
|
+
/* @__PURE__ */ e(i, { variant: "outline", children: "Outline" }),
|
|
9
|
+
/* @__PURE__ */ e(i, { variant: "ghost", children: "Ghost" }),
|
|
10
|
+
/* @__PURE__ */ e(i, { variant: "dim", children: "Dim" }),
|
|
11
|
+
/* @__PURE__ */ e(i, { variant: "mono", children: "Mono" }),
|
|
12
|
+
/* @__PURE__ */ e(i, { variant: "destructive", children: "Destructive" })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
function s() {
|
|
16
|
+
return /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
17
|
+
/* @__PURE__ */ e(i, { size: "sm", children: "Small" }),
|
|
18
|
+
/* @__PURE__ */ e(i, { size: "md", children: "Medium" }),
|
|
19
|
+
/* @__PURE__ */ e(i, { size: "lg", children: "Large" })
|
|
20
|
+
] });
|
|
21
|
+
}
|
|
22
|
+
function a() {
|
|
23
|
+
return /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
24
|
+
/* @__PURE__ */ e(i, { mode: "icon", variant: "ghost", children: /* @__PURE__ */ e(t, {}) }),
|
|
25
|
+
/* @__PURE__ */ e(i, { mode: "icon", variant: "outline", children: /* @__PURE__ */ e(r, {}) }),
|
|
26
|
+
/* @__PURE__ */ e(i, { mode: "icon", variant: "destructive", children: /* @__PURE__ */ e(c, {}) }),
|
|
27
|
+
/* @__PURE__ */ e(i, { mode: "icon", shape: "circle", variant: "ghost", children: /* @__PURE__ */ e(t, {}) })
|
|
28
|
+
] });
|
|
29
|
+
}
|
|
30
|
+
function d() {
|
|
31
|
+
return /* @__PURE__ */ e(i, { asChild: !0, children: /* @__PURE__ */ e(l, { to: "/projects", children: "进入项目列表" }) });
|
|
32
|
+
}
|
|
33
|
+
function h() {
|
|
34
|
+
return /* @__PURE__ */ n("div", { className: "flex gap-2", children: [
|
|
35
|
+
/* @__PURE__ */ e(i, { variant: "outline", children: "自定义布局" }),
|
|
36
|
+
/* @__PURE__ */ n(i, { children: [
|
|
37
|
+
/* @__PURE__ */ e(r, {}),
|
|
38
|
+
" 快速新建"
|
|
39
|
+
] })
|
|
40
|
+
] });
|
|
41
|
+
}
|
|
42
|
+
function m() {
|
|
43
|
+
return /* @__PURE__ */ n("div", { className: "flex justify-end gap-2", children: [
|
|
44
|
+
/* @__PURE__ */ e(i, { variant: "outline", children: "取消" }),
|
|
45
|
+
/* @__PURE__ */ e(i, { children: "确认" })
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
function p() {
|
|
49
|
+
return /* @__PURE__ */ n("div", { className: "flex flex-col gap-8", children: [
|
|
50
|
+
/* @__PURE__ */ n("section", { children: [
|
|
51
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "Variants" }),
|
|
52
|
+
/* @__PURE__ */ e(o, {})
|
|
53
|
+
] }),
|
|
54
|
+
/* @__PURE__ */ n("section", { children: [
|
|
55
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "Sizes" }),
|
|
56
|
+
/* @__PURE__ */ e(s, {})
|
|
57
|
+
] }),
|
|
58
|
+
/* @__PURE__ */ n("section", { children: [
|
|
59
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "Icon mode" }),
|
|
60
|
+
/* @__PURE__ */ e(a, {})
|
|
61
|
+
] }),
|
|
62
|
+
/* @__PURE__ */ n("section", { children: [
|
|
63
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "asChild — wraps Link" }),
|
|
64
|
+
/* @__PURE__ */ e(d, {})
|
|
65
|
+
] }),
|
|
66
|
+
/* @__PURE__ */ n("section", { children: [
|
|
67
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "Hierarchy (页面头)" }),
|
|
68
|
+
/* @__PURE__ */ e(h, {})
|
|
69
|
+
] }),
|
|
70
|
+
/* @__PURE__ */ n("section", { children: [
|
|
71
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "Dialog Footer" }),
|
|
72
|
+
/* @__PURE__ */ e(m, {})
|
|
73
|
+
] })
|
|
74
|
+
] });
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
d as ButtonAsChild,
|
|
78
|
+
m as ButtonDialogFooter,
|
|
79
|
+
h as ButtonHierarchy,
|
|
80
|
+
a as ButtonIcons,
|
|
81
|
+
p as ButtonShowcase,
|
|
82
|
+
s as ButtonSizes,
|
|
83
|
+
o as ButtonVariants
|
|
84
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as s } from "react";
|
|
3
|
+
import { Calendar as n } from "./calendar.js";
|
|
4
|
+
function o() {
|
|
5
|
+
const [r, a] = s(/* @__PURE__ */ new Date());
|
|
6
|
+
return /* @__PURE__ */ t("div", { className: "flex gap-6 items-start", children: [
|
|
7
|
+
/* @__PURE__ */ e(n, { mode: "single", selected: r, onSelect: a, className: "rounded-md border border-border" }),
|
|
8
|
+
/* @__PURE__ */ t("div", { className: "text-sm pt-2", children: [
|
|
9
|
+
/* @__PURE__ */ e("div", { className: "text-muted-foreground mb-1", children: "已选日期" }),
|
|
10
|
+
/* @__PURE__ */ e("div", { className: "font-mono", children: r?.toLocaleDateString("zh-CN") ?? "—" })
|
|
11
|
+
] })
|
|
12
|
+
] });
|
|
13
|
+
}
|
|
14
|
+
function i() {
|
|
15
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ t("section", { children: [
|
|
16
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "单日选择" }),
|
|
17
|
+
/* @__PURE__ */ e(o, {})
|
|
18
|
+
] }) });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
i as CalendarShowcase,
|
|
22
|
+
o as CalendarSingle
|
|
23
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function CheckboxBasic(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function CheckboxList(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function CheckboxStates(): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function CheckboxShowcase(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as d } from "react";
|
|
3
|
+
import { Checkbox as t } from "./checkbox.js";
|
|
4
|
+
import { Label as i } from "../label/label.js";
|
|
5
|
+
function o() {
|
|
6
|
+
return /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
7
|
+
/* @__PURE__ */ e(t, { id: "agree" }),
|
|
8
|
+
/* @__PURE__ */ e(i, { htmlFor: "agree", className: "cursor-pointer", children: "我已阅读并同意服务条款" })
|
|
9
|
+
] });
|
|
10
|
+
}
|
|
11
|
+
function m() {
|
|
12
|
+
const [n, l] = d(/* @__PURE__ */ new Set(["Web"])), a = (s) => {
|
|
13
|
+
const r = new Set(n);
|
|
14
|
+
r.has(s) ? r.delete(s) : r.add(s), l(r);
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ c("div", { className: "space-y-2", children: [
|
|
17
|
+
["Web", "Mobile", "API", "Analytics", "Other"].map((s) => /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
18
|
+
/* @__PURE__ */ e(t, { id: `d-${s}`, checked: n.has(s), onCheckedChange: () => a(s) }),
|
|
19
|
+
/* @__PURE__ */ e(i, { htmlFor: `d-${s}`, className: "cursor-pointer", children: s })
|
|
20
|
+
] }, s)),
|
|
21
|
+
/* @__PURE__ */ c("div", { className: "text-xs text-muted-foreground mt-2", children: [
|
|
22
|
+
"已选:",
|
|
23
|
+
n.size > 0 ? [...n].join(" / ") : "无"
|
|
24
|
+
] })
|
|
25
|
+
] });
|
|
26
|
+
}
|
|
27
|
+
function h() {
|
|
28
|
+
return /* @__PURE__ */ c("div", { className: "space-y-2", children: [
|
|
29
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
30
|
+
/* @__PURE__ */ e(t, { defaultChecked: !0 }),
|
|
31
|
+
" ",
|
|
32
|
+
/* @__PURE__ */ e(i, { children: "已选中" })
|
|
33
|
+
] }),
|
|
34
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
35
|
+
/* @__PURE__ */ e(t, {}),
|
|
36
|
+
" ",
|
|
37
|
+
/* @__PURE__ */ e(i, { children: "未选中" })
|
|
38
|
+
] }),
|
|
39
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
40
|
+
/* @__PURE__ */ e(t, { checked: "indeterminate" }),
|
|
41
|
+
" ",
|
|
42
|
+
/* @__PURE__ */ e(i, { children: "半选(全选父级)" })
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
45
|
+
/* @__PURE__ */ e(t, { disabled: !0 }),
|
|
46
|
+
" ",
|
|
47
|
+
/* @__PURE__ */ e(i, { className: "text-muted-foreground", children: "禁用" })
|
|
48
|
+
] })
|
|
49
|
+
] });
|
|
50
|
+
}
|
|
51
|
+
function N() {
|
|
52
|
+
return /* @__PURE__ */ c("div", { className: "flex flex-col gap-6", children: [
|
|
53
|
+
/* @__PURE__ */ c("section", { children: [
|
|
54
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "基础" }),
|
|
55
|
+
/* @__PURE__ */ e(o, {})
|
|
56
|
+
] }),
|
|
57
|
+
/* @__PURE__ */ c("section", { children: [
|
|
58
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "筛选多选" }),
|
|
59
|
+
/* @__PURE__ */ e(m, {})
|
|
60
|
+
] }),
|
|
61
|
+
/* @__PURE__ */ c("section", { children: [
|
|
62
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "状态" }),
|
|
63
|
+
/* @__PURE__ */ e(h, {})
|
|
64
|
+
] })
|
|
65
|
+
] });
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
o as CheckboxBasic,
|
|
69
|
+
m as CheckboxList,
|
|
70
|
+
N as CheckboxShowcase,
|
|
71
|
+
h as CheckboxStates
|
|
72
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Command as l, CommandInput as c, CommandList as i, CommandEmpty as a, CommandGroup as d, CommandItem as r, CommandShortcut as o, CommandSeparator as h } from "./command.js";
|
|
3
|
+
function t() {
|
|
4
|
+
return /* @__PURE__ */ n(l, { className: "border border-border rounded-md max-w-md", children: [
|
|
5
|
+
/* @__PURE__ */ e(c, { placeholder: "搜索命令..." }),
|
|
6
|
+
/* @__PURE__ */ n(i, { children: [
|
|
7
|
+
/* @__PURE__ */ e(a, { children: "无匹配结果" }),
|
|
8
|
+
/* @__PURE__ */ n(d, { heading: "建议", children: [
|
|
9
|
+
/* @__PURE__ */ n(r, { children: [
|
|
10
|
+
"新建项目",
|
|
11
|
+
/* @__PURE__ */ e(o, { children: "⌘N" })
|
|
12
|
+
] }),
|
|
13
|
+
/* @__PURE__ */ n(r, { children: [
|
|
14
|
+
"打开搜索",
|
|
15
|
+
/* @__PURE__ */ e(o, { children: "⌘K" })
|
|
16
|
+
] })
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ e(h, {}),
|
|
19
|
+
/* @__PURE__ */ n(d, { heading: "导航", children: [
|
|
20
|
+
/* @__PURE__ */ e(r, { children: "去工作台" }),
|
|
21
|
+
/* @__PURE__ */ e(r, { children: "去项目列表" }),
|
|
22
|
+
/* @__PURE__ */ e(r, { children: "去设置" })
|
|
23
|
+
] })
|
|
24
|
+
] })
|
|
25
|
+
] });
|
|
26
|
+
}
|
|
27
|
+
function s() {
|
|
28
|
+
return /* @__PURE__ */ n(l, { className: "border border-border rounded-md max-w-md", children: [
|
|
29
|
+
/* @__PURE__ */ e(c, { placeholder: "输入姓名..." }),
|
|
30
|
+
/* @__PURE__ */ n(i, { children: [
|
|
31
|
+
/* @__PURE__ */ e(a, { children: "没有找到人员" }),
|
|
32
|
+
/* @__PURE__ */ e(d, { heading: "成员", children: ["Alice Chen", "Bob Miller", "Carol Johnson", "Dave Smith", "Eve Brown", "Frank Lee"].map((m) => /* @__PURE__ */ e(r, { children: m }, m)) })
|
|
33
|
+
] })
|
|
34
|
+
] });
|
|
35
|
+
}
|
|
36
|
+
function u() {
|
|
37
|
+
return /* @__PURE__ */ n("div", { className: "flex flex-col gap-6", children: [
|
|
38
|
+
/* @__PURE__ */ n("section", { children: [
|
|
39
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "命令面板" }),
|
|
40
|
+
/* @__PURE__ */ e(t, {})
|
|
41
|
+
] }),
|
|
42
|
+
/* @__PURE__ */ n("section", { children: [
|
|
43
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "人员搜索" }),
|
|
44
|
+
/* @__PURE__ */ e(s, {})
|
|
45
|
+
] })
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
t as CommandBasic,
|
|
50
|
+
s as CommandPeople,
|
|
51
|
+
u as CommandShowcase
|
|
52
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Label as t } from "../label/label.js";
|
|
3
|
+
import { DateField as a, DateInput as i } from "./datefield.js";
|
|
4
|
+
function l() {
|
|
5
|
+
return /* @__PURE__ */ r("div", { className: "space-y-1.5 w-56", children: [
|
|
6
|
+
/* @__PURE__ */ e(t, { children: "截止日期" }),
|
|
7
|
+
/* @__PURE__ */ e(a, { children: /* @__PURE__ */ e(i, {}) })
|
|
8
|
+
] });
|
|
9
|
+
}
|
|
10
|
+
function n() {
|
|
11
|
+
return /* @__PURE__ */ r("div", { className: "flex flex-col gap-4", children: [
|
|
12
|
+
/* @__PURE__ */ e("div", { className: "text-sm text-muted-foreground", children: "结构化日期输入。年 / 月 / 日可分段键盘编辑;常配 Popover + Calendar 做完整日期选择器。" }),
|
|
13
|
+
/* @__PURE__ */ e(l, {})
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
l as DateFieldBasic,
|
|
18
|
+
n as DateFieldShowcase
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function FileUploadShowcase(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { FileUpload as l } from "./file-upload.js";
|
|
3
|
+
function a() {
|
|
4
|
+
return /* @__PURE__ */ e("div", { className: "max-w-2xl", children: /* @__PURE__ */ e(
|
|
5
|
+
l,
|
|
6
|
+
{
|
|
7
|
+
multiple: !0,
|
|
8
|
+
maxFiles: 5,
|
|
9
|
+
maxSize: 10 * 1024 * 1024,
|
|
10
|
+
accept: "image/*,.pdf,.docx,.xlsx",
|
|
11
|
+
label: "点击或拖拽文件到此处",
|
|
12
|
+
description: "支持图片、PDF、Word 和 Excel,单文件不超过 10MB。"
|
|
13
|
+
}
|
|
14
|
+
) });
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
a as FileUploadShowcase
|
|
18
|
+
};
|