antd-solid 0.0.12 → 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 (343) hide show
  1. package/css/index.css +10 -77
  2. package/dist/index.esm.js +7819 -2492
  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 +16 -4
  7. package/es/Button/index.js +107 -59
  8. package/es/Button/index.scss.js +1 -1
  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 +11 -9
  48. package/es/Compact/index.js +28 -13
  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 -111
  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 +4 -2
  96. package/es/Empty/index.js +23 -13
  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 +5 -2
  140. package/es/Progress/index.js +70 -65
  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.d.ts → Upload/index.d.ts} +8 -1
  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 +51 -21
  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/ColorPicker.d.ts +0 -8
  246. package/es/ColorPicker.js +0 -6
  247. package/es/DatePicker.d.ts +0 -19
  248. package/es/DatePicker.js +0 -9
  249. package/es/Image.d.ts +0 -9
  250. package/es/Image.js +0 -22
  251. package/es/Input.d.ts +0 -29
  252. package/es/Input.js +0 -144
  253. package/es/InputNumber.d.ts +0 -11
  254. package/es/InputNumber.js +0 -92
  255. package/es/Modal.d.ts +0 -47
  256. package/es/Modal.js +0 -210
  257. package/es/Popconfirm.js +0 -64
  258. package/es/Radio.d.ts +0 -27
  259. package/es/Radio.js +0 -93
  260. package/es/Result.js +0 -29
  261. package/es/Select.d.ts +0 -16
  262. package/es/Select.js +0 -113
  263. package/es/Skeleton.d.ts +0 -9
  264. package/es/Skeleton.js +0 -9
  265. package/es/Spin.d.ts +0 -10
  266. package/es/Spin.js +0 -28
  267. package/es/Switch.js +0 -30
  268. package/es/Table.js +0 -57
  269. package/es/Tabs.d.ts +0 -17
  270. package/es/Tabs.js +0 -117
  271. package/es/Timeline.js +0 -30
  272. package/es/Tooltip.d.ts +0 -34
  273. package/es/Tooltip.js +0 -302
  274. package/es/Tree.d.ts +0 -28
  275. package/es/Tree.js +0 -198
  276. package/es/Upload.js +0 -96
  277. package/es/hooks/createUpdateEffect.d.ts +0 -5
  278. package/es/hooks/createUpdateEffect.js +0 -12
  279. package/es/utils/EventEmitter.d.ts +0 -7
  280. package/es/utils/EventEmitter.js +0 -13
  281. package/es/utils/ReactToSolid.d.ts +0 -8
  282. package/es/utils/ReactToSolid.js +0 -30
  283. package/es/utils/SolidToReact.d.ts +0 -8
  284. package/es/utils/SolidToReact.js +0 -23
  285. package/es/utils/component.d.ts +0 -31
  286. package/es/utils/component.js +0 -68
  287. package/es/utils/zh_CN.d.ts +0 -2
  288. package/es/utils/zh_CN.js +0 -236
  289. package/src/Button/index.scss +0 -9
  290. package/src/Button/index.tsx +0 -137
  291. package/src/Collapse/index.tsx +0 -86
  292. package/src/ColorPicker.tsx +0 -11
  293. package/src/Compact/index.tsx +0 -20
  294. package/src/DatePicker.tsx +0 -30
  295. package/src/Drawer/index.scss +0 -53
  296. package/src/Drawer/index.tsx +0 -211
  297. package/src/Empty/PRESENTED_IMAGE_SIMPLE.tsx +0 -15
  298. package/src/Empty/assets/EmptySvg.tsx +0 -43
  299. package/src/Empty/assets/SimpleEmptySvg.tsx +0 -16
  300. package/src/Empty/index.tsx +0 -25
  301. package/src/Form/Form.tsx +0 -94
  302. package/src/Form/FormItem.tsx +0 -141
  303. package/src/Form/context.ts +0 -16
  304. package/src/Form/index.ts +0 -13
  305. package/src/Image.tsx +0 -29
  306. package/src/Input.tsx +0 -202
  307. package/src/InputNumber.test.tsx +0 -46
  308. package/src/InputNumber.tsx +0 -139
  309. package/src/Modal.tsx +0 -221
  310. package/src/Popconfirm.tsx +0 -75
  311. package/src/Popover.tsx +0 -30
  312. package/src/Progress/index.tsx +0 -81
  313. package/src/Radio.tsx +0 -142
  314. package/src/Result.tsx +0 -38
  315. package/src/Segmented/index.tsx +0 -95
  316. package/src/Select.tsx +0 -138
  317. package/src/Skeleton.tsx +0 -14
  318. package/src/Spin.tsx +0 -34
  319. package/src/Switch.tsx +0 -34
  320. package/src/Table.tsx +0 -53
  321. package/src/Tabs.tsx +0 -131
  322. package/src/Timeline.tsx +0 -33
  323. package/src/Tooltip.tsx +0 -340
  324. package/src/Tree.tsx +0 -247
  325. package/src/Upload.tsx +0 -143
  326. package/src/hooks/createControllableValue.ts +0 -68
  327. package/src/hooks/createTransition.ts +0 -52
  328. package/src/hooks/createUpdateEffect.ts +0 -16
  329. package/src/hooks/index.ts +0 -2
  330. package/src/hooks/useClickAway.ts +0 -18
  331. package/src/hooks/useSize.ts +0 -26
  332. package/src/index.ts +0 -47
  333. package/src/types/index.ts +0 -5
  334. package/src/utils/EventEmitter.ts +0 -15
  335. package/src/utils/ReactToSolid.tsx +0 -38
  336. package/src/utils/SolidToReact.tsx +0 -27
  337. package/src/utils/array.ts +0 -21
  338. package/src/utils/component.tsx +0 -85
  339. package/src/utils/solid.ts +0 -61
  340. package/src/utils/zh_CN.ts +0 -236
  341. /package/es/{InputNumber.test.d.ts → InputNumber/index.test.d.ts} +0 -0
  342. /package/es/{Result.d.ts → Result/index.d.ts} +0 -0
  343. /package/es/{Timeline.d.ts → Timeline/index.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ import { render, createComponent, mergeProps, insert, template } from 'solid-js/web';
2
+ import Modal from './index.js';
3
+
4
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex items-center gap-12px"><span class="i-ant-design:exclamation-circle text-22px text-[var(--ant-color-warning)]">`),
5
+ _tmpl$2 = /*#__PURE__*/template(`<div class=ml-34px>`);
6
+ function warning(props) {
7
+ const div = document.createElement('div');
8
+ document.body.appendChild(div);
9
+ const dispose = render(() => createComponent(Modal, mergeProps({
10
+ width: "416px",
11
+ maskClosable: false,
12
+ closeIcon: false
13
+ }, props, {
14
+ get title() {
15
+ return (() => {
16
+ var _el$ = _tmpl$();
17
+ _el$.firstChild;
18
+ insert(_el$, () => props.title, null);
19
+ return _el$;
20
+ })();
21
+ },
22
+ get children() {
23
+ return (() => {
24
+ var _el$3 = _tmpl$2();
25
+ insert(_el$3, () => props.children);
26
+ return _el$3;
27
+ })();
28
+ },
29
+ defaultOpen: true,
30
+ onOk: () => {
31
+ document.body.removeChild(div);
32
+ dispose();
33
+ props.onOk?.();
34
+ },
35
+ onCancel: () => {
36
+ document.body.removeChild(div);
37
+ dispose();
38
+ props.onCancel?.();
39
+ }
40
+ })), div);
41
+ }
42
+
43
+ export { warning as default };
@@ -1,6 +1,6 @@
1
1
  import { type Component, type JSXElement } from 'solid-js';
2
- import { type TooltipProps } from './Tooltip';
3
- interface PopconfirmProps extends Pick<TooltipProps, 'placement' | 'arrow'> {
2
+ import { type TooltipProps } from '../Tooltip';
3
+ export interface PopconfirmProps extends Pick<TooltipProps, 'placement' | 'arrow' | 'getPopupContainer'> {
4
4
  title?: JSXElement;
5
5
  content?: JSXElement;
6
6
  children: JSXElement;
@@ -0,0 +1,62 @@
1
+ import { createComponent, mergeProps as mergeProps$1, insert, template } from 'solid-js/web';
2
+ import { mergeProps, splitProps, createSignal, untrack } from 'solid-js';
3
+ import Button from '../Button/index.js';
4
+ import Tooltip from '../Tooltip/index.js';
5
+
6
+ var _tmpl$ = /*#__PURE__*/template(`<div><div class="mb-8px flex items-center"><span class="i-ant-design:exclamation-circle-fill text-#faad14"></span><span class="ml-8px font-600"></span></div><div class="ml-22px mb-8px"></div><div class=text-right>`);
7
+ const Popconfirm = props => {
8
+ const mergedProps = mergeProps({
9
+ okText: '确定',
10
+ cancelText: '取消'
11
+ }, props);
12
+ const [tooltipProps] = splitProps(props, ['placement', 'arrow', 'getPopupContainer']);
13
+ const [open, setOpen] = createSignal(false);
14
+ return createComponent(Tooltip, mergeProps$1({
15
+ plain: true,
16
+ trigger: "click",
17
+ get open() {
18
+ return open();
19
+ },
20
+ onOpenChange: setOpen,
21
+ content: () => (() => {
22
+ var _el$ = _tmpl$(),
23
+ _el$2 = _el$.firstChild,
24
+ _el$3 = _el$2.firstChild,
25
+ _el$4 = _el$3.nextSibling,
26
+ _el$5 = _el$2.nextSibling,
27
+ _el$6 = _el$5.nextSibling;
28
+ insert(_el$4, () => mergedProps.title);
29
+ insert(_el$5, () => mergedProps.content);
30
+ insert(_el$6, createComponent(Button, {
31
+ "class": "ml-8px",
32
+ size: "small",
33
+ onClick: () => {
34
+ setOpen(false);
35
+ untrack(() => mergedProps.onCancel?.());
36
+ },
37
+ get children() {
38
+ return mergedProps.cancelText;
39
+ }
40
+ }), null);
41
+ insert(_el$6, createComponent(Button, {
42
+ "class": "ml-8px",
43
+ type: "primary",
44
+ size: "small",
45
+ onClick: () => {
46
+ setOpen(false);
47
+ untrack(() => mergedProps.onConfirm?.());
48
+ },
49
+ get children() {
50
+ return mergedProps.okText;
51
+ }
52
+ }), null);
53
+ return _el$;
54
+ })()
55
+ }, tooltipProps, {
56
+ get children() {
57
+ return mergedProps.children;
58
+ }
59
+ }));
60
+ };
61
+
62
+ export { Popconfirm as default };
@@ -1,6 +1,6 @@
1
1
  import { type Component, type JSXElement } from 'solid-js';
2
- import { type TooltipProps } from './Tooltip';
3
- interface PopoverProps extends TooltipProps {
2
+ import { type TooltipProps } from '../Tooltip';
3
+ export interface PopoverProps extends TooltipProps {
4
4
  title?: JSXElement;
5
5
  }
6
6
  declare const Popover: Component<PopoverProps>;
@@ -1,33 +1,28 @@
1
1
  import { createComponent, mergeProps, insert, template } from 'solid-js/web';
2
2
  import { Show } from 'solid-js';
3
- import Tooltip, { Content } from './Tooltip.js';
3
+ import Tooltip, { unwrapContent } from '../Tooltip/index.js';
4
4
 
5
- const _tmpl$ = /*#__PURE__*/template(`<div class="ant-mb-8px ant-flex ant-items-center"><span class="ant-text-[rgba(0,0,0,0.88)] ant-font-600">`),
6
- _tmpl$2 = /*#__PURE__*/template(`<div><div class="ant-text-[rgba(0,0,0,0.88)]">`);
5
+ var _tmpl$ = /*#__PURE__*/template(`<div class="mb-8px flex items-center"><span class=font-600>`),
6
+ _tmpl$2 = /*#__PURE__*/template(`<div><div>`);
7
7
  const Popover = props => {
8
8
  return createComponent(Tooltip, mergeProps({
9
- mode: "light"
9
+ plain: true
10
10
  }, props, {
11
11
  content: close => (() => {
12
- const _el$ = _tmpl$2(),
12
+ var _el$ = _tmpl$2(),
13
13
  _el$4 = _el$.firstChild;
14
14
  insert(_el$, createComponent(Show, {
15
15
  get when() {
16
16
  return props.title;
17
17
  },
18
18
  get children() {
19
- const _el$2 = _tmpl$(),
19
+ var _el$2 = _tmpl$(),
20
20
  _el$3 = _el$2.firstChild;
21
21
  insert(_el$3, () => props.title);
22
22
  return _el$2;
23
23
  }
24
24
  }), _el$4);
25
- insert(_el$4, createComponent(Content, {
26
- get content() {
27
- return props.content;
28
- },
29
- close: close
30
- }));
25
+ insert(_el$4, () => unwrapContent(props.content, close));
31
26
  return _el$;
32
27
  })()
33
28
  }));
@@ -0,0 +1,16 @@
1
+ import { type Component } from 'solid-js';
2
+ import { type ProgressProps } from '.';
3
+ export interface CircleProps extends Omit<ProgressProps, 'type' | 'height'> {
4
+ /**
5
+ * 圆形进度条线的宽度,单位是进度条画布宽度的百分比
6
+ * 默认 6
7
+ */
8
+ strokeWidth?: number;
9
+ /**
10
+ * 进度条的高度
11
+ * 默认 120px
12
+ */
13
+ height?: string;
14
+ }
15
+ declare const Circle: Component<CircleProps>;
16
+ export default Circle;
@@ -0,0 +1,122 @@
1
+ import { createComponent, effect, setAttribute, insert, template } from 'solid-js/web';
2
+ import { mergeProps, createMemo, Show, Switch, Match } from 'solid-js';
3
+ import 'lodash-es';
4
+ import useSize from '../hooks/useSize.js';
5
+ import Element from '../Element/index.js';
6
+
7
+ var _tmpl$ = /*#__PURE__*/template(`<svg viewBox="0 0 100 100"role=presentation><circle cx=50 cy=50 stroke-linecap=round></circle><circle cx=50 cy=50 stroke-linecap=round opacity=1>`),
8
+ _tmpl$2 = /*#__PURE__*/template(`<span class="i-ant-design:check-outlined text-[var(--ant-color-success)] text-1.1667em">`),
9
+ _tmpl$3 = /*#__PURE__*/template(`<span class="i-ant-design:close-outlined text-[var(--ant-color-error)] text-1.1667em">`),
10
+ _tmpl$4 = /*#__PURE__*/template(`<span class="shrink-0 text-center text-1em absolute top-1/2 left-1/2 -translate-1/2">`);
11
+ const Circle = _props => {
12
+ let ref;
13
+ const props = mergeProps({
14
+ percent: 0,
15
+ height: '120px',
16
+ showInfo: true,
17
+ strokeWidth: 6
18
+ }, _props);
19
+ const status = createMemo(() => {
20
+ if (props.status) return props.status;
21
+ return props.percent >= 100 ? 'success' : 'normal';
22
+ });
23
+ const radius = createMemo(() => 50 - props.strokeWidth / 2);
24
+ const perimeter = createMemo(() => radius() * 2 * Math.PI);
25
+ const size = useSize(() => ref);
26
+ return createComponent(Element, {
27
+ ref(r$) {
28
+ var _ref$ = ref;
29
+ typeof _ref$ === "function" ? _ref$(r$) : ref = r$;
30
+ },
31
+ "class": "flex items-center relative",
32
+ get style() {
33
+ return {
34
+ height: props.height,
35
+ width: typeof size()?.height === 'number' ? `${size().height}px` : undefined,
36
+ 'font-size': typeof size()?.height === 'number' ? `${size().height / 5}px` : undefined
37
+ };
38
+ },
39
+ get children() {
40
+ return [(() => {
41
+ var _el$ = _tmpl$(),
42
+ _el$2 = _el$.firstChild,
43
+ _el$3 = _el$2.nextSibling;
44
+ _el$2.style.setProperty("stroke", "var(--ant-progress-remaining-color)");
45
+ _el$2.style.setProperty("stroke-dashoffset", "0");
46
+ _el$2.style.setProperty("transform", "rotate(-90deg)");
47
+ _el$2.style.setProperty("transform-origin", "50px 50px");
48
+ _el$2.style.setProperty("transition", "stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s ease 0s, stroke-width 0.06s ease 0.3s, opacity 0.3s ease 0s");
49
+ _el$2.style.setProperty("fill-opacity", "0");
50
+ _el$3.style.setProperty("transform", "rotate(-90deg)");
51
+ _el$3.style.setProperty("transform-origin", "50px 50px");
52
+ _el$3.style.setProperty("transition", "stroke-dashoffset 0.3s ease 0s, stroke-dasharray 0.3s ease 0s, stroke 0.3s ease 0s, stroke-width 0.06s ease 0.3s, opacity ease 0s");
53
+ _el$3.style.setProperty("fill-opacity", "0");
54
+ effect(_p$ => {
55
+ var _v$ = radius(),
56
+ _v$2 = props.strokeWidth,
57
+ _v$3 = `${perimeter()}px, ${perimeter()}px`,
58
+ _v$4 = radius(),
59
+ _v$5 = props.strokeWidth,
60
+ _v$6 = {
61
+ normal: 'var(--ant-color-primary)',
62
+ success: 'var(--ant-color-success)',
63
+ error: 'var(--ant-color-error)'
64
+ }[status()],
65
+ _v$7 = `${perimeter()}px, ${perimeter()}px`,
66
+ _v$8 = `${perimeter() * (100 - props.percent) / 100}px`;
67
+ _v$ !== _p$.e && setAttribute(_el$2, "r", _p$.e = _v$);
68
+ _v$2 !== _p$.t && setAttribute(_el$2, "stroke-width", _p$.t = _v$2);
69
+ _v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$2.style.setProperty("stroke-dasharray", _v$3) : _el$2.style.removeProperty("stroke-dasharray"));
70
+ _v$4 !== _p$.o && setAttribute(_el$3, "r", _p$.o = _v$4);
71
+ _v$5 !== _p$.i && setAttribute(_el$3, "stroke-width", _p$.i = _v$5);
72
+ _v$6 !== _p$.n && ((_p$.n = _v$6) != null ? _el$3.style.setProperty("stroke", _v$6) : _el$3.style.removeProperty("stroke"));
73
+ _v$7 !== _p$.s && ((_p$.s = _v$7) != null ? _el$3.style.setProperty("stroke-dasharray", _v$7) : _el$3.style.removeProperty("stroke-dasharray"));
74
+ _v$8 !== _p$.h && ((_p$.h = _v$8) != null ? _el$3.style.setProperty("stroke-dashoffset", _v$8) : _el$3.style.removeProperty("stroke-dashoffset"));
75
+ return _p$;
76
+ }, {
77
+ e: undefined,
78
+ t: undefined,
79
+ a: undefined,
80
+ o: undefined,
81
+ i: undefined,
82
+ n: undefined,
83
+ s: undefined,
84
+ h: undefined
85
+ });
86
+ return _el$;
87
+ })(), createComponent(Show, {
88
+ get when() {
89
+ return props.showInfo;
90
+ },
91
+ get children() {
92
+ var _el$4 = _tmpl$4();
93
+ insert(_el$4, createComponent(Switch, {
94
+ get fallback() {
95
+ return `${props.percent}%`;
96
+ },
97
+ get children() {
98
+ return [createComponent(Match, {
99
+ get when() {
100
+ return status() === 'success';
101
+ },
102
+ get children() {
103
+ return _tmpl$2();
104
+ }
105
+ }), createComponent(Match, {
106
+ get when() {
107
+ return status() === 'error';
108
+ },
109
+ get children() {
110
+ return _tmpl$3();
111
+ }
112
+ })];
113
+ }
114
+ }));
115
+ return _el$4;
116
+ }
117
+ })];
118
+ }
119
+ });
120
+ };
121
+
122
+ export { Circle as default };
@@ -1,4 +1,5 @@
1
1
  import { type Component } from 'solid-js';
2
+ import Circle from './Circle';
2
3
  export interface ProgressProps {
3
4
  /**
4
5
  * 百分比
@@ -10,7 +11,7 @@ export interface ProgressProps {
10
11
  */
11
12
  status?: 'normal' | 'success' | 'error';
12
13
  /**
13
- * 'line' 类型进度条的高度
14
+ * 进度条的高度
14
15
  * 默认 8
15
16
  */
16
17
  height?: number;
@@ -20,5 +21,7 @@ export interface ProgressProps {
20
21
  */
21
22
  showInfo?: boolean;
22
23
  }
23
- declare const Progress: Component<ProgressProps>;
24
+ declare const Progress: Component<ProgressProps> & {
25
+ Circle: typeof Circle;
26
+ };
24
27
  export default Progress;
@@ -1,11 +1,13 @@
1
- import { insert, createComponent, effect, className, template } from 'solid-js/web';
1
+ import { createComponent, effect, className, insert, template } from 'solid-js/web';
2
2
  import { mergeProps, createMemo, Show, Switch, Match } from 'solid-js';
3
3
  import cs from 'classnames';
4
+ import Circle from './Circle.js';
5
+ import Element from '../Element/index.js';
4
6
 
5
- const _tmpl$ = /*#__PURE__*/template(`<span class="i-ant-design:check-circle-filled ant-text-[var(--ant-color-success)]">`),
6
- _tmpl$2 = /*#__PURE__*/template(`<span class="i-ant-design:close-circle-filled ant-text-[var(--ant-color-error)]">`),
7
- _tmpl$3 = /*#__PURE__*/template(`<span class="ant-shrink-0 ant-min-w-40px ant-ml-8px ant-text-center">`),
8
- _tmpl$4 = /*#__PURE__*/template(`<div class="ant-flex ant-items-center"><div>`);
7
+ var _tmpl$ = /*#__PURE__*/template(`<div>`),
8
+ _tmpl$2 = /*#__PURE__*/template(`<span class="i-ant-design:check-circle-filled text-[var(--ant-color-success)]">`),
9
+ _tmpl$3 = /*#__PURE__*/template(`<span class="i-ant-design:close-circle-filled text-[var(--ant-color-error)]">`),
10
+ _tmpl$4 = /*#__PURE__*/template(`<span class="shrink-0 ml-8px text-center">`);
9
11
  const Progress = _props => {
10
12
  const props = mergeProps({
11
13
  percent: 0,
@@ -16,66 +18,69 @@ const Progress = _props => {
16
18
  if (props.status) return props.status;
17
19
  return props.percent >= 100 ? 'success' : 'normal';
18
20
  });
19
- return (() => {
20
- const _el$ = _tmpl$4(),
21
- _el$2 = _el$.firstChild;
22
- _el$.style.setProperty("--ant-progress-remaining-color", "rgba(0, 0, 0, 0.06)");
23
- insert(_el$, createComponent(Show, {
24
- get when() {
25
- return props.showInfo;
26
- },
27
- get children() {
28
- const _el$3 = _tmpl$3();
29
- insert(_el$3, createComponent(Switch, {
30
- get fallback() {
31
- return `${props.percent}%`;
32
- },
33
- get children() {
34
- return [createComponent(Match, {
35
- get when() {
36
- return status() === 'success';
37
- },
38
- get children() {
39
- return _tmpl$();
40
- }
41
- }), createComponent(Match, {
42
- get when() {
43
- return status() === 'error';
44
- },
45
- get children() {
46
- return _tmpl$2();
47
- }
48
- })];
49
- }
50
- }));
51
- return _el$3;
52
- }
53
- }), null);
54
- effect(_p$ => {
55
- const _v$ = cs('ant-w-full ant-bg-[var(--ant-progress-remaining-color)]', 'before:ant-content-empty before:ant-block before:ant-bg-[var(--color)] before:ant-w-[var(--percent)] before:ant-h-full before:ant-rounded-inherit'),
56
- _v$2 = `${props.height}px`,
57
- _v$3 = `${props.height / 2}px`,
58
- _v$4 = `${props.percent}%`,
59
- _v$5 = {
60
- normal: 'var(--ant-color-primary)',
61
- success: 'var(--ant-color-success)',
62
- error: 'var(--ant-color-error)'
63
- }[status()];
64
- _v$ !== _p$._v$ && className(_el$2, _p$._v$ = _v$);
65
- _v$2 !== _p$._v$2 && ((_p$._v$2 = _v$2) != null ? _el$2.style.setProperty("height", _v$2) : _el$2.style.removeProperty("height"));
66
- _v$3 !== _p$._v$3 && ((_p$._v$3 = _v$3) != null ? _el$2.style.setProperty("border-radius", _v$3) : _el$2.style.removeProperty("border-radius"));
67
- _v$4 !== _p$._v$4 && ((_p$._v$4 = _v$4) != null ? _el$2.style.setProperty("--percent", _v$4) : _el$2.style.removeProperty("--percent"));
68
- _v$5 !== _p$._v$5 && ((_p$._v$5 = _v$5) != null ? _el$2.style.setProperty("--color", _v$5) : _el$2.style.removeProperty("--color"));
69
- return _p$;
70
- }, {
71
- _v$: undefined,
72
- _v$2: undefined,
73
- _v$3: undefined,
74
- _v$4: undefined,
75
- _v$5: undefined
76
- });
77
- return _el$;
78
- })();
21
+ return createComponent(Element, {
22
+ "class": "flex items-center",
23
+ get children() {
24
+ return [(() => {
25
+ var _el$ = _tmpl$();
26
+ effect(_p$ => {
27
+ var _v$ = cs('w-full bg-[var(--ant-progress-remaining-color)]', 'before:content-empty before:block before:bg-[var(--color)] before:w-[var(--percent)] before:h-full before:rounded-inherit'),
28
+ _v$2 = `${props.height}px`,
29
+ _v$3 = `${props.height / 2}px`,
30
+ _v$4 = `${props.percent}%`,
31
+ _v$5 = {
32
+ normal: 'var(--ant-color-primary)',
33
+ success: 'var(--ant-color-success)',
34
+ error: 'var(--ant-color-error)'
35
+ }[status()];
36
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
37
+ _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$.style.setProperty("height", _v$2) : _el$.style.removeProperty("height"));
38
+ _v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$.style.setProperty("border-radius", _v$3) : _el$.style.removeProperty("border-radius"));
39
+ _v$4 !== _p$.o && ((_p$.o = _v$4) != null ? _el$.style.setProperty("--percent", _v$4) : _el$.style.removeProperty("--percent"));
40
+ _v$5 !== _p$.i && ((_p$.i = _v$5) != null ? _el$.style.setProperty("--color", _v$5) : _el$.style.removeProperty("--color"));
41
+ return _p$;
42
+ }, {
43
+ e: undefined,
44
+ t: undefined,
45
+ a: undefined,
46
+ o: undefined,
47
+ i: undefined
48
+ });
49
+ return _el$;
50
+ })(), createComponent(Show, {
51
+ get when() {
52
+ return props.showInfo;
53
+ },
54
+ get children() {
55
+ var _el$2 = _tmpl$4();
56
+ insert(_el$2, createComponent(Switch, {
57
+ get fallback() {
58
+ return `${props.percent}%`;
59
+ },
60
+ get children() {
61
+ return [createComponent(Match, {
62
+ get when() {
63
+ return status() === 'success';
64
+ },
65
+ get children() {
66
+ return _tmpl$2();
67
+ }
68
+ }), createComponent(Match, {
69
+ get when() {
70
+ return status() === 'error';
71
+ },
72
+ get children() {
73
+ return _tmpl$3();
74
+ }
75
+ })];
76
+ }
77
+ }));
78
+ return _el$2;
79
+ }
80
+ })];
81
+ }
82
+ });
79
83
  };
84
+ Progress.Circle = Circle;
80
85
 
81
86
  export { Progress as default };
@@ -0,0 +1,7 @@
1
+ import { type Component } from 'solid-js';
2
+ import { type RadioProps } from '.';
3
+ import { type ComponentSize } from '../types';
4
+ declare const Button: Component<RadioProps & {
5
+ size: ComponentSize;
6
+ }>;
7
+ export default Button;
@@ -0,0 +1,72 @@
1
+ import { delegateEvents, createComponent, use, effect, insert, template } from 'solid-js/web';
2
+ import cs from 'classnames';
3
+ import createControllableValue from '../hooks/createControllableValue.js';
4
+ import { wave } from '../utils/animation.js';
5
+ import Element from '../Element/index.js';
6
+
7
+ var _tmpl$ = /*#__PURE__*/template(`<input class=hidden type=radio>`),
8
+ _tmpl$2 = /*#__PURE__*/template(`<span>`);
9
+ const Button = props => {
10
+ let input;
11
+ const [checked, setChecked] = createControllableValue(props, {
12
+ defaultValue: false,
13
+ defaultValuePropName: 'defaultChecked',
14
+ valuePropName: 'checked',
15
+ trigger: null
16
+ });
17
+ return createComponent(Element, {
18
+ tag: "label",
19
+ get ["class"]() {
20
+ return cs('relative px-[--ant-radio-button-padding] h-[--ant-radio-button-height] [border:1px_solid_var(--ant-color-border)] first:rounded-l-[--ant-radio-button-border-radius] last:rounded-r-[--ant-radio-button-border-radius] cursor-pointer flex-grow not[:first-child]:-ml-1px flex justify-center items-center [font-size:var(--ant-radio-button-font-size)]', checked() && cs(props.disabled ? 'bg-[var(--ant-radio-button-checked-bg-disabled)]' : 'text-[var(--ant-color-primary)] [border:1px_solid_var(--ant-color-primary)] z-1'), props.disabled ? 'cursor-not-allowed [border:1px_solid_var(--ant-color-border)] bg-[var(--ant-color-bg-container-disabled)] text-[var(--ant-color-text-disabled)]' : 'hover:text-[var(--ant-color-primary)]');
21
+ },
22
+ onClick: e => {
23
+ if (e.target === input) return;
24
+ wave(e.currentTarget, 'var(--ant-color-primary)');
25
+ },
26
+ get style() {
27
+ return {
28
+ '--ant-radio-button-padding': {
29
+ small: '7px',
30
+ middle: '15px',
31
+ large: '15px'
32
+ }[props.size],
33
+ '--ant-radio-button-height': {
34
+ small: '24px',
35
+ middle: '32px',
36
+ large: '40px'
37
+ }[props.size],
38
+ '--ant-radio-button-font-size': {
39
+ small: 'var(--ant-font-size)',
40
+ middle: 'var(--ant-font-size)',
41
+ large: 'var(--ant-font-size-lg)'
42
+ }[props.size],
43
+ '--ant-radio-button-border-radius': {
44
+ small: 'var(--ant-border-radius-sm)',
45
+ middle: 'var(--ant-border-radius)',
46
+ large: 'var(--ant-border-radius-lg)'
47
+ }[props.size]
48
+ };
49
+ },
50
+ get children() {
51
+ return [(() => {
52
+ var _el$ = _tmpl$();
53
+ _el$.$$input = e => {
54
+ setChecked(e.target.checked);
55
+ props.onChange?.(e);
56
+ };
57
+ var _ref$ = input;
58
+ typeof _ref$ === "function" ? use(_ref$, _el$) : input = _el$;
59
+ effect(() => _el$.disabled = props.disabled);
60
+ effect(() => _el$.checked = checked());
61
+ return _el$;
62
+ })(), (() => {
63
+ var _el$2 = _tmpl$2();
64
+ insert(_el$2, () => props.children);
65
+ return _el$2;
66
+ })()];
67
+ }
68
+ });
69
+ };
70
+ delegateEvents(["input"]);
71
+
72
+ export { Button as default };
@@ -0,0 +1,18 @@
1
+ import { type Component, type JSX } from 'solid-js';
2
+ import { type StyleProps, type ComponentSize, type Key } from '../types';
3
+ export interface RadioGroupProps extends StyleProps {
4
+ defaultValue?: Key;
5
+ value?: Key;
6
+ onChange?: (e: Parameters<JSX.ChangeEventHandler<HTMLInputElement, Event>>[0], value: Key) => void;
7
+ optionType?: 'default' | 'button';
8
+ options: Array<{
9
+ label: JSX.Element;
10
+ value: Key;
11
+ disabled?: boolean;
12
+ }>;
13
+ block?: boolean;
14
+ disabled?: boolean;
15
+ size?: ComponentSize;
16
+ }
17
+ declare const Group: Component<RadioGroupProps>;
18
+ export default Group;
@@ -0,0 +1,57 @@
1
+ import { createComponent, Dynamic } from 'solid-js/web';
2
+ import { mergeProps, createSelector, For } from 'solid-js';
3
+ import cs from 'classnames';
4
+ import createControllableValue from '../hooks/createControllableValue.js';
5
+ import Radio from './index.js';
6
+ import Element from '../Element/index.js';
7
+ import useComponentSize from '../hooks/useComponentSize.js';
8
+
9
+ const Group = _props => {
10
+ const props = mergeProps({
11
+ optionType: 'default'
12
+ }, _props);
13
+ const [value, setValue] = createControllableValue(props, {
14
+ trigger: null
15
+ });
16
+ const isChecked = createSelector(value);
17
+ const size = useComponentSize(() => props.size);
18
+ return createComponent(Element, {
19
+ get ["class"]() {
20
+ return cs(props.class, props.block ? 'flex' : 'inline-flex', props.optionType === 'default' && 'gap-8px');
21
+ },
22
+ get style() {
23
+ return props.style;
24
+ },
25
+ get children() {
26
+ return createComponent(For, {
27
+ get each() {
28
+ return props.options;
29
+ },
30
+ children: option => createComponent(Dynamic, {
31
+ get component() {
32
+ return props.optionType === 'default' ? Radio : Radio.Button;
33
+ },
34
+ get disabled() {
35
+ return option.disabled ?? props.disabled;
36
+ },
37
+ get checked() {
38
+ return isChecked(option.value);
39
+ },
40
+ onChange: e => {
41
+ setValue(option.value);
42
+ e.target.value = option.value.toString();
43
+ props.onChange?.(e, option.value);
44
+ },
45
+ get size() {
46
+ return size();
47
+ },
48
+ get children() {
49
+ return option.label;
50
+ }
51
+ })
52
+ });
53
+ }
54
+ });
55
+ };
56
+
57
+ export { Group as default };
@@ -0,0 +1,14 @@
1
+ import { type Component, type ParentProps, type JSX } from 'solid-js';
2
+ import Button from './Button';
3
+ import Group from './Group';
4
+ export interface RadioProps extends ParentProps {
5
+ defaultChecked?: boolean;
6
+ checked?: boolean;
7
+ onChange?: JSX.ChangeEventHandler<HTMLInputElement, Event>;
8
+ disabled?: boolean;
9
+ }
10
+ declare const Radio: Component<RadioProps> & {
11
+ Group: typeof Group;
12
+ Button: typeof Button;
13
+ };
14
+ export default Radio;