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.
- package/css/index.css +1 -1
- package/dist/index.esm.js +2604 -1107
- package/dist/index.umd.js +1 -1
- package/es/Button/index.d.ts +5 -2
- package/es/Button/index.js +21 -8
- package/es/Checkbox/Group.js +2 -2
- package/es/Checkbox/index.js +26 -13
- package/es/CodeInput/index.js +3 -0
- package/es/Collapse/Item.js +50 -8
- package/es/Collapse/index.js +5 -3
- package/es/ColorPicker/ColorPickerInput.js +225 -210
- package/es/ColorPicker/ColorPickerSelect.js +61 -4
- package/es/ColorPicker/ColorPickerSlider.js +100 -67
- package/es/ColorPicker/index.js +66 -17
- package/es/ContextMenu/index.js +5 -1
- package/es/Cursor/index.d.ts +13 -2
- package/es/Cursor/index.js +59 -16
- package/es/Divider/index.js +12 -3
- package/es/Drawer/index.js +89 -43
- package/es/Dropdown/index.js +4 -2
- package/es/Element/index.js +2 -6
- package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +12 -4
- package/es/Empty/assets/EmptySvg.js +3 -3
- package/es/Empty/assets/SimpleEmptySvg.js +3 -3
- package/es/Empty/index.js +12 -4
- package/es/Form/FormItem.js +76 -47
- package/es/Fragment/index.js +3 -1
- package/es/Image/index.js +31 -11
- package/es/Input/TextArea.js +31 -5
- package/es/Input/index.d.ts +5 -0
- package/es/Input/index.js +123 -46
- package/es/InputNumber/index.js +11 -4
- package/es/Menu/InternalMenu.js +96 -38
- package/es/Message/Message.js +11 -7
- package/es/Modal/index.js +107 -55
- package/es/Modal/useModal.js +14 -5
- package/es/Modal/warning.js +14 -5
- package/es/Popconfirm/index.js +36 -24
- package/es/Popover/index.js +20 -11
- package/es/Progress/Circle.js +63 -14
- package/es/Progress/index.js +38 -14
- package/es/Radio/Button.js +20 -4
- package/es/Radio/index.js +35 -5
- package/es/RangeInput/index.js +80 -24
- package/es/Result/index.js +27 -6
- package/es/Segmented/index.js +33 -13
- package/es/Select/index.d.ts +1 -1
- package/es/Select/index.js +39 -7
- package/es/SelectInput/index.d.ts +2 -1
- package/es/SelectInput/index.js +119 -51
- package/es/Slider/index.js +84 -11
- package/es/Space/index.js +2 -2
- package/es/Spin/index.js +26 -14
- package/es/Switch/index.js +6 -4
- package/es/Table/index.js +40 -18
- package/es/Tabs/index.js +195 -91
- package/es/Timeline/index.d.ts +1 -2
- package/es/Timeline/index.js +14 -4
- package/es/Tooltip/index.d.ts +1 -1
- package/es/Tooltip/index.js +40 -20
- package/es/Transformer/index.js +123 -59
- package/es/Tree/SingleLevelTree.js +191 -30
- package/es/TreeFor/index.js +3 -3
- package/es/TreeSelect/index.js +6 -4
- package/es/Upload/index.js +38 -4
- package/es/assets/svg/ColorPickUp.js +19 -6
- package/es/assets/svg/Crosshair.js +45 -6
- package/es/assets/svg/Resize.js +19 -6
- package/es/assets/svg/Rotate.js +14 -13
- package/es/assets/svg/RotateArrow.js +15 -20
- package/es/hooks/useClickAway.js +4 -6
- package/es/index.d.ts +1 -1
- package/es/utils/setupGlobalDrag.js +13 -4
- package/package.json +12 -14
- package/es/utils/DOMRect.d.ts +0 -22
- package/es/utils/DOMRect.js +0 -41
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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$ =
|
|
10
|
-
_tmpl$2 =
|
|
11
|
-
_tmpl$3 =
|
|
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
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
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 };
|
package/es/ColorPicker/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createComponent,
|
|
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$ =
|
|
14
|
-
_tmpl$2 =
|
|
15
|
-
_tmpl$3 =
|
|
16
|
-
_tmpl$4 =
|
|
17
|
-
_tmpl$5 =
|
|
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
|
-
|
|
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
|
-
}),
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|
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
|
-
|
|
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 };
|
package/es/ContextMenu/index.js
CHANGED
|
@@ -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 {
|
package/es/Cursor/index.d.ts
CHANGED
|
@@ -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
|
|
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;
|
package/es/Cursor/index.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import { createComponent, Portal,
|
|
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$ =
|
|
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
|
-
|
|
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',
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|
package/es/Divider/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createComponent,
|
|
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$ =
|
|
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
|
-
|
|
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
|
}
|