@_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.
Files changed (167) hide show
  1. package/README.md +34 -0
  2. package/fe/_virtual/_rolldown/runtime.js +13 -0
  3. package/fe/packages/react/ui/components/Date/Calendar.js +1 -5
  4. package/fe/packages/react/ui/components/Date/DateTestPage.js +15 -331
  5. package/fe/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  6. package/fe/packages/react/ui/components/Date/index.js +2 -2
  7. package/fe/packages/react/ui/components/Date/locales.d.ts +5 -0
  8. package/fe/packages/react/ui/components/Date/locales.js +16 -1
  9. package/fe/packages/react/ui/components/testPage/DemoSection.d.ts +10 -0
  10. package/fe/packages/react/ui/components/testPage/DemoSection.js +73 -0
  11. package/fe/packages/react/ui/components/testPage/MenuTestPage.js +16 -389
  12. package/fe/packages/react/ui/components/testPage/demoRegistry.d.ts +4 -0
  13. package/fe/packages/react/ui/components/testPage/demoRegistry.js +214 -0
  14. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.d.ts +6 -0
  15. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.js +44 -0
  16. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo2.js +4 -0
  17. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.d.ts +6 -0
  18. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.js +85 -0
  19. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo2.js +4 -0
  20. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.d.ts +6 -0
  21. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.js +52 -0
  22. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo2.js +4 -0
  23. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.d.ts +6 -0
  24. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.js +41 -0
  25. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo2.js +4 -0
  26. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.d.ts +6 -0
  27. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.js +35 -0
  28. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo2.js +4 -0
  29. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.d.ts +6 -0
  30. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.js +243 -0
  31. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo2.js +4 -0
  32. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.d.ts +6 -0
  33. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.js +105 -0
  34. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo2.js +4 -0
  35. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.d.ts +6 -0
  36. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.js +48 -0
  37. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo2.js +4 -0
  38. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.d.ts +6 -0
  39. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.js +56 -0
  40. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo2.js +4 -0
  41. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.d.ts +6 -0
  42. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.js +26 -0
  43. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo2.js +4 -0
  44. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.d.ts +6 -0
  45. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.js +55 -0
  46. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo2.js +4 -0
  47. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.d.ts +6 -0
  48. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.js +65 -0
  49. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo2.js +4 -0
  50. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.d.ts +6 -0
  51. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.js +33 -0
  52. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo2.js +4 -0
  53. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.d.ts +6 -0
  54. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.js +64 -0
  55. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo2.js +4 -0
  56. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.d.ts +6 -0
  57. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.js +32 -0
  58. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo2.js +4 -0
  59. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.d.ts +6 -0
  60. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.js +44 -0
  61. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo2.js +4 -0
  62. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.d.ts +6 -0
  63. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.js +61 -0
  64. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo2.js +4 -0
  65. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.d.ts +6 -0
  66. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.js +50 -0
  67. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo2.js +4 -0
  68. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.d.ts +6 -0
  69. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.js +39 -0
  70. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo2.js +4 -0
  71. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.d.ts +6 -0
  72. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.js +22 -0
  73. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo2.js +4 -0
  74. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.d.ts +6 -0
  75. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.js +129 -0
  76. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo2.js +4 -0
  77. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.d.ts +6 -0
  78. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.js +52 -0
  79. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo2.js +4 -0
  80. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.d.ts +6 -0
  81. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.js +52 -0
  82. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo2.js +4 -0
  83. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.d.ts +6 -0
  84. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.js +73 -0
  85. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo2.js +4 -0
  86. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.d.ts +6 -0
  87. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.js +46 -0
  88. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo2.js +4 -0
  89. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.d.ts +6 -0
  90. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.js +36 -0
  91. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo2.js +4 -0
  92. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.d.ts +6 -0
  93. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.js +64 -0
  94. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo2.js +4 -0
  95. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.d.ts +6 -0
  96. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.js +74 -0
  97. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo2.js +4 -0
  98. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.d.ts +6 -0
  99. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.js +56 -0
  100. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo2.js +4 -0
  101. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.d.ts +6 -0
  102. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.js +30 -0
  103. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo2.js +4 -0
  104. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.d.ts +6 -0
  105. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.js +96 -0
  106. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher2.js +4 -0
  107. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.d.ts +6 -0
  108. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.js +29 -0
  109. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo2.js +4 -0
  110. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.d.ts +6 -0
  111. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.js +66 -0
  112. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo2.js +4 -0
  113. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.d.ts +6 -0
  114. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.js +31 -0
  115. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo2.js +4 -0
  116. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.d.ts +6 -0
  117. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.js +67 -0
  118. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo2.js +4 -0
  119. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.d.ts +6 -0
  120. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.js +36 -0
  121. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo2.js +4 -0
  122. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.d.ts +6 -0
  123. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.js +35 -0
  124. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo2.js +4 -0
  125. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.d.ts +6 -0
  126. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.js +35 -0
  127. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo2.js +4 -0
  128. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.d.ts +6 -0
  129. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.js +76 -0
  130. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo2.js +4 -0
  131. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.d.ts +7 -0
  132. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.js +60 -0
  133. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo2.js +4 -0
  134. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.d.ts +7 -0
  135. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.js +78 -0
  136. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo2.js +4 -0
  137. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.d.ts +7 -0
  138. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.js +79 -0
  139. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo2.js +4 -0
  140. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.d.ts +7 -0
  141. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.js +82 -0
  142. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo2.js +4 -0
  143. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.d.ts +7 -0
  144. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.js +44 -0
  145. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo2.js +4 -0
  146. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.d.ts +7 -0
  147. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.js +64 -0
  148. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo2.js +4 -0
  149. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.d.ts +7 -0
  150. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.js +81 -0
  151. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo2.js +4 -0
  152. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.d.ts +7 -0
  153. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.js +56 -0
  154. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo2.js +4 -0
  155. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.d.ts +7 -0
  156. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.js +67 -0
  157. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo2.js +4 -0
  158. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.d.ts +7 -0
  159. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.js +55 -0
  160. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo2.js +4 -0
  161. package/fe/packages/react/ui/components/testPage/index.js +30 -1623
  162. package/fe/packages/react/ui/components/testPage/types.d.ts +17 -0
  163. package/fe/packages/react/ui/components/testPage/types.js +0 -0
  164. package/fe/packages/react/ui/i18n/I18nProvider.js +2 -1
  165. package/model/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  166. package/model/packages/react/ui/components/Date/locales.d.ts +5 -0
  167. package/package.json +1 -1
@@ -0,0 +1,44 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Button } from "../../../Button/Button.js";
3
+ import { message } from "../../../Message/MessageManager.js";
4
+ import "../../../index.js";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region packages/react/ui/components/testPage/demos/core/MessageDemo.tsx
7
+ var MessageDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => MessageDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Message (imperative)",
13
+ order: 12,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function MessageDemo() {
17
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
18
+ /* @__PURE__ */ jsx(Button, {
19
+ onClick: () => message.success("操作成功"),
20
+ children: "success"
21
+ }),
22
+ /* @__PURE__ */ jsx(Button, {
23
+ onClick: () => message.error("操作失败"),
24
+ children: "error"
25
+ }),
26
+ /* @__PURE__ */ jsx(Button, {
27
+ onClick: () => message.warning("警告信息"),
28
+ children: "warning"
29
+ }),
30
+ /* @__PURE__ */ jsx(Button, {
31
+ onClick: () => message.info("提示信息"),
32
+ children: "info"
33
+ }),
34
+ /* @__PURE__ */ jsx(Button, {
35
+ onClick: () => {
36
+ const id = message.success("5秒后关闭", { duration: 5e3 });
37
+ setTimeout(() => message.close(id), 2e3);
38
+ },
39
+ children: "提前关闭"
40
+ })
41
+ ] });
42
+ }
43
+ //#endregion
44
+ export { MessageDemo_exports, MessageDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/MessageDemo.tsx?raw
2
+ var MessageDemo_default = "import {\n message,\n Button\n} from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Message (imperative)',\n order: 12,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Message ─────────────────────────────────────────────────────────────────\n\nexport default function MessageDemo() {\n return (\n <>\n <Button onClick={() => message.success('操作成功')}>success</Button>\n <Button onClick={() => message.error('操作失败')}>error</Button>\n <Button onClick={() => message.warning('警告信息')}>warning</Button>\n <Button onClick={() => message.info('提示信息')}>info</Button>\n <Button\n onClick={() => {\n const id = message.success('5秒后关闭', { duration: 5000 })\n setTimeout(() => message.close(id), 2000)\n }}\n >\n 提前关闭\n </Button>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { MessageDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function ModalDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,61 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Button } from "../../../Button/Button.js";
3
+ import { Modal } from "../../../Modal/Modal.js";
4
+ import { modal } from "../../../Modal/ModalManager.js";
5
+ import { message } from "../../../Message/MessageManager.js";
6
+ import "../../../index.js";
7
+ import { useState } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ //#region packages/react/ui/components/testPage/demos/core/ModalDemo.tsx
10
+ var ModalDemo_exports = /* @__PURE__ */ __exportAll({
11
+ default: () => ModalDemo,
12
+ demoMeta: () => demoMeta
13
+ });
14
+ var demoMeta = {
15
+ title: "Modal",
16
+ order: 15,
17
+ contentClassName: "flex flex-wrap gap-3 items-start"
18
+ };
19
+ function ModalDemo() {
20
+ const [open, setOpen] = useState(false);
21
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
22
+ /* @__PURE__ */ jsx(Button, {
23
+ onClick: () => setOpen(true),
24
+ children: "JSX Modal"
25
+ }),
26
+ /* @__PURE__ */ jsx(Button, {
27
+ onClick: () => modal.open({
28
+ title: "命令式弹窗",
29
+ content: /* @__PURE__ */ jsx("p", { children: "这是命令式打开的弹窗内容。" })
30
+ }),
31
+ children: "modal.open"
32
+ }),
33
+ /* @__PURE__ */ jsx(Button, {
34
+ onClick: () => modal.confirm({
35
+ title: "确认操作",
36
+ content: "确定要执行此操作吗?",
37
+ onOk: () => {
38
+ message.success("已确认");
39
+ },
40
+ onCancel: () => {
41
+ message.info("已取消");
42
+ }
43
+ }),
44
+ children: "modal.confirm"
45
+ }),
46
+ /* @__PURE__ */ jsxs(Modal, {
47
+ open,
48
+ onClose: () => setOpen(false),
49
+ title: "JSX 弹窗",
50
+ children: [/* @__PURE__ */ jsx("p", { children: "这是一个使用 JSX 控制的弹窗。" }), /* @__PURE__ */ jsx("div", {
51
+ className: "mt-4 flex justify-end gap-2",
52
+ children: /* @__PURE__ */ jsx(Button, {
53
+ onClick: () => setOpen(false),
54
+ children: "关闭"
55
+ })
56
+ })]
57
+ })
58
+ ] });
59
+ }
60
+ //#endregion
61
+ export { ModalDemo_exports, ModalDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/ModalDemo.tsx?raw
2
+ var ModalDemo_default = "import {\n message,\n Button,\n Modal,\n modal\n} from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Modal',\n order: 15,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Modal ───────────────────────────────────────────────────────────────────\n\nexport default function ModalDemo() {\n const [open, setOpen] = useState(false)\n return (\n <>\n <Button onClick={() => setOpen(true)}>JSX Modal</Button>\n <Button\n onClick={() =>\n modal.open({\n title: '命令式弹窗',\n content: <p>这是命令式打开的弹窗内容。</p>,\n })\n }\n >\n modal.open\n </Button>\n <Button\n onClick={() =>\n modal.confirm({\n title: '确认操作',\n content: '确定要执行此操作吗?',\n onOk: () => {\n message.success('已确认')\n },\n onCancel: () => {\n message.info('已取消')\n },\n })\n }\n >\n modal.confirm\n </Button>\n\n <Modal open={open} onClose={() => setOpen(false)} title=\"JSX 弹窗\">\n <p>这是一个使用 JSX 控制的弹窗。</p>\n <div className=\"mt-4 flex justify-end gap-2\">\n <Button onClick={() => setOpen(false)}>关闭</Button>\n </div>\n </Modal>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { ModalDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function NotificationDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,50 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Notification } from "../../../Notification/Notification.js";
3
+ import "../../../index.js";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ //#region packages/react/ui/components/testPage/demos/core/NotificationDemo.tsx
6
+ var NotificationDemo_exports = /* @__PURE__ */ __exportAll({
7
+ default: () => NotificationDemo,
8
+ demoMeta: () => demoMeta
9
+ });
10
+ var demoMeta = {
11
+ title: "Notification",
12
+ order: 13,
13
+ contentClassName: "flex flex-wrap gap-3 items-start"
14
+ };
15
+ function NotificationDemo() {
16
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", {
17
+ className: "w-full space-y-3",
18
+ children: [
19
+ /* @__PURE__ */ jsx(Notification, {
20
+ type: "info",
21
+ title: "信息提示",
22
+ message: "这是一条普通信息通知。"
23
+ }),
24
+ /* @__PURE__ */ jsx(Notification, {
25
+ type: "success",
26
+ title: "操作成功",
27
+ message: "数据已成功保存。"
28
+ }),
29
+ /* @__PURE__ */ jsx(Notification, {
30
+ type: "warning",
31
+ title: "警告",
32
+ message: "请注意检查配置项是否正确。"
33
+ }),
34
+ /* @__PURE__ */ jsx(Notification, {
35
+ type: "error",
36
+ title: "错误",
37
+ message: "请求失败,请稍后重试。",
38
+ closable: false
39
+ }),
40
+ /* @__PURE__ */ jsx(Notification, {
41
+ type: "info",
42
+ title: "不自动关闭",
43
+ message: "此通知需要手动关闭。",
44
+ duration: 0
45
+ })
46
+ ]
47
+ }) });
48
+ }
49
+ //#endregion
50
+ export { NotificationDemo_exports, NotificationDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/NotificationDemo.tsx?raw
2
+ var NotificationDemo_default = "import { Notification } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Notification',\n order: 13,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Notification ────────────────────────────────────────────────────────────\n\nexport default function NotificationDemo() {\n return (\n <>\n <div className=\"w-full space-y-3\">\n <Notification type=\"info\" title=\"信息提示\" message=\"这是一条普通信息通知。\" />\n <Notification type=\"success\" title=\"操作成功\" message=\"数据已成功保存。\" />\n <Notification type=\"warning\" title=\"警告\" message=\"请注意检查配置项是否正确。\" />\n <Notification type=\"error\" title=\"错误\" message=\"请求失败,请稍后重试。\" closable={false} />\n <Notification type=\"info\" title=\"不自动关闭\" message=\"此通知需要手动关闭。\" duration={0} />\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { NotificationDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function PaginationDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Pagination } from "../../../Pagination/Pagination.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/PaginationDemo.tsx
7
+ var PaginationDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => PaginationDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Pagination",
13
+ order: 18,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function PaginationDemo() {
17
+ const [page, setPage] = useState(1);
18
+ const [pageSize, setPageSize] = useState(10);
19
+ return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsxs("div", {
20
+ className: "w-full",
21
+ children: [/* @__PURE__ */ jsxs("p", {
22
+ className: "text-sm mb-2",
23
+ children: [
24
+ "当前页: ",
25
+ page,
26
+ " / 每页: ",
27
+ pageSize
28
+ ]
29
+ }), /* @__PURE__ */ jsx(Pagination, {
30
+ current: page,
31
+ pageSize,
32
+ total: 238,
33
+ onChange: setPage,
34
+ onPageSizeChange: setPageSize
35
+ })]
36
+ }) });
37
+ }
38
+ //#endregion
39
+ export { PaginationDemo_exports, PaginationDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/PaginationDemo.tsx?raw
2
+ var PaginationDemo_default = "import { Pagination } from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Pagination',\n order: 18,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Pagination ───────────────────────────────────────────────────────────────\n\nexport default function PaginationDemo() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n return (\n <>\n <div className=\"w-full\">\n <p className=\"text-sm mb-2\">\n 当前页: {page} / 每页: {pageSize}\n </p>\n <Pagination\n current={page}\n pageSize={pageSize}\n total={238}\n onChange={setPage}\n onPageSizeChange={setPageSize}\n />\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { PaginationDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function PreviewImageDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { PreviewImage } from "../../../ImagePreview/PreviewImage.js";
3
+ import "../../../index.js";
4
+ import { Fragment, jsx } from "react/jsx-runtime";
5
+ //#region packages/react/ui/components/testPage/demos/core/PreviewImageDemo.tsx
6
+ var PreviewImageDemo_exports = /* @__PURE__ */ __exportAll({
7
+ default: () => PreviewImageDemo,
8
+ demoMeta: () => demoMeta
9
+ });
10
+ var demoMeta = {
11
+ title: "PreviewImage",
12
+ order: 32,
13
+ contentClassName: "flex flex-wrap gap-3 items-start"
14
+ };
15
+ function PreviewImageDemo() {
16
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(PreviewImage, {
17
+ images: ["https://images.unsplash.com/photo-1778512828600-4a6540a1a115?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxmZWF0dXJlZC1waG90b3MtZmVlZHw0fHx8ZW58MHx8fHx8", "https://images.unsplash.com/photo-1778392120781-a6b2b55dc12a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxmZWF0dXJlZC1waG90b3MtZmVlZHwyNnx8fGVufDB8fHx8fA%3D%3D"],
18
+ initialIndex: 0
19
+ }) });
20
+ }
21
+ //#endregion
22
+ export { PreviewImageDemo_exports, PreviewImageDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/PreviewImageDemo.tsx?raw
2
+ var PreviewImageDemo_default = "import { PreviewImage } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'PreviewImage',\n order: 32,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── PreviewImage ─────────────────────────────────────────────────────────────\n\nexport default function PreviewImageDemo() {\n const images = [\n 'https://images.unsplash.com/photo-1778512828600-4a6540a1a115?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxmZWF0dXJlZC1waG90b3MtZmVlZHw0fHx8ZW58MHx8fHx8',\n 'https://images.unsplash.com/photo-1778392120781-a6b2b55dc12a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxmZWF0dXJlZC1waG90b3MtZmVlZHwyNnx8fGVufDB8fHx8fA%3D%3D',\n ]\n return (\n <>\n <PreviewImage images={images} initialIndex={0} />\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { PreviewImageDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function RadioDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,129 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { RadioGroup } from "../../../Radio/RadioGroup.js";
3
+ import { Radio } from "../../../Radio/Radio.js";
4
+ import "../../../index.js";
5
+ import { useState } from "react";
6
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
+ //#region packages/react/ui/components/testPage/demos/core/RadioDemo.tsx
8
+ var RadioDemo_exports = /* @__PURE__ */ __exportAll({
9
+ default: () => RadioDemo,
10
+ demoMeta: () => demoMeta
11
+ });
12
+ var demoMeta = {
13
+ title: "Radio",
14
+ order: 8,
15
+ contentClassName: "flex flex-wrap gap-3 items-start"
16
+ };
17
+ function RadioDemo() {
18
+ const [selected, setSelected] = useState("a");
19
+ const [groupValue, setGroupValue] = useState("green");
20
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
21
+ /* @__PURE__ */ jsxs("div", {
22
+ className: "space-y-2",
23
+ children: [/* @__PURE__ */ jsxs("p", {
24
+ className: "text-sm text-muted-foreground",
25
+ children: ["受控: ", selected]
26
+ }), [
27
+ {
28
+ label: "选项 A",
29
+ value: "a"
30
+ },
31
+ {
32
+ label: "选项 B",
33
+ value: "b"
34
+ },
35
+ {
36
+ label: "选项 C",
37
+ value: "c"
38
+ }
39
+ ].map((opt) => /* @__PURE__ */ jsx(Radio, {
40
+ name: "demo-radio",
41
+ label: opt.label,
42
+ checked: selected === opt.value,
43
+ onChange: () => setSelected(opt.value)
44
+ }, opt.value))]
45
+ }),
46
+ /* @__PURE__ */ jsxs("div", {
47
+ className: "space-y-2 ml-8",
48
+ children: [
49
+ /* @__PURE__ */ jsx("p", {
50
+ className: "text-sm text-muted-foreground",
51
+ children: "非受控默认选中"
52
+ }),
53
+ /* @__PURE__ */ jsx(Radio, {
54
+ name: "demo-radio-2",
55
+ label: "默认选中",
56
+ defaultChecked: true
57
+ }),
58
+ /* @__PURE__ */ jsx(Radio, {
59
+ name: "demo-radio-2",
60
+ label: "禁用状态",
61
+ disabled: true
62
+ }),
63
+ /* @__PURE__ */ jsx(Radio, {
64
+ name: "demo-radio-2",
65
+ label: "禁用且选中",
66
+ disabled: true,
67
+ defaultChecked: true
68
+ })
69
+ ]
70
+ }),
71
+ /* @__PURE__ */ jsxs("div", {
72
+ className: "w-full ml-8 space-y-2",
73
+ children: [/* @__PURE__ */ jsxs("p", {
74
+ className: "text-sm text-muted-foreground",
75
+ children: ["RadioGroup 垂直布局: ", groupValue]
76
+ }), /* @__PURE__ */ jsxs(RadioGroup, {
77
+ name: "demo-group",
78
+ value: groupValue,
79
+ onChange: setGroupValue,
80
+ children: [
81
+ /* @__PURE__ */ jsx(Radio, {
82
+ value: "default",
83
+ label: "默认主题"
84
+ }),
85
+ /* @__PURE__ */ jsx(Radio, {
86
+ value: "green",
87
+ label: "绿色主题"
88
+ }),
89
+ /* @__PURE__ */ jsx(Radio, {
90
+ value: "gray",
91
+ label: "灰色主题"
92
+ })
93
+ ]
94
+ })]
95
+ }),
96
+ /* @__PURE__ */ jsxs("div", {
97
+ className: "w-full ml-8 space-y-2",
98
+ children: [/* @__PURE__ */ jsx("p", {
99
+ className: "text-sm text-muted-foreground",
100
+ children: "RadioGroup 水平布局 (非受控)"
101
+ }), /* @__PURE__ */ jsxs(RadioGroup, {
102
+ name: "demo-group-2",
103
+ defaultValue: "b",
104
+ direction: "horizontal",
105
+ children: [
106
+ /* @__PURE__ */ jsx(Radio, {
107
+ value: "a",
108
+ label: "选项 A"
109
+ }),
110
+ /* @__PURE__ */ jsx(Radio, {
111
+ value: "b",
112
+ label: "选项 B"
113
+ }),
114
+ /* @__PURE__ */ jsx(Radio, {
115
+ value: "c",
116
+ label: "选项 C"
117
+ }),
118
+ /* @__PURE__ */ jsx(Radio, {
119
+ value: "d",
120
+ label: "禁用选项",
121
+ disabled: true
122
+ })
123
+ ]
124
+ })]
125
+ })
126
+ ] });
127
+ }
128
+ //#endregion
129
+ export { RadioDemo_exports, RadioDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/RadioDemo.tsx?raw
2
+ var RadioDemo_default = "import {\n Radio,\n RadioGroup\n} from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Radio',\n order: 8,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Radio ───────────────────────────────────────────────────────────────────\n\nexport default function RadioDemo() {\n const [selected, setSelected] = useState('a')\n const [groupValue, setGroupValue] = useState('green')\n const options = [\n { label: '选项 A', value: 'a' },\n { label: '选项 B', value: 'b' },\n { label: '选项 C', value: 'c' },\n ]\n return (\n <>\n <div className=\"space-y-2\">\n <p className=\"text-sm text-muted-foreground\">受控: {selected}</p>\n {options.map((opt) => (\n <Radio\n key={opt.value}\n name=\"demo-radio\"\n label={opt.label}\n checked={selected === opt.value}\n onChange={() => setSelected(opt.value)}\n />\n ))}\n </div>\n <div className=\"space-y-2 ml-8\">\n <p className=\"text-sm text-muted-foreground\">非受控默认选中</p>\n <Radio name=\"demo-radio-2\" label=\"默认选中\" defaultChecked />\n <Radio name=\"demo-radio-2\" label=\"禁用状态\" disabled />\n <Radio name=\"demo-radio-2\" label=\"禁用且选中\" disabled defaultChecked />\n </div>\n <div className=\"w-full ml-8 space-y-2\">\n <p className=\"text-sm text-muted-foreground\">RadioGroup 垂直布局: {groupValue}</p>\n <RadioGroup name=\"demo-group\" value={groupValue} onChange={setGroupValue}>\n <Radio value=\"default\" label=\"默认主题\" />\n <Radio value=\"green\" label=\"绿色主题\" />\n <Radio value=\"gray\" label=\"灰色主题\" />\n </RadioGroup>\n </div>\n <div className=\"w-full ml-8 space-y-2\">\n <p className=\"text-sm text-muted-foreground\">RadioGroup 水平布局 (非受控)</p>\n <RadioGroup name=\"demo-group-2\" defaultValue=\"b\" direction=\"horizontal\">\n <Radio value=\"a\" label=\"选项 A\" />\n <Radio value=\"b\" label=\"选项 B\" />\n <Radio value=\"c\" label=\"选项 C\" />\n <Radio value=\"d\" label=\"禁用选项\" disabled />\n </RadioGroup>\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { RadioDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function SchemaFormDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { SchemaForm } from "../../../Form/SchemaForm/index.js";
3
+ import "../../../index.js";
4
+ import { useRef } from "react";
5
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
6
+ //#region packages/react/ui/components/testPage/demos/core/SchemaFormDemo.tsx
7
+ var SchemaFormDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => SchemaFormDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "SchemaForm",
13
+ order: 28,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function SchemaFormDemo() {
17
+ const form = useRef(void 0);
18
+ return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(SchemaForm, {
19
+ layout: "horizontal",
20
+ getForm: (f) => {
21
+ form.current = f;
22
+ },
23
+ schemas: [{
24
+ key: "username",
25
+ label: "用户名",
26
+ type: "input",
27
+ required: true,
28
+ rules: [{
29
+ required: true,
30
+ message: "请输入用户名"
31
+ }],
32
+ fieldProps: { placeholder: "请输入用户名" }
33
+ }, {
34
+ key: "role",
35
+ label: "角色",
36
+ type: "select",
37
+ fieldProps: {
38
+ placeholder: "请选择",
39
+ options: [{
40
+ label: "管理员",
41
+ value: "admin"
42
+ }, {
43
+ label: "用户",
44
+ value: "user"
45
+ }]
46
+ }
47
+ }],
48
+ onFinish: (values) => console.log(values)
49
+ }) });
50
+ }
51
+ //#endregion
52
+ export { SchemaFormDemo_exports, SchemaFormDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/SchemaFormDemo.tsx?raw
2
+ var SchemaFormDemo_default = "import {\n\n SchemaForm,\n type FormInstance\n} from '@tc/ui-react/components'\nimport { useRef } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'SchemaForm',\n order: 28,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── SchemaForm ───────────────────────────────────────────────────────────────\n\nexport default function SchemaFormDemo() {\n const form = useRef<FormInstance | undefined>(undefined)\n return (\n <>\n <SchemaForm\n layout=\"horizontal\"\n getForm={(f) => {\n form.current = f\n }}\n schemas={[\n {\n key: 'username',\n label: '用户名',\n type: 'input',\n required: true,\n rules: [{ required: true, message: '请输入用户名' }],\n fieldProps: { placeholder: '请输入用户名' },\n },\n {\n key: 'role',\n label: '角色',\n type: 'select',\n fieldProps: {\n placeholder: '请选择',\n options: [\n { label: '管理员', value: 'admin' },\n { label: '用户', value: 'user' },\n ],\n },\n },\n ]}\n onFinish={(values) => console.log(values)}\n />\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { SchemaFormDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function SearchDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Button } from "../../../Button/Button.js";
3
+ import Search from "../../../Search/Search.js";
4
+ import "../../../index.js";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region packages/react/ui/components/testPage/demos/core/SearchDemo.tsx
7
+ var SearchDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => SearchDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Search",
13
+ order: 21,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function SearchDemo() {
17
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", {
18
+ className: "w-full",
19
+ children: /* @__PURE__ */ jsxs(Search, {
20
+ schemas: [{
21
+ type: "input",
22
+ key: "keyword",
23
+ label: "关键字",
24
+ fieldProps: { placeholder: "请输入" }
25
+ }, {
26
+ type: "select",
27
+ key: "status",
28
+ label: "状态",
29
+ fieldProps: {
30
+ options: [{
31
+ label: "正常",
32
+ value: "active"
33
+ }, {
34
+ label: "禁用",
35
+ value: "disabled"
36
+ }],
37
+ placeholder: "请选择"
38
+ }
39
+ }],
40
+ children: [/* @__PURE__ */ jsx(Button, {
41
+ type: "submit",
42
+ variant: "primary",
43
+ children: "搜索"
44
+ }), /* @__PURE__ */ jsx(Button, {
45
+ type: "reset",
46
+ children: "重置"
47
+ })]
48
+ })
49
+ }) });
50
+ }
51
+ //#endregion
52
+ export { SearchDemo_exports, SearchDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/SearchDemo.tsx?raw
2
+ var SearchDemo_default = "import {\n Button,\n Search\n} from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Search',\n order: 21,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Search ───────────────────────────────────────────────────────────────────\n\nexport default function SearchDemo() {\n type SearchForm = { keyword: string; status: string }\n return (\n <>\n <div className=\"w-full\">\n <Search<SearchForm>\n schemas={[\n { type: 'input', key: 'keyword', label: '关键字', fieldProps: { placeholder: '请输入' } },\n {\n type: 'select',\n key: 'status',\n label: '状态',\n fieldProps: {\n options: [\n { label: '正常', value: 'active' },\n { label: '禁用', value: 'disabled' },\n ],\n placeholder: '请选择',\n },\n },\n ]}\n >\n <Button type=\"submit\" variant=\"primary\">\n 搜索\n </Button>\n <Button type=\"reset\">重置</Button>\n </Search>\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { SearchDemo_default as default };
@@ -0,0 +1,6 @@
1
+ export declare const demoMeta: {
2
+ title: string;
3
+ order: number;
4
+ contentClassName: string;
5
+ };
6
+ export default function SelectDemo(): import("react/jsx-runtime").JSX.Element;