antd-solid 0.0.20 → 0.0.22

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 (66) hide show
  1. package/css/index.css +1 -1
  2. package/dist/index.esm.js +2508 -1078
  3. package/dist/index.umd.js +1 -1
  4. package/es/Button/index.js +25 -7
  5. package/es/Checkbox/Group.js +2 -2
  6. package/es/Checkbox/index.js +26 -13
  7. package/es/CodeInput/index.js +3 -0
  8. package/es/Collapse/Item.js +50 -8
  9. package/es/Collapse/index.js +5 -3
  10. package/es/ColorPicker/ColorPickerInput.js +224 -210
  11. package/es/ColorPicker/ColorPickerSelect.js +61 -4
  12. package/es/ColorPicker/ColorPickerSlider.js +100 -67
  13. package/es/ColorPicker/index.js +62 -16
  14. package/es/ContextMenu/index.js +5 -1
  15. package/es/Cursor/index.js +15 -3
  16. package/es/Divider/index.js +12 -3
  17. package/es/Drawer/index.js +83 -42
  18. package/es/Element/index.js +2 -6
  19. package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +12 -4
  20. package/es/Empty/assets/EmptySvg.js +3 -3
  21. package/es/Empty/assets/SimpleEmptySvg.js +3 -3
  22. package/es/Empty/index.js +12 -4
  23. package/es/Form/FormItem.js +76 -47
  24. package/es/Fragment/index.js +3 -1
  25. package/es/Image/index.js +31 -11
  26. package/es/Input/TextArea.js +31 -5
  27. package/es/Input/index.js +103 -46
  28. package/es/InputNumber/index.js +11 -4
  29. package/es/Menu/InternalMenu.js +93 -37
  30. package/es/Message/Message.js +11 -7
  31. package/es/Modal/index.js +107 -55
  32. package/es/Modal/useModal.js +14 -5
  33. package/es/Modal/warning.js +14 -5
  34. package/es/Popconfirm/index.js +36 -24
  35. package/es/Popover/index.js +20 -11
  36. package/es/Progress/Circle.js +63 -14
  37. package/es/Progress/index.js +38 -14
  38. package/es/Radio/Button.js +20 -4
  39. package/es/Radio/index.js +35 -5
  40. package/es/RangeInput/index.js +76 -22
  41. package/es/Result/index.js +27 -6
  42. package/es/Segmented/index.js +33 -13
  43. package/es/Select/index.js +35 -6
  44. package/es/SelectInput/index.js +112 -48
  45. package/es/Slider/index.js +84 -11
  46. package/es/Space/index.js +2 -2
  47. package/es/Spin/index.js +26 -14
  48. package/es/Switch/index.js +6 -4
  49. package/es/Table/index.js +40 -18
  50. package/es/Tabs/index.js +195 -91
  51. package/es/Timeline/index.js +14 -4
  52. package/es/Tooltip/index.js +48 -20
  53. package/es/Transformer/index.js +123 -59
  54. package/es/Tree/SingleLevelTree.js +191 -30
  55. package/es/TreeFor/index.js +3 -3
  56. package/es/TreeSelect/index.js +6 -4
  57. package/es/Upload/index.js +38 -4
  58. package/es/assets/svg/ColorPickUp.js +19 -6
  59. package/es/assets/svg/Crosshair.js +45 -6
  60. package/es/assets/svg/Resize.js +19 -6
  61. package/es/assets/svg/Rotate.js +14 -13
  62. package/es/assets/svg/RotateArrow.js +15 -20
  63. package/es/hooks/useClickAway.js +4 -6
  64. package/package.json +2 -2
  65. package/es/utils/DOMRect.d.ts +0 -22
  66. package/es/utils/DOMRect.js +0 -41
package/es/Table/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { createComponent, ssr, ssrHydrationKey, escape, ssrAttribute } from 'solid-js/web';
1
+ import { createComponent, insert, effect, className, template } from 'solid-js/web';
2
2
  import { For, Show } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import Empty from '../Empty/index.js';
5
5
  import Element from '../Element/index.js';
6
6
  import useComponentSize from '../hooks/useComponentSize.js';
7
7
 
8
- var _tmpl$ = ["<table", " class=\"w-full\"><thead><tr>", "</tr></thead><tbody>", "</tbody></table>"],
9
- _tmpl$2 = ["<th", ">", "</th>"],
10
- _tmpl$3 = ["<tr", " class=\"hover:bg-[var(--ant-table-row-hover-bg)]\">", "</tr>"],
11
- _tmpl$4 = ["<td", ">", "</td>"];
8
+ var _tmpl$ = /*#__PURE__*/template(`<table class=w-full><thead><tr></tr></thead><tbody>`),
9
+ _tmpl$2 = /*#__PURE__*/template(`<th>`),
10
+ _tmpl$3 = /*#__PURE__*/template(`<tr class=hover:bg-[var(--ant-table-row-hover-bg)]>`),
11
+ _tmpl$4 = /*#__PURE__*/template(`<td>`);
12
12
  const sizeClassDict = {
13
13
  large: 'p-16px leading-22px',
14
14
  middle: 'px-8px py-12px leading-22px',
@@ -19,22 +19,44 @@ const Table = props => {
19
19
  return createComponent(Element, {
20
20
  "class": "[font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)]",
21
21
  get children() {
22
- return [ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(For, {
23
- get each() {
24
- return props.columns;
25
- },
26
- children: item => ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs(sizeClassDict[size()], 'bg-[var(--ant-table-header-bg)] font-bold [border-bottom:1px_solid_var(--ant-table-border-color)] text-left'), true), false), escape(item.title))
27
- })), escape(createComponent(For, {
28
- get each() {
29
- return props.dataSource;
30
- },
31
- children: (row, i) => ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(For, {
22
+ return [(() => {
23
+ var _el$ = _tmpl$(),
24
+ _el$2 = _el$.firstChild,
25
+ _el$3 = _el$2.firstChild,
26
+ _el$4 = _el$2.nextSibling;
27
+ insert(_el$3, createComponent(For, {
32
28
  get each() {
33
29
  return props.columns;
34
30
  },
35
- children: item => ssr(_tmpl$4, ssrHydrationKey() + ssrAttribute("class", escape(cs(sizeClassDict[size()], '[border-bottom:1px_solid_var(--ant-table-border-color)]'), true), false), escape(item.render(row, i)))
36
- })))
37
- }))), createComponent(Show, {
31
+ children: item => (() => {
32
+ var _el$5 = _tmpl$2();
33
+ insert(_el$5, () => item.title);
34
+ effect(() => className(_el$5, cs(sizeClassDict[size()], 'bg-[var(--ant-table-header-bg)] font-bold [border-bottom:1px_solid_var(--ant-table-border-color)] text-left')));
35
+ return _el$5;
36
+ })()
37
+ }));
38
+ insert(_el$4, createComponent(For, {
39
+ get each() {
40
+ return props.dataSource;
41
+ },
42
+ children: (row, i) => (() => {
43
+ var _el$6 = _tmpl$3();
44
+ insert(_el$6, createComponent(For, {
45
+ get each() {
46
+ return props.columns;
47
+ },
48
+ children: item => (() => {
49
+ var _el$7 = _tmpl$4();
50
+ insert(_el$7, () => item.render(row, i));
51
+ effect(() => className(_el$7, cs(sizeClassDict[size()], '[border-bottom:1px_solid_var(--ant-table-border-color)]')));
52
+ return _el$7;
53
+ })()
54
+ }));
55
+ return _el$6;
56
+ })()
57
+ }));
58
+ return _el$;
59
+ })(), createComponent(Show, {
38
60
  get when() {
39
61
  return !props.dataSource.length;
40
62
  },
package/es/Tabs/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape, ssrStyle, Dynamic } from 'solid-js/web';
2
- import { mergeProps, untrack, createSelector, createSignal, createEffect, on, children, Show, Switch, Match, For } from 'solid-js';
1
+ import { delegateEvents, createComponent, insert, effect, className, setAttribute, style, Dynamic, template, use } from 'solid-js/web';
2
+ import { mergeProps, untrack, createSelector, createSignal, createEffect, on, children, Show, Switch, Match, For, onCleanup } from 'solid-js';
3
3
  import cs from 'classnames';
4
4
  import Segmented from '../Segmented/index.js';
5
5
  import { unwrapStringOrJSXElement } from '../utils/solid.js';
@@ -8,10 +8,8 @@ import Element from '../Element/index.js';
8
8
  import createControllableValue from '../hooks/createControllableValue.js';
9
9
  import useComponentSize from '../hooks/useComponentSize.js';
10
10
 
11
- var _tmpl$ = ["<div", ">", "</div>"],
12
- _tmpl$2 = ["<div", "><!--$-->", "<!--/--><div aria-label=\"selected-bar\"", " style=\"", "\"></div></div>"],
13
- _tmpl$3 = ["<div", " style=\"", "\"><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"],
14
- _tmpl$4 = ["<div", " style=\"", "\">", "</div>"];
11
+ var _tmpl$ = /*#__PURE__*/template(`<div>`),
12
+ _tmpl$2 = /*#__PURE__*/template(`<div><div aria-label=selected-bar>`);
15
13
  const Tabs = _props => {
16
14
  const props = mergeProps({
17
15
  type: 'line',
@@ -30,8 +28,33 @@ const Tabs = _props => {
30
28
  left: '0px',
31
29
  width: '0px'
32
30
  });
31
+ let lineNav;
32
+ const updateSelectedBarStyle = () => {
33
+ if (!lineNav) return;
34
+ const el = lineNav.querySelector(':scope > [aria-label="selected"]');
35
+ if (!el) return;
36
+ if (props.placement === 'top' || props.placement === 'bottom') {
37
+ setSelectedBarStyle({
38
+ left: `${el.offsetLeft}px`,
39
+ width: `${el.clientWidth}px`
40
+ });
41
+ } else {
42
+ setSelectedBarStyle({
43
+ top: `${el.offsetTop}px`,
44
+ height: `${el.clientHeight}px`
45
+ });
46
+ }
47
+ };
33
48
  createEffect(on([() => props.type, () => props.placement], () => {
34
- return;
49
+ if (!lineNav) return;
50
+ updateSelectedBarStyle();
51
+ const resizeObserver = new ResizeObserver(() => {
52
+ updateSelectedBarStyle();
53
+ });
54
+ resizeObserver.observe(lineNav);
55
+ onCleanup(() => {
56
+ resizeObserver.disconnect();
57
+ });
35
58
  }));
36
59
  const resolvedAddonBefore = children(() => props.addonBefore);
37
60
  const resolvedAddonAfter = children(() => props.addonAfter);
@@ -47,89 +70,157 @@ const Tabs = _props => {
47
70
  };
48
71
  },
49
72
  get children() {
50
- return [ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("class", escape(cs('shrink-0 flex items-center gap-16px', props.navClass, props.type === 'segment' ? 'mb-[--ant-tabs-gap]' : ['border-solid border-[var(--ant-color-border-secondary)] border-0', props.placement === 'top' && '!border-b-1px mb-[--ant-tabs-gap]', props.placement === 'bottom' && '!border-t-1px mt-[--ant-tabs-gap]', props.placement === 'left' && '!border-r-1px mr-[--ant-tabs-gap]', props.placement === 'right' && '!border-l-1px ml-[--ant-tabs-gap]', (props.placement === 'left' || props.placement === 'right') && 'flex-col'], {
51
- small: '[font-size:var(--ant-font-size)]',
52
- middle: '[font-size:var(--ant-font-size)]',
53
- large: '[font-size:var(--ant-font-size-lg)]'
54
- }[size()]), true), false), ssrStyle(props.tabBarStyle), escape(createComponent(Show, {
55
- get when() {
56
- return resolvedAddonBefore();
57
- },
58
- get children() {
59
- return ssr(_tmpl$, ssrHydrationKey(), escape(resolvedAddonBefore()));
60
- }
61
- })), escape(createComponent(Switch, {
62
- get children() {
63
- return [createComponent(Match, {
64
- get when() {
65
- return props.type === 'line';
66
- },
67
- get children() {
68
- return ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs('grow flex relative', (props.placement === 'top' || props.placement === 'bottom') && 'gap-32px', (props.placement === 'left' || props.placement === 'right') && 'flex-col gap-16px'), true), false), escape(createComponent(For, {
69
- get each() {
70
- return props.items;
71
- },
72
- children: item => ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs('cursor-pointer', 'hover:text-[var(--ant-color-primary)]', props.navItemClass, isSelectedItem(item.key) && 'text-[var(--ant-color-primary)]', (props.placement === 'top' || props.placement === 'bottom') && {
73
- small: 'py-[--ant-padding-xs]',
74
- middle: 'py-[--ant-padding-sm]',
75
- large: 'py-[--ant-padding]'
76
- }[size()], (props.placement === 'left' || props.placement === 'right') && 'px-24px py-8px'), true), false) + ssrAttribute("aria-label", isSelectedItem(item.key) ? 'selected' : escape(undefined, true), false), escape(unwrapStringOrJSXElement(item.label)))
77
- })), ssrAttribute("class", escape(cs('absolute bg-[var(--ant-color-primary)] transition-left,top', props.placement === 'top' && '-bottom-1px', props.placement === 'bottom' && '-top-1px', props.placement === 'left' && '-right-1px', props.placement === 'right' && '-left-1px', (props.placement === 'top' || props.placement === 'bottom') && 'h-2px', (props.placement === 'left' || props.placement === 'right') && 'w-2px'), true), false), ssrStyle(selectedBarStyle()));
78
- }
79
- }), createComponent(Match, {
80
- get when() {
81
- return props.type === 'segment';
82
- },
83
- get children() {
84
- return createComponent(Segmented, {
85
- "class": "grow",
86
- block: true,
87
- get size() {
88
- return size();
89
- },
90
- get disabled() {
91
- return props.disabled;
92
- },
93
- get value() {
94
- return activeKey();
95
- },
96
- onChange: key => {
97
- setActiveKey(key);
98
- },
99
- get options() {
100
- return props.items.map(item => ({
101
- label: item.label,
102
- value: item.key
103
- }));
104
- }
105
- });
106
- }
107
- }), createComponent(Match, {
108
- get when() {
109
- return props.type === 'card';
110
- },
111
- get children() {
112
- return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs('grow flex gap-2px relative', (props.placement === 'left' || props.placement === 'right') && 'flex-col'), true), false), escape(createComponent(For, {
113
- get each() {
114
- return props.items;
115
- },
116
- children: item => ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs({
117
- small: 'py-6px',
118
- middle: 'py-8px',
119
- large: 'py-8px'
120
- }[size()], 'px-16px cursor-pointer border-solid border-[var(--ant-color-border-secondary)] border-1px relative', 'hover:text-[var(--ant-color-primary)]', props.placement === 'top' && 'rounded-t-[var(--ant-border-radius-lg)] !border-b-0px', props.placement === 'bottom' && 'rounded-b-[var(--ant-border-radius-lg)] !border-t-0px', props.placement === 'left' && 'rounded-l-[var(--ant-border-radius-lg)] !border-r-0px', props.placement === 'right' && 'rounded-r-[var(--ant-border-radius-lg)] !border-l-0px', props.navItemClass, isSelectedItem(item.key) ? ['text-[var(--ant-color-primary)] bg-[var(--ant-color-bg-container)]', ['after:content-empty after:block after:absolute after:bg-inherit', props.placement === 'top' && 'after:bottom--1px', props.placement === 'bottom' && 'after:top--1px', props.placement === 'left' && 'after:right--1px', props.placement === 'right' && 'after:left--1px', (props.placement === 'top' || props.placement === 'bottom') && 'after:left-0 after:right-0 after:h-1px', (props.placement === 'left' || props.placement === 'right') && 'after:top-0 after:bottom-0 after:w-1px']] : 'bg-[var(--ant-tabs-card-bg)]'), true), false), escape(unwrapStringOrJSXElement(item.label)))
121
- })));
122
- }
123
- })];
124
- }
125
- })), escape(createComponent(Show, {
126
- get when() {
127
- return resolvedAddonAfter();
128
- },
129
- get children() {
130
- return ssr(_tmpl$, ssrHydrationKey(), escape(resolvedAddonAfter()));
131
- }
132
- }))), createComponent(For, {
73
+ return [(() => {
74
+ var _el$ = _tmpl$();
75
+ insert(_el$, createComponent(Show, {
76
+ get when() {
77
+ return resolvedAddonBefore();
78
+ },
79
+ get children() {
80
+ var _el$2 = _tmpl$();
81
+ insert(_el$2, resolvedAddonBefore);
82
+ return _el$2;
83
+ }
84
+ }), null);
85
+ insert(_el$, createComponent(Switch, {
86
+ get children() {
87
+ return [createComponent(Match, {
88
+ get when() {
89
+ return props.type === 'line';
90
+ },
91
+ get children() {
92
+ var _el$3 = _tmpl$2(),
93
+ _el$4 = _el$3.firstChild;
94
+ var _ref$ = lineNav;
95
+ typeof _ref$ === "function" ? use(_ref$, _el$3) : lineNav = _el$3;
96
+ insert(_el$3, createComponent(For, {
97
+ get each() {
98
+ return props.items;
99
+ },
100
+ children: item => (() => {
101
+ var _el$7 = _tmpl$();
102
+ _el$7.$$click = () => {
103
+ setActiveKey(item.key);
104
+ updateSelectedBarStyle();
105
+ };
106
+ insert(_el$7, () => unwrapStringOrJSXElement(item.label));
107
+ effect(_p$ => {
108
+ var _v$6 = cs('cursor-pointer', 'hover:text-[var(--ant-color-primary)]', props.navItemClass, isSelectedItem(item.key) && 'text-[var(--ant-color-primary)]', (props.placement === 'top' || props.placement === 'bottom') && {
109
+ small: 'py-[--ant-padding-xs]',
110
+ middle: 'py-[--ant-padding-sm]',
111
+ large: 'py-[--ant-padding]'
112
+ }[size()], (props.placement === 'left' || props.placement === 'right') && 'px-24px py-8px'),
113
+ _v$7 = isSelectedItem(item.key) ? 'selected' : undefined;
114
+ _v$6 !== _p$.e && className(_el$7, _p$.e = _v$6);
115
+ _v$7 !== _p$.t && setAttribute(_el$7, "aria-label", _p$.t = _v$7);
116
+ return _p$;
117
+ }, {
118
+ e: undefined,
119
+ t: undefined
120
+ });
121
+ return _el$7;
122
+ })()
123
+ }), _el$4);
124
+ effect(_p$ => {
125
+ var _v$ = cs('grow flex relative', (props.placement === 'top' || props.placement === 'bottom') && 'gap-32px', (props.placement === 'left' || props.placement === 'right') && 'flex-col gap-16px'),
126
+ _v$2 = cs('absolute bg-[var(--ant-color-primary)] transition-left,top', props.placement === 'top' && '-bottom-1px', props.placement === 'bottom' && '-top-1px', props.placement === 'left' && '-right-1px', props.placement === 'right' && '-left-1px', (props.placement === 'top' || props.placement === 'bottom') && 'h-2px', (props.placement === 'left' || props.placement === 'right') && 'w-2px'),
127
+ _v$3 = selectedBarStyle();
128
+ _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
129
+ _v$2 !== _p$.t && className(_el$4, _p$.t = _v$2);
130
+ _p$.a = style(_el$4, _v$3, _p$.a);
131
+ return _p$;
132
+ }, {
133
+ e: undefined,
134
+ t: undefined,
135
+ a: undefined
136
+ });
137
+ return _el$3;
138
+ }
139
+ }), createComponent(Match, {
140
+ get when() {
141
+ return props.type === 'segment';
142
+ },
143
+ get children() {
144
+ return createComponent(Segmented, {
145
+ "class": "grow",
146
+ block: true,
147
+ get size() {
148
+ return size();
149
+ },
150
+ get disabled() {
151
+ return props.disabled;
152
+ },
153
+ get value() {
154
+ return activeKey();
155
+ },
156
+ onChange: key => {
157
+ setActiveKey(key);
158
+ },
159
+ get options() {
160
+ return props.items.map(item => ({
161
+ label: item.label,
162
+ value: item.key
163
+ }));
164
+ }
165
+ });
166
+ }
167
+ }), createComponent(Match, {
168
+ get when() {
169
+ return props.type === 'card';
170
+ },
171
+ get children() {
172
+ var _el$5 = _tmpl$();
173
+ insert(_el$5, createComponent(For, {
174
+ get each() {
175
+ return props.items;
176
+ },
177
+ children: item => (() => {
178
+ var _el$8 = _tmpl$();
179
+ _el$8.$$click = () => {
180
+ setActiveKey(item.key);
181
+ updateSelectedBarStyle();
182
+ };
183
+ insert(_el$8, () => unwrapStringOrJSXElement(item.label));
184
+ effect(() => className(_el$8, cs({
185
+ small: 'py-6px',
186
+ middle: 'py-8px',
187
+ large: 'py-8px'
188
+ }[size()], 'px-16px cursor-pointer border-solid border-[var(--ant-color-border-secondary)] border-1px relative', 'hover:text-[var(--ant-color-primary)]', props.placement === 'top' && 'rounded-t-[var(--ant-border-radius-lg)] !border-b-0px', props.placement === 'bottom' && 'rounded-b-[var(--ant-border-radius-lg)] !border-t-0px', props.placement === 'left' && 'rounded-l-[var(--ant-border-radius-lg)] !border-r-0px', props.placement === 'right' && 'rounded-r-[var(--ant-border-radius-lg)] !border-l-0px', props.navItemClass, isSelectedItem(item.key) ? ['text-[var(--ant-color-primary)] bg-[var(--ant-color-bg-container)]', ['after:content-empty after:block after:absolute after:bg-inherit', props.placement === 'top' && 'after:bottom--1px', props.placement === 'bottom' && 'after:top--1px', props.placement === 'left' && 'after:right--1px', props.placement === 'right' && 'after:left--1px', (props.placement === 'top' || props.placement === 'bottom') && 'after:left-0 after:right-0 after:h-1px', (props.placement === 'left' || props.placement === 'right') && 'after:top-0 after:bottom-0 after:w-1px']] : 'bg-[var(--ant-tabs-card-bg)]')));
189
+ return _el$8;
190
+ })()
191
+ }));
192
+ effect(() => className(_el$5, cs('grow flex gap-2px relative', (props.placement === 'left' || props.placement === 'right') && 'flex-col')));
193
+ return _el$5;
194
+ }
195
+ })];
196
+ }
197
+ }), null);
198
+ insert(_el$, createComponent(Show, {
199
+ get when() {
200
+ return resolvedAddonAfter();
201
+ },
202
+ get children() {
203
+ var _el$6 = _tmpl$();
204
+ insert(_el$6, resolvedAddonAfter);
205
+ return _el$6;
206
+ }
207
+ }), null);
208
+ effect(_p$ => {
209
+ var _v$4 = cs('shrink-0 flex items-center gap-16px', props.navClass, props.type === 'segment' ? 'mb-[--ant-tabs-gap]' : ['border-solid border-[var(--ant-color-border-secondary)] border-0', props.placement === 'top' && '!border-b-1px mb-[--ant-tabs-gap]', props.placement === 'bottom' && '!border-t-1px mt-[--ant-tabs-gap]', props.placement === 'left' && '!border-r-1px mr-[--ant-tabs-gap]', props.placement === 'right' && '!border-l-1px ml-[--ant-tabs-gap]', (props.placement === 'left' || props.placement === 'right') && 'flex-col'], {
210
+ small: '[font-size:var(--ant-font-size)]',
211
+ middle: '[font-size:var(--ant-font-size)]',
212
+ large: '[font-size:var(--ant-font-size-lg)]'
213
+ }[size()]),
214
+ _v$5 = props.tabBarStyle;
215
+ _v$4 !== _p$.e && className(_el$, _p$.e = _v$4);
216
+ _p$.t = style(_el$, _v$5, _p$.t);
217
+ return _p$;
218
+ }, {
219
+ e: undefined,
220
+ t: undefined
221
+ });
222
+ return _el$;
223
+ })(), createComponent(For, {
133
224
  get each() {
134
225
  return props.items;
135
226
  },
@@ -141,12 +232,25 @@ const Tabs = _props => {
141
232
  return isSelectedItem(item.key);
142
233
  },
143
234
  get children() {
144
- return ssr(_tmpl$4, ssrHydrationKey() + ssrAttribute("class", escape(cs(props.contentClass, 'grow'), true), false), "display:" + (isSelectedItem(item.key) ? "block" : "none"), escape(unwrapStringOrJSXElement(item.children)));
235
+ var _el$9 = _tmpl$();
236
+ insert(_el$9, () => unwrapStringOrJSXElement(item.children));
237
+ effect(_p$ => {
238
+ var _v$8 = cs(props.contentClass, 'grow'),
239
+ _v$9 = isSelectedItem(item.key) ? 'block' : 'none';
240
+ _v$8 !== _p$.e && className(_el$9, _p$.e = _v$8);
241
+ _v$9 !== _p$.t && ((_p$.t = _v$9) != null ? _el$9.style.setProperty("display", _v$9) : _el$9.style.removeProperty("display"));
242
+ return _p$;
243
+ }, {
244
+ e: undefined,
245
+ t: undefined
246
+ });
247
+ return _el$9;
145
248
  }
146
249
  })
147
250
  })];
148
251
  }
149
252
  });
150
253
  };
254
+ delegateEvents(["click"]);
151
255
 
152
256
  export { Tabs as default };
@@ -1,9 +1,9 @@
1
- import { createComponent, ssr, ssrHydrationKey, escape } from 'solid-js/web';
1
+ import { createComponent, insert, memo, template } from 'solid-js/web';
2
2
  import { For } from 'solid-js';
3
3
  import Element from '../Element/index.js';
4
4
 
5
- var _tmpl$ = ["<div", " class=\"flex relative\"><!--$-->", "<!--/--><div class=\"w-[10px] h-[10px] border-solid border-width-[3px] border-[var(--ant-color-primary)] bg-white rounded-[50%] mt-[8px]\"></div><div class=\"ml-[8px]\">", "</div></div>"],
6
- _tmpl$2 = ["<div", " class=\"absolute top-[8px] bottom-[-24px] left-[4px] w-[2px] bg-[rgba(5,5,5,.06)]\"></div>"];
5
+ var _tmpl$ = /*#__PURE__*/template(`<div class="flex relative"><div class="w-[10px] h-[10px] border-solid border-width-[3px] border-[var(--ant-color-primary)] bg-white rounded-[50%] mt-[8px]"></div><div class=ml-[8px]>`),
6
+ _tmpl$2 = /*#__PURE__*/template(`<div class="absolute top-[8px] bottom-[-24px] left-[4px] w-[2px] bg-[rgba(5,5,5,.06)]">`);
7
7
  const Timeline = props => {
8
8
  return createComponent(Element, {
9
9
  "class": "flex flex-col gap-[16px]",
@@ -12,7 +12,17 @@ const Timeline = props => {
12
12
  get each() {
13
13
  return props.items;
14
14
  },
15
- children: (item, i) => ssr(_tmpl$, ssrHydrationKey(), i() !== props.items.length - 1 && _tmpl$2[0] + ssrHydrationKey() + _tmpl$2[1], escape(item.children?.()))
15
+ children: (item, i) => (() => {
16
+ var _el$ = _tmpl$(),
17
+ _el$2 = _el$.firstChild,
18
+ _el$3 = _el$2.nextSibling;
19
+ insert(_el$, (() => {
20
+ var _c$ = memo(() => i() !== props.items.length - 1);
21
+ return () => _c$() && _tmpl$2();
22
+ })(), _el$2);
23
+ insert(_el$3, () => item.children?.());
24
+ return _el$;
25
+ })()
16
26
  });
17
27
  }
18
28
  });
@@ -1,4 +1,4 @@
1
- import { createComponent, Dynamic, Portal, ssr, ssrHydrationKey, ssrAttribute, escape, ssrStyle } from 'solid-js/web';
1
+ import { createComponent, memo, Dynamic, Portal, insert, effect, className, style, template } from 'solid-js/web';
2
2
  import { isEqual, compact } from 'lodash-es';
3
3
  import { mergeProps, createSignal, useContext, children, createMemo, createEffect, onCleanup, createRenderEffect, on, Show } from 'solid-js';
4
4
  import cs from 'classnames';
@@ -10,10 +10,8 @@ import DelayShow from '../DelayShow/index.js';
10
10
  import useHover from '../hooks/useHover.js';
11
11
  import Element$1 from '../Element/index.js';
12
12
  import TooltipContext from './context.js';
13
- import { DOMRect } from '../utils/DOMRect.js';
14
13
 
15
- var _tmpl$ = ["<div", " style=\"", "\">", "</div>"],
16
- _tmpl$2 = ["<div", " style=\"", "\"></div>"];
14
+ var _tmpl$ = /*#__PURE__*/template(`<div>`);
17
15
  const unwrapContent = (content, close) => {
18
16
  return typeof content === 'function' ? content(close) : content;
19
17
  };
@@ -166,7 +164,7 @@ const Tooltip = _props => {
166
164
  }
167
165
  };
168
166
  // =========================== Tooltip ============================
169
- nanoid();
167
+ const id = nanoid();
170
168
  const resolvedChildren = children(() => createComponent(TooltipContext.Provider, {
171
169
  value: context,
172
170
  get children() {
@@ -174,6 +172,10 @@ const Tooltip = _props => {
174
172
  }
175
173
  }));
176
174
  const [contentRef, setContentRef] = createSignal();
175
+ const setPopupRef = node => {
176
+ setContentRef(node);
177
+ parentContext?.registerSubPopup(id, node);
178
+ };
177
179
  const [_open, setOpen] = createControllableValue(_props, {
178
180
  defaultValue: false,
179
181
  defaultValuePropName: 'defaultOpen',
@@ -416,7 +418,7 @@ const Tooltip = _props => {
416
418
  _contentRef.style.setProperty('--inner-translate-y', `${innerTranslateY}px`);
417
419
  }
418
420
  });
419
- return [resolvedChildren(), createComponent(Dynamic, {
421
+ return [memo(resolvedChildren), createComponent(Dynamic, {
420
422
  get component() {
421
423
  return props.destroyOnClose ? Show : DelayShow;
422
424
  },
@@ -430,6 +432,7 @@ const Tooltip = _props => {
430
432
  },
431
433
  get children() {
432
434
  return createComponent(Element$1, {
435
+ ref: setPopupRef,
433
436
  get ["class"]() {
434
437
  return cs('z-1000 fixed left-0 top-0 [font-size:var(--ant-font-size)] text-[var(--ant-color-text)] leading-[var(--ant-line-height)]', open() ? 'block' : 'hidden');
435
438
  },
@@ -440,24 +443,49 @@ const Tooltip = _props => {
440
443
  e.stopPropagation();
441
444
  },
442
445
  get children() {
443
- return [ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cs('px-8px py-6px [box-shadow:var(--ant-box-shadow)] rounded-[var(--ant-border-radius-lg)] overflow-auto', props.plain ? 'text-[var(--ant-color-text)] bg-[var(--ant-color-bg-container-tertiary)]' : 'text-[var(--ant-color-text-light-solid)] bg-[var(--ant-color-bg-spotlight)]'), true), false), ssrStyle({
444
- transform: 'translate(var(--inner-translate-x), var(--inner-translate-y))',
445
- ...props.contentStyle
446
- }), escape(createComponent(TooltipContext.Provider, {
447
- value: context,
448
- get children() {
449
- return unwrapContent(props.content, () => setOpen(false));
450
- }
451
- }))), createComponent(Show, {
446
+ return [(() => {
447
+ var _el$ = _tmpl$();
448
+ insert(_el$, createComponent(TooltipContext.Provider, {
449
+ value: context,
450
+ get children() {
451
+ return unwrapContent(props.content, () => setOpen(false));
452
+ }
453
+ }));
454
+ effect(_p$ => {
455
+ var _v$ = cs('px-8px py-6px [box-shadow:var(--ant-box-shadow)] rounded-[var(--ant-border-radius-lg)] overflow-auto', props.plain ? 'text-[var(--ant-color-text)] bg-[var(--ant-color-bg-container-tertiary)]' : 'text-[var(--ant-color-text-light-solid)] bg-[var(--ant-color-bg-spotlight)]'),
456
+ _v$2 = {
457
+ transform: 'translate(var(--inner-translate-x), var(--inner-translate-y))',
458
+ ...props.contentStyle
459
+ };
460
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
461
+ _p$.t = style(_el$, _v$2, _p$.t);
462
+ return _p$;
463
+ }, {
464
+ e: undefined,
465
+ t: undefined
466
+ });
467
+ return _el$;
468
+ })(), createComponent(Show, {
452
469
  get when() {
453
470
  return props.arrow;
454
471
  },
455
472
  get children() {
456
- return ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs('w-8px h-8px absolute border-transparent [box-shadow:var(--ant-box-shadow)]'), true), false), ssrStyle({
457
- 'clip-path': 'polygon(-100% -100%, 200% -100%, 200% 200%)',
458
- 'background-color': props.plain ? 'var(--ant-color-bg-container-tertiary)' : 'var(--ant-color-bg-spotlight)',
459
- ...ARROW_STYLE_DICT[mergePlacement(reversedMainPlacement(), reversedMinorPlacement())]
460
- }));
473
+ var _el$2 = _tmpl$();
474
+ effect(_p$ => {
475
+ var _v$3 = cs('w-8px h-8px absolute border-transparent [box-shadow:var(--ant-box-shadow)]'),
476
+ _v$4 = {
477
+ 'clip-path': 'polygon(-100% -100%, 200% -100%, 200% 200%)',
478
+ 'background-color': props.plain ? 'var(--ant-color-bg-container-tertiary)' : 'var(--ant-color-bg-spotlight)',
479
+ ...ARROW_STYLE_DICT[mergePlacement(reversedMainPlacement(), reversedMinorPlacement())]
480
+ };
481
+ _v$3 !== _p$.e && className(_el$2, _p$.e = _v$3);
482
+ _p$.t = style(_el$2, _v$4, _p$.t);
483
+ return _p$;
484
+ }, {
485
+ e: undefined,
486
+ t: undefined
487
+ });
488
+ return _el$2;
461
489
  }
462
490
  })];
463
491
  }