@_tc/template-core 0.2.1 → 0.2.3

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 (175) hide show
  1. package/AGENT_README.md +3 -0
  2. package/README.md +43 -1
  3. package/cjs/app/controller/view.js +1 -1
  4. package/cjs/app/middleware.js +1 -1
  5. package/cjs/config/config.default.js +1 -1
  6. package/esm/app/controller/view.js +1 -1
  7. package/esm/app/middleware.js +1 -1
  8. package/esm/config/config.default.js +2 -1
  9. package/fe/_virtual/_rolldown/runtime.js +13 -0
  10. package/fe/packages/react/ui/components/Date/Calendar.js +1 -5
  11. package/fe/packages/react/ui/components/Date/DateTestPage.js +15 -331
  12. package/fe/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  13. package/fe/packages/react/ui/components/Date/index.js +2 -2
  14. package/fe/packages/react/ui/components/Date/locales.d.ts +5 -0
  15. package/fe/packages/react/ui/components/Date/locales.js +16 -1
  16. package/fe/packages/react/ui/components/testPage/DemoSection.d.ts +10 -0
  17. package/fe/packages/react/ui/components/testPage/DemoSection.js +73 -0
  18. package/fe/packages/react/ui/components/testPage/MenuTestPage.js +16 -389
  19. package/fe/packages/react/ui/components/testPage/demoRegistry.d.ts +4 -0
  20. package/fe/packages/react/ui/components/testPage/demoRegistry.js +217 -0
  21. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.d.ts +6 -0
  22. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo.js +44 -0
  23. package/fe/packages/react/ui/components/testPage/demos/core/BreadcrumbDemo2.js +4 -0
  24. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.d.ts +6 -0
  25. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo.js +85 -0
  26. package/fe/packages/react/ui/components/testPage/demos/core/ButtonDemo2.js +4 -0
  27. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.d.ts +6 -0
  28. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo.js +52 -0
  29. package/fe/packages/react/ui/components/testPage/demos/core/CardDemo2.js +4 -0
  30. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.d.ts +6 -0
  31. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo.js +41 -0
  32. package/fe/packages/react/ui/components/testPage/demos/core/CheckboxDemo2.js +4 -0
  33. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.d.ts +6 -0
  34. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo.js +35 -0
  35. package/fe/packages/react/ui/components/testPage/demos/core/ConfirmDialogDemo2.js +4 -0
  36. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.d.ts +6 -0
  37. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.js +243 -0
  38. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo2.js +4 -0
  39. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.d.ts +6 -0
  40. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo.js +105 -0
  41. package/fe/packages/react/ui/components/testPage/demos/core/DrawerDemo2.js +4 -0
  42. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.d.ts +6 -0
  43. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo.js +48 -0
  44. package/fe/packages/react/ui/components/testPage/demos/core/DropdownDemo2.js +4 -0
  45. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.d.ts +6 -0
  46. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo.js +56 -0
  47. package/fe/packages/react/ui/components/testPage/demos/core/FormDemo2.js +4 -0
  48. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.d.ts +6 -0
  49. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo.js +26 -0
  50. package/fe/packages/react/ui/components/testPage/demos/core/ImageUploadDemo2.js +4 -0
  51. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.d.ts +6 -0
  52. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo.js +55 -0
  53. package/fe/packages/react/ui/components/testPage/demos/core/InputDemo2.js +4 -0
  54. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.d.ts +6 -0
  55. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo.js +65 -0
  56. package/fe/packages/react/ui/components/testPage/demos/core/InputNumberDemo2.js +4 -0
  57. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.d.ts +6 -0
  58. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo.js +33 -0
  59. package/fe/packages/react/ui/components/testPage/demos/core/LabelDemo2.js +4 -0
  60. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.d.ts +6 -0
  61. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo.js +64 -0
  62. package/fe/packages/react/ui/components/testPage/demos/core/LayoutDemo2.js +4 -0
  63. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.d.ts +6 -0
  64. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo.js +32 -0
  65. package/fe/packages/react/ui/components/testPage/demos/core/LoadingDemo2.js +4 -0
  66. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.d.ts +6 -0
  67. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo.js +44 -0
  68. package/fe/packages/react/ui/components/testPage/demos/core/MessageDemo2.js +4 -0
  69. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.d.ts +6 -0
  70. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo.js +61 -0
  71. package/fe/packages/react/ui/components/testPage/demos/core/ModalDemo2.js +4 -0
  72. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.d.ts +6 -0
  73. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo.js +50 -0
  74. package/fe/packages/react/ui/components/testPage/demos/core/NotificationDemo2.js +4 -0
  75. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.d.ts +6 -0
  76. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo.js +39 -0
  77. package/fe/packages/react/ui/components/testPage/demos/core/PaginationDemo2.js +4 -0
  78. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.d.ts +6 -0
  79. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo.js +22 -0
  80. package/fe/packages/react/ui/components/testPage/demos/core/PreviewImageDemo2.js +4 -0
  81. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.d.ts +6 -0
  82. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo.js +129 -0
  83. package/fe/packages/react/ui/components/testPage/demos/core/RadioDemo2.js +4 -0
  84. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.d.ts +6 -0
  85. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo.js +52 -0
  86. package/fe/packages/react/ui/components/testPage/demos/core/SchemaFormDemo2.js +4 -0
  87. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.d.ts +6 -0
  88. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo.js +52 -0
  89. package/fe/packages/react/ui/components/testPage/demos/core/SearchDemo2.js +4 -0
  90. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.d.ts +6 -0
  91. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo.js +73 -0
  92. package/fe/packages/react/ui/components/testPage/demos/core/SelectDemo2.js +4 -0
  93. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.d.ts +6 -0
  94. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo.js +46 -0
  95. package/fe/packages/react/ui/components/testPage/demos/core/SkeletonDemo2.js +4 -0
  96. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.d.ts +6 -0
  97. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo.js +36 -0
  98. package/fe/packages/react/ui/components/testPage/demos/core/SwitchDemo2.js +4 -0
  99. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.d.ts +6 -0
  100. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo.js +64 -0
  101. package/fe/packages/react/ui/components/testPage/demos/core/TableDemo2.js +4 -0
  102. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.d.ts +6 -0
  103. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo.js +74 -0
  104. package/fe/packages/react/ui/components/testPage/demos/core/TableSearchDemo2.js +4 -0
  105. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.d.ts +6 -0
  106. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo.js +56 -0
  107. package/fe/packages/react/ui/components/testPage/demos/core/TabsDemo2.js +4 -0
  108. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.d.ts +6 -0
  109. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo.js +30 -0
  110. package/fe/packages/react/ui/components/testPage/demos/core/TextareaDemo2.js +4 -0
  111. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.d.ts +6 -0
  112. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher.js +96 -0
  113. package/fe/packages/react/ui/components/testPage/demos/core/ThemeSwitcher2.js +4 -0
  114. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.d.ts +6 -0
  115. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo.js +29 -0
  116. package/fe/packages/react/ui/components/testPage/demos/core/TooltipDemo2.js +4 -0
  117. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.d.ts +6 -0
  118. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo.js +66 -0
  119. package/fe/packages/react/ui/components/testPage/demos/core/TreeSelectDemo2.js +4 -0
  120. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.d.ts +6 -0
  121. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo.js +31 -0
  122. package/fe/packages/react/ui/components/testPage/demos/date/DateBasicDemo2.js +4 -0
  123. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.d.ts +6 -0
  124. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo.js +67 -0
  125. package/fe/packages/react/ui/components/testPage/demos/date/DateControlledDemo2.js +4 -0
  126. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.d.ts +6 -0
  127. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo.js +36 -0
  128. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDateDemo2.js +4 -0
  129. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.d.ts +6 -0
  130. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo.js +35 -0
  131. package/fe/packages/react/ui/components/testPage/demos/date/DateDisabledDemo2.js +4 -0
  132. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.d.ts +6 -0
  133. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo.js +35 -0
  134. package/fe/packages/react/ui/components/testPage/demos/date/DateFormatDemo2.js +4 -0
  135. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.d.ts +6 -0
  136. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo.js +76 -0
  137. package/fe/packages/react/ui/components/testPage/demos/date/DateRangeDemo2.js +4 -0
  138. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.d.ts +7 -0
  139. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo.js +60 -0
  140. package/fe/packages/react/ui/components/testPage/demos/date/DateTimeDemo2.js +4 -0
  141. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.d.ts +7 -0
  142. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo.js +78 -0
  143. package/fe/packages/react/ui/components/testPage/demos/menu/MenuAccordionDemo2.js +4 -0
  144. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.d.ts +7 -0
  145. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo.js +79 -0
  146. package/fe/packages/react/ui/components/testPage/demos/menu/MenuClickTriggerDemo2.js +4 -0
  147. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.d.ts +7 -0
  148. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo.js +82 -0
  149. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedDemo2.js +4 -0
  150. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.d.ts +7 -0
  151. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo.js +44 -0
  152. package/fe/packages/react/ui/components/testPage/demos/menu/MenuCollapsedNoIconDemo2.js +4 -0
  153. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.d.ts +7 -0
  154. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo.js +64 -0
  155. package/fe/packages/react/ui/components/testPage/demos/menu/MenuJsxDemo2.js +4 -0
  156. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.d.ts +7 -0
  157. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo.js +81 -0
  158. package/fe/packages/react/ui/components/testPage/demos/menu/MenuLeftMultipleDemo2.js +4 -0
  159. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.d.ts +7 -0
  160. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo.js +56 -0
  161. package/fe/packages/react/ui/components/testPage/demos/menu/MenuPopupDemo2.js +4 -0
  162. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.d.ts +7 -0
  163. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo.js +67 -0
  164. package/fe/packages/react/ui/components/testPage/demos/menu/MenuStateDemo2.js +4 -0
  165. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.d.ts +7 -0
  166. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo.js +55 -0
  167. package/fe/packages/react/ui/components/testPage/demos/menu/MenuTopDemo2.js +4 -0
  168. package/fe/packages/react/ui/components/testPage/index.js +30 -1623
  169. package/fe/packages/react/ui/components/testPage/types.d.ts +17 -0
  170. package/fe/packages/react/ui/components/testPage/types.js +0 -0
  171. package/fe/packages/react/ui/i18n/I18nProvider.js +2 -1
  172. package/model/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  173. package/model/packages/react/ui/components/Date/locales.d.ts +5 -0
  174. package/package.json +1 -1
  175. package/types/config/config.default.d.ts +6 -0
@@ -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;
@@ -0,0 +1,73 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Select } from "../../../Select/Select.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/SelectDemo.tsx
7
+ var SelectDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => SelectDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Select",
13
+ order: 6,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function SelectDemo() {
17
+ const [val, setVal] = useState(void 0);
18
+ const options = [
19
+ {
20
+ label: "选项 A",
21
+ value: "a"
22
+ },
23
+ {
24
+ label: "选项 B",
25
+ value: "b"
26
+ },
27
+ {
28
+ label: "选项 C",
29
+ value: "c"
30
+ }
31
+ ];
32
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
33
+ /* @__PURE__ */ jsx(Select, {
34
+ options,
35
+ value: val,
36
+ onChange: setVal,
37
+ placeholder: "请选择",
38
+ className: "w-40"
39
+ }),
40
+ /* @__PURE__ */ jsx(Select, {
41
+ options,
42
+ placeholder: "不可搜索",
43
+ searchable: false,
44
+ className: "w-40"
45
+ }),
46
+ /* @__PURE__ */ jsx(Select, {
47
+ options,
48
+ placeholder: "不可清除",
49
+ clearable: false,
50
+ className: "w-40"
51
+ }),
52
+ /* @__PURE__ */ jsx(Select, {
53
+ options,
54
+ disabled: true,
55
+ placeholder: "禁用",
56
+ className: "w-40"
57
+ }),
58
+ /* @__PURE__ */ jsxs("div", {
59
+ className: "relative w-64 rounded-lg border border-border bg-muted/30 p-4",
60
+ children: [/* @__PURE__ */ jsx("div", {
61
+ className: "mb-2 text-sm text-muted-foreground",
62
+ children: "parent popup container"
63
+ }), /* @__PURE__ */ jsx(Select, {
64
+ options,
65
+ placeholder: "挂载到父元素",
66
+ getPopupContainer: "parent",
67
+ className: "w-full"
68
+ })]
69
+ })
70
+ ] });
71
+ }
72
+ //#endregion
73
+ export { SelectDemo_exports, SelectDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/SelectDemo.tsx?raw
2
+ var SelectDemo_default = "import { Select } from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Select',\n order: 6,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Select ──────────────────────────────────────────────────────────────────\n\nexport default function SelectDemo() {\n const [val, setVal] = useState<string | number | undefined>(undefined)\n const options = [\n { label: '选项 A', value: 'a' },\n { label: '选项 B', value: 'b' },\n { label: '选项 C', value: 'c' },\n ]\n return (\n <>\n <Select options={options} value={val} onChange={setVal} placeholder=\"请选择\" className=\"w-40\" />\n <Select options={options} placeholder=\"不可搜索\" searchable={false} className=\"w-40\" />\n <Select options={options} placeholder=\"不可清除\" clearable={false} className=\"w-40\" />\n <Select options={options} disabled placeholder=\"禁用\" className=\"w-40\" />\n <div className=\"relative w-64 rounded-lg border border-border bg-muted/30 p-4\">\n <div className=\"mb-2 text-sm text-muted-foreground\">parent popup container</div>\n <Select options={options} placeholder=\"挂载到父元素\" getPopupContainer=\"parent\" className=\"w-full\" />\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { SelectDemo_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 SkeletonDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Skeleton } from "../../../Skeleton/Skeleton.js";
3
+ import "../../../index.js";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ //#region packages/react/ui/components/testPage/demos/core/SkeletonDemo.tsx
6
+ var SkeletonDemo_exports = /* @__PURE__ */ __exportAll({
7
+ default: () => SkeletonDemo,
8
+ demoMeta: () => demoMeta
9
+ });
10
+ var demoMeta = {
11
+ title: "Skeleton",
12
+ order: 30,
13
+ contentClassName: "flex flex-wrap gap-3 items-start"
14
+ };
15
+ function SkeletonDemo() {
16
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", {
17
+ className: "w-full space-y-4",
18
+ children: [
19
+ /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
20
+ className: "text-xs text-gray-500 mb-1",
21
+ children: "pageloading"
22
+ }), /* @__PURE__ */ jsx(Skeleton, {
23
+ mode: "pageloading",
24
+ rows: 3,
25
+ showTitle: true,
26
+ showActions: true
27
+ })] }),
28
+ /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
29
+ className: "text-xs text-gray-500 mb-1",
30
+ children: "tableloading"
31
+ }), /* @__PURE__ */ jsx(Skeleton, {
32
+ mode: "tableloading",
33
+ rows: 4
34
+ })] }),
35
+ /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
36
+ className: "text-xs text-gray-500 mb-1",
37
+ children: "componentsloading"
38
+ }), /* @__PURE__ */ jsx(Skeleton, {
39
+ mode: "componentsloading",
40
+ rows: 2
41
+ })] })
42
+ ]
43
+ }) });
44
+ }
45
+ //#endregion
46
+ export { SkeletonDemo_exports, SkeletonDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/SkeletonDemo.tsx?raw
2
+ var SkeletonDemo_default = "import { Skeleton } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Skeleton',\n order: 30,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Skeleton ─────────────────────────────────────────────────────────────────\n\nexport default function SkeletonDemo() {\n return (\n <>\n <div className=\"w-full space-y-4\">\n <div>\n <p className=\"text-xs text-gray-500 mb-1\">pageloading</p>\n <Skeleton mode=\"pageloading\" rows={3} showTitle showActions />\n </div>\n <div>\n <p className=\"text-xs text-gray-500 mb-1\">tableloading</p>\n <Skeleton mode=\"tableloading\" rows={4} />\n </div>\n <div>\n <p className=\"text-xs text-gray-500 mb-1\">componentsloading</p>\n <Skeleton mode=\"componentsloading\" rows={2} />\n </div>\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { SkeletonDemo_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 SwitchDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Switch } from "../../../Switch/Switch.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/SwitchDemo.tsx
7
+ var SwitchDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => SwitchDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Switch",
13
+ order: 9,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function SwitchDemo() {
17
+ const [on, setOn] = useState(false);
18
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
19
+ /* @__PURE__ */ jsx(Switch, {
20
+ checked: on,
21
+ onChange: setOn
22
+ }),
23
+ /* @__PURE__ */ jsx("span", {
24
+ className: "self-center text-sm",
25
+ children: on ? "ON" : "OFF"
26
+ }),
27
+ /* @__PURE__ */ jsx(Switch, { defaultChecked: true }),
28
+ /* @__PURE__ */ jsx(Switch, { disabled: true }),
29
+ /* @__PURE__ */ jsx(Switch, {
30
+ disabled: true,
31
+ checked: true
32
+ })
33
+ ] });
34
+ }
35
+ //#endregion
36
+ export { SwitchDemo_exports, SwitchDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/SwitchDemo.tsx?raw
2
+ var SwitchDemo_default = "import { Switch } from '@tc/ui-react/components'\nimport { useState } from 'react'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Switch',\n order: 9,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Switch ──────────────────────────────────────────────────────────────────\n\nexport default function SwitchDemo() {\n const [on, setOn] = useState(false)\n return (\n <>\n <Switch checked={on} onChange={setOn} />\n <span className=\"self-center text-sm\">{on ? 'ON' : 'OFF'}</span>\n <Switch defaultChecked />\n <Switch disabled />\n <Switch disabled checked />\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { SwitchDemo_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 TableDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,64 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import { Button } from "../../../Button/Button.js";
3
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "../../../table/table.js";
4
+ import "../../../index.js";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region packages/react/ui/components/testPage/demos/core/TableDemo.tsx
7
+ var TableDemo_exports = /* @__PURE__ */ __exportAll({
8
+ default: () => TableDemo,
9
+ demoMeta: () => demoMeta
10
+ });
11
+ var demoMeta = {
12
+ title: "Table (低层)",
13
+ order: 19,
14
+ contentClassName: "flex flex-wrap gap-3 items-start"
15
+ };
16
+ function TableDemo() {
17
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", {
18
+ className: "w-full",
19
+ children: /* @__PURE__ */ jsxs(Table, { children: [/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs("tr", { children: [
20
+ /* @__PURE__ */ jsx(TableHead, { children: "ID" }),
21
+ /* @__PURE__ */ jsx(TableHead, { children: "姓名" }),
22
+ /* @__PURE__ */ jsx(TableHead, { children: "角色" }),
23
+ /* @__PURE__ */ jsx(TableHead, { children: "状态" }),
24
+ /* @__PURE__ */ jsx(TableHead, {
25
+ isAction: true,
26
+ children: "操作"
27
+ })
28
+ ] }) }), /* @__PURE__ */ jsx(TableBody, { children: [
29
+ {
30
+ id: 1,
31
+ name: "张三",
32
+ role: "管理员",
33
+ status: "正常"
34
+ },
35
+ {
36
+ id: 2,
37
+ name: "李四",
38
+ role: "用户",
39
+ status: "禁用"
40
+ },
41
+ {
42
+ id: 3,
43
+ name: "王五",
44
+ role: "审计员",
45
+ status: "正常"
46
+ }
47
+ ].map((row) => /* @__PURE__ */ jsxs(TableRow, { children: [
48
+ /* @__PURE__ */ jsx(TableCell, { children: row.id }),
49
+ /* @__PURE__ */ jsx(TableCell, { children: row.name }),
50
+ /* @__PURE__ */ jsx(TableCell, { children: row.role }),
51
+ /* @__PURE__ */ jsx(TableCell, { children: row.status }),
52
+ /* @__PURE__ */ jsx(TableCell, {
53
+ isAction: true,
54
+ children: /* @__PURE__ */ jsx(Button, {
55
+ variant: "link",
56
+ size: "sm",
57
+ children: "编辑"
58
+ })
59
+ })
60
+ ] }, row.id)) })] })
61
+ }) });
62
+ }
63
+ //#endregion
64
+ export { TableDemo_exports, TableDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/TableDemo.tsx?raw
2
+ var TableDemo_default = "import {\n Button,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow\n} from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'Table (低层)',\n order: 19,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── Table (低层组件) ─────────────────────────────────────────────────────────\n\nexport default function TableDemo() {\n const rows = [\n { id: 1, name: '张三', role: '管理员', status: '正常' },\n { id: 2, name: '李四', role: '用户', status: '禁用' },\n { id: 3, name: '王五', role: '审计员', status: '正常' },\n ]\n return (\n <>\n <div className=\"w-full\">\n <Table>\n <TableHeader>\n <tr>\n <TableHead>ID</TableHead>\n <TableHead>姓名</TableHead>\n <TableHead>角色</TableHead>\n <TableHead>状态</TableHead>\n <TableHead isAction>操作</TableHead>\n </tr>\n </TableHeader>\n <TableBody>\n {rows.map((row) => (\n <TableRow key={row.id}>\n <TableCell>{row.id}</TableCell>\n <TableCell>{row.name}</TableCell>\n <TableCell>{row.role}</TableCell>\n <TableCell>{row.status}</TableCell>\n <TableCell isAction>\n <Button variant=\"link\" size=\"sm\">\n 编辑\n </Button>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { TableDemo_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 TableSearchDemo(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,74 @@
1
+ import { __exportAll } from "../../../../../../../_virtual/_rolldown/runtime.js";
2
+ import TableSearch from "../../../TableSearch/TableSearch.js";
3
+ import "../../../index.js";
4
+ import { Fragment, jsx } from "react/jsx-runtime";
5
+ //#region packages/react/ui/components/testPage/demos/core/TableSearchDemo.tsx
6
+ var TableSearchDemo_exports = /* @__PURE__ */ __exportAll({
7
+ default: () => TableSearchDemo,
8
+ demoMeta: () => demoMeta
9
+ });
10
+ var demoMeta = {
11
+ title: "TableSearch",
12
+ order: 29,
13
+ contentClassName: "flex flex-wrap gap-3 items-start"
14
+ };
15
+ function TableSearchDemo() {
16
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(TableSearch, {
17
+ onSearch: (v) => console.log(v),
18
+ schemas: [
19
+ {
20
+ type: "input",
21
+ key: "q1",
22
+ label: "字段1",
23
+ fieldProps: {}
24
+ },
25
+ {
26
+ type: "select",
27
+ key: "q2",
28
+ label: "状态",
29
+ fieldProps: { options: [{
30
+ value: "a",
31
+ label: "A"
32
+ }] }
33
+ },
34
+ {
35
+ type: "switch",
36
+ key: "q3",
37
+ label: "开关",
38
+ fieldProps: {}
39
+ },
40
+ {
41
+ type: "date",
42
+ key: "q4",
43
+ label: "日期",
44
+ fieldProps: {}
45
+ },
46
+ {
47
+ type: "date",
48
+ key: "q5",
49
+ label: "范围",
50
+ fieldProps: { mode: "range" }
51
+ },
52
+ {
53
+ type: "textarea",
54
+ key: "q6",
55
+ label: "文本",
56
+ fieldProps: {}
57
+ },
58
+ {
59
+ type: "input",
60
+ key: "q7",
61
+ label: "字段7",
62
+ fieldProps: {}
63
+ },
64
+ {
65
+ type: "input",
66
+ key: "q8",
67
+ label: "字段8",
68
+ fieldProps: {}
69
+ }
70
+ ]
71
+ }) });
72
+ }
73
+ //#endregion
74
+ export { TableSearchDemo_exports, TableSearchDemo as default, demoMeta };
@@ -0,0 +1,4 @@
1
+ //#region packages/react/ui/components/testPage/demos/core/TableSearchDemo.tsx?raw
2
+ var TableSearchDemo_default = "import { TableSearch } from '@tc/ui-react/components'\nimport type { DemoMeta } from '../../types'\n\nexport const demoMeta = {\n title: 'TableSearch',\n order: 29,\n contentClassName: 'flex flex-wrap gap-3 items-start',\n} satisfies DemoMeta\n\n// ─── TableSearch ─────────────────────────────────────────────────────────────\n\nexport default function TableSearchDemo() {\n type TableSearchForm = {\n q1: string\n q2: string\n q3: boolean\n q4: string\n q5: string\n q6: string\n q7: string\n q8: string\n }\n return (\n <>\n <TableSearch<TableSearchForm>\n onSearch={(v) => console.log(v)}\n schemas={[\n { type: 'input', key: 'q1', label: '字段1', fieldProps: {} },\n { type: 'select', key: 'q2', label: '状态', fieldProps: { options: [{ value: 'a', label: 'A' }] } },\n { type: 'switch', key: 'q3', label: '开关', fieldProps: {} },\n { type: 'date', key: 'q4', label: '日期', fieldProps: {} },\n { type: 'date', key: 'q5', label: '范围', fieldProps: { mode: 'range' } },\n { type: 'textarea', key: 'q6', label: '文本', fieldProps: {} },\n { type: 'input', key: 'q7', label: '字段7', fieldProps: {} },\n { type: 'input', key: 'q8', label: '字段8', fieldProps: {} },\n ]}\n />\n </>\n )\n}\n";
3
+ //#endregion
4
+ export { TableSearchDemo_default as default };