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
@@ -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;
@@ -0,0 +1,71 @@
1
+ import { delegateEvents, effect, template, use } from 'solid-js/web';
2
+ import { useContext, createMemo } from 'solid-js';
3
+ import { clamp } from 'lodash-es';
4
+ import ColorPickerContext from './context.js';
5
+ import Color from './color.js';
6
+ import { setupGlobalDrag } from '../utils/setupGlobalDrag.js';
7
+
8
+ var _tmpl$ = /*#__PURE__*/template(`<div class="h-160px rounded-[--ant-border-radius-sm] cursor-pointer relative overflow-hidden"><div class="absolute border-2px border-solid border-[--ant-color-bg-container] rounded-1/2 w-16px h-16px -translate-1/2">`);
9
+ const ColorPickerSelect = () => {
10
+ let ref;
11
+ const context = useContext(ColorPickerContext);
12
+ const color = createMemo(() => context?.color() ?? new Color());
13
+ const setColor = (e, completed) => {
14
+ if (!ref) return;
15
+ const rect = ref.getBoundingClientRect();
16
+ const offsetX = e.clientX - rect.x;
17
+ const offsetY = e.clientY - rect.y;
18
+ const {
19
+ clientWidth,
20
+ clientHeight
21
+ } = ref;
22
+ const hsv = color().toHsv();
23
+ hsv.s = clamp(offsetX / clientWidth, 0, 1);
24
+ hsv.v = clamp(1 - offsetY / clientHeight, 0, 1);
25
+ context?.setColor(new Color(hsv), completed);
26
+ };
27
+ return (() => {
28
+ var _el$ = _tmpl$(),
29
+ _el$2 = _el$.firstChild;
30
+ _el$.$$click = e => {
31
+ setColor(e, true);
32
+ };
33
+ var _ref$ = ref;
34
+ typeof _ref$ === "function" ? use(_ref$, _el$) : ref = _el$;
35
+ _el$.style.setProperty("background-image", "linear-gradient(0deg, rgb(0, 0, 0), transparent), linear-gradient(90deg, rgb(255, 255, 255), rgba(255, 255, 255, 0))");
36
+ _el$2.$$mousedown = () => {
37
+ let isDrag = false;
38
+ setupGlobalDrag(
39
+ // eslint-disable-next-line solid/reactivity
40
+ e => {
41
+ setColor(e);
42
+ isDrag = true;
43
+ },
44
+ // eslint-disable-next-line solid/reactivity
45
+ () => {
46
+ if (isDrag) context?.setColor(color(), true);
47
+ });
48
+ };
49
+ _el$2.style.setProperty("box-shadow", "inset 0 0 1px 0 var(--ant-color-text-quaternary), 0 0 0 1px var(--ant-color-fill-secondary)");
50
+ effect(_p$ => {
51
+ var _v$ = color().toHueRgbString(),
52
+ _v$2 = `${color().toHsv().s * 100}%`,
53
+ _v$3 = `${(1 - color().toHsv().v) * 100}%`,
54
+ _v$4 = color().toRgbString();
55
+ _v$ !== _p$.e && ((_p$.e = _v$) != null ? _el$.style.setProperty("background-color", _v$) : _el$.style.removeProperty("background-color"));
56
+ _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$2.style.setProperty("left", _v$2) : _el$2.style.removeProperty("left"));
57
+ _v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$2.style.setProperty("top", _v$3) : _el$2.style.removeProperty("top"));
58
+ _v$4 !== _p$.o && ((_p$.o = _v$4) != null ? _el$2.style.setProperty("background", _v$4) : _el$2.style.removeProperty("background"));
59
+ return _p$;
60
+ }, {
61
+ e: undefined,
62
+ t: undefined,
63
+ a: undefined,
64
+ o: undefined
65
+ });
66
+ return _el$;
67
+ })();
68
+ };
69
+ delegateEvents(["click", "mousedown"]);
70
+
71
+ export { ColorPickerSelect as default };
@@ -0,0 +1,3 @@
1
+ import { type Component } from 'solid-js';
2
+ declare const ColorPickerSlider: Component;
3
+ export default ColorPickerSlider;