antd-solid 0.0.17 → 0.0.18

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 (67) hide show
  1. package/css/index.css +1 -1
  2. package/dist/index.esm.js +64 -18
  3. package/dist/index.umd.js +1 -1
  4. package/es/Button/index.js +7 -25
  5. package/es/Checkbox/Group.js +2 -2
  6. package/es/Checkbox/index.js +13 -26
  7. package/es/CodeInput/index.js +0 -3
  8. package/es/Collapse/Item.js +8 -50
  9. package/es/Collapse/index.js +3 -5
  10. package/es/ColorPicker/ColorPickerInput.js +210 -224
  11. package/es/ColorPicker/ColorPickerSelect.js +4 -61
  12. package/es/ColorPicker/ColorPickerSlider.js +67 -100
  13. package/es/ColorPicker/index.js +16 -62
  14. package/es/ContextMenu/index.js +1 -5
  15. package/es/Cursor/index.js +3 -15
  16. package/es/Divider/index.js +3 -12
  17. package/es/Drawer/index.js +42 -83
  18. package/es/Element/index.js +6 -2
  19. package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +4 -12
  20. package/es/Empty/assets/EmptySvg.js +3 -3
  21. package/es/Empty/assets/SimpleEmptySvg.js +3 -3
  22. package/es/Empty/index.js +4 -12
  23. package/es/Form/FormItem.js +47 -76
  24. package/es/Fragment/index.js +1 -3
  25. package/es/Image/index.js +11 -31
  26. package/es/Input/TextArea.js +5 -31
  27. package/es/Input/index.js +46 -103
  28. package/es/InputNumber/index.js +4 -11
  29. package/es/Menu/InternalMenu.js +37 -93
  30. package/es/Message/Message.js +7 -11
  31. package/es/Modal/index.js +55 -107
  32. package/es/Modal/useModal.js +5 -14
  33. package/es/Modal/warning.js +5 -14
  34. package/es/Popconfirm/index.js +24 -36
  35. package/es/Popover/index.js +11 -20
  36. package/es/Progress/Circle.js +14 -63
  37. package/es/Progress/index.js +14 -38
  38. package/es/Radio/Button.js +4 -20
  39. package/es/Radio/index.js +5 -35
  40. package/es/RangeInput/index.js +22 -76
  41. package/es/Result/index.js +6 -27
  42. package/es/Segmented/index.js +13 -33
  43. package/es/Select/index.js +6 -35
  44. package/es/SelectInput/index.js +48 -112
  45. package/es/Slider/index.js +11 -84
  46. package/es/Space/index.js +2 -2
  47. package/es/Spin/index.js +14 -26
  48. package/es/Switch/index.js +4 -6
  49. package/es/Table/index.js +18 -40
  50. package/es/Tabs/index.js +91 -195
  51. package/es/Timeline/index.js +4 -14
  52. package/es/Tooltip/index.js +20 -48
  53. package/es/Transformer/index.js +59 -123
  54. package/es/Tree/SingleLevelTree.js +30 -191
  55. package/es/TreeFor/index.js +3 -3
  56. package/es/TreeSelect/index.js +4 -6
  57. package/es/Upload/index.js +4 -38
  58. package/es/assets/svg/ColorPickUp.js +6 -19
  59. package/es/assets/svg/Crosshair.js +6 -45
  60. package/es/assets/svg/Resize.js +6 -19
  61. package/es/assets/svg/Rotate.js +13 -14
  62. package/es/assets/svg/RotateArrow.js +20 -15
  63. package/es/hooks/useClickAway.js +6 -4
  64. package/es/utils/DOMRect.d.ts +22 -0
  65. package/es/utils/DOMRect.js +41 -0
  66. package/package.json +14 -15
  67. package/src/index.ts +102 -0
@@ -1,4 +1,4 @@
1
- import { delegateEvents, createComponent, mergeProps, insert, effect, className, setAttribute, template } from 'solid-js/web';
1
+ import { createComponent, mergeProps, ssr, ssrHydrationKey, escape, ssrAttribute } from 'solid-js/web';
2
2
  import { splitProps, createMemo, createSelector, Show, For } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import { isEmpty } from 'lodash-es';
@@ -8,8 +8,8 @@ import SelectInput from '../SelectInput/index.js';
8
8
  import Empty from '../Empty/index.js';
9
9
  import { unwrapStringOrJSXElement } from '../utils/solid.js';
10
10
 
11
- var _tmpl$ = /*#__PURE__*/template(`<div class=p-2px>`),
12
- _tmpl$2 = /*#__PURE__*/template(`<div>`);
11
+ var _tmpl$ = ["<div", " class=\"p-2px\">", "</div>"],
12
+ _tmpl$2 = ["<div", ">", "</div>"];
13
13
  function Select(props) {
14
14
  const [selectInputProps] = splitProps(props, ['multiple', 'allowClear', 'class', 'style', 'disabled', 'placeholder', 'status', 'size', 'variant', 'suffixIcon', 'placement', 'getPopupContainer']);
15
15
  const [value, setValue] = createControllableValue(props);
@@ -32,44 +32,15 @@ function Select(props) {
32
32
  return createComponent(Empty.PRESENTED_IMAGE_SIMPLE, {});
33
33
  },
34
34
  get children() {
35
- var _el$ = _tmpl$();
36
- insert(_el$, createComponent(For, {
35
+ return ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(For, {
37
36
  get each() {
38
37
  return props.options;
39
38
  },
40
- children: item => (() => {
41
- var _el$2 = _tmpl$2();
42
- _el$2.$$click = () => {
43
- if (!props.multiple) {
44
- setValue(item.value);
45
- close();
46
- return;
47
- }
48
- if (valueArr().includes(item.value)) {
49
- setValue(valueArr().filter(v => v !== item.value));
50
- } else {
51
- setValue([...valueArr(), item.value]);
52
- }
53
- };
54
- insert(_el$2, () => unwrapStringOrJSXElement(item.label));
55
- effect(_p$ => {
56
- var _v$ = cs('ellipsis box-content px-12px py-5px min-h-22px leading-22px hover:bg-[var(--ant-select-option-active-bg)] cursor-pointer rounded-[var(--ant-border-radius-sm)]', selectedValue(item.value) ? '!bg-[var(--ant-select-option-selected-bg)]' : '', item.class),
57
- _v$2 = typeof item.label === 'string' || typeof item.label === 'number' ? item.label.toString() : undefined;
58
- _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
59
- _v$2 !== _p$.t && setAttribute(_el$2, "title", _p$.t = _v$2);
60
- return _p$;
61
- }, {
62
- e: undefined,
63
- t: undefined
64
- });
65
- return _el$2;
66
- })()
67
- }));
68
- return _el$;
39
+ children: item => ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs('ellipsis box-content px-12px py-5px min-h-22px leading-22px hover:bg-[var(--ant-select-option-active-bg)] cursor-pointer rounded-[var(--ant-border-radius-sm)]', selectedValue(item.value) ? '!bg-[var(--ant-select-option-selected-bg)]' : '', item.class), true), false) + ssrAttribute("title", typeof item.label === 'string' || typeof item.label === 'number' ? escape(item.label.toString(), true) : escape(undefined, true), false), escape(unwrapStringOrJSXElement(item.label)))
40
+ })));
69
41
  }
70
42
  })
71
43
  }));
72
44
  }
73
- delegateEvents(["click"]);
74
45
 
75
46
  export { Select as default };
@@ -1,4 +1,4 @@
1
- import { delegateEvents, createComponent, use, insert, effect, style, Dynamic, setAttribute, className, template } from 'solid-js/web';
1
+ import { createComponent, ssr, ssrHydrationKey, ssrStyle, escape, ssrAttribute, Dynamic } from 'solid-js/web';
2
2
  import { useContext, mergeProps, createMemo, createSignal, Show, For } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import { compact, pick, isUndefined } from 'lodash-es';
@@ -9,15 +9,15 @@ import Element from '../Element/index.js';
9
9
  import useComponentSize from '../hooks/useComponentSize.js';
10
10
  import CompactContext from '../Compact/context.js';
11
11
 
12
- var _tmpl$ = /*#__PURE__*/template(`<div class=w-full>`),
13
- _tmpl$2 = /*#__PURE__*/template(`<span class="right-[--ant-select-input-padding-right] i-ant-design:close-circle-filled cursor-pointer text-[var(--ant-color-text-quaternary)] hover:text-[var(--ant-color-text-tertiary)] active:text-[var(--ant-color-text)]">`),
14
- _tmpl$3 = /*#__PURE__*/template(`<div tabindex=0><div>`),
15
- _tmpl$4 = /*#__PURE__*/template(`<div class="w-[--ant-select-popup-match-width] max-h-400px overflow-auto [font-size:var(--ant-select-popup-font-size)]">`),
16
- _tmpl$5 = /*#__PURE__*/template(`<span class="inline-block w-0"> `),
17
- _tmpl$6 = /*#__PURE__*/template(`<span class="block w-full h-[calc(var(--ant-select-input-height)-2px)] leading-[calc(var(--ant-select-input-height)-2px)] text-[var(--ant-color-text-placeholder)]">`),
18
- _tmpl$7 = /*#__PURE__*/template(`<div class="w-full h-[calc(var(--ant-select-input-height)-2px)] leading-[calc(var(--ant-select-input-height)-2px)] ellipsis">`),
19
- _tmpl$8 = /*#__PURE__*/template(`<span class="inline-block my-2px mr-4px bg-[var(--ant-select-multiple-item-bg)] leading-[var(--ant-select-multiple-item-height)] h-[var(--ant-select-multiple-item-height)] pl-8px pr-4px rounded-[var(--ant-border-radius-sm)]"><span class="i-ant-design:close-outlined text-[var(--ant-color-icon)] hover:text-[var(--ant-color-icon-hover)] text-12px cursor-pointer">`),
20
- _tmpl$9 = /*#__PURE__*/template(`<span class="i-ant-design:down-outlined text-[var(--ant-color-text-quaternary)] text-12px">`);
12
+ var _tmpl$ = ["<div", " class=\"w-full\">", "</div>"],
13
+ _tmpl$2 = ["<span", " class=\"right-[--ant-select-input-padding-right] i-ant-design:close-circle-filled cursor-pointer text-[var(--ant-color-text-quaternary)] hover:text-[var(--ant-color-text-tertiary)] active:text-[var(--ant-color-text)]\"></span>"],
14
+ _tmpl$3 = ["<div", " style=\"", "\" tabindex=\"0\"><!--$-->", "<!--/--><div", ">", "</div></div>"],
15
+ _tmpl$4 = ["<div", " class=\"w-[--ant-select-popup-match-width] max-h-400px overflow-auto [font-size:var(--ant-select-popup-font-size)]\" style=\"", "\">", "</div>"],
16
+ _tmpl$5 = ["<span", " class=\"inline-block w-0\"> </span>"],
17
+ _tmpl$6 = ["<span", " class=\"block w-full h-[calc(var(--ant-select-input-height)-2px)] leading-[calc(var(--ant-select-input-height)-2px)] text-[var(--ant-color-text-placeholder)]\"><!--$-->", "<!--/--><!--$-->", "<!--/--></span>"],
18
+ _tmpl$7 = ["<div", " class=\"w-full h-[calc(var(--ant-select-input-height)-2px)] leading-[calc(var(--ant-select-input-height)-2px)] ellipsis\"", ">", "</div>"],
19
+ _tmpl$8 = ["<span", " class=\"inline-block my-2px mr-4px bg-[var(--ant-select-multiple-item-bg)] leading-[var(--ant-select-multiple-item-height)] h-[var(--ant-select-multiple-item-height)] pl-8px pr-4px rounded-[var(--ant-border-radius-sm)]\"", "><!--$-->", "<!--/--><span class=\"i-ant-design:close-outlined text-[var(--ant-color-icon)] hover:text-[var(--ant-color-icon-hover)] text-12px cursor-pointer\"></span></span>"],
20
+ _tmpl$9 = ["<span", " class=\"i-ant-design:down-outlined text-[var(--ant-color-text-quaternary)] text-12px\"></span>"];
21
21
  function SelectInput(_props) {
22
22
  let select;
23
23
  let tooltipContent;
@@ -44,7 +44,7 @@ function SelectInput(_props) {
44
44
  const [hover, setHover] = createSignal(false);
45
45
  const showClearBtn = createMemo(() => props.allowClear && hover() && valueArr().length > 0);
46
46
  const optionLabelRender = v => props.labelRender ? props.labelRender(v) : String(v);
47
- const style$1 = createMemo(() => ({
47
+ const style = createMemo(() => ({
48
48
  '--ant-select-input-font-size': {
49
49
  small: 'var(--ant-font-size)',
50
50
  middle: 'var(--ant-font-size)',
@@ -67,15 +67,11 @@ function SelectInput(_props) {
67
67
  ...props.style
68
68
  }));
69
69
  return createComponent(Element, {
70
- ref(r$) {
71
- var _ref$ = select;
72
- typeof _ref$ === "function" ? _ref$(r$) : select = r$;
73
- },
74
70
  get ["class"]() {
75
71
  return cs('!p[.ant-input-addon]:my--1px !p[.ant-input-addon]:mx--12px', 'rounded-6px cursor-pointer inline-block text-[var(--ant-color-text)] leading-[var(--ant-line-height)]', isCompact && 'ant-compact-item', props.class, props.disabled && 'cursor-not-allowed');
76
72
  },
77
73
  get style() {
78
- return style$1();
74
+ return style();
79
75
  },
80
76
  get children() {
81
77
  return createComponent(Tooltip, {
@@ -92,47 +88,42 @@ function SelectInput(_props) {
92
88
  contentStyle: {
93
89
  padding: 0
94
90
  },
95
- content: () => (() => {
96
- var _el$5 = _tmpl$4();
97
- var _ref$2 = tooltipContent;
98
- typeof _ref$2 === "function" ? use(_ref$2, _el$5) : tooltipContent = _el$5;
99
- insert(_el$5, () => props.content(() => setOpen(false)));
100
- effect(_$p => style(_el$5, {
101
- ...pick(style$1(), ['--ant-select-popup-font-size', '--ant-select-popup-match-width'])
102
- }, _$p));
103
- return _el$5;
104
- })(),
91
+ content: () => ssr(_tmpl$4, ssrHydrationKey(), ssrStyle({
92
+ ...pick(style(), ['--ant-select-popup-font-size', '--ant-select-popup-match-width'])
93
+ }), escape(props.content(() => setOpen(false)))),
105
94
  get getPopupContainer() {
106
95
  return props.getPopupContainer;
107
96
  },
108
97
  get children() {
109
- var _el$ = _tmpl$3(),
110
- _el$3 = _el$.firstChild;
111
- _el$.addEventListener("mouseleave", () => setHover(false));
112
- _el$.addEventListener("mouseenter", () => setHover(true));
113
- _el$.$$click = e => {
114
- setOpen(v => !v);
115
- setPopupMatchWidth(e.currentTarget.offsetWidth);
116
- e.currentTarget.focus();
117
- };
118
- insert(_el$, createComponent(Show, {
98
+ return ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("class", escape(cs('p[.ant-input-addon]:border-transparent p[.ant-input-addon]:bg-transparent p[.ant-input-addon]:focus-within:border-transparent p[.ant-input-addon]:hover:border-transparent p[.ant-input-addon]:focus-within:[box-shadow:none]', 'relative h-[--ant-select-input-height] rounded-inherit py-1px flex items-center [font-size:var(--ant-select-input-font-size)] p-[--ant-select-input-padding]', props.disabled && '[pointer-events:none] bg-[var(--ant-color-bg-container-disabled)] color-[var(--ant-color-text-disabled)]', props.variant === 'outlined' && {
99
+ default: cs('border-1px border-solid border-[--ant-color-border] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-primary)] focus-within:border-[var(--ant-color-primary)] focus-within:[box-shadow:0_0_0_2px_var(--ant-control-outline)]'),
100
+ error: cs('border-1px border-solid border-[--ant-color-error] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-error-border-hover)] focus-within:[box-shadow:0_0_0_2px_rgba(255,38,5,.06)]'),
101
+ warning: cs('border-1px border-solid border-[--ant-color-warning] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-warning-border-hover)] focus-within:[box-shadow:0_0_0_2px_rgba(255,215,5,.1)]')
102
+ }[props.status ?? 'default'], props.variant === 'filled' && {
103
+ default: cs('bg-[--ant-color-fill-tertiary]', !props.disabled && 'hover:bg-[--ant-color-fill-secondary]'),
104
+ error: cs('bg-[--ant-color-error-bg]', !props.disabled && 'hover:bg-[--ant-color-error-bg-hover]'),
105
+ warning: cs('bg-[--ant-color-warning-bg]', !props.disabled && 'hover:bg-[--ant-color-warning-bg-hover]')
106
+ }[props.status ?? 'default']), true), false), "--ant-select-input-height:" + escape({
107
+ small: '24px',
108
+ middle: '32px',
109
+ large: '40px'
110
+ }[size()], true) + (";--ant-select-multiple-item-height:" + escape({
111
+ small: '16px',
112
+ middle: '24px',
113
+ large: '32px'
114
+ }[size()], true)), escape(createComponent(Show, {
119
115
  get when() {
120
116
  return valueArr().length;
121
117
  },
122
118
  get fallback() {
123
- return (() => {
124
- var _el$6 = _tmpl$6();
125
- insert(_el$6, () => props.placeholder, null);
126
- insert(_el$6, createComponent(Show, {
127
- get when() {
128
- return !props.placeholder;
129
- },
130
- get children() {
131
- return _tmpl$5();
132
- }
133
- }), null);
134
- return _el$6;
135
- })();
119
+ return ssr(_tmpl$6, ssrHydrationKey(), escape(props.placeholder), escape(createComponent(Show, {
120
+ get when() {
121
+ return !props.placeholder;
122
+ },
123
+ get children() {
124
+ return ssr(_tmpl$5, ssrHydrationKey());
125
+ }
126
+ })));
136
127
  },
137
128
  get children() {
138
129
  return createComponent(Show, {
@@ -143,39 +134,24 @@ function SelectInput(_props) {
143
134
  return createComponent(Dynamic, {
144
135
  component: () => {
145
136
  const optionLabel = createMemo(() => optionLabelRender(valueArr()[0]));
146
- return (() => {
147
- var _el$8 = _tmpl$7();
148
- insert(_el$8, optionLabel);
149
- effect(() => setAttribute(_el$8, "title", typeof optionLabel() === 'string' ? optionLabel() : undefined));
150
- return _el$8;
151
- })();
137
+ return ssr(_tmpl$7, ssrHydrationKey(), ssrAttribute("title", typeof optionLabel() === 'string' ? escape(optionLabel(), true) : escape(undefined, true), false), escape(optionLabel()));
152
138
  }
153
139
  });
154
140
  },
155
141
  get children() {
156
- var _el$2 = _tmpl$();
157
- insert(_el$2, createComponent(For, {
142
+ return ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(For, {
158
143
  get each() {
159
144
  return valueArr();
160
145
  },
161
146
  children: item => {
162
147
  const optionLabel = createMemo(() => optionLabelRender(valueArr()[0]));
163
- return (() => {
164
- var _el$9 = _tmpl$8(),
165
- _el$10 = _el$9.firstChild;
166
- insert(_el$9, optionLabel, _el$10);
167
- _el$10.$$click = () => setValue(valueArr().filter(v => v !== item));
168
- effect(() => setAttribute(_el$9, "title", typeof optionLabel() === 'string' ? optionLabel() : undefined));
169
- return _el$9;
170
- })();
148
+ return ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("title", typeof optionLabel() === 'string' ? escape(optionLabel(), true) : escape(undefined, true), false), escape(optionLabel()));
171
149
  }
172
- }));
173
- return _el$2;
150
+ })));
174
151
  }
175
152
  });
176
153
  }
177
- }), _el$3);
178
- insert(_el$3, createComponent(Show, {
154
+ })), ssrAttribute("class", escape(cs('shrink-0 flex justify-end items-center p-[--ant-select-input-addon-after-padding] empty:hidden'), true), false), escape(createComponent(Show, {
179
155
  get when() {
180
156
  return showClearBtn();
181
157
  },
@@ -188,58 +164,18 @@ function SelectInput(_props) {
188
164
  return props.suffixIcon;
189
165
  },
190
166
  get children() {
191
- return _tmpl$9();
167
+ return ssr(_tmpl$9, ssrHydrationKey());
192
168
  }
193
169
  });
194
170
  },
195
171
  get children() {
196
- var _el$4 = _tmpl$2();
197
- _el$4.$$click = e => {
198
- e.stopPropagation();
199
- setValue([]);
200
- setOpen(false);
201
- };
202
- return _el$4;
172
+ return ssr(_tmpl$2, ssrHydrationKey());
203
173
  }
204
- }));
205
- effect(_p$ => {
206
- var _v$ = cs('p[.ant-input-addon]:border-transparent p[.ant-input-addon]:bg-transparent p[.ant-input-addon]:focus-within:border-transparent p[.ant-input-addon]:hover:border-transparent p[.ant-input-addon]:focus-within:[box-shadow:none]', 'relative h-[--ant-select-input-height] rounded-inherit py-1px flex items-center [font-size:var(--ant-select-input-font-size)] p-[--ant-select-input-padding]', props.disabled && '[pointer-events:none] bg-[var(--ant-color-bg-container-disabled)] color-[var(--ant-color-text-disabled)]', props.variant === 'outlined' && {
207
- default: cs('border-1px border-solid border-[--ant-color-border] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-primary)] focus-within:border-[var(--ant-color-primary)] focus-within:[box-shadow:0_0_0_2px_var(--ant-control-outline)]'),
208
- error: cs('border-1px border-solid border-[--ant-color-error] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-error-border-hover)] focus-within:[box-shadow:0_0_0_2px_rgba(255,38,5,.06)]'),
209
- warning: cs('border-1px border-solid border-[--ant-color-warning] bg-[--ant-color-bg-container]', !props.disabled && 'hover:border-[var(--ant-color-warning-border-hover)] focus-within:[box-shadow:0_0_0_2px_rgba(255,215,5,.1)]')
210
- }[props.status ?? 'default'], props.variant === 'filled' && {
211
- default: cs('bg-[--ant-color-fill-tertiary]', !props.disabled && 'hover:bg-[--ant-color-fill-secondary]'),
212
- error: cs('bg-[--ant-color-error-bg]', !props.disabled && 'hover:bg-[--ant-color-error-bg-hover]'),
213
- warning: cs('bg-[--ant-color-warning-bg]', !props.disabled && 'hover:bg-[--ant-color-warning-bg-hover]')
214
- }[props.status ?? 'default']),
215
- _v$2 = {
216
- small: '24px',
217
- middle: '32px',
218
- large: '40px'
219
- }[size()],
220
- _v$3 = {
221
- small: '16px',
222
- middle: '24px',
223
- large: '32px'
224
- }[size()],
225
- _v$4 = cs('shrink-0 flex justify-end items-center p-[--ant-select-input-addon-after-padding] empty:hidden');
226
- _v$ !== _p$.e && className(_el$, _p$.e = _v$);
227
- _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$.style.setProperty("--ant-select-input-height", _v$2) : _el$.style.removeProperty("--ant-select-input-height"));
228
- _v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$.style.setProperty("--ant-select-multiple-item-height", _v$3) : _el$.style.removeProperty("--ant-select-multiple-item-height"));
229
- _v$4 !== _p$.o && className(_el$3, _p$.o = _v$4);
230
- return _p$;
231
- }, {
232
- e: undefined,
233
- t: undefined,
234
- a: undefined,
235
- o: undefined
236
- });
237
- return _el$;
174
+ })));
238
175
  }
239
176
  });
240
177
  }
241
178
  });
242
179
  }
243
- delegateEvents(["click"]);
244
180
 
245
181
  export { SelectInput as default };
@@ -1,4 +1,4 @@
1
- import { delegateEvents, createComponent, insert, memo, use, effect, className, setAttribute, style, template } from 'solid-js/web';
1
+ import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape, ssrStyle } from 'solid-js/web';
2
2
  import { mergeProps, createMemo, createSignal, children, createEffect, onCleanup, Show } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import { clamp, isNil } from 'lodash-es';
@@ -9,13 +9,11 @@ import useHover from '../hooks/useHover.js';
9
9
  import useFocus from '../hooks/useFocus.js';
10
10
  import Element from '../Element/index.js';
11
11
  import { unwrapStringOrJSXElement } from '../utils/solid.js';
12
- import { setupGlobalDrag } from '../utils/setupGlobalDrag.js';
13
12
 
14
- var _tmpl$ = /*#__PURE__*/template(`<div>`),
15
- _tmpl$2 = /*#__PURE__*/template(`<div class="absolute top-1/2 -translate-1/2 w-[--ant-slider-handle-size] h-[--ant-slider-handle-size]">`),
16
- _tmpl$3 = /*#__PURE__*/template(`<div><div></div><div></div><div class="absolute left-[calc(var(--ant-slider-handle-size)/2)] right-[calc(var(--ant-slider-handle-size)/2)] top-1/2 -translate-y-1/2">`);
13
+ var _tmpl$ = ["<div", "></div>"],
14
+ _tmpl$2 = ["<div", " class=\"absolute top-1/2 -translate-1/2 w-[--ant-slider-handle-size] h-[--ant-slider-handle-size]\" style=\"", "\">", "</div>"],
15
+ _tmpl$3 = ["<div", "><div", " style=\"", "\"></div><div", " style=\"", "\"></div><div class=\"absolute left-[calc(var(--ant-slider-handle-size)/2)] right-[calc(var(--ant-slider-handle-size)/2)] top-1/2 -translate-y-1/2\">", "</div></div>"];
17
16
  const Slider = _props => {
18
- let containerRef;
19
17
  let handleRef;
20
18
  const props = mergeProps({
21
19
  min: 0,
@@ -60,10 +58,6 @@ const Slider = _props => {
60
58
  });
61
59
  });
62
60
  return createComponent(Element, {
63
- ref(r$) {
64
- var _ref$ = containerRef;
65
- typeof _ref$ === "function" ? _ref$(r$) : containerRef = r$;
66
- },
67
61
  get ["class"]() {
68
62
  return cs(props.class, 'relative cursor-pointer', props.disabled && 'cursor-not-allowed');
69
63
  },
@@ -82,48 +76,15 @@ const Slider = _props => {
82
76
  };
83
77
  },
84
78
  get children() {
85
- var _el$ = _tmpl$3(),
86
- _el$2 = _el$.firstChild,
87
- _el$3 = _el$2.nextSibling,
88
- _el$4 = _el$3.nextSibling;
89
- _el$.$$click = e => {
90
- const handleWidth = handleRef?.offsetWidth ?? 0;
91
- const halfHandleWidth = handleWidth / 2;
92
- const offsetX = clamp(e.offsetX - halfHandleWidth, 0, containerRef.offsetWidth - handleWidth);
93
- setValue(props.min + offsetX / (containerRef.offsetWidth - handleWidth) * gap());
94
- };
95
- insert(_el$4, createComponent(Tooltip, {
79
+ return ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("class", escape(cs(props.disabled && 'pointer-events-none'), true), false), ssrAttribute("class", escape(cs('[background:var(--ant-slider-rail-bg)] h-[--ant-slider-rail-size] rounded-[calc(var(--ant-slider-rail-size)/2)]', !props.disabled && 'hover:[background:var(--ant-slider-rail-hover-bg)]'), true), false), ssrStyle(props.railBgStyle), ssrAttribute("class", escape(cs('absolute left-0 top-1/2 -translate-y-1/2 h-[--ant-slider-rail-size] rounded-[calc(var(--ant-slider-rail-size)/2)]', props.disabled ? 'bg-[var(--ant-slider-track-bg-disabled)]' : ['bg-[var(--ant-slider-track-bg)] hover:bg-[var(--ant-slider-track-hover-bg)]']), true), false), "width:" + `${escape(progress(), true) * 100}%`, escape(createComponent(Tooltip, {
96
80
  get open() {
97
- return memo(() => !!props.tooltip)() && (isHover() || isFocus() || isDragging());
81
+ return props.tooltip && (isHover() || isFocus() || isDragging());
98
82
  },
99
83
  get content() {
100
- return memo(() => !!(typeof props.tooltip === 'object' && props.tooltip.formatter))() ? props.tooltip.formatter(value()) : value();
84
+ return typeof props.tooltip === 'object' && props.tooltip.formatter ? props.tooltip.formatter(value()) : value();
101
85
  },
102
86
  get children() {
103
- var _el$5 = _tmpl$2();
104
- _el$5.$$mousedown = e => {
105
- const startX = e.clientX;
106
- const startValue = value();
107
- setIsDragging(true);
108
- const handleWidth = handleRef.offsetWidth;
109
- setupGlobalDrag(
110
- // eslint-disable-next-line solid/reactivity
111
- _e => {
112
- const moveX = _e.clientX - startX;
113
- setValue(startValue + moveX / (containerRef.offsetWidth - handleWidth) * gap());
114
- },
115
- // eslint-disable-next-line solid/reactivity
116
- () => {
117
- props.onChangeComplete?.(value());
118
- setIsDragging(false);
119
- });
120
- };
121
- _el$5.$$click = e => {
122
- e.stopPropagation();
123
- };
124
- var _ref$2 = handleRef;
125
- typeof _ref$2 === "function" ? use(_ref$2, _el$5) : handleRef = _el$5;
126
- insert(_el$5, createComponent(Show, {
87
+ return ssr(_tmpl$2, ssrHydrationKey(), "left:" + `${escape(progress(), true) * 100}%`, escape(createComponent(Show, {
127
88
  get when() {
128
89
  return isNil(resolvedHandle());
129
90
  },
@@ -131,47 +92,13 @@ const Slider = _props => {
131
92
  return resolvedHandle();
132
93
  },
133
94
  get children() {
134
- var _el$6 = _tmpl$();
135
- effect(_p$ => {
136
- var _v$ = cs('box-border w-full h-full bg-[--ant-color-bg-container-secondary] rounded-1/2 border-solid border-2px cursor-pointer', props.disabled ? 'border-[var(--ant-slider-handle-color-disabled)]' : ['border-[var(--ant-slider-handle-color)]', 'hover:border-[var(--ant-slider-handle-active-color)] hover:[outline:4px_solid_var(--ant-control-outline)]', 'focus:border-[var(--ant-slider-handle-active-color)] focus:[outline:4px_solid_var(--ant-control-outline)]']),
137
- _v$2 = props.disabled ? undefined : '0';
138
- _v$ !== _p$.e && className(_el$6, _p$.e = _v$);
139
- _v$2 !== _p$.t && setAttribute(_el$6, "tabindex", _p$.t = _v$2);
140
- return _p$;
141
- }, {
142
- e: undefined,
143
- t: undefined
144
- });
145
- return _el$6;
95
+ return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs('box-border w-full h-full bg-[--ant-color-bg-container-secondary] rounded-1/2 border-solid border-2px cursor-pointer', props.disabled ? 'border-[var(--ant-slider-handle-color-disabled)]' : ['border-[var(--ant-slider-handle-color)]', 'hover:border-[var(--ant-slider-handle-active-color)] hover:[outline:4px_solid_var(--ant-control-outline)]', 'focus:border-[var(--ant-slider-handle-active-color)] focus:[outline:4px_solid_var(--ant-control-outline)]']), true), false) + ssrAttribute("tabindex", props.disabled ? escape(undefined, true) : '0', false));
146
96
  }
147
- }));
148
- effect(() => `${progress() * 100}%` != null ? _el$5.style.setProperty("left", `${progress() * 100}%`) : _el$5.style.removeProperty("left"));
149
- return _el$5;
97
+ })));
150
98
  }
151
- }));
152
- effect(_p$ => {
153
- var _v$3 = cs(props.disabled && 'pointer-events-none'),
154
- _v$4 = cs('[background:var(--ant-slider-rail-bg)] h-[--ant-slider-rail-size] rounded-[calc(var(--ant-slider-rail-size)/2)]', !props.disabled && 'hover:[background:var(--ant-slider-rail-hover-bg)]'),
155
- _v$5 = props.railBgStyle,
156
- _v$6 = cs('absolute left-0 top-1/2 -translate-y-1/2 h-[--ant-slider-rail-size] rounded-[calc(var(--ant-slider-rail-size)/2)]', props.disabled ? 'bg-[var(--ant-slider-track-bg-disabled)]' : ['bg-[var(--ant-slider-track-bg)] hover:bg-[var(--ant-slider-track-hover-bg)]']),
157
- _v$7 = `${progress() * 100}%`;
158
- _v$3 !== _p$.e && className(_el$, _p$.e = _v$3);
159
- _v$4 !== _p$.t && className(_el$2, _p$.t = _v$4);
160
- _p$.a = style(_el$2, _v$5, _p$.a);
161
- _v$6 !== _p$.o && className(_el$3, _p$.o = _v$6);
162
- _v$7 !== _p$.i && ((_p$.i = _v$7) != null ? _el$3.style.setProperty("width", _v$7) : _el$3.style.removeProperty("width"));
163
- return _p$;
164
- }, {
165
- e: undefined,
166
- t: undefined,
167
- a: undefined,
168
- o: undefined,
169
- i: undefined
170
- });
171
- return _el$;
99
+ })));
172
100
  }
173
101
  });
174
102
  };
175
- delegateEvents(["click", "mousedown"]);
176
103
 
177
104
  export { Slider as default };
package/es/Space/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createComponent, mergeProps, memo } from 'solid-js/web';
1
+ import { createComponent, mergeProps } from 'solid-js/web';
2
2
  import { For } from 'solid-js';
3
3
  import Element from '../Element/index.js';
4
4
  import { unwrapStringOrJSXElement } from '../utils/solid.js';
@@ -7,7 +7,7 @@ function Space(props) {
7
7
  return createComponent(Element, {
8
8
  get children() {
9
9
  return createComponent(For, mergeProps(props, {
10
- children: (item, index) => [memo(() => memo(() => index() !== 0)() && unwrapStringOrJSXElement(props.split)), memo(() => props.children(item, index))]
10
+ children: (item, index) => [index() !== 0 && unwrapStringOrJSXElement(props.split), props.children(item, index)]
11
11
  }));
12
12
  }
13
13
  });
package/es/Spin/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { insert, createComponent, effect, template } from 'solid-js/web';
1
+ import { ssr, ssrHydrationKey, escape, createComponent } from 'solid-js/web';
2
2
  import { mergeProps, children, Show } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import Element from '../Element/index.js';
5
5
  import { unwrapStringOrJSXElement, isEmptyJSXElement } from '../utils/solid.js';
6
6
 
7
- var _tmpl$ = /*#__PURE__*/template(`<div class="inline-flex flex-col items-center gap-8px text-[var(--ant-color-primary)]"><span class="i-ant-design:loading keyframes-spin [animation:spin_1s_linear_infinite]">`),
8
- _tmpl$2 = /*#__PURE__*/template(`<div>`),
9
- _tmpl$3 = /*#__PURE__*/template(`<div class="absolute inset-0 flex items-center justify-center bg-[var(--ant-color-bg-container)] opacity-40">`);
7
+ var _tmpl$ = ["<div", " class=\"inline-flex flex-col items-center gap-8px text-[var(--ant-color-primary)]\"><span class=\"i-ant-design:loading keyframes-spin [animation:spin_1s_linear_infinite]\" style=\"", "\"></span><!--$-->", "<!--/--></div>"],
8
+ _tmpl$2 = ["<div", ">", "</div>"],
9
+ _tmpl$3 = ["<div", " class=\"absolute inset-0 flex items-center justify-center bg-[var(--ant-color-bg-container)] opacity-40\">", "</div>"];
10
10
  const Spin = _props => {
11
11
  const props = mergeProps({
12
12
  spinning: true,
@@ -14,20 +14,14 @@ const Spin = _props => {
14
14
  }, _props);
15
15
  const resolvedChildren = children(() => props.children);
16
16
  const resolvedTip = children(() => unwrapStringOrJSXElement(props.tip));
17
- const spin = (() => {
18
- var _el$ = _tmpl$(),
19
- _el$2 = _el$.firstChild;
20
- insert(_el$, createComponent(Show, {
21
- get when() {
22
- return !isEmptyJSXElement(resolvedTip());
23
- },
24
- get children() {
25
- return resolvedTip();
26
- }
27
- }), null);
28
- effect(() => `${props.size}px` != null ? _el$2.style.setProperty("font-size", `${props.size}px`) : _el$2.style.removeProperty("font-size"));
29
- return _el$;
30
- })();
17
+ const spin = ssr(_tmpl$, ssrHydrationKey(), "font-size:" + `${escape(props.size, true)}px`, escape(createComponent(Show, {
18
+ get when() {
19
+ return !isEmptyJSXElement(resolvedTip());
20
+ },
21
+ get children() {
22
+ return resolvedTip();
23
+ }
24
+ })));
31
25
  return createComponent(Show, {
32
26
  get when() {
33
27
  return !isEmptyJSXElement(resolvedChildren());
@@ -59,18 +53,12 @@ const Spin = _props => {
59
53
  return props.style;
60
54
  },
61
55
  get children() {
62
- return [(() => {
63
- var _el$3 = _tmpl$2();
64
- insert(_el$3, resolvedChildren);
65
- return _el$3;
66
- })(), createComponent(Show, {
56
+ return [ssr(_tmpl$2, ssrHydrationKey(), escape(resolvedChildren())), createComponent(Show, {
67
57
  get when() {
68
58
  return props.spinning;
69
59
  },
70
60
  get children() {
71
- var _el$4 = _tmpl$3();
72
- insert(_el$4, spin);
73
- return _el$4;
61
+ return ssr(_tmpl$3, ssrHydrationKey(), escape(spin));
74
62
  }
75
63
  })];
76
64
  }
@@ -1,10 +1,10 @@
1
- import { createComponent, effect, className, template } from 'solid-js/web';
1
+ import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape } from 'solid-js/web';
2
2
  import cs from 'classnames';
3
3
  import createControllableValue from '../hooks/createControllableValue.js';
4
4
  import Element from '../Element/index.js';
5
5
  import useComponentSize from '../hooks/useComponentSize.js';
6
6
 
7
- var _tmpl$ = /*#__PURE__*/template(`<div>`);
7
+ var _tmpl$ = ["<div", "></div>"];
8
8
  const Switch = props => {
9
9
  const size = useComponentSize(() => props.size);
10
10
  const [checked, setChecked] = createControllableValue(props, {
@@ -27,13 +27,11 @@ const Switch = props => {
27
27
  setChecked(c => !c);
28
28
  },
29
29
  get children() {
30
- var _el$ = _tmpl$();
31
- effect(() => className(_el$, cs('rounded-50% bg-white absolute top-1/2 -translate-y-1/2 transition-left', {
30
+ return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs('rounded-50% bg-white absolute top-1/2 -translate-y-1/2 transition-left', {
32
31
  large: 'w-24px h-24px',
33
32
  middle: 'w-18px h-18px',
34
33
  small: 'w-12px h-12px'
35
- }[size()], checked() ? 'right-2px' : 'left-2px')));
36
- return _el$;
34
+ }[size()], checked() ? 'right-2px' : 'left-2px'), true), false));
37
35
  }
38
36
  });
39
37
  };