@_tc/template-core 0.2.1-bate.1 → 0.2.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 +34 -0
- package/fe/_virtual/_rolldown/runtime.js +13 -0
- package/fe/packages/react/ui/components/Date/Calendar.js +1 -5
- package/fe/packages/react/ui/components/Date/DateTestPage.js +15 -331
- package/fe/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
- package/fe/packages/react/ui/components/Date/index.js +2 -2
- package/fe/packages/react/ui/components/Date/locales.d.ts +5 -0
- package/fe/packages/react/ui/components/Date/locales.js +16 -1
- package/fe/packages/react/ui/components/testPage/DemoSection.d.ts +10 -0
- package/fe/packages/react/ui/components/testPage/DemoSection.js +73 -0
- package/fe/packages/react/ui/components/testPage/MenuTestPage.js +16 -389
- package/fe/packages/react/ui/components/testPage/demoRegistry.d.ts +4 -0
- package/fe/packages/react/ui/components/testPage/demoRegistry.js +214 -0
- package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.js +44 -0
- package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.js +85 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.js +52 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CardDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.js +41 -0
- package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.js +35 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.js +243 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.js +105 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.js +48 -0
- package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.js +56 -0
- package/fe/packages/react/ui/components/testPage/demos/core/FormDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.js +26 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.js +55 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.js +65 -0
- package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.js +33 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.js +64 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.js +32 -0
- package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.js +44 -0
- package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.js +61 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.js +50 -0
- package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.js +39 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.js +22 -0
- package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.js +129 -0
- package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.js +52 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.js +52 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.js +73 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.js +46 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.js +36 -0
- package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.js +64 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.js +74 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.js +56 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.js +30 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.js +96 -0
- package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.js +29 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.js +66 -0
- package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.js +31 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.js +67 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.js +36 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.js +35 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.js +35 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.d.ts +6 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.js +76 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.js +60 -0
- package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.js +78 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.js +79 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.js +82 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.js +44 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.js +64 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.js +81 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.js +56 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.js +67 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.d.ts +7 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.js +55 -0
- package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo2.js +4 -0
- package/fe/packages/react/ui/components/testPage/index.js +30 -1623
- package/fe/packages/react/ui/components/testPage/types.d.ts +17 -0
- package/fe/packages/react/ui/components/testPage/types.js +0 -0
- package/fe/packages/react/ui/i18n/I18nProvider.js +2 -1
- package/model/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
- package/model/packages/react/ui/components/Date/locales.d.ts +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Button } from "../../../Button/Button.js";
|
|
3
|
+
import { Input } from "../../../Input/Input.js";
|
|
4
|
+
import { Select } from "../../../Select/Select.js";
|
|
5
|
+
import { Drawer } from "../../../Drawer/Drawer.js";
|
|
6
|
+
import { Label } from "../../../Label/Label.js";
|
|
7
|
+
import { message } from "../../../Message/MessageManager.js";
|
|
8
|
+
import "../../../index.js";
|
|
9
|
+
import { useState } from "react";
|
|
10
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
//#region packages/react/ui/components/testPage/demos/core/DrawerDemo.tsx
|
|
12
|
+
var DrawerDemo_exports = /* @__PURE__ */ __exportAll({
|
|
13
|
+
default: () => DrawerDemo,
|
|
14
|
+
demoMeta: () => demoMeta
|
|
15
|
+
});
|
|
16
|
+
var demoMeta = {
|
|
17
|
+
title: "Drawer",
|
|
18
|
+
order: 16,
|
|
19
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
20
|
+
};
|
|
21
|
+
function DrawerDemo() {
|
|
22
|
+
const [placement, setPlacement] = useState("right");
|
|
23
|
+
const [open, setOpen] = useState(false);
|
|
24
|
+
const openDrawer = (nextPlacement) => {
|
|
25
|
+
setPlacement(nextPlacement);
|
|
26
|
+
setOpen(true);
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
29
|
+
/* @__PURE__ */ jsx(Button, {
|
|
30
|
+
onClick: () => openDrawer("left"),
|
|
31
|
+
children: "left"
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ jsx(Button, {
|
|
34
|
+
onClick: () => openDrawer("right"),
|
|
35
|
+
children: "right"
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ jsx(Button, {
|
|
38
|
+
onClick: () => openDrawer("top"),
|
|
39
|
+
children: "top"
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ jsx(Button, {
|
|
42
|
+
onClick: () => openDrawer("bottom"),
|
|
43
|
+
children: "bottom"
|
|
44
|
+
}),
|
|
45
|
+
/* @__PURE__ */ jsx(Button, {
|
|
46
|
+
onClick: () => openDrawer("right"),
|
|
47
|
+
variant: "primary",
|
|
48
|
+
children: "打开详情"
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ jsx(Drawer, {
|
|
51
|
+
open,
|
|
52
|
+
onClose: () => setOpen(false),
|
|
53
|
+
title: `Drawer ${placement}`,
|
|
54
|
+
placement,
|
|
55
|
+
width: 420,
|
|
56
|
+
height: 320,
|
|
57
|
+
footer: /* @__PURE__ */ jsxs("div", {
|
|
58
|
+
className: "flex justify-end gap-2",
|
|
59
|
+
children: [/* @__PURE__ */ jsx(Button, {
|
|
60
|
+
onClick: () => setOpen(false),
|
|
61
|
+
children: "取消"
|
|
62
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
63
|
+
variant: "primary",
|
|
64
|
+
onClick: () => {
|
|
65
|
+
message.success("已保存");
|
|
66
|
+
setOpen(false);
|
|
67
|
+
},
|
|
68
|
+
children: "保存"
|
|
69
|
+
})]
|
|
70
|
+
}),
|
|
71
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
72
|
+
className: "space-y-4",
|
|
73
|
+
children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
74
|
+
className: "mb-1 text-sm font-medium text-foreground",
|
|
75
|
+
children: "外部 children"
|
|
76
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
77
|
+
className: "text-sm leading-6 text-muted-foreground",
|
|
78
|
+
children: "这里的内容完全由调用方定义,可以放表单、列表、详情或任意 JSX。"
|
|
79
|
+
})] }), /* @__PURE__ */ jsxs("div", {
|
|
80
|
+
className: "grid gap-3",
|
|
81
|
+
children: [/* @__PURE__ */ jsx(Label, {
|
|
82
|
+
label: "名称",
|
|
83
|
+
layout: "vertical",
|
|
84
|
+
children: /* @__PURE__ */ jsx(Input, { placeholder: "请输入名称" })
|
|
85
|
+
}), /* @__PURE__ */ jsx(Label, {
|
|
86
|
+
label: "状态",
|
|
87
|
+
layout: "vertical",
|
|
88
|
+
children: /* @__PURE__ */ jsx(Select, {
|
|
89
|
+
placeholder: "请选择状态",
|
|
90
|
+
options: [{
|
|
91
|
+
label: "启用",
|
|
92
|
+
value: "enabled"
|
|
93
|
+
}, {
|
|
94
|
+
label: "停用",
|
|
95
|
+
value: "disabled"
|
|
96
|
+
}]
|
|
97
|
+
})
|
|
98
|
+
})]
|
|
99
|
+
})]
|
|
100
|
+
})
|
|
101
|
+
})
|
|
102
|
+
] });
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
export { DrawerDemo_exports, DrawerDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/DrawerDemo.tsx?raw
|
|
2
|
+
var DrawerDemo_default = "import {\n message,\n Button,\n Drawer,\n Input,\n Label,\n Select\n} from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Drawer',\n order: 16,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Drawer ──────────────────────────────────────────────────────────────────\n\nexport default function DrawerDemo() {\n const [placement, setPlacement] = useState<'top' | 'right' | 'bottom' | 'left'>('right')\n const [open, setOpen] = useState(false)\n\n const openDrawer = (nextPlacement: typeof placement) => {\n setPlacement(nextPlacement)\n setOpen(true)\n }\n\n return (\n <>\n <Button onClick={() => openDrawer('left')}>left</Button>\n <Button onClick={() => openDrawer('right')}>right</Button>\n <Button onClick={() => openDrawer('top')}>top</Button>\n <Button onClick={() => openDrawer('bottom')}>bottom</Button>\n <Button onClick={() => openDrawer('right')} variant=\"primary\">\n 打开详情\n </Button>\n\n <Drawer\n open={open}\n onClose={() => setOpen(false)}\n title={`Drawer ${placement}`}\n placement={placement}\n width={420}\n height={320}\n footer={\n <div className=\"flex justify-end gap-2\">\n <Button onClick={() => setOpen(false)}>取消</Button>\n <Button\n variant=\"primary\"\n onClick={() => {\n message.success('已保存')\n setOpen(false)\n }}\n >\n 保存\n </Button>\n </div>\n }\n >\n <div className=\"space-y-4\">\n <div>\n <div className=\"mb-1 text-sm font-medium text-foreground\">外部 children</div>\n <p className=\"text-sm leading-6 text-muted-foreground\">\n 这里的内容完全由调用方定义,可以放表单、列表、详情或任意 JSX。\n </p>\n </div>\n\n <div className=\"grid gap-3\">\n <Label label=\"名称\" layout=\"vertical\">\n <Input placeholder=\"请输入名称\" />\n </Label>\n <Label label=\"状态\" layout=\"vertical\">\n <Select\n placeholder=\"请选择状态\"\n options={[\n { label: '启用', value: 'enabled' },\n { label: '停用', value: 'disabled' },\n ]}\n />\n </Label>\n </div>\n </div>\n </Drawer>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { DrawerDemo_default as default };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Button } from "../../../Button/Button.js";
|
|
3
|
+
import { Dropdown } from "../../../Dropdown/Dropdown.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region packages/react/ui/components/testPage/demos/core/DropdownDemo.tsx
|
|
7
|
+
var DropdownDemo_exports = /* @__PURE__ */ __exportAll({
|
|
8
|
+
default: () => DropdownDemo,
|
|
9
|
+
demoMeta: () => demoMeta
|
|
10
|
+
});
|
|
11
|
+
var demoMeta = {
|
|
12
|
+
title: "Dropdown",
|
|
13
|
+
order: 11,
|
|
14
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
15
|
+
};
|
|
16
|
+
function DropdownDemo() {
|
|
17
|
+
const items = [
|
|
18
|
+
{
|
|
19
|
+
key: "edit",
|
|
20
|
+
label: "编辑",
|
|
21
|
+
onClick: () => console.log("edit")
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
key: "copy",
|
|
25
|
+
label: "复制",
|
|
26
|
+
onClick: () => console.log("copy")
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: "delete",
|
|
30
|
+
label: "删除",
|
|
31
|
+
danger: true,
|
|
32
|
+
onClick: () => console.log("delete")
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Dropdown, {
|
|
36
|
+
items,
|
|
37
|
+
children: /* @__PURE__ */ jsx(Button, { children: "操作 ▾" })
|
|
38
|
+
}), /* @__PURE__ */ jsx(Dropdown, {
|
|
39
|
+
items,
|
|
40
|
+
placement: "bottom-start",
|
|
41
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
42
|
+
variant: "text",
|
|
43
|
+
children: "bottom-start ▾"
|
|
44
|
+
})
|
|
45
|
+
})] });
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { DropdownDemo_exports, DropdownDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/DropdownDemo.tsx?raw
|
|
2
|
+
var DropdownDemo_default = "import {\n Button,\n Dropdown\n} from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Dropdown',\n order: 11,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Dropdown ────────────────────────────────────────────────────────────────\n\nexport default function DropdownDemo() {\n const items = [\n { key: 'edit', label: '编辑', onClick: () => console.log('edit') },\n { key: 'copy', label: '复制', onClick: () => console.log('copy') },\n { key: 'delete', label: '删除', danger: true, onClick: () => console.log('delete') },\n ]\n return (\n <>\n <Dropdown items={items}>\n <Button>操作 ▾</Button>\n </Dropdown>\n <Dropdown items={items} placement=\"bottom-start\">\n <Button variant=\"text\">bottom-start ▾</Button>\n </Dropdown>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { DropdownDemo_default as default };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Button } from "../../../Button/Button.js";
|
|
3
|
+
import { Input } from "../../../Input/Input.js";
|
|
4
|
+
import { Form } from "../../../Form/Form.js";
|
|
5
|
+
import { FormItem } from "../../../Form/FormItem.js";
|
|
6
|
+
import { useForm } from "../../../Form/useForm.js";
|
|
7
|
+
import "../../../index.js";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region packages/react/ui/components/testPage/demos/core/FormDemo.tsx
|
|
10
|
+
var FormDemo_exports = /* @__PURE__ */ __exportAll({
|
|
11
|
+
default: () => FormDemo,
|
|
12
|
+
demoMeta: () => demoMeta
|
|
13
|
+
});
|
|
14
|
+
var demoMeta = {
|
|
15
|
+
title: "Form",
|
|
16
|
+
order: 27,
|
|
17
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
18
|
+
};
|
|
19
|
+
function FormDemo() {
|
|
20
|
+
const [form] = useForm();
|
|
21
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Form, {
|
|
22
|
+
form,
|
|
23
|
+
onFinish: (v) => console.log("表单值:", v),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsx(FormItem, {
|
|
26
|
+
name: "username",
|
|
27
|
+
label: "用户名",
|
|
28
|
+
required: true,
|
|
29
|
+
rules: [{
|
|
30
|
+
required: true,
|
|
31
|
+
message: "请输入用户名"
|
|
32
|
+
}],
|
|
33
|
+
children: /* @__PURE__ */ jsx(Input, { placeholder: "请输入用户名" })
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx(FormItem, {
|
|
36
|
+
name: "password",
|
|
37
|
+
label: "密码",
|
|
38
|
+
required: true,
|
|
39
|
+
rules: [{
|
|
40
|
+
required: true,
|
|
41
|
+
message: "请输入密码"
|
|
42
|
+
}],
|
|
43
|
+
children: /* @__PURE__ */ jsx(Input, {
|
|
44
|
+
type: "password",
|
|
45
|
+
placeholder: "请输入密码"
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsx(Button, {
|
|
49
|
+
type: "submit",
|
|
50
|
+
children: "提交"
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
}) });
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { FormDemo_exports, FormDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/FormDemo.tsx?raw
|
|
2
|
+
var FormDemo_default = "import {\n Button,\n Form,\n FormItem,\n Input,\n useForm\n} from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Form',\n order: 27,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Form ─────────────────────────────────────────────────────────────────────\n\nexport default function FormDemo() {\n const [form] = useForm()\n return (\n <>\n <Form form={form} onFinish={(v) => console.log('表单值:', v)}>\n <FormItem name=\"username\" label=\"用户名\" required rules={[{ required: true, message: '请输入用户名' }]}>\n <Input placeholder=\"请输入用户名\" />\n </FormItem>\n <FormItem name=\"password\" label=\"密码\" required rules={[{ required: true, message: '请输入密码' }]}>\n <Input type=\"password\" placeholder=\"请输入密码\" />\n </FormItem>\n <Button type=\"submit\">提交</Button>\n </Form>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { FormDemo_default as default };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { ImageUpload } from "../../../Upload/ImageUpload.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region packages/react/ui/components/testPage/demos/core/ImageUploadDemo.tsx
|
|
6
|
+
var ImageUploadDemo_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => ImageUploadDemo,
|
|
8
|
+
demoMeta: () => demoMeta
|
|
9
|
+
});
|
|
10
|
+
var demoMeta = {
|
|
11
|
+
title: "ImageUpload",
|
|
12
|
+
order: 33,
|
|
13
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
14
|
+
};
|
|
15
|
+
function ImageUploadDemo() {
|
|
16
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(ImageUpload, {
|
|
17
|
+
accept: ".jpg,.png",
|
|
18
|
+
maxCount: 4,
|
|
19
|
+
beforeChange: (f) => {
|
|
20
|
+
console.log(f);
|
|
21
|
+
return parseInt(Math.random() * 10 + "") % 2 === 0;
|
|
22
|
+
}
|
|
23
|
+
}) });
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { ImageUploadDemo_exports, ImageUploadDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/ImageUploadDemo.tsx?raw
|
|
2
|
+
var ImageUploadDemo_default = "import { ImageUpload } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'ImageUpload',\n order: 33,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── ImageUpload ─────────────────────────────────────────────────────────────\n\nexport default function ImageUploadDemo() {\n return (\n <>\n <ImageUpload\n accept=\".jpg,.png\"\n maxCount={4}\n beforeChange={(f) => {\n console.log(f)\n return parseInt(Math.random() * 10 + '') % 2 === 0\n }}\n />\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { ImageUploadDemo_default as default };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Input } from "../../../Input/Input.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region packages/react/ui/components/testPage/demos/core/InputDemo.tsx
|
|
6
|
+
var InputDemo_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => InputDemo,
|
|
8
|
+
demoMeta: () => demoMeta
|
|
9
|
+
});
|
|
10
|
+
var demoMeta = {
|
|
11
|
+
title: "Input",
|
|
12
|
+
order: 3,
|
|
13
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
14
|
+
};
|
|
15
|
+
function InputDemo() {
|
|
16
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Input, {
|
|
18
|
+
placeholder: "普通输入框",
|
|
19
|
+
className: "w-48"
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ jsx(Input, {
|
|
22
|
+
allowClear: true,
|
|
23
|
+
defaultValue: "可清空内容",
|
|
24
|
+
placeholder: "清空按钮",
|
|
25
|
+
className: "w-48"
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsx(Input, {
|
|
28
|
+
type: "password",
|
|
29
|
+
placeholder: "密码输入框",
|
|
30
|
+
className: "w-48"
|
|
31
|
+
}),
|
|
32
|
+
/* @__PURE__ */ jsx(Input, {
|
|
33
|
+
type: "password",
|
|
34
|
+
defaultValue: "template-core",
|
|
35
|
+
placeholder: "密码默认值",
|
|
36
|
+
className: "w-48"
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ jsx(Input, {
|
|
39
|
+
type: "password",
|
|
40
|
+
placeholder: "密码 + addon",
|
|
41
|
+
addonAfter: /* @__PURE__ */ jsx("span", {
|
|
42
|
+
className: "text-xs text-muted-foreground",
|
|
43
|
+
children: "PWD"
|
|
44
|
+
}),
|
|
45
|
+
className: "w-56"
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ jsx(Input, {
|
|
48
|
+
disabled: true,
|
|
49
|
+
placeholder: "禁用状态",
|
|
50
|
+
className: "w-48"
|
|
51
|
+
})
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { InputDemo_exports, InputDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/InputDemo.tsx?raw
|
|
2
|
+
var InputDemo_default = "import { Input } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Input',\n order: 3,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Input ───────────────────────────────────────────────────────────────────\n\nexport default function InputDemo() {\n return (\n <>\n <Input placeholder=\"普通输入框\" className=\"w-48\" />\n <Input allowClear defaultValue=\"可清空内容\" placeholder=\"清空按钮\" className=\"w-48\" />\n <Input type=\"password\" placeholder=\"密码输入框\" className=\"w-48\" />\n <Input type=\"password\" defaultValue=\"template-core\" placeholder=\"密码默认值\" className=\"w-48\" />\n <Input\n type=\"password\"\n placeholder=\"密码 + addon\"\n addonAfter={<span className=\"text-xs text-muted-foreground\">PWD</span>}\n className=\"w-56\"\n />\n <Input disabled placeholder=\"禁用状态\" className=\"w-48\" />\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { InputDemo_default as default };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { InputNumber } from "../../../InputNumber/InputNumber.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region packages/react/ui/components/testPage/demos/core/InputNumberDemo.tsx
|
|
7
|
+
var InputNumberDemo_exports = /* @__PURE__ */ __exportAll({
|
|
8
|
+
default: () => InputNumberDemo,
|
|
9
|
+
demoMeta: () => demoMeta
|
|
10
|
+
});
|
|
11
|
+
var demoMeta = {
|
|
12
|
+
title: "InputNumber",
|
|
13
|
+
order: 4,
|
|
14
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
15
|
+
};
|
|
16
|
+
function InputNumberDemo() {
|
|
17
|
+
const [price, setPrice] = useState(12.5);
|
|
18
|
+
const [ratio, setRatio] = useState(.25);
|
|
19
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
20
|
+
/* @__PURE__ */ jsx(InputNumber, {
|
|
21
|
+
placeholder: "基础数字输入",
|
|
22
|
+
className: "w-48"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ jsx(InputNumber, {
|
|
25
|
+
value: price,
|
|
26
|
+
onChange: setPrice,
|
|
27
|
+
precision: 2,
|
|
28
|
+
min: 0,
|
|
29
|
+
max: 9999,
|
|
30
|
+
placeholder: "价格",
|
|
31
|
+
addonAfter: /* @__PURE__ */ jsx("span", {
|
|
32
|
+
className: "text-xs text-muted-foreground",
|
|
33
|
+
children: "CNY"
|
|
34
|
+
}),
|
|
35
|
+
className: "w-56"
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ jsx(InputNumber, {
|
|
38
|
+
value: ratio,
|
|
39
|
+
onChange: setRatio,
|
|
40
|
+
precision: 2,
|
|
41
|
+
step: .05,
|
|
42
|
+
min: 0,
|
|
43
|
+
max: 1,
|
|
44
|
+
allowStep: true,
|
|
45
|
+
placeholder: "比例",
|
|
46
|
+
className: "w-48"
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsx(InputNumber, {
|
|
49
|
+
defaultValue: 10,
|
|
50
|
+
step: .5,
|
|
51
|
+
precision: 1,
|
|
52
|
+
allowStep: true,
|
|
53
|
+
allowClear: true,
|
|
54
|
+
className: "w-48"
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ jsx(InputNumber, {
|
|
57
|
+
disabled: true,
|
|
58
|
+
defaultValue: 88.8,
|
|
59
|
+
precision: 1,
|
|
60
|
+
className: "w-48"
|
|
61
|
+
})
|
|
62
|
+
] });
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { InputNumberDemo_exports, InputNumberDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/InputNumberDemo.tsx?raw
|
|
2
|
+
var InputNumberDemo_default = "import { InputNumber } from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'InputNumber',\n order: 4,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\nexport default function InputNumberDemo() {\n const [price, setPrice] = useState<number | undefined>(12.5)\n const [ratio, setRatio] = useState<number | undefined>(0.25)\n\n return (\n <>\n <InputNumber placeholder=\"基础数字输入\" className=\"w-48\" />\n <InputNumber\n value={price}\n onChange={setPrice}\n precision={2}\n min={0}\n max={9999}\n placeholder=\"价格\"\n addonAfter={<span className=\"text-xs text-muted-foreground\">CNY</span>}\n className=\"w-56\"\n />\n <InputNumber\n value={ratio}\n onChange={setRatio}\n precision={2}\n step={0.05}\n min={0}\n max={1}\n allowStep\n placeholder=\"比例\"\n className=\"w-48\"\n />\n <InputNumber defaultValue={10} step={0.5} precision={1} allowStep allowClear className=\"w-48\" />\n <InputNumber disabled defaultValue={88.8} precision={1} className=\"w-48\" />\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { InputNumberDemo_default as default };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Label } from "../../../Label/Label.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region packages/react/ui/components/testPage/demos/core/LabelDemo.tsx
|
|
6
|
+
var LabelDemo_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => LabelDemo,
|
|
8
|
+
demoMeta: () => demoMeta
|
|
9
|
+
});
|
|
10
|
+
var demoMeta = {
|
|
11
|
+
title: "Label",
|
|
12
|
+
order: 23,
|
|
13
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
14
|
+
};
|
|
15
|
+
function LabelDemo() {
|
|
16
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Label, {
|
|
17
|
+
label: "水平布局",
|
|
18
|
+
layout: "horizontal",
|
|
19
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
20
|
+
className: "text-sm",
|
|
21
|
+
children: "内容区域"
|
|
22
|
+
})
|
|
23
|
+
}), /* @__PURE__ */ jsx(Label, {
|
|
24
|
+
label: "垂直布局",
|
|
25
|
+
layout: "vertical",
|
|
26
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
27
|
+
className: "text-sm",
|
|
28
|
+
children: "内容区域"
|
|
29
|
+
})
|
|
30
|
+
})] });
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { LabelDemo_exports, LabelDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/LabelDemo.tsx?raw
|
|
2
|
+
var LabelDemo_default = "import { Label } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Label',\n order: 23,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Label ────────────────────────────────────────────────────────────────────\n\nexport default function LabelDemo() {\n return (\n <>\n <Label label=\"水平布局\" layout=\"horizontal\">\n <span className=\"text-sm\">内容区域</span>\n </Label>\n <Label label=\"垂直布局\" layout=\"vertical\">\n <span className=\"text-sm\">内容区域</span>\n </Label>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { LabelDemo_default as default };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Layout } from "../../../Layout/Layout.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region packages/react/ui/components/testPage/demos/core/LayoutDemo.tsx
|
|
6
|
+
var LayoutDemo_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => LayoutDemo,
|
|
8
|
+
demoMeta: () => demoMeta
|
|
9
|
+
});
|
|
10
|
+
var demoMeta = {
|
|
11
|
+
title: "Layout",
|
|
12
|
+
order: 24,
|
|
13
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
14
|
+
};
|
|
15
|
+
function LayoutDemo() {
|
|
16
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", {
|
|
17
|
+
className: "w-full h-80 border rounded-lg overflow-hidden",
|
|
18
|
+
children: /* @__PURE__ */ jsx(Layout, {
|
|
19
|
+
header: /* @__PURE__ */ jsx("div", {
|
|
20
|
+
className: "flex items-center h-12 px-4 text-sm font-medium",
|
|
21
|
+
children: "Header"
|
|
22
|
+
}),
|
|
23
|
+
sidebar: /* @__PURE__ */ jsxs("div", {
|
|
24
|
+
className: "p-4",
|
|
25
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26
|
+
className: "text-sm font-medium mb-2",
|
|
27
|
+
children: "Sidebar"
|
|
28
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
29
|
+
className: "space-y-1",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsx("div", {
|
|
32
|
+
className: "text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer",
|
|
33
|
+
children: "菜单项 1"
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx("div", {
|
|
36
|
+
className: "text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer",
|
|
37
|
+
children: "菜单项 2"
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ jsx("div", {
|
|
40
|
+
className: "text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer",
|
|
41
|
+
children: "菜单项 3"
|
|
42
|
+
})
|
|
43
|
+
]
|
|
44
|
+
})]
|
|
45
|
+
}),
|
|
46
|
+
footer: /* @__PURE__ */ jsx("div", {
|
|
47
|
+
className: "flex items-center h-10 px-4 text-xs text-muted-foreground",
|
|
48
|
+
children: "Footer"
|
|
49
|
+
}),
|
|
50
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
51
|
+
className: "p-4",
|
|
52
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
53
|
+
className: "text-sm font-medium mb-1",
|
|
54
|
+
children: "Content"
|
|
55
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
56
|
+
className: "text-xs text-muted-foreground",
|
|
57
|
+
children: "这是主要内容区域。"
|
|
58
|
+
})]
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
}) });
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { LayoutDemo_exports, LayoutDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/LayoutDemo.tsx?raw
|
|
2
|
+
var LayoutDemo_default = "import { Layout } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Layout',\n order: 24,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Layout ──────────────────────────────────────────────────────────────────\n\nexport default function LayoutDemo() {\n return (\n <>\n <div className=\"w-full h-80 border rounded-lg overflow-hidden\">\n <Layout\n header={<div className=\"flex items-center h-12 px-4 text-sm font-medium\">Header</div>}\n sidebar={\n <div className=\"p-4\">\n <p className=\"text-sm font-medium mb-2\">Sidebar</p>\n <div className=\"space-y-1\">\n <div className=\"text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer\">\n 菜单项 1\n </div>\n <div className=\"text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer\">\n 菜单项 2\n </div>\n <div className=\"text-sm text-muted-foreground p-1 rounded hover:bg-muted cursor-pointer\">\n 菜单项 3\n </div>\n </div>\n </div>\n }\n footer={<div className=\"flex items-center h-10 px-4 text-xs text-muted-foreground\">Footer</div>}\n >\n <div className=\"p-4\">\n <p className=\"text-sm font-medium mb-1\">Content</p>\n <p className=\"text-xs text-muted-foreground\">这是主要内容区域。</p>\n </div>\n </Layout>\n </div>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { LayoutDemo_default as default };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { Loading } from "../../../Loading/Loading.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region packages/react/ui/components/testPage/demos/core/LoadingDemo.tsx
|
|
6
|
+
var LoadingDemo_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => LoadingDemo,
|
|
8
|
+
demoMeta: () => demoMeta
|
|
9
|
+
});
|
|
10
|
+
var demoMeta = {
|
|
11
|
+
title: "Loading",
|
|
12
|
+
order: 14,
|
|
13
|
+
contentClassName: "flex flex-wrap gap-3 items-start"
|
|
14
|
+
};
|
|
15
|
+
function LoadingDemo() {
|
|
16
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", {
|
|
17
|
+
className: "flex items-end gap-8",
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsx(Loading, {
|
|
20
|
+
size: "sm",
|
|
21
|
+
text: "加载中..."
|
|
22
|
+
}),
|
|
23
|
+
/* @__PURE__ */ jsx(Loading, {
|
|
24
|
+
size: "md",
|
|
25
|
+
text: "加载中..."
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsx(Loading, { size: "lg" })
|
|
28
|
+
]
|
|
29
|
+
}) });
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { LoadingDemo_exports, LoadingDemo as default, demoMeta };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region packages/react/ui/components/testPage/demos/core/LoadingDemo.tsx?raw
|
|
2
|
+
var LoadingDemo_default = "import { Loading } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Loading',\n order: 14,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Loading ─────────────────────────────────────────────────────────────────\n\nexport default function LoadingDemo() {\n return (\n <>\n <div className=\"flex items-end gap-8\">\n <Loading size=\"sm\" text=\"加载中...\" />\n <Loading size=\"md\" text=\"加载中...\" />\n <Loading size=\"lg\" />\n </div>\n </>\n )\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { LoadingDemo_default as default };
|