antd-solid 0.0.21 → 0.0.23

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 (76) hide show
  1. package/css/index.css +1 -1
  2. package/dist/index.esm.js +2604 -1107
  3. package/dist/index.umd.js +1 -1
  4. package/es/Button/index.d.ts +5 -2
  5. package/es/Button/index.js +21 -8
  6. package/es/Checkbox/Group.js +2 -2
  7. package/es/Checkbox/index.js +26 -13
  8. package/es/CodeInput/index.js +3 -0
  9. package/es/Collapse/Item.js +50 -8
  10. package/es/Collapse/index.js +5 -3
  11. package/es/ColorPicker/ColorPickerInput.js +225 -210
  12. package/es/ColorPicker/ColorPickerSelect.js +61 -4
  13. package/es/ColorPicker/ColorPickerSlider.js +100 -67
  14. package/es/ColorPicker/index.js +66 -17
  15. package/es/ContextMenu/index.js +5 -1
  16. package/es/Cursor/index.d.ts +13 -2
  17. package/es/Cursor/index.js +59 -16
  18. package/es/Divider/index.js +12 -3
  19. package/es/Drawer/index.js +89 -43
  20. package/es/Dropdown/index.js +4 -2
  21. package/es/Element/index.js +2 -6
  22. package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +12 -4
  23. package/es/Empty/assets/EmptySvg.js +3 -3
  24. package/es/Empty/assets/SimpleEmptySvg.js +3 -3
  25. package/es/Empty/index.js +12 -4
  26. package/es/Form/FormItem.js +76 -47
  27. package/es/Fragment/index.js +3 -1
  28. package/es/Image/index.js +31 -11
  29. package/es/Input/TextArea.js +31 -5
  30. package/es/Input/index.d.ts +5 -0
  31. package/es/Input/index.js +123 -46
  32. package/es/InputNumber/index.js +11 -4
  33. package/es/Menu/InternalMenu.js +96 -38
  34. package/es/Message/Message.js +11 -7
  35. package/es/Modal/index.js +107 -55
  36. package/es/Modal/useModal.js +14 -5
  37. package/es/Modal/warning.js +14 -5
  38. package/es/Popconfirm/index.js +36 -24
  39. package/es/Popover/index.js +20 -11
  40. package/es/Progress/Circle.js +63 -14
  41. package/es/Progress/index.js +38 -14
  42. package/es/Radio/Button.js +20 -4
  43. package/es/Radio/index.js +35 -5
  44. package/es/RangeInput/index.js +80 -24
  45. package/es/Result/index.js +27 -6
  46. package/es/Segmented/index.js +33 -13
  47. package/es/Select/index.d.ts +1 -1
  48. package/es/Select/index.js +39 -7
  49. package/es/SelectInput/index.d.ts +2 -1
  50. package/es/SelectInput/index.js +119 -51
  51. package/es/Slider/index.js +84 -11
  52. package/es/Space/index.js +2 -2
  53. package/es/Spin/index.js +26 -14
  54. package/es/Switch/index.js +6 -4
  55. package/es/Table/index.js +40 -18
  56. package/es/Tabs/index.js +195 -91
  57. package/es/Timeline/index.d.ts +1 -2
  58. package/es/Timeline/index.js +14 -4
  59. package/es/Tooltip/index.d.ts +1 -1
  60. package/es/Tooltip/index.js +40 -20
  61. package/es/Transformer/index.js +123 -59
  62. package/es/Tree/SingleLevelTree.js +191 -30
  63. package/es/TreeFor/index.js +3 -3
  64. package/es/TreeSelect/index.js +6 -4
  65. package/es/Upload/index.js +38 -4
  66. package/es/assets/svg/ColorPickUp.js +19 -6
  67. package/es/assets/svg/Crosshair.js +45 -6
  68. package/es/assets/svg/Resize.js +19 -6
  69. package/es/assets/svg/Rotate.js +14 -13
  70. package/es/assets/svg/RotateArrow.js +15 -20
  71. package/es/hooks/useClickAway.js +4 -6
  72. package/es/index.d.ts +1 -1
  73. package/es/utils/setupGlobalDrag.js +13 -4
  74. package/package.json +12 -14
  75. package/es/utils/DOMRect.d.ts +0 -22
  76. package/es/utils/DOMRect.js +0 -41
@@ -1,4 +1,4 @@
1
- import { ssr, ssrHydrationKey, escape, createComponent, ssrAttribute } from 'solid-js/web';
1
+ import { delegateEvents, insert, createComponent, memo, effect, className, template } from 'solid-js/web';
2
2
  import { useContext, createMemo, Show } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import ColorPickerContext from './context.js';
@@ -6,77 +6,110 @@ import Slider from '../Slider/index.js';
6
6
  import Color from './color.js';
7
7
  import ColorPickUpSvg from '../assets/svg/ColorPickUp.js';
8
8
 
9
- var _tmpl$ = ["<div", " class=\"flex gap-[--ant-margin-sm] items-center\"><div class=\"flex flex-col gap-[--ant-margin-sm] w-full\"><!--$-->", "<!--/--><!--$-->", "<!--/--></div><div class=\"shrink-0 w-28px h-28px rounded-[--ant-border-radius-sm]\" style=\"", "\"><div class=\"w-full h-full rounded-inherit\" style=\"", "\"></div></div><!--$-->", "<!--/--></div>"],
10
- _tmpl$2 = ["<span", " class=\"shrink-0 text-18px cursor-pointer\">", "</span>"],
11
- _tmpl$3 = ["<div", " style=\"", "\" tabindex=\"0\"></div>"];
9
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex gap-[--ant-margin-sm] items-center"><div class="flex flex-col gap-[--ant-margin-sm] w-full"></div><div class="shrink-0 w-28px h-28px rounded-[--ant-border-radius-sm]"><div class="w-full h-full rounded-inherit">`),
10
+ _tmpl$2 = /*#__PURE__*/template(`<span class="shrink-0 text-18px cursor-pointer">`),
11
+ _tmpl$3 = /*#__PURE__*/template(`<div tabindex=0>`);
12
12
  const ColorPickerSlider = () => {
13
13
  const context = useContext(ColorPickerContext);
14
14
  const color = createMemo(() => context?.color() ?? new Color());
15
- return ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(Slider, {
16
- get value() {
17
- return color().toHsv().h / 3.55;
18
- },
19
- onChange: v => {
20
- const hsv = color().toHsv();
21
- hsv.h = Math.round(v * 3.55);
22
- context?.setColor(new Color(hsv));
23
- },
24
- onChangeComplete: () => {
25
- context?.setColor(color(), true);
26
- },
27
- tooltip: false,
28
- handle: () => getSliderHandle(color().toHueRgbString()),
29
- style: {
30
- '--ant-slider-rail-size': '8px',
31
- '--ant-slider-handle-size': '10px',
32
- '--ant-slider-rail-bg': 'linear-gradient(90deg, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)',
33
- '--ant-slider-rail-hover-bg': 'var(--ant-slider-rail-bg)',
34
- '--ant-slider-track-bg': 'transparent',
35
- '--ant-slider-track-hover-bg': 'transparent'
36
- },
37
- railBgStyle: {
38
- 'box-shadow': 'inset 0 0 1px 0 var(--ant-color-text-quaternary)'
39
- }
40
- })), escape(createComponent(Show, {
41
- get when() {
42
- return !context?.disabledAlpha();
43
- },
44
- get children() {
45
- return createComponent(Slider, {
46
- get value() {
47
- return color().a * 100;
48
- },
49
- onChange: v => {
50
- context?.setColor(color().clone().setAlpha(v / 100));
51
- },
52
- onChangeComplete: () => {
53
- context?.setColor(color(), true);
54
- },
55
- min: 0,
56
- step: 1,
57
- tooltip: false,
58
- handle: () => getSliderHandle(color().toRgbString()),
59
- get style() {
60
- return {
61
- '--ant-slider-rail-size': '8px',
62
- '--ant-slider-handle-size': '10px',
63
- '--ant-slider-rail-bg': `linear-gradient(90deg, ${color().clone().setAlpha(0).toRgbString()} 0%, ${color().toHexString()} 100%)`,
64
- '--ant-slider-rail-hover-bg': 'var(--ant-slider-rail-bg)',
65
- '--ant-slider-track-bg': 'transparent',
66
- '--ant-slider-track-hover-bg': 'transparent',
67
- 'background-image': 'conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)',
68
- 'background-size': '8px 8px'
69
- };
70
- },
71
- railBgStyle: {
72
- 'box-shadow': 'inset 0 0 1px 0 var(--ant-color-text-quaternary)'
73
- }
74
- });
75
- }
76
- })), "background-image:" + "conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)" + (";background-size:" + "50% 50%") + (";box-shadow:" + "inset 0 0 1px 0 var(--ant-color-text-quaternary)"), "background-color:" + escape(color().toRgbString(), true), window.EyeDropper && ssr(_tmpl$2, ssrHydrationKey(), escape(createComponent(ColorPickUpSvg, {}))));
15
+ return (() => {
16
+ var _el$ = _tmpl$(),
17
+ _el$2 = _el$.firstChild,
18
+ _el$3 = _el$2.nextSibling,
19
+ _el$4 = _el$3.firstChild;
20
+ insert(_el$2, createComponent(Slider, {
21
+ get value() {
22
+ return color().toHsv().h / 3.55;
23
+ },
24
+ onChange: v => {
25
+ const hsv = color().toHsv();
26
+ hsv.h = Math.round(v * 3.55);
27
+ context?.setColor(new Color(hsv));
28
+ },
29
+ onChangeComplete: () => {
30
+ context?.setColor(color(), true);
31
+ },
32
+ tooltip: false,
33
+ handle: () => getSliderHandle(color().toHueRgbString()),
34
+ style: {
35
+ '--ant-slider-rail-size': '8px',
36
+ '--ant-slider-handle-size': '10px',
37
+ '--ant-slider-rail-bg': 'linear-gradient(90deg, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)',
38
+ '--ant-slider-rail-hover-bg': 'var(--ant-slider-rail-bg)',
39
+ '--ant-slider-track-bg': 'transparent',
40
+ '--ant-slider-track-hover-bg': 'transparent'
41
+ },
42
+ railBgStyle: {
43
+ 'box-shadow': 'inset 0 0 1px 0 var(--ant-color-text-quaternary)'
44
+ }
45
+ }), null);
46
+ insert(_el$2, createComponent(Show, {
47
+ get when() {
48
+ return !context?.disabledAlpha();
49
+ },
50
+ get children() {
51
+ return createComponent(Slider, {
52
+ get value() {
53
+ return color().a * 100;
54
+ },
55
+ onChange: v => {
56
+ context?.setColor(color().clone().setAlpha(v / 100));
57
+ },
58
+ onChangeComplete: () => {
59
+ context?.setColor(color(), true);
60
+ },
61
+ min: 0,
62
+ step: 1,
63
+ tooltip: false,
64
+ handle: () => getSliderHandle(color().toRgbString()),
65
+ get style() {
66
+ return {
67
+ '--ant-slider-rail-size': '8px',
68
+ '--ant-slider-handle-size': '10px',
69
+ '--ant-slider-rail-bg': `linear-gradient(90deg, ${color().clone().setAlpha(0).toRgbString()} 0%, ${color().toHexString()} 100%)`,
70
+ '--ant-slider-rail-hover-bg': 'var(--ant-slider-rail-bg)',
71
+ '--ant-slider-track-bg': 'transparent',
72
+ '--ant-slider-track-hover-bg': 'transparent',
73
+ 'background-image': 'conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)',
74
+ 'background-size': '8px 8px'
75
+ };
76
+ },
77
+ railBgStyle: {
78
+ 'box-shadow': 'inset 0 0 1px 0 var(--ant-color-text-quaternary)'
79
+ }
80
+ });
81
+ }
82
+ }), null);
83
+ _el$3.style.setProperty("background-image", "conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)");
84
+ _el$3.style.setProperty("background-size", "50% 50%");
85
+ _el$3.style.setProperty("box-shadow", "inset 0 0 1px 0 var(--ant-color-text-quaternary)");
86
+ insert(_el$, (() => {
87
+ var _c$ = memo(() => !!window.EyeDropper);
88
+ return () => _c$() && (() => {
89
+ var _el$5 = _tmpl$2();
90
+ _el$5.$$click = () => {
91
+ if (!window.EyeDropper) return;
92
+ const eyeDropper = new window.EyeDropper();
93
+ eyeDropper.open().then(result => {
94
+ context?.setColor(new Color(result.sRGBHex), true);
95
+ }).catch(console.error);
96
+ };
97
+ insert(_el$5, createComponent(ColorPickUpSvg, {}));
98
+ return _el$5;
99
+ })();
100
+ })(), null);
101
+ effect(() => color().toRgbString() != null ? _el$4.style.setProperty("background-color", color().toRgbString()) : _el$4.style.removeProperty("background-color"));
102
+ return _el$;
103
+ })();
77
104
  };
78
105
  const getSliderHandle = bgColor => {
79
- return ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("class", escape(cs('box-border w-[--ant-slider-handle-size] h-[--ant-slider-handle-size] rounded-1/2 border-solid border-2px border-[--ant-color-bg-container-secondary] cursor-pointer', '[box-shadow:inset_0_0_1px_0_var(--ant-color-text-quaternary),0_0_0_1px_var(--ant-color-fill-secondary)]', 'focus:[box-shadow:inset_0_0_1px_0_var(--ant-color-text-quaternary),0_0_0_1px_var(--ant-color-primary-active)]'), true), false), "background:" + escape(bgColor, true));
106
+ return (() => {
107
+ var _el$6 = _tmpl$3();
108
+ bgColor != null ? _el$6.style.setProperty("background", bgColor) : _el$6.style.removeProperty("background");
109
+ effect(() => className(_el$6, cs('box-border w-[--ant-slider-handle-size] h-[--ant-slider-handle-size] rounded-1/2 border-solid border-2px border-[--ant-color-bg-container-secondary] cursor-pointer', '[box-shadow:inset_0_0_1px_0_var(--ant-color-text-quaternary),0_0_0_1px_var(--ant-color-fill-secondary)]', 'focus:[box-shadow:inset_0_0_1px_0_var(--ant-color-text-quaternary),0_0_0_1px_var(--ant-color-primary-active)]')));
110
+ return _el$6;
111
+ })();
80
112
  };
113
+ delegateEvents(["click"]);
81
114
 
82
115
  export { ColorPickerSlider as default };
@@ -1,4 +1,4 @@
1
- import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape } from 'solid-js/web';
1
+ import { delegateEvents, createComponent, insert, effect, className, template } from 'solid-js/web';
2
2
  import cs from 'classnames';
3
3
  import { createSignal, untrack, createRenderEffect, createMemo, Show } from 'solid-js';
4
4
  import Color from './color.js';
@@ -10,11 +10,11 @@ import ColorPickerSlider from './ColorPickerSlider.js';
10
10
  import ColorPickerInput from './ColorPickerInput.js';
11
11
  import useComponentSize from '../hooks/useComponentSize.js';
12
12
 
13
- var _tmpl$ = ["<div", " class=\"flex justify-end mb-[--ant-margin-xs]\"><div class=\"w-24px h-24px rounded-[--ant-border-radius-sm] relative overflow-hidden border-1px border-solid border-[--ant-color-split] cursor-pointer hover:border-[--ant-color-border]\"><div class=\"absolute top-1/2 left-1/2 -translate-1/2 w-200% h-2px bg-[--ant-color-error] rotate-135deg\"></div></div></div>"],
14
- _tmpl$2 = ["<div", " class=\"w-234px flex flex-col gap-[--ant-margin-sm]\"><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"],
15
- _tmpl$3 = ["<div", " style=\"", "\"><div class=\"w-full h-full\" style=\"", "\"></div></div>"],
16
- _tmpl$4 = ["<div", " style=\"", "\">", "</div>"],
17
- _tmpl$5 = ["<div", "><div class=\"absolute top-1/2 left-1/2 -translate-1/2 w-200% h-2px bg-[--ant-color-error] rotate-135deg\"></div></div>"];
13
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex justify-end mb-[--ant-margin-xs]"><div class="w-24px h-24px rounded-[--ant-border-radius-sm] relative overflow-hidden border-1px border-solid border-[--ant-color-split] cursor-pointer hover:border-[--ant-color-border]"><div class="absolute top-1/2 left-1/2 -translate-1/2 w-200% h-2px bg-[--ant-color-error] rotate-135deg">`),
14
+ _tmpl$2 = /*#__PURE__*/template(`<div class="w-234px flex flex-col gap-[--ant-margin-sm]">`),
15
+ _tmpl$3 = /*#__PURE__*/template(`<div><div class="w-full h-full">`),
16
+ _tmpl$4 = /*#__PURE__*/template(`<div>`),
17
+ _tmpl$5 = /*#__PURE__*/template(`<div><div class="absolute top-1/2 left-1/2 -translate-1/2 w-200% h-2px bg-[--ant-color-error] rotate-135deg">`);
18
18
  // TODO 超出范围
19
19
  const ColorPicker = props => {
20
20
  const isControlled = () => Object.keys(props).includes('value');
@@ -46,9 +46,21 @@ const ColorPicker = props => {
46
46
  return props.allowClear;
47
47
  },
48
48
  get children() {
49
- return ssr(_tmpl$, ssrHydrationKey());
49
+ var _el$ = _tmpl$(),
50
+ _el$2 = _el$.firstChild;
51
+ _el$2.$$click = () => {
52
+ setColor(new Color());
53
+ close();
54
+ };
55
+ return _el$;
50
56
  }
51
- }), ssr(_tmpl$2, ssrHydrationKey(), escape(createComponent(ColorPickerSelect, {})), escape(createComponent(ColorPickerSlider, {})), escape(createComponent(ColorPickerInput, {})))];
57
+ }), (() => {
58
+ var _el$3 = _tmpl$2();
59
+ insert(_el$3, createComponent(ColorPickerSelect, {}), null);
60
+ insert(_el$3, createComponent(ColorPickerSlider, {}), null);
61
+ insert(_el$3, createComponent(ColorPickerInput, {}), null);
62
+ return _el$3;
63
+ })()];
52
64
  }
53
65
  });
54
66
  return createComponent(Popover, {
@@ -60,34 +72,71 @@ const ColorPicker = props => {
60
72
  return props.disabled ? false : 'click';
61
73
  },
62
74
  content: getPopoverContent,
75
+ contentHTMLAttributes: {
76
+ class: 'ant-color-picker'
77
+ },
63
78
  get placement() {
64
79
  return props.placement ?? 'bottomLeft';
65
80
  },
66
81
  get children() {
67
82
  return createComponent(Element, {
68
83
  get ["class"]() {
69
- return cs('inline-block', props.disabled && 'cursor-not-allowed');
84
+ return cs('ant-color-picker-trigger inline-block', props.disabled && 'cursor-not-allowed');
70
85
  },
71
86
  get children() {
72
- return ssr(_tmpl$4, ssrHydrationKey() + ssrAttribute("class", escape(cs('p-[calc(var(--ant-padding-xxs)-var(--border-width))] border-width-[--border-width] border-[--ant-color-border] border-solid rounded-[--ant-border-radius] cursor-pointer hover:border-[--ant-color-primary-hover]', open() && '!border-[--ant-color-primary-active]', props.disabled ? 'pointer-events-none bg-[--ant-color-bg-container-disabled]' : 'bg-[--ant-color-bg-elevated]'), true), false), "--border-width:" + "1px" + (";--inner-size:" + escape({
73
- small: '16px',
74
- middle: '24px',
75
- large: '32px'
76
- }[size()], true)), escape(createComponent(Show, {
87
+ var _el$4 = _tmpl$4();
88
+ _el$4.style.setProperty("--border-width", "1px");
89
+ insert(_el$4, createComponent(Show, {
77
90
  get when() {
78
91
  return color().isValid;
79
92
  },
80
93
  get fallback() {
81
- return ssr(_tmpl$5, ssrHydrationKey() + ssrAttribute("class", escape(cs('w-[--inner-size] h-[--inner-size] rounded-[--ant-border-radius-sm] relative overflow-hidden border-1px border-solid border-[--ant-color-split]'), true), false));
94
+ return (() => {
95
+ var _el$7 = _tmpl$5();
96
+ effect(() => className(_el$7, cs('w-[--inner-size] h-[--inner-size] rounded-[--ant-border-radius-sm] relative overflow-hidden border-1px border-solid border-[--ant-color-split]')));
97
+ return _el$7;
98
+ })();
82
99
  },
83
100
  get children() {
84
- return ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("class", escape(cs('w-[--inner-size] h-[--inner-size] rounded-[--ant-border-radius-sm] overflow-hidden'), true), false), "box-shadow:" + "inset 0 0 1px 0 var(--ant-color-text-quaternary)" + (";background-image:" + "conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)") + (";background-size:" + "50% 50%"), "box-shadow:" + "inset 0 0 0 var(--ant-line-width) var(--ant-color-fill-secondary)" + (";background-color:" + escape(color().toRgbString(), true)));
101
+ var _el$5 = _tmpl$3(),
102
+ _el$6 = _el$5.firstChild;
103
+ _el$5.style.setProperty("box-shadow", "inset 0 0 1px 0 var(--ant-color-text-quaternary)");
104
+ _el$5.style.setProperty("background-image", "conic-gradient(var(--ant-color-fill-secondary) 0 25%, transparent 0 50%, var(--ant-color-fill-secondary) 0 75%, transparent 0)");
105
+ _el$5.style.setProperty("background-size", "50% 50%");
106
+ _el$6.style.setProperty("box-shadow", "inset 0 0 0 var(--ant-line-width) var(--ant-color-fill-secondary)");
107
+ effect(_p$ => {
108
+ var _v$ = cs('w-[--inner-size] h-[--inner-size] rounded-[--ant-border-radius-sm] overflow-hidden'),
109
+ _v$2 = color().toRgbString();
110
+ _v$ !== _p$.e && className(_el$5, _p$.e = _v$);
111
+ _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$6.style.setProperty("background-color", _v$2) : _el$6.style.removeProperty("background-color"));
112
+ return _p$;
113
+ }, {
114
+ e: undefined,
115
+ t: undefined
116
+ });
117
+ return _el$5;
85
118
  }
86
- })));
119
+ }));
120
+ effect(_p$ => {
121
+ var _v$3 = cs('p-[calc(var(--ant-padding-xxs)-var(--border-width))] border-width-[--border-width] border-[--ant-color-border] border-solid rounded-[--ant-border-radius] cursor-pointer hover:border-[--ant-color-primary-hover]', open() && '!border-[--ant-color-primary-active]', props.disabled ? 'pointer-events-none bg-[--ant-color-bg-container-disabled]' : 'bg-[--ant-color-bg-elevated]'),
122
+ _v$4 = {
123
+ small: '16px',
124
+ middle: '24px',
125
+ large: '32px'
126
+ }[size()];
127
+ _v$3 !== _p$.e && className(_el$4, _p$.e = _v$3);
128
+ _v$4 !== _p$.t && ((_p$.t = _v$4) != null ? _el$4.style.setProperty("--inner-size", _v$4) : _el$4.style.removeProperty("--inner-size"));
129
+ return _p$;
130
+ }, {
131
+ e: undefined,
132
+ t: undefined
133
+ });
134
+ return _el$4;
87
135
  }
88
136
  });
89
137
  }
90
138
  });
91
139
  };
140
+ delegateEvents(["click"]);
92
141
 
93
142
  export { ColorPicker as default };
@@ -11,7 +11,7 @@ const ContextMenuCommand = Command.createCommand(props => {
11
11
  const [, menuProps] = splitProps(props, ['x', 'y']);
12
12
  const [reverse, setReverse] = createSignal(false);
13
13
  createEffect(() => {
14
- setReverse(props.y + (0) + offsetY > window.innerHeight);
14
+ setReverse(props.y + (ref?.clientHeight ?? 0) + offsetY > window.innerHeight);
15
15
  });
16
16
  const {
17
17
  dispose
@@ -35,6 +35,10 @@ const ContextMenuCommand = Command.createCommand(props => {
35
35
  abortController.abort();
36
36
  });
37
37
  return createComponent(Element, {
38
+ ref(r$) {
39
+ var _ref$ = ref;
40
+ typeof _ref$ === "function" ? _ref$(r$) : ref = r$;
41
+ },
38
42
  "class": "z-1000 fixed left-0 top-0 [font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)] bg-[--ant-color-bg-container-tertiary] rounded-[var(--ant-border-radius)]",
39
43
  get style() {
40
44
  return {
@@ -1,6 +1,17 @@
1
- import { type Component, type ParentProps, type JSX } from 'solid-js';
1
+ import { type Component, type ParentProps, type JSX, type Ref } from 'solid-js';
2
+ export interface CursorIntance {
3
+ onMouseEnter: (e: MouseEvent, ele: HTMLElement | SVGElement) => void;
4
+ onMouseMove: (e: MouseEvent) => void;
5
+ onMouseLeave: (e: MouseEvent, ele: HTMLElement | SVGElement) => void;
6
+ }
2
7
  export interface CursorProps extends ParentProps {
8
+ ref?: Ref<CursorIntance>;
3
9
  cursor: JSX.Element;
4
10
  }
5
- declare const Cursor: Component<CursorProps>;
11
+ declare function createCursor(props: CursorProps): {
12
+ dispose: () => void;
13
+ };
14
+ declare const Cursor: Component<CursorProps> & {
15
+ createCursor: typeof createCursor;
16
+ };
6
17
  export default Cursor;
@@ -1,7 +1,20 @@
1
- import { createComponent, Portal, ssr, ssrHydrationKey, escape } from 'solid-js/web';
1
+ import { createComponent, Portal, insert, effect, template, render } from 'solid-js/web';
2
2
  import { children, createSignal, createEffect, onCleanup, Show } from 'solid-js';
3
+ import { setRef } from '../utils/solid.js';
3
4
 
4
- var _tmpl$ = ["<span", " class=\"absolute pointer-events-none z-2000\" style=\"", "\">", "</span>"];
5
+ var _tmpl$ = /*#__PURE__*/template(`<span class="absolute pointer-events-none z-2000">`);
6
+ function createCursor(props) {
7
+ const container = document.createElement('div');
8
+ document.body.appendChild(container);
9
+ const _dispose = render(() => createComponent(Cursor, props), container);
10
+ const dispose = () => {
11
+ _dispose();
12
+ document.body.removeChild(container);
13
+ };
14
+ return {
15
+ dispose
16
+ };
17
+ }
5
18
  const Cursor = props => {
6
19
  const resolvedChildren = children(() => props.children);
7
20
  const [hover, setHover] = createSignal(false);
@@ -10,30 +23,47 @@ const Cursor = props => {
10
23
  y: 0
11
24
  });
12
25
  let originalCursor;
26
+ const onMouseEnter = (_, _children) => {
27
+ setHover(true);
28
+ originalCursor = _children.style.cursor;
29
+ _children.style.cursor = 'none';
30
+ };
31
+ const onMouseMove = e => {
32
+ setCursorPosition({
33
+ x: e.clientX,
34
+ y: e.clientY
35
+ });
36
+ };
37
+ const onMouseLeave = (_, _children) => {
38
+ setHover(false);
39
+ if (originalCursor) {
40
+ _children.style.cursor = originalCursor;
41
+ } else {
42
+ _children.style.removeProperty('cursor');
43
+ }
44
+ originalCursor = undefined;
45
+ };
46
+ setRef(props, {
47
+ onMouseEnter,
48
+ onMouseMove,
49
+ onMouseLeave
50
+ });
13
51
  createEffect(() => {
14
52
  const _children = resolvedChildren();
15
53
  if (!(_children instanceof HTMLElement || _children instanceof SVGElement)) return;
16
54
  const abortController = new AbortController();
17
- _children.addEventListener('mouseenter', () => {
18
- setHover(true);
19
- originalCursor = _children.style.cursor;
20
- _children.style.cursor = 'none';
55
+ _children.addEventListener('mouseenter', e => {
56
+ onMouseEnter(e, _children);
21
57
  }, {
22
58
  capture: true,
23
59
  signal: abortController.signal
24
60
  });
25
- _children.addEventListener('mousemove', e => {
26
- setCursorPosition({
27
- x: e.clientX,
28
- y: e.clientY
29
- });
30
- }, {
61
+ _children.addEventListener('mousemove', onMouseMove, {
31
62
  capture: true,
32
63
  signal: abortController.signal
33
64
  });
34
- _children.addEventListener('mouseleave', () => {
35
- setHover(false);
36
- if (originalCursor) _children.style.cursor = originalCursor;
65
+ _children.addEventListener('mouseleave', e => {
66
+ onMouseLeave(e, _children);
37
67
  }, {
38
68
  capture: true,
39
69
  signal: abortController.signal
@@ -49,11 +79,24 @@ const Cursor = props => {
49
79
  get children() {
50
80
  return createComponent(Portal, {
51
81
  get children() {
52
- return ssr(_tmpl$, ssrHydrationKey(), "top:" + `${escape(cursorPosition().y, true)}px` + (";left:" + `${escape(cursorPosition().x, true)}px`), escape(props.cursor));
82
+ var _el$ = _tmpl$();
83
+ insert(_el$, () => props.cursor);
84
+ effect(_p$ => {
85
+ var _v$ = `${cursorPosition().y}px`,
86
+ _v$2 = `${cursorPosition().x}px`;
87
+ _v$ !== _p$.e && ((_p$.e = _v$) != null ? _el$.style.setProperty("top", _v$) : _el$.style.removeProperty("top"));
88
+ _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$.style.setProperty("left", _v$2) : _el$.style.removeProperty("left"));
89
+ return _p$;
90
+ }, {
91
+ e: undefined,
92
+ t: undefined
93
+ });
94
+ return _el$;
53
95
  }
54
96
  });
55
97
  }
56
98
  })];
57
99
  };
100
+ Cursor.createCursor = createCursor;
58
101
 
59
102
  export { Cursor as default };
@@ -1,11 +1,11 @@
1
- import { createComponent, ssr, ssrHydrationKey, escape } from 'solid-js/web';
1
+ import { createComponent, use, insert, effect, template } from 'solid-js/web';
2
2
  import { mergeProps, createMemo, children, Show } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import 'lodash-es';
5
5
  import useSize from '../hooks/useSize.js';
6
6
  import Element from '../Element/index.js';
7
7
 
8
- var _tmpl$ = ["<span", " class=\"inline-block px-[var(--ant-divider-text-padding-inline)]\" style=\"", "\">", "</span>"];
8
+ var _tmpl$ = /*#__PURE__*/template(`<span class="inline-block px-[var(--ant-divider-text-padding-inline)]">`);
9
9
  const Divider = _props => {
10
10
  const props = mergeProps({
11
11
  orientation: 'center',
@@ -40,6 +40,10 @@ const Divider = _props => {
40
40
  },
41
41
  get children() {
42
42
  return createComponent(Element, {
43
+ ref(r$) {
44
+ var _ref$ = container;
45
+ typeof _ref$ === "function" ? _ref$(r$) : container = r$;
46
+ },
43
47
  get ["class"]() {
44
48
  return cs(props.class, 'my-[var(--ant-margin)] flex items-center relative', ['before:content-empty before:block before:absolute before:left-0 before:w-[var(--ant-divider-children-start)] before:border-width-[1px_0_0] before:border-[var(--ant-color-split)]', props.dashed ? 'before:border-dashed' : 'before:border-solid'], ['after:content-empty after:block after:absolute after:left-[var(--ant-divider-children-end)] after:right-0 after:border-width-[1px_0_0] after:border-[var(--ant-color-split)]', props.dashed ? 'after:border-dashed' : 'after:border-solid']);
45
49
  },
@@ -52,7 +56,12 @@ const Divider = _props => {
52
56
  };
53
57
  },
54
58
  get children() {
55
- return ssr(_tmpl$, ssrHydrationKey(), "transform:" + `translateX(${escape(childrenStart(), true)}px)`, escape(resolvedChildren()));
59
+ var _el$ = _tmpl$();
60
+ var _ref$2 = childrenRef;
61
+ typeof _ref$2 === "function" ? use(_ref$2, _el$) : childrenRef = _el$;
62
+ insert(_el$, resolvedChildren);
63
+ effect(() => `translateX(${childrenStart()}px)` != null ? _el$.style.setProperty("transform", `translateX(${childrenStart()}px)`) : _el$.style.removeProperty("transform"));
64
+ return _el$;
56
65
  }
57
66
  });
58
67
  }