antd-solid 0.0.11 → 0.0.13

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 (347) hide show
  1. package/css/index.css +10 -73
  2. package/dist/index.esm.js +7802 -2378
  3. package/dist/index.umd.js +1 -1
  4. package/es/Alert/index.d.ts +10 -0
  5. package/es/Alert/index.js +26 -0
  6. package/es/Button/index.d.ts +32 -0
  7. package/es/Button/index.js +123 -0
  8. package/es/Button/index.scss.js +6 -0
  9. package/es/Checkbox/Group.d.ts +19 -0
  10. package/es/Checkbox/Group.js +49 -0
  11. package/es/Checkbox/index.d.ts +15 -0
  12. package/es/Checkbox/index.js +60 -0
  13. package/es/CodeInput/index.d.ts +18 -0
  14. package/es/CodeInput/index.js +72 -0
  15. package/es/Collapse/Item.d.ts +46 -0
  16. package/es/Collapse/Item.js +130 -0
  17. package/es/Collapse/context.d.ts +5 -0
  18. package/es/Collapse/context.js +8 -0
  19. package/es/Collapse/index.d.ts +25 -10
  20. package/es/Collapse/index.js +95 -74
  21. package/es/Collapse/utils.d.ts +8 -0
  22. package/es/Collapse/utils.js +35 -0
  23. package/es/ColorPicker/ColorPickerInput.d.ts +3 -0
  24. package/es/ColorPicker/ColorPickerInput.js +250 -0
  25. package/es/ColorPicker/ColorPickerSelect.d.ts +3 -0
  26. package/es/ColorPicker/ColorPickerSelect.js +71 -0
  27. package/es/ColorPicker/ColorPickerSlider.d.ts +3 -0
  28. package/es/ColorPicker/ColorPickerSlider.js +115 -0
  29. package/es/ColorPicker/color.d.ts +24 -0
  30. package/es/ColorPicker/color.js +63 -0
  31. package/es/ColorPicker/context.d.ts +9 -0
  32. package/es/ColorPicker/context.js +5 -0
  33. package/es/ColorPicker/index.d.ts +31 -0
  34. package/es/ColorPicker/index.js +139 -0
  35. package/es/Command/context.d.ts +9 -0
  36. package/es/Command/context.js +11 -0
  37. package/es/Command/createCommand.d.ts +17 -0
  38. package/es/Command/createCommand.js +112 -0
  39. package/es/Command/index.d.ts +7 -0
  40. package/es/Command/index.js +9 -0
  41. package/es/Command/useCommandProps.d.ts +13 -0
  42. package/es/Command/useCommandProps.js +28 -0
  43. package/es/Compact/CompactContextIsolator.d.ts +3 -0
  44. package/es/Compact/CompactContextIsolator.js +15 -0
  45. package/es/Compact/context.d.ts +4 -0
  46. package/es/Compact/context.js +7 -0
  47. package/es/Compact/index.d.ts +14 -0
  48. package/es/Compact/index.js +32 -0
  49. package/es/Compact/index.scss.js +6 -0
  50. package/es/ConfigProvider/context.d.ts +11 -0
  51. package/es/ConfigProvider/context.js +15 -0
  52. package/es/ConfigProvider/dark/colorAlgorithm.d.ts +2 -0
  53. package/es/ConfigProvider/dark/colorAlgorithm.js +9 -0
  54. package/es/ConfigProvider/dark/colors.d.ts +3 -0
  55. package/es/ConfigProvider/dark/colors.js +47 -0
  56. package/es/ConfigProvider/dark/index.d.ts +2 -0
  57. package/es/ConfigProvider/dark/index.js +11 -0
  58. package/es/ConfigProvider/index.d.ts +32 -0
  59. package/es/ConfigProvider/index.js +44 -0
  60. package/es/ConfigProvider/light/colorAlgorithm.d.ts +2 -0
  61. package/es/ConfigProvider/light/colorAlgorithm.js +9 -0
  62. package/es/ConfigProvider/light/colors.d.ts +3 -0
  63. package/es/ConfigProvider/light/colors.js +45 -0
  64. package/es/ConfigProvider/light/index.d.ts +2 -0
  65. package/es/ConfigProvider/light/index.js +11 -0
  66. package/es/ConfigProvider/seed.d.ts +3 -0
  67. package/es/ConfigProvider/seed.js +22 -0
  68. package/es/ConfigProvider/types/index.d.ts +594 -0
  69. package/es/ConfigProvider/types/index.js +1 -0
  70. package/es/ConfigProvider/utils/genColorMapToken.d.ts +7 -0
  71. package/es/ConfigProvider/utils/genColorMapToken.js +85 -0
  72. package/es/ConfigProvider/utils/getAlphaColor.d.ts +2 -0
  73. package/es/ConfigProvider/utils/getAlphaColor.js +44 -0
  74. package/es/ConfigProvider/utils/index.d.ts +3 -0
  75. package/es/ConfigProvider/utils/index.js +181 -0
  76. package/es/ContextMenu/index.d.ts +8 -0
  77. package/es/ContextMenu/index.js +99 -0
  78. package/es/Cursor/index.d.ts +6 -0
  79. package/es/Cursor/index.js +71 -0
  80. package/es/DelayShow/index.d.ts +16 -0
  81. package/es/DelayShow/index.js +27 -0
  82. package/es/Divider/index.d.ts +17 -0
  83. package/es/Divider/index.js +71 -0
  84. package/es/Drawer/index.d.ts +20 -16
  85. package/es/Drawer/index.js +162 -112
  86. package/es/Drawer/index.scss.js +1 -1
  87. package/es/Dropdown/index.d.ts +16 -0
  88. package/es/Dropdown/index.js +47 -0
  89. package/es/Element/index.d.ts +10 -0
  90. package/es/Element/index.js +42 -0
  91. package/es/Empty/PRESENTED_IMAGE_SIMPLE.d.ts +2 -1
  92. package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +25 -9
  93. package/es/Empty/assets/EmptySvg.js +1 -1
  94. package/es/Empty/assets/SimpleEmptySvg.js +1 -1
  95. package/es/Empty/index.d.ts +9 -3
  96. package/es/Empty/index.js +24 -9
  97. package/es/Form/Form.d.ts +8 -5
  98. package/es/Form/Form.js +50 -34
  99. package/es/Form/FormItem.d.ts +10 -5
  100. package/es/Form/FormItem.js +121 -104
  101. package/es/Form/context.d.ts +9 -9
  102. package/es/Form/context.js +4 -2
  103. package/es/Fragment/index.d.ts +4 -0
  104. package/es/Fragment/index.js +7 -0
  105. package/es/Image/index.d.ts +10 -0
  106. package/es/Image/index.js +37 -0
  107. package/es/Input/TextArea.d.ts +23 -0
  108. package/es/Input/TextArea.js +84 -0
  109. package/es/Input/index.d.ts +44 -0
  110. package/es/Input/index.js +213 -0
  111. package/es/Input/index.scss.js +6 -0
  112. package/es/InputNumber/index.d.ts +30 -0
  113. package/es/InputNumber/index.js +122 -0
  114. package/es/{InputNumber.test.js → InputNumber/index.test.js} +2 -1
  115. package/es/Menu/InternalMenu.d.ts +22 -0
  116. package/es/Menu/InternalMenu.js +196 -0
  117. package/es/Menu/index.d.ts +75 -0
  118. package/es/Menu/index.js +64 -0
  119. package/es/Message/Message.d.ts +9 -0
  120. package/es/Message/Message.js +34 -0
  121. package/es/Message/index.d.ts +12 -0
  122. package/es/Message/index.js +80 -0
  123. package/es/Message/index.scss.js +6 -0
  124. package/es/Message/useMessage.d.ts +6 -0
  125. package/es/Message/useMessage.js +54 -0
  126. package/es/Modal/index.d.ts +73 -0
  127. package/es/Modal/index.js +237 -0
  128. package/es/Modal/index.scss.js +6 -0
  129. package/es/Modal/useModal.d.ts +5 -0
  130. package/es/Modal/useModal.js +51 -0
  131. package/es/Modal/warning.d.ts +5 -0
  132. package/es/Modal/warning.js +43 -0
  133. package/es/{Popconfirm.d.ts → Popconfirm/index.d.ts} +2 -2
  134. package/es/Popconfirm/index.js +62 -0
  135. package/es/{Popover.d.ts → Popover/index.d.ts} +2 -2
  136. package/es/{Popover.js → Popover/index.js} +7 -12
  137. package/es/Progress/Circle.d.ts +16 -0
  138. package/es/Progress/Circle.js +122 -0
  139. package/es/Progress/index.d.ts +6 -4
  140. package/es/Progress/index.js +75 -60
  141. package/es/Radio/Button.d.ts +7 -0
  142. package/es/Radio/Button.js +72 -0
  143. package/es/Radio/Group.d.ts +18 -0
  144. package/es/Radio/Group.js +57 -0
  145. package/es/Radio/index.d.ts +14 -0
  146. package/es/Radio/index.js +68 -0
  147. package/es/RangeInput/index.d.ts +23 -0
  148. package/es/RangeInput/index.js +208 -0
  149. package/es/Result/index.js +49 -0
  150. package/es/Segmented/index.d.ts +10 -7
  151. package/es/Segmented/index.js +54 -53
  152. package/es/Select/index.d.ts +17 -0
  153. package/es/Select/index.js +75 -0
  154. package/es/SelectInput/index.d.ts +39 -0
  155. package/es/SelectInput/index.js +245 -0
  156. package/es/Slider/index.d.ts +47 -0
  157. package/es/Slider/index.js +177 -0
  158. package/es/Space/index.d.ts +13 -0
  159. package/es/Space/index.js +16 -0
  160. package/es/Spin/index.d.ts +19 -0
  161. package/es/Spin/index.js +82 -0
  162. package/es/{Switch.d.ts → Switch/index.d.ts} +9 -0
  163. package/es/Switch/index.js +41 -0
  164. package/es/{Table.d.ts → Table/index.d.ts} +6 -2
  165. package/es/Table/index.js +71 -0
  166. package/es/Tabs/index.d.ts +49 -0
  167. package/es/Tabs/index.js +256 -0
  168. package/es/Timeline/index.js +31 -0
  169. package/es/Tooltip/context.d.ts +5 -0
  170. package/es/Tooltip/context.js +5 -0
  171. package/es/Tooltip/index.d.ts +64 -0
  172. package/es/Tooltip/index.js +499 -0
  173. package/es/Transformer/index.d.ts +88 -0
  174. package/es/Transformer/index.js +882 -0
  175. package/es/Tree/SingleLevelTree.d.ts +28 -0
  176. package/es/Tree/SingleLevelTree.js +299 -0
  177. package/es/Tree/index.d.ts +83 -0
  178. package/es/Tree/index.js +197 -0
  179. package/es/TreeFor/index.d.ts +31 -0
  180. package/es/TreeFor/index.js +80 -0
  181. package/es/TreeSelect/index.d.ts +26 -0
  182. package/es/TreeSelect/index.js +98 -0
  183. package/es/Upload/index.d.ts +64 -0
  184. package/es/Upload/index.js +112 -0
  185. package/es/assets/svg/ColorPickUp.d.ts +4 -0
  186. package/es/assets/svg/ColorPickUp.js +25 -0
  187. package/es/assets/svg/Crosshair.d.ts +7 -0
  188. package/es/assets/svg/Crosshair.js +51 -0
  189. package/es/assets/svg/Resize.d.ts +4 -0
  190. package/es/assets/svg/Resize.js +25 -0
  191. package/es/assets/svg/Rotate.d.ts +4 -0
  192. package/es/assets/svg/Rotate.js +20 -0
  193. package/es/assets/svg/RotateArrow.d.ts +4 -0
  194. package/es/assets/svg/RotateArrow.js +21 -0
  195. package/es/assets/svg/common.d.ts +2 -0
  196. package/es/assets/svg/common.js +9 -0
  197. package/es/hooks/createControllableValue.d.ts +1 -1
  198. package/es/hooks/createControllableValue.js +16 -17
  199. package/es/hooks/createTransition.d.ts +6 -2
  200. package/es/hooks/createTransition.js +12 -8
  201. package/es/hooks/useClickAway.d.ts +1 -1
  202. package/es/hooks/useClickAway.js +4 -3
  203. package/es/hooks/useComponentSize.d.ts +3 -0
  204. package/es/hooks/useComponentSize.js +12 -0
  205. package/es/hooks/useCounter.d.ts +12 -0
  206. package/es/hooks/useCounter.js +30 -0
  207. package/es/hooks/useFocus.d.ts +2 -0
  208. package/es/hooks/useFocus.js +24 -0
  209. package/es/hooks/useHover.d.ts +2 -0
  210. package/es/hooks/useHover.js +33 -0
  211. package/es/hooks/useLocale.d.ts +1 -0
  212. package/es/hooks/useLocale.js +11 -0
  213. package/es/hooks/useMouse.d.ts +1 -0
  214. package/es/hooks/useMouse.js +18 -0
  215. package/es/hooks/useScroll.d.ts +2 -0
  216. package/es/hooks/useScroll.js +29 -0
  217. package/es/hooks/useSize.d.ts +8 -2
  218. package/es/hooks/useSize.js +25 -13
  219. package/es/hooks/useVirtualList.d.ts +14 -0
  220. package/es/hooks/useVirtualList.js +45 -0
  221. package/es/index.d.ts +59 -8
  222. package/es/index.js +53 -23
  223. package/es/locale/en_US.d.ts +3 -0
  224. package/es/locale/en_US.js +9 -0
  225. package/es/locale/index.d.ts +5 -0
  226. package/es/locale/index.js +1 -0
  227. package/es/locale/zh_CN.d.ts +3 -0
  228. package/es/locale/zh_CN.js +9 -0
  229. package/es/types/index.d.ts +11 -2
  230. package/es/utils/animation.d.ts +6 -0
  231. package/es/utils/animation.js +20 -0
  232. package/es/utils/array.d.ts +2 -1
  233. package/es/utils/array.js +5 -1
  234. package/es/utils/domPoint.d.ts +7 -0
  235. package/es/utils/domPoint.js +11 -0
  236. package/es/utils/math.d.ts +17 -0
  237. package/es/utils/math.js +25 -0
  238. package/es/utils/number.d.ts +1 -0
  239. package/es/utils/number.js +14 -0
  240. package/es/utils/setupGlobalDrag.d.ts +10 -0
  241. package/es/utils/setupGlobalDrag.js +38 -0
  242. package/es/utils/solid.d.ts +2 -2
  243. package/es/utils/solid.js +7 -8
  244. package/package.json +10 -11
  245. package/es/Button.d.ts +0 -19
  246. package/es/Button.js +0 -73
  247. package/es/ColorPicker.d.ts +0 -8
  248. package/es/ColorPicker.js +0 -6
  249. package/es/Compact.d.ts +0 -12
  250. package/es/Compact.js +0 -17
  251. package/es/DatePicker.d.ts +0 -19
  252. package/es/DatePicker.js +0 -9
  253. package/es/Image.d.ts +0 -9
  254. package/es/Image.js +0 -22
  255. package/es/Input.d.ts +0 -29
  256. package/es/Input.js +0 -144
  257. package/es/InputNumber.d.ts +0 -11
  258. package/es/InputNumber.js +0 -92
  259. package/es/Modal.d.ts +0 -48
  260. package/es/Modal.js +0 -209
  261. package/es/Popconfirm.js +0 -64
  262. package/es/Radio.d.ts +0 -27
  263. package/es/Radio.js +0 -93
  264. package/es/Result.js +0 -29
  265. package/es/Select.d.ts +0 -16
  266. package/es/Select.js +0 -113
  267. package/es/Skeleton.d.ts +0 -9
  268. package/es/Skeleton.js +0 -9
  269. package/es/Spin.d.ts +0 -9
  270. package/es/Spin.js +0 -22
  271. package/es/Switch.js +0 -30
  272. package/es/Table.js +0 -57
  273. package/es/Tabs.d.ts +0 -17
  274. package/es/Tabs.js +0 -117
  275. package/es/Timeline.js +0 -30
  276. package/es/Tooltip.d.ts +0 -34
  277. package/es/Tooltip.js +0 -302
  278. package/es/Tree.d.ts +0 -28
  279. package/es/Tree.js +0 -198
  280. package/es/Upload.d.ts +0 -11
  281. package/es/Upload.js +0 -6
  282. package/es/hooks/createUpdateEffect.d.ts +0 -5
  283. package/es/hooks/createUpdateEffect.js +0 -12
  284. package/es/utils/EventEmitter.d.ts +0 -7
  285. package/es/utils/EventEmitter.js +0 -13
  286. package/es/utils/ReactToSolid.d.ts +0 -8
  287. package/es/utils/ReactToSolid.js +0 -30
  288. package/es/utils/SolidToReact.d.ts +0 -8
  289. package/es/utils/SolidToReact.js +0 -23
  290. package/es/utils/component.d.ts +0 -31
  291. package/es/utils/component.js +0 -68
  292. package/es/utils/zh_CN.d.ts +0 -2
  293. package/es/utils/zh_CN.js +0 -236
  294. package/src/Button.tsx +0 -128
  295. package/src/Collapse/index.tsx +0 -86
  296. package/src/ColorPicker.tsx +0 -11
  297. package/src/Compact.tsx +0 -15
  298. package/src/DatePicker.tsx +0 -30
  299. package/src/Drawer/index.scss +0 -53
  300. package/src/Drawer/index.tsx +0 -212
  301. package/src/Empty/PRESENTED_IMAGE_SIMPLE.tsx +0 -15
  302. package/src/Empty/assets/EmptySvg.tsx +0 -43
  303. package/src/Empty/assets/SimpleEmptySvg.tsx +0 -16
  304. package/src/Empty/index.tsx +0 -20
  305. package/src/Form/Form.tsx +0 -94
  306. package/src/Form/FormItem.tsx +0 -141
  307. package/src/Form/context.ts +0 -16
  308. package/src/Form/index.ts +0 -13
  309. package/src/Image.tsx +0 -29
  310. package/src/Input.tsx +0 -202
  311. package/src/InputNumber.test.tsx +0 -46
  312. package/src/InputNumber.tsx +0 -125
  313. package/src/Modal.tsx +0 -220
  314. package/src/Popconfirm.tsx +0 -75
  315. package/src/Popover.tsx +0 -30
  316. package/src/Progress/index.tsx +0 -73
  317. package/src/Radio.tsx +0 -142
  318. package/src/Result.tsx +0 -38
  319. package/src/Segmented/index.tsx +0 -95
  320. package/src/Select.tsx +0 -128
  321. package/src/Skeleton.tsx +0 -14
  322. package/src/Spin.tsx +0 -23
  323. package/src/Switch.tsx +0 -34
  324. package/src/Table.tsx +0 -53
  325. package/src/Tabs.tsx +0 -131
  326. package/src/Timeline.tsx +0 -33
  327. package/src/Tooltip.tsx +0 -340
  328. package/src/Tree.tsx +0 -246
  329. package/src/Upload.tsx +0 -10
  330. package/src/hooks/createControllableValue.ts +0 -68
  331. package/src/hooks/createTransition.ts +0 -52
  332. package/src/hooks/createUpdateEffect.ts +0 -16
  333. package/src/hooks/index.ts +0 -2
  334. package/src/hooks/useClickAway.ts +0 -18
  335. package/src/hooks/useSize.ts +0 -26
  336. package/src/index.ts +0 -47
  337. package/src/types/index.ts +0 -5
  338. package/src/utils/EventEmitter.ts +0 -15
  339. package/src/utils/ReactToSolid.tsx +0 -38
  340. package/src/utils/SolidToReact.tsx +0 -27
  341. package/src/utils/array.ts +0 -21
  342. package/src/utils/component.tsx +0 -85
  343. package/src/utils/solid.ts +0 -61
  344. package/src/utils/zh_CN.ts +0 -236
  345. /package/es/{InputNumber.test.d.ts → InputNumber/index.test.d.ts} +0 -0
  346. /package/es/{Result.d.ts → Result/index.d.ts} +0 -0
  347. /package/es/{Timeline.d.ts → Timeline/index.d.ts} +0 -0
@@ -0,0 +1,71 @@
1
+ import { createComponent, insert, effect, className, template } from 'solid-js/web';
2
+ import { For, Show } from 'solid-js';
3
+ import cs from 'classnames';
4
+ import Empty from '../Empty/index.js';
5
+ import Element from '../Element/index.js';
6
+ import useComponentSize from '../hooks/useComponentSize.js';
7
+
8
+ var _tmpl$ = /*#__PURE__*/template(`<table class=w-full><thead><tr></tr></thead><tbody>`),
9
+ _tmpl$2 = /*#__PURE__*/template(`<th>`),
10
+ _tmpl$3 = /*#__PURE__*/template(`<tr class=hover:bg-[var(--ant-table-row-hover-bg)]>`),
11
+ _tmpl$4 = /*#__PURE__*/template(`<td>`);
12
+ const sizeClassDict = {
13
+ large: 'p-16px leading-22px',
14
+ middle: 'px-8px py-12px leading-22px',
15
+ small: 'p-8px leading-22px'
16
+ };
17
+ const Table = props => {
18
+ const size = useComponentSize(() => props.size);
19
+ return createComponent(Element, {
20
+ "class": "[font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)]",
21
+ get children() {
22
+ return [(() => {
23
+ var _el$ = _tmpl$(),
24
+ _el$2 = _el$.firstChild,
25
+ _el$3 = _el$2.firstChild,
26
+ _el$4 = _el$2.nextSibling;
27
+ insert(_el$3, createComponent(For, {
28
+ get each() {
29
+ return props.columns;
30
+ },
31
+ children: item => (() => {
32
+ var _el$5 = _tmpl$2();
33
+ insert(_el$5, () => item.title);
34
+ effect(() => className(_el$5, cs(sizeClassDict[size()], 'bg-[var(--ant-table-header-bg)] font-bold [border-bottom:1px_solid_var(--ant-table-border-color)] text-left')));
35
+ return _el$5;
36
+ })()
37
+ }));
38
+ insert(_el$4, createComponent(For, {
39
+ get each() {
40
+ return props.dataSource;
41
+ },
42
+ children: (row, i) => (() => {
43
+ var _el$6 = _tmpl$3();
44
+ insert(_el$6, createComponent(For, {
45
+ get each() {
46
+ return props.columns;
47
+ },
48
+ children: item => (() => {
49
+ var _el$7 = _tmpl$4();
50
+ insert(_el$7, () => item.render(row, i));
51
+ effect(() => className(_el$7, cs(sizeClassDict[size()], '[border-bottom:1px_solid_var(--ant-table-border-color)]')));
52
+ return _el$7;
53
+ })()
54
+ }));
55
+ return _el$6;
56
+ })()
57
+ }));
58
+ return _el$;
59
+ })(), createComponent(Show, {
60
+ get when() {
61
+ return !props.dataSource.length;
62
+ },
63
+ get children() {
64
+ return createComponent(Empty.PRESENTED_IMAGE_SIMPLE, {});
65
+ }
66
+ })];
67
+ }
68
+ });
69
+ };
70
+
71
+ export { Table as default };
@@ -0,0 +1,49 @@
1
+ import { type Component, type JSX } from 'solid-js';
2
+ import { type StyleProps, type StringOrJSXElement, type ComponentSize, type Key } from '../types';
3
+ export interface TabItem {
4
+ key: Key;
5
+ label: StringOrJSXElement;
6
+ children?: StringOrJSXElement;
7
+ }
8
+ export interface TabsProps extends StyleProps {
9
+ /**
10
+ * 默认 'line'
11
+ */
12
+ type?: 'line' | 'card' | 'segment';
13
+ /**
14
+ * 默认 'top'
15
+ * 对于 'segment' 类型不生效
16
+ */
17
+ placement?: 'top' | 'bottom' | 'left' | 'right';
18
+ /**
19
+ * 大小,提供 large middle 和 small 三种大小
20
+ * 默认 'middle'
21
+ */
22
+ size?: ComponentSize;
23
+ navClass?: string;
24
+ navItemClass?: string;
25
+ contentClass?: string;
26
+ defaultActiveKey?: string;
27
+ /**
28
+ * 当前激活 tab 面板的 key
29
+ */
30
+ activeKey?: Key;
31
+ /**
32
+ * 切换面板的回调
33
+ * @param activeKey
34
+ * @returns
35
+ */
36
+ onChange?: (activeKey: string) => void;
37
+ items: TabItem[];
38
+ addonBefore?: JSX.Element;
39
+ addonAfter?: JSX.Element;
40
+ disabled?: boolean;
41
+ /**
42
+ * 被隐藏时是否销毁 DOM 结构
43
+ */
44
+ destroyInactiveTabPane?: boolean;
45
+ /** tab bar 的样式对象 */
46
+ tabBarStyle?: JSX.CSSProperties;
47
+ }
48
+ declare const Tabs: Component<TabsProps>;
49
+ export default Tabs;
@@ -0,0 +1,256 @@
1
+ import { delegateEvents, createComponent, insert, effect, className, setAttribute, style, Dynamic, template, use } from 'solid-js/web';
2
+ import { mergeProps, untrack, createSelector, createSignal, createEffect, on, children, Show, Switch, Match, For, onCleanup } from 'solid-js';
3
+ import cs from 'classnames';
4
+ import Segmented from '../Segmented/index.js';
5
+ import { unwrapStringOrJSXElement } from '../utils/solid.js';
6
+ import DelayShow from '../DelayShow/index.js';
7
+ import Element from '../Element/index.js';
8
+ import createControllableValue from '../hooks/createControllableValue.js';
9
+ import useComponentSize from '../hooks/useComponentSize.js';
10
+
11
+ var _tmpl$ = /*#__PURE__*/template(`<div>`),
12
+ _tmpl$2 = /*#__PURE__*/template(`<div><div aria-label=selected-bar>`);
13
+ const Tabs = _props => {
14
+ const props = mergeProps({
15
+ type: 'line',
16
+ placement: 'top',
17
+ disabled: false
18
+ }, _props);
19
+ const size = useComponentSize(() => props.size);
20
+ const [activeKey, setActiveKey] = createControllableValue(props, {
21
+ defaultValuePropName: 'defaultActiveKey',
22
+ valuePropName: 'activeKey',
23
+ trigger: 'onChange',
24
+ defaultValue: untrack(() => props.items[0]?.key)
25
+ });
26
+ const isSelectedItem = createSelector(() => activeKey());
27
+ const [selectedBarStyle, setSelectedBarStyle] = createSignal({
28
+ left: '0px',
29
+ width: '0px'
30
+ });
31
+ let lineNav;
32
+ const updateSelectedBarStyle = () => {
33
+ if (!lineNav) return;
34
+ const el = lineNav.querySelector(':scope > [aria-label="selected"]');
35
+ if (!el) return;
36
+ if (props.placement === 'top' || props.placement === 'bottom') {
37
+ setSelectedBarStyle({
38
+ left: `${el.offsetLeft}px`,
39
+ width: `${el.clientWidth}px`
40
+ });
41
+ } else {
42
+ setSelectedBarStyle({
43
+ top: `${el.offsetTop}px`,
44
+ height: `${el.clientHeight}px`
45
+ });
46
+ }
47
+ };
48
+ createEffect(on([() => props.type, () => props.placement], () => {
49
+ if (!lineNav) return;
50
+ updateSelectedBarStyle();
51
+ const resizeObserver = new ResizeObserver(() => {
52
+ updateSelectedBarStyle();
53
+ });
54
+ resizeObserver.observe(lineNav);
55
+ onCleanup(() => {
56
+ resizeObserver.disconnect();
57
+ });
58
+ }));
59
+ const resolvedAddonBefore = children(() => props.addonBefore);
60
+ const resolvedAddonAfter = children(() => props.addonAfter);
61
+ return createComponent(Element, {
62
+ get ["class"]() {
63
+ return cs(props.class, 'flex [font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)]', props.placement === 'top' && 'flex-col', props.placement === 'bottom' && 'flex-col-reverse', props.placement === 'right' && 'flex-row-reverse');
64
+ },
65
+ get style() {
66
+ return {
67
+ // nav 和 content 之间的间隔
68
+ '--ant-tabs-gap': 'var(--ant-margin)',
69
+ ...props.style
70
+ };
71
+ },
72
+ get children() {
73
+ return [(() => {
74
+ var _el$ = _tmpl$();
75
+ insert(_el$, createComponent(Show, {
76
+ get when() {
77
+ return resolvedAddonBefore();
78
+ },
79
+ get children() {
80
+ var _el$2 = _tmpl$();
81
+ insert(_el$2, resolvedAddonBefore);
82
+ return _el$2;
83
+ }
84
+ }), null);
85
+ insert(_el$, createComponent(Switch, {
86
+ get children() {
87
+ return [createComponent(Match, {
88
+ get when() {
89
+ return props.type === 'line';
90
+ },
91
+ get children() {
92
+ var _el$3 = _tmpl$2(),
93
+ _el$4 = _el$3.firstChild;
94
+ var _ref$ = lineNav;
95
+ typeof _ref$ === "function" ? use(_ref$, _el$3) : lineNav = _el$3;
96
+ insert(_el$3, createComponent(For, {
97
+ get each() {
98
+ return props.items;
99
+ },
100
+ children: item => (() => {
101
+ var _el$7 = _tmpl$();
102
+ _el$7.$$click = () => {
103
+ setActiveKey(item.key);
104
+ updateSelectedBarStyle();
105
+ };
106
+ insert(_el$7, () => unwrapStringOrJSXElement(item.label));
107
+ effect(_p$ => {
108
+ var _v$6 = cs('cursor-pointer', 'hover:text-[var(--ant-color-primary)]', props.navItemClass, isSelectedItem(item.key) && 'text-[var(--ant-color-primary)]', (props.placement === 'top' || props.placement === 'bottom') && {
109
+ small: 'py-[--ant-padding-xs]',
110
+ middle: 'py-[--ant-padding-sm]',
111
+ large: 'py-[--ant-padding]'
112
+ }[size()], (props.placement === 'left' || props.placement === 'right') && 'px-24px py-8px'),
113
+ _v$7 = isSelectedItem(item.key) ? 'selected' : undefined;
114
+ _v$6 !== _p$.e && className(_el$7, _p$.e = _v$6);
115
+ _v$7 !== _p$.t && setAttribute(_el$7, "aria-label", _p$.t = _v$7);
116
+ return _p$;
117
+ }, {
118
+ e: undefined,
119
+ t: undefined
120
+ });
121
+ return _el$7;
122
+ })()
123
+ }), _el$4);
124
+ effect(_p$ => {
125
+ var _v$ = cs('grow flex relative', (props.placement === 'top' || props.placement === 'bottom') && 'gap-32px', (props.placement === 'left' || props.placement === 'right') && 'flex-col gap-16px'),
126
+ _v$2 = cs('absolute bg-[var(--ant-color-primary)] transition-left,top', props.placement === 'top' && '-bottom-1px', props.placement === 'bottom' && '-top-1px', props.placement === 'left' && '-right-1px', props.placement === 'right' && '-left-1px', (props.placement === 'top' || props.placement === 'bottom') && 'h-2px', (props.placement === 'left' || props.placement === 'right') && 'w-2px'),
127
+ _v$3 = selectedBarStyle();
128
+ _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
129
+ _v$2 !== _p$.t && className(_el$4, _p$.t = _v$2);
130
+ _p$.a = style(_el$4, _v$3, _p$.a);
131
+ return _p$;
132
+ }, {
133
+ e: undefined,
134
+ t: undefined,
135
+ a: undefined
136
+ });
137
+ return _el$3;
138
+ }
139
+ }), createComponent(Match, {
140
+ get when() {
141
+ return props.type === 'segment';
142
+ },
143
+ get children() {
144
+ return createComponent(Segmented, {
145
+ "class": "grow",
146
+ block: true,
147
+ get size() {
148
+ return size();
149
+ },
150
+ get disabled() {
151
+ return props.disabled;
152
+ },
153
+ get value() {
154
+ return activeKey();
155
+ },
156
+ onChange: key => {
157
+ setActiveKey(key);
158
+ },
159
+ get options() {
160
+ return props.items.map(item => ({
161
+ label: item.label,
162
+ value: item.key
163
+ }));
164
+ }
165
+ });
166
+ }
167
+ }), createComponent(Match, {
168
+ get when() {
169
+ return props.type === 'card';
170
+ },
171
+ get children() {
172
+ var _el$5 = _tmpl$();
173
+ insert(_el$5, createComponent(For, {
174
+ get each() {
175
+ return props.items;
176
+ },
177
+ children: item => (() => {
178
+ var _el$8 = _tmpl$();
179
+ _el$8.$$click = () => {
180
+ setActiveKey(item.key);
181
+ updateSelectedBarStyle();
182
+ };
183
+ insert(_el$8, () => unwrapStringOrJSXElement(item.label));
184
+ effect(() => className(_el$8, cs({
185
+ small: 'py-6px',
186
+ middle: 'py-8px',
187
+ large: 'py-8px'
188
+ }[size()], 'px-16px cursor-pointer border-solid border-[var(--ant-color-border-secondary)] border-1px relative', 'hover:text-[var(--ant-color-primary)]', props.placement === 'top' && 'rounded-t-[var(--ant-border-radius-lg)] !border-b-0px', props.placement === 'bottom' && 'rounded-b-[var(--ant-border-radius-lg)] !border-t-0px', props.placement === 'left' && 'rounded-l-[var(--ant-border-radius-lg)] !border-r-0px', props.placement === 'right' && 'rounded-r-[var(--ant-border-radius-lg)] !border-l-0px', props.navItemClass, isSelectedItem(item.key) ? ['text-[var(--ant-color-primary)] bg-[var(--ant-color-bg-container)]', ['after:content-empty after:block after:absolute after:bg-inherit', props.placement === 'top' && 'after:bottom--1px', props.placement === 'bottom' && 'after:top--1px', props.placement === 'left' && 'after:right--1px', props.placement === 'right' && 'after:left--1px', (props.placement === 'top' || props.placement === 'bottom') && 'after:left-0 after:right-0 after:h-1px', (props.placement === 'left' || props.placement === 'right') && 'after:top-0 after:bottom-0 after:w-1px']] : 'bg-[var(--ant-tabs-card-bg)]')));
189
+ return _el$8;
190
+ })()
191
+ }));
192
+ effect(() => className(_el$5, cs('grow flex gap-2px relative', (props.placement === 'left' || props.placement === 'right') && 'flex-col')));
193
+ return _el$5;
194
+ }
195
+ })];
196
+ }
197
+ }), null);
198
+ insert(_el$, createComponent(Show, {
199
+ get when() {
200
+ return resolvedAddonAfter();
201
+ },
202
+ get children() {
203
+ var _el$6 = _tmpl$();
204
+ insert(_el$6, resolvedAddonAfter);
205
+ return _el$6;
206
+ }
207
+ }), null);
208
+ effect(_p$ => {
209
+ var _v$4 = cs('shrink-0 flex items-center gap-16px', props.navClass, props.type === 'segment' ? 'mb-[--ant-tabs-gap]' : ['border-solid border-[var(--ant-color-border-secondary)] border-0', props.placement === 'top' && '!border-b-1px mb-[--ant-tabs-gap]', props.placement === 'bottom' && '!border-t-1px mt-[--ant-tabs-gap]', props.placement === 'left' && '!border-r-1px mr-[--ant-tabs-gap]', props.placement === 'right' && '!border-l-1px ml-[--ant-tabs-gap]', (props.placement === 'left' || props.placement === 'right') && 'flex-col'], {
210
+ small: '[font-size:var(--ant-font-size)]',
211
+ middle: '[font-size:var(--ant-font-size)]',
212
+ large: '[font-size:var(--ant-font-size-lg)]'
213
+ }[size()]),
214
+ _v$5 = props.tabBarStyle;
215
+ _v$4 !== _p$.e && className(_el$, _p$.e = _v$4);
216
+ _p$.t = style(_el$, _v$5, _p$.t);
217
+ return _p$;
218
+ }, {
219
+ e: undefined,
220
+ t: undefined
221
+ });
222
+ return _el$;
223
+ })(), createComponent(For, {
224
+ get each() {
225
+ return props.items;
226
+ },
227
+ children: item => createComponent(Dynamic, {
228
+ get component() {
229
+ return props.destroyInactiveTabPane ? Show : DelayShow;
230
+ },
231
+ get when() {
232
+ return isSelectedItem(item.key);
233
+ },
234
+ get children() {
235
+ var _el$9 = _tmpl$();
236
+ insert(_el$9, () => unwrapStringOrJSXElement(item.children));
237
+ effect(_p$ => {
238
+ var _v$8 = cs(props.contentClass, 'grow'),
239
+ _v$9 = isSelectedItem(item.key) ? 'block' : 'none';
240
+ _v$8 !== _p$.e && className(_el$9, _p$.e = _v$8);
241
+ _v$9 !== _p$.t && ((_p$.t = _v$9) != null ? _el$9.style.setProperty("display", _v$9) : _el$9.style.removeProperty("display"));
242
+ return _p$;
243
+ }, {
244
+ e: undefined,
245
+ t: undefined
246
+ });
247
+ return _el$9;
248
+ }
249
+ })
250
+ })];
251
+ }
252
+ });
253
+ };
254
+ delegateEvents(["click"]);
255
+
256
+ export { Tabs as default };
@@ -0,0 +1,31 @@
1
+ import { createComponent, insert, memo, template } from 'solid-js/web';
2
+ import { For } from 'solid-js';
3
+ import Element from '../Element/index.js';
4
+
5
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex relative"><div class="w-[10px] h-[10px] border-solid border-width-[3px] border-[var(--ant-color-primary)] bg-white rounded-[50%] mt-[8px]"></div><div class=ml-[8px]>`),
6
+ _tmpl$2 = /*#__PURE__*/template(`<div class="absolute top-[8px] bottom-[-24px] left-[4px] w-[2px] bg-[rgba(5,5,5,.06)]">`);
7
+ const Timeline = props => {
8
+ return createComponent(Element, {
9
+ "class": "flex flex-col gap-[16px]",
10
+ get children() {
11
+ return createComponent(For, {
12
+ get each() {
13
+ return props.items;
14
+ },
15
+ children: (item, i) => (() => {
16
+ var _el$ = _tmpl$(),
17
+ _el$2 = _el$.firstChild,
18
+ _el$3 = _el$2.nextSibling;
19
+ insert(_el$, (() => {
20
+ var _c$ = memo(() => i() !== props.items.length - 1);
21
+ return () => _c$() && _tmpl$2();
22
+ })(), _el$2);
23
+ insert(_el$3, () => item.children?.());
24
+ return _el$;
25
+ })()
26
+ });
27
+ }
28
+ });
29
+ };
30
+
31
+ export { Timeline as default };
@@ -0,0 +1,5 @@
1
+ export interface TooltipContextProps {
2
+ registerSubPopup: (id: string, node: HTMLElement) => void;
3
+ }
4
+ declare const TooltipContext: import("solid-js").Context<TooltipContextProps | undefined>;
5
+ export default TooltipContext;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'solid-js';
2
+
3
+ const TooltipContext = createContext();
4
+
5
+ export { TooltipContext as default };
@@ -0,0 +1,64 @@
1
+ import { type Component, type JSXElement, type JSX } from 'solid-js';
2
+ type ActionType = 'hover' | 'focus' | 'click' | false;
3
+ type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
4
+ export interface TooltipProps {
5
+ /**
6
+ * 默认: hover
7
+ */
8
+ trigger?: ActionType;
9
+ /**
10
+ * 默认: top
11
+ */
12
+ placement?: TooltipPlacement;
13
+ contentStyle?: JSX.CSSProperties;
14
+ content?: JSXElement | ((close: () => void) => JSXElement);
15
+ children?: JSXElement;
16
+ /**
17
+ * 只有在 trigger 为 manual 时生效
18
+ */
19
+ position?: [x: number, y: number];
20
+ defaultOpen?: boolean;
21
+ open?: boolean;
22
+ onOpenChange?: (open: boolean) => void;
23
+ /**
24
+ * 简单样式
25
+ * 如果为 true,则背景色和文字颜色会跟随主题
26
+ * 默认 false
27
+ */
28
+ plain?: boolean;
29
+ /**
30
+ * 默认: true
31
+ */
32
+ arrow?: boolean | {
33
+ pointAtCenter: boolean;
34
+ };
35
+ /**
36
+ * 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。
37
+ * 默认 () => document.body
38
+ * @returns
39
+ */
40
+ getPopupContainer?: () => HTMLElement;
41
+ /**
42
+ * x、y 轴的偏移量
43
+ */
44
+ offset?: [number, number];
45
+ /**
46
+ * 鼠标移出后延时多少才隐藏 Tooltip,单位:秒
47
+ * 默认 0.1
48
+ */
49
+ mouseLeaveDelay?: number;
50
+ /**
51
+ * 气泡被遮挡时自动调整位置
52
+ * 默认 true
53
+ */
54
+ autoAdjustOverflow?: boolean;
55
+ /**
56
+ * 关闭时销毁 Tooltip 里的子元素
57
+ */
58
+ destroyOnClose?: boolean;
59
+ /** 是否禁用 */
60
+ disabled?: boolean;
61
+ }
62
+ export declare const unwrapContent: (content: TooltipProps['content'], close: () => void) => JSX.Element;
63
+ declare const Tooltip: Component<TooltipProps>;
64
+ export default Tooltip;