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,130 @@
1
+ import { delegateEvents, createComponent, Dynamic, insert, effect, className, style, template, memo } from 'solid-js/web';
2
+ import { mergeProps, useContext, Show } from 'solid-js';
3
+ import cs from 'classnames';
4
+ import { Transition } from 'solid-transition-group';
5
+ import { unwrapStringOrJSXElement } from '../utils/solid.js';
6
+ import createControllableValue from '../hooks/createControllableValue.js';
7
+ import Element from '../Element/index.js';
8
+ import CollapseContext from './context.js';
9
+ import useComponentSize from '../hooks/useComponentSize.js';
10
+ import { getElementClass, getElementCssVariables } from './utils.js';
11
+
12
+ var _tmpl$ = /*#__PURE__*/template(`<span>`),
13
+ _tmpl$2 = /*#__PURE__*/template(`<div><span class="inline-flex items-center gap-[--ant-margin-sm]"></span><span class="inline-flex items-center gap-[--ant-margin-sm]">`),
14
+ _tmpl$3 = /*#__PURE__*/template(`<div class=overflow-hidden><div>`);
15
+ const CollapseItem = _props => {
16
+ const props = mergeProps({
17
+ type: 'line',
18
+ bordered: true,
19
+ expandIconPosition: 'left'
20
+ }, _props);
21
+ const {
22
+ list
23
+ } = useContext(CollapseContext);
24
+ const size = useComponentSize(() => props.size);
25
+ const [open, setOpen] = createControllableValue(props, {
26
+ defaultValuePropName: 'defaultOpen',
27
+ valuePropName: 'open',
28
+ trigger: 'onOpenChange'
29
+ });
30
+ const getExpandIcon = position => {
31
+ return createComponent(Show, {
32
+ get when() {
33
+ return !props.disabledChildren && props.expandIcon !== false && props.expandIconPosition === position;
34
+ },
35
+ get children() {
36
+ return memo(() => typeof props.expandIcon === 'function')() ? props.expandIcon({
37
+ isActive: () => !!open()
38
+ }) : (() => {
39
+ var _el$ = _tmpl$();
40
+ effect(() => className(_el$, cs('i-ant-design:right-outlined', 'duration-.3s', open() && 'rotate-[90deg]')));
41
+ return _el$;
42
+ })();
43
+ }
44
+ });
45
+ };
46
+ return createComponent(Dynamic, {
47
+ component: list ? 'div' : Element,
48
+ get ["class"]() {
49
+ return list ? props.class : cs(getElementClass(props.type), props.class);
50
+ },
51
+ get style() {
52
+ return {
53
+ ...(list ? {} : getElementCssVariables(props.type, size())),
54
+ ...props.style
55
+ };
56
+ },
57
+ get children() {
58
+ return [(() => {
59
+ var _el$2 = _tmpl$2(),
60
+ _el$3 = _el$2.firstChild,
61
+ _el$4 = _el$3.nextSibling;
62
+ _el$2.$$click = () => {
63
+ if (props.disabledChildren) return;
64
+ setOpen(!open());
65
+ };
66
+ insert(_el$3, () => getExpandIcon('left'), null);
67
+ insert(_el$3, () => unwrapStringOrJSXElement(props.label), null);
68
+ insert(_el$3, () => getExpandIcon('right'), null);
69
+ insert(_el$4, () => unwrapStringOrJSXElement(props.extra), null);
70
+ insert(_el$4, () => getExpandIcon('end'), null);
71
+ effect(_p$ => {
72
+ var _v$ = cs('text-[--ant-color-text-heading] flex justify-between items-center cursor-pointer', props.type === 'card' && 'bg-[var(--ant-collapse-header-bg)] p-[--ant-collapse-header-padding]'),
73
+ _v$2 = props.headerStyle;
74
+ _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
75
+ _p$.t = style(_el$2, _v$2, _p$.t);
76
+ return _p$;
77
+ }, {
78
+ e: undefined,
79
+ t: undefined
80
+ });
81
+ return _el$2;
82
+ })(), createComponent(Transition, {
83
+ onEnter: (el, done) => {
84
+ el.animate([{
85
+ height: '0px'
86
+ }, {
87
+ height: `${el.scrollHeight}px`
88
+ }], {
89
+ duration: 300
90
+ }).finished.finally(done);
91
+ },
92
+ onExit: (el, done) => {
93
+ el.animate([{
94
+ height: `${el.scrollHeight}px`
95
+ }, {
96
+ height: '0px'
97
+ }], {
98
+ duration: 300
99
+ }).finished.finally(done);
100
+ },
101
+ get children() {
102
+ return createComponent(Show, {
103
+ get when() {
104
+ return open();
105
+ },
106
+ get children() {
107
+ var _el$5 = _tmpl$3(),
108
+ _el$6 = _el$5.firstChild;
109
+ insert(_el$6, () => props.children);
110
+ effect(_p$ => {
111
+ var _v$3 = cs('p-[--ant-collapse-content-padding]', props.type === 'card' && '[border-top:1px_solid_var(--ant-color-border)]'),
112
+ _v$4 = props.bodyStyle;
113
+ _v$3 !== _p$.e && className(_el$6, _p$.e = _v$3);
114
+ _p$.t = style(_el$6, _v$4, _p$.t);
115
+ return _p$;
116
+ }, {
117
+ e: undefined,
118
+ t: undefined
119
+ });
120
+ return _el$5;
121
+ }
122
+ });
123
+ }
124
+ })];
125
+ }
126
+ });
127
+ };
128
+ delegateEvents(["click"]);
129
+
130
+ export { CollapseItem as default };
@@ -0,0 +1,5 @@
1
+ declare const CollapseContext: import("solid-js").Context<{
2
+ /** 是否时手风琴列表 */
3
+ list: boolean;
4
+ }>;
5
+ export default CollapseContext;
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'solid-js';
2
+
3
+ const CollapseContext = createContext({
4
+ /** 是否时手风琴列表 */
5
+ list: false
6
+ });
7
+
8
+ export { CollapseContext as default };
@@ -1,16 +1,31 @@
1
- import { type JSX, type JSXElement, type Component } from 'solid-js';
2
- import { type Key } from '../types';
3
- export interface CollapseItem {
1
+ import { type Component, type JSX } from 'solid-js';
2
+ import { type StringOrJSXElement, type Key, type StyleProps } from '../types';
3
+ import CollapseItemComponent, { type CollapseItemProps } from './Item';
4
+ export interface CollapseItem extends StyleProps {
4
5
  key: Key;
5
- label: JSXElement;
6
- children: JSXElement;
6
+ label: StringOrJSXElement;
7
+ children: StringOrJSXElement;
8
+ /**
9
+ * 自定义渲染每个面板右上角的内容
10
+ */
11
+ extra?: StringOrJSXElement;
12
+ /**
13
+ * 是否禁用 children
14
+ */
15
+ disabledChildren?: boolean;
7
16
  }
8
- export interface CollapseProps {
9
- class?: string;
17
+ export interface CollapseProps extends StyleProps, Pick<CollapseItemProps, 'bordered' | 'size' | 'type' | 'expandIcon' | 'expandIconPosition' | 'headerStyle' | 'bodyStyle'> {
10
18
  defaultActiveKey?: Key[];
11
19
  activeKey?: Key[];
12
- items: CollapseItem[];
13
- style?: JSX.CSSProperties;
20
+ /**
21
+ * 切换面板的回调
22
+ */
23
+ onChange?: (value: Key[]) => void;
24
+ items: CollapseItem[] | undefined | null;
25
+ fallback?: JSX.Element;
26
+ divider?: boolean;
14
27
  }
15
- declare const Collapse: Component<CollapseProps>;
28
+ declare const Collapse: Component<CollapseProps> & {
29
+ Item: typeof CollapseItemComponent;
30
+ };
16
31
  export default Collapse;
@@ -1,87 +1,108 @@
1
- import { delegateEvents, insert, createComponent, effect, className, style, template } from 'solid-js/web';
2
- import { For, Show } from 'solid-js';
1
+ import { createComponent, effect, className, mergeProps as mergeProps$1, template } from 'solid-js/web';
2
+ import { mergeProps, Show, For } from 'solid-js';
3
3
  import cs from 'classnames';
4
- import { Transition } from 'solid-transition-group';
4
+ import { isEmpty } from 'lodash-es';
5
5
  import createControllableValue from '../hooks/createControllableValue.js';
6
+ import { unwrapStringOrJSXElement } from '../utils/solid.js';
7
+ import Element from '../Element/index.js';
8
+ import useComponentSize from '../hooks/useComponentSize.js';
9
+ import CollapseItem from './Item.js';
10
+ import CollapseContext from './context.js';
11
+ import { getElementClass, getElementCssVariables } from './utils.js';
6
12
 
7
- const _tmpl$ = /*#__PURE__*/template(`<div>`),
8
- _tmpl$2 = /*#__PURE__*/template(`<div class="ant-overflow-hidden"><div class="ant-p-[var(--ant-padding-sm)] ant-[border-top:1px_solid_var(--ant-color-border)]">`),
9
- _tmpl$3 = /*#__PURE__*/template(`<div class="ant-[border-bottom:1px_solid_var(--ant-color-border)] first:ant-rounded-t-[var(--ant-border-radius-lg)] last:ant-rounded-b-[var(--ant-border-radius-lg)] ant-cursor-pointer"><div class="ant-bg-[var(--ant-collapse-header-bg)] ant-text-[var(--ant-color-text-heading)] ant-p-[var(--ant-collapse-header-padding)]"><span>`);
10
- const Collapse = props => {
13
+ var _tmpl$ = /*#__PURE__*/template(`<div>`);
14
+ const Collapse = _props => {
15
+ const props = mergeProps({
16
+ divider: true,
17
+ type: 'line'
18
+ }, _props);
19
+ const size = useComponentSize(() => props.size);
11
20
  const [activeKey, setActiveKey] = createControllableValue(props, {
12
21
  defaultValuePropName: 'defaultActiveKey',
13
22
  valuePropName: 'activeKey',
14
23
  defaultValue: []
15
24
  });
16
- return (() => {
17
- const _el$ = _tmpl$();
18
- insert(_el$, createComponent(For, {
19
- get each() {
20
- return props.items;
21
- },
22
- children: item => (() => {
23
- const _el$2 = _tmpl$3(),
24
- _el$3 = _el$2.firstChild,
25
- _el$4 = _el$3.firstChild;
26
- _el$3.$$click = () => {
27
- setActiveKey(keys => {
28
- if (keys.includes(item.key)) {
29
- return keys.filter(key => key !== item.key);
25
+ return createComponent(Show, {
26
+ get when() {
27
+ return !isEmpty(props.items);
28
+ },
29
+ get fallback() {
30
+ return props.fallback;
31
+ },
32
+ get children() {
33
+ return createComponent(Element, {
34
+ get ["class"]() {
35
+ return cs(getElementClass(props.type), props.class);
36
+ },
37
+ get style() {
38
+ return {
39
+ ...getElementCssVariables(props.type, size()),
40
+ ...props.style
41
+ };
42
+ },
43
+ get children() {
44
+ return createComponent(CollapseContext.Provider, {
45
+ value: {
46
+ list: true
47
+ },
48
+ get children() {
49
+ return createComponent(For, {
50
+ get each() {
51
+ return props.items;
52
+ },
53
+ children: (item, index) => [createComponent(Show, {
54
+ get when() {
55
+ return index() !== 0 && props.divider;
56
+ },
57
+ get children() {
58
+ var _el$ = _tmpl$();
59
+ effect(() => className(_el$, cs('h-1px bg-[var(--ant-color-split)]', props.type === 'line' && 'm-[--ant-collapse-divider-margin]')));
60
+ return _el$;
61
+ }
62
+ }), createComponent(CollapseItem, mergeProps$1(item, {
63
+ get open() {
64
+ return activeKey().includes(item.key);
65
+ },
66
+ onOpenChange: open => {
67
+ if (open) {
68
+ setActiveKey([...activeKey(), item.key]);
69
+ } else {
70
+ setActiveKey(activeKey().filter(key => key !== item.key));
71
+ }
72
+ },
73
+ get size() {
74
+ return size();
75
+ },
76
+ get type() {
77
+ return props.type;
78
+ },
79
+ get bordered() {
80
+ return props.bordered;
81
+ },
82
+ get expandIcon() {
83
+ return props.expandIcon;
84
+ },
85
+ get expandIconPosition() {
86
+ return props.expandIconPosition;
87
+ },
88
+ get headerStyle() {
89
+ return props.headerStyle;
90
+ },
91
+ get bodyStyle() {
92
+ return props.bodyStyle;
93
+ },
94
+ get children() {
95
+ return unwrapStringOrJSXElement(item.children);
96
+ }
97
+ }))]
98
+ });
30
99
  }
31
- return [...keys, item.key];
32
100
  });
33
- };
34
- insert(_el$3, () => item.label, null);
35
- insert(_el$2, createComponent(Transition, {
36
- onEnter: (el, done) => {
37
- el.animate([{
38
- height: '0px'
39
- }, {
40
- height: `${el.scrollHeight}px`
41
- }], {
42
- duration: 300
43
- }).finished.finally(done);
44
- },
45
- onExit: (el, done) => {
46
- el.animate([{
47
- height: `${el.scrollHeight}px`
48
- }, {
49
- height: '0px'
50
- }], {
51
- duration: 300
52
- }).finished.finally(done);
53
- },
54
- get children() {
55
- return createComponent(Show, {
56
- get when() {
57
- return activeKey().includes(item.key);
58
- },
59
- get children() {
60
- const _el$5 = _tmpl$2(),
61
- _el$6 = _el$5.firstChild;
62
- insert(_el$6, () => item.children);
63
- return _el$5;
64
- }
65
- });
66
- }
67
- }), null);
68
- effect(() => className(_el$4, cs('i-ant-design:right-outlined', 'ant-mr-[var(--ant-margin-sm)] ant-duration-.3s', activeKey().includes(item.key) && 'ant-rotate-[90deg]')));
69
- return _el$2;
70
- })()
71
- }));
72
- effect(_p$ => {
73
- const _v$ = cs('ant-rounded-[var(--ant-border-radius-lg)] ant-[border:1px_solid_var(--ant-color-border)] ant-border-b-0', props.class),
74
- _v$2 = props.style;
75
- _v$ !== _p$._v$ && className(_el$, _p$._v$ = _v$);
76
- _p$._v$2 = style(_el$, _v$2, _p$._v$2);
77
- return _p$;
78
- }, {
79
- _v$: undefined,
80
- _v$2: undefined
81
- });
82
- return _el$;
83
- })();
101
+ }
102
+ });
103
+ }
104
+ });
84
105
  };
85
- delegateEvents(["click"]);
106
+ Collapse.Item = CollapseItem;
86
107
 
87
108
  export { Collapse as default };
@@ -0,0 +1,8 @@
1
+ import { type CollapseItemProps } from './Item';
2
+ export declare function getElementClass(type: CollapseItemProps['type']): string;
3
+ export declare function getElementCssVariables(type: CollapseItemProps['type'], size: Exclude<CollapseItemProps['size'], undefined>): {
4
+ '--ant-collapse-header-padding': string;
5
+ '--ant-collapse-content-padding': string;
6
+ '--ant-collapse-divider-margin': string;
7
+ '--ant-collapse-border-radius': string;
8
+ };
@@ -0,0 +1,35 @@
1
+ import cs from 'classnames';
2
+
3
+ function getElementClass(type) {
4
+ return cs('[font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)] rounded-[var(--ant-collapse-border-radius)] overflow-hidden', type === 'card' && '[border:1px_solid_var(--ant-color-border)]');
5
+ }
6
+ function getElementCssVariables(type, size) {
7
+ return {
8
+ '--ant-collapse-header-padding': {
9
+ small: 'var(--ant-padding-xs) var(--ant-padding-sm)',
10
+ middle: 'var(--ant-padding-sm) var(--ant-padding)',
11
+ large: 'var(--ant-padding) var(--ant-padding-lg)'
12
+ }[size],
13
+ '--ant-collapse-content-padding': type === 'line' ? {
14
+ small: 'var(--ant-padding-sm) 0 0 0',
15
+ middle: 'var(--ant-padding) 0 0 0',
16
+ large: 'var(--ant-padding-lg) 0 0 0'
17
+ }[size] : {
18
+ small: 'var(--ant-padding-sm)',
19
+ middle: 'var(--ant-padding)',
20
+ large: 'var(--ant-padding-lg)'
21
+ }[size],
22
+ '--ant-collapse-divider-margin': {
23
+ small: 'var(--ant-margin-sm) 0',
24
+ middle: 'var(--ant-margin) 0',
25
+ large: 'var(--ant-margin-lg) 0'
26
+ }[size],
27
+ '--ant-collapse-border-radius': {
28
+ small: 'var(--ant-border-radius-sm)',
29
+ middle: 'var(--ant-border-radius)',
30
+ large: 'var(--ant-border-radius-lg)'
31
+ }[size]
32
+ };
33
+ }
34
+
35
+ export { getElementClass, getElementCssVariables };
@@ -0,0 +1,3 @@
1
+ import { type Component } from 'solid-js';
2
+ declare const ColorPickerInput: Component;
3
+ export default ColorPickerInput;
@@ -0,0 +1,250 @@
1
+ import { insert, createComponent, template } from 'solid-js/web';
2
+ import { useContext, createMemo, createSignal, createRenderEffect, Switch, Match, Show } from 'solid-js';
3
+ import ColorPickerContext from './context.js';
4
+ import Select from '../Select/index.js';
5
+ import Input from '../Input/index.js';
6
+ import InputNumber from '../InputNumber/index.js';
7
+ import Color from './color.js';
8
+
9
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex grow-1 gap-[var(--ant-margin-xxs)]">`),
10
+ _tmpl$2 = /*#__PURE__*/template(`<div class=flex>`),
11
+ _tmpl$3 = /*#__PURE__*/template(`<span class=text-[--ant-color-text-placeholder]>#`);
12
+ const ColorPickerInput = () => {
13
+ const context = useContext(ColorPickerContext);
14
+ const color = createMemo(() => context?.color() ?? new Color());
15
+ const [type, setType] = createSignal('HEX');
16
+ const [hexInputValue, setHexInputValue] = createSignal('');
17
+ createRenderEffect(() => {
18
+ setHexInputValue(color().toHex());
19
+ });
20
+ return (() => {
21
+ var _el$ = _tmpl$2();
22
+ insert(_el$, createComponent(Select, {
23
+ get value() {
24
+ return type();
25
+ },
26
+ onChange: setType,
27
+ options: [{
28
+ label: 'HEX',
29
+ value: 'HEX'
30
+ }, {
31
+ label: 'HSV',
32
+ value: 'HSV'
33
+ }, {
34
+ label: 'RGB',
35
+ value: 'RGB'
36
+ }],
37
+ size: "small",
38
+ variant: "borderless",
39
+ style: {
40
+ 'margin-right': 'var(--ant-margin-xs)',
41
+ '--ant-select-font-size': '12px',
42
+ '--ant-select-input-padding': '0',
43
+ '--ant-select-input-addon-after-padding': '0 0 0 var(--ant-padding-xxs)',
44
+ '--ant-select-popup-match-width': '60px'
45
+ }
46
+ }), null);
47
+ insert(_el$, createComponent(Switch, {
48
+ get children() {
49
+ return [createComponent(Match, {
50
+ get when() {
51
+ return type() === 'HEX';
52
+ },
53
+ get children() {
54
+ return createComponent(Input, {
55
+ size: "small",
56
+ get value() {
57
+ return hexInputValue();
58
+ },
59
+ onChange: e => {
60
+ const value = e.target.value.replace(/[^a-zA-Z0-9]/g, '');
61
+ if (value.length > 6) return;
62
+ setHexInputValue(value);
63
+ if (value.length !== 6) return;
64
+ const c = new Color(value);
65
+ if (!c.isValid) return;
66
+ context?.setColor(new Color(value).setAlpha(color().a));
67
+ },
68
+ onBlur: () => {
69
+ setHexInputValue(color().toHex());
70
+ context?.setColor(color(), true);
71
+ },
72
+ get prefix() {
73
+ return _tmpl$3();
74
+ },
75
+ style: {
76
+ '--ant-input-font-size': '12px'
77
+ }
78
+ });
79
+ }
80
+ }), createComponent(Match, {
81
+ get when() {
82
+ return type() === 'HSV';
83
+ },
84
+ get children() {
85
+ var _el$2 = _tmpl$();
86
+ insert(_el$2, createComponent(InputNumber, {
87
+ size: "small",
88
+ get value() {
89
+ return Math.round(color().toHsv().h);
90
+ },
91
+ onChange: value => {
92
+ const hsv = color().toHsv();
93
+ hsv.h = value ?? 0;
94
+ context?.setColor(new Color(hsv));
95
+ },
96
+ onBlur: () => {
97
+ context?.setColor(color(), true);
98
+ },
99
+ min: 0,
100
+ max: 359,
101
+ precision: 0,
102
+ style: InputNumberStyle
103
+ }), null);
104
+ insert(_el$2, createComponent(InputNumber, {
105
+ size: "small",
106
+ get value() {
107
+ return Math.round(color().toHsv().s * 100);
108
+ },
109
+ onChange: value => {
110
+ const hsv = color().toHsv();
111
+ hsv.s = (value ?? 0) / 100;
112
+ context?.setColor(new Color(hsv));
113
+ },
114
+ onBlur: () => {
115
+ context?.setColor(color(), true);
116
+ },
117
+ min: 0,
118
+ max: 100,
119
+ precision: 0,
120
+ formatter: value => `${value || 0}%`,
121
+ style: InputNumberStyle
122
+ }), null);
123
+ insert(_el$2, createComponent(InputNumber, {
124
+ size: "small",
125
+ get value() {
126
+ return Math.round(color().toHsv().v * 100);
127
+ },
128
+ onChange: value => {
129
+ const hsv = color().toHsv();
130
+ hsv.v = (value ?? 0) / 100;
131
+ context?.setColor(new Color(hsv));
132
+ },
133
+ onBlur: () => {
134
+ context?.setColor(color(), true);
135
+ },
136
+ min: 0,
137
+ max: 100,
138
+ precision: 0,
139
+ formatter: value => `${value || 0}%`,
140
+ style: InputNumberStyle
141
+ }), null);
142
+ return _el$2;
143
+ }
144
+ }), createComponent(Match, {
145
+ get when() {
146
+ return type() === 'RGB';
147
+ },
148
+ get children() {
149
+ var _el$3 = _tmpl$();
150
+ insert(_el$3, createComponent(InputNumber, {
151
+ size: "small",
152
+ get value() {
153
+ return Math.round(color().r);
154
+ },
155
+ onChange: value => {
156
+ const rgb = color().toRgb();
157
+ rgb.r = value ?? 0;
158
+ context?.setColor(new Color(rgb));
159
+ },
160
+ onBlur: () => {
161
+ context?.setColor(color(), true);
162
+ },
163
+ min: 0,
164
+ max: 255,
165
+ precision: 0,
166
+ style: InputNumberStyle
167
+ }), null);
168
+ insert(_el$3, createComponent(InputNumber, {
169
+ size: "small",
170
+ get value() {
171
+ return Math.round(color().g);
172
+ },
173
+ onChange: value => {
174
+ const rgb = color().toRgb();
175
+ rgb.g = value ?? 0;
176
+ context?.setColor(new Color(rgb));
177
+ },
178
+ onBlur: () => {
179
+ context?.setColor(color(), true);
180
+ },
181
+ min: 0,
182
+ max: 255,
183
+ precision: 0,
184
+ style: InputNumberStyle
185
+ }), null);
186
+ insert(_el$3, createComponent(InputNumber, {
187
+ size: "small",
188
+ get value() {
189
+ return Math.round(color().b);
190
+ },
191
+ onChange: value => {
192
+ const rgb = color().toRgb();
193
+ rgb.b = value ?? 0;
194
+ context?.setColor(new Color(rgb));
195
+ },
196
+ onBlur: () => {
197
+ context?.setColor(color(), true);
198
+ },
199
+ min: 0,
200
+ max: 255,
201
+ precision: 0,
202
+ style: InputNumberStyle
203
+ }), null);
204
+ return _el$3;
205
+ }
206
+ })];
207
+ }
208
+ }), null);
209
+ insert(_el$, createComponent(Show, {
210
+ get when() {
211
+ return !context?.disabledAlpha();
212
+ },
213
+ get children() {
214
+ return createComponent(InputNumber, {
215
+ get value() {
216
+ return Math.round(color().a * 100);
217
+ },
218
+ onChange: value => {
219
+ context?.setColor(color().clone().setAlpha((value ?? 0) / 100));
220
+ },
221
+ onBlur: () => {
222
+ context?.setColor(color(), true);
223
+ },
224
+ size: "small",
225
+ min: 0,
226
+ max: 100,
227
+ precision: 0,
228
+ formatter: value => `${value || 0}%`,
229
+ get style() {
230
+ return {
231
+ ...InputNumberStyle,
232
+ 'margin-left': 'var(--ant-margin-xxs)'
233
+ };
234
+ }
235
+ });
236
+ }
237
+ }), null);
238
+ return _el$;
239
+ })();
240
+ };
241
+ const InputNumberStyle = {
242
+ width: '43px',
243
+ 'flex-shrink': 0,
244
+ 'flex-grow': 1,
245
+ '--ant-input-number-handle-width': '16px',
246
+ '--ant-input-padding': '0 0 0 4px',
247
+ '--ant-input-font-size': '12px'
248
+ };
249
+
250
+ export { ColorPickerInput as default };
@@ -0,0 +1,3 @@
1
+ import { type Component } from 'solid-js';
2
+ declare const ColorPickerSelect: Component;
3
+ export default ColorPickerSelect;