intable 0.0.65 → 0.0.66

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.
@@ -1,4 +1,4 @@
1
- import { type Plugin } from '..';
1
+ import { type Plugin, type TableProps } from '..';
2
2
  declare module '../index' {
3
3
  interface TableProps {
4
4
  }
@@ -8,8 +8,16 @@ declare module '../index' {
8
8
  * 会自动将外键对象 组装到当前行数据中,便于在表格中显示外键对象中的其他属性。
9
9
  */
10
10
  foreignField?: string;
11
+ dialog?: boolean;
11
12
  }
12
13
  interface TableStore {
13
14
  }
14
15
  }
15
16
  export declare const OrmPlugin: Plugin;
17
+ export declare const TableSelect: (o: {
18
+ value: any;
19
+ valueObject?: any;
20
+ onChange?: (value: any) => void;
21
+ table: TableProps;
22
+ [key: string]: any;
23
+ }) => import("solid-js").JSX.Element;
@@ -1,8 +1,9 @@
1
- import { toArr } from "../utils.js";
1
+ import { isEmpty, toArr } from "../utils.js";
2
2
  import { Tags } from "./RenderPlugin/components.js";
3
3
  import { editors } from "./EditablePlugin.js";
4
4
  import { renders } from "./RenderPlugin/index.js";
5
5
  import { Dialog } from "../components/Dialog.js";
6
+ import { Select } from "../components/Select.js";
6
7
  import { Intable } from "../index.js";
7
8
  import { createComponent, delegateEvents, insert, memo, mergeProps, template } from "solid-js/web";
8
9
  import { createComputed, createResource, createRoot, createSignal, mergeProps as mergeProps$1, splitProps, untrack } from "solid-js";
@@ -13,123 +14,176 @@ const OrmPlugin = {
13
14
  name: "orm",
14
15
  priority: -Infinity,
15
16
  store: (e) => ({}),
16
- rewriteProps: { Table: ({ Table: e }, { store: p }) => (m) => {
17
- let h = createMutable({});
17
+ rewriteProps: { Table: ({ Table: e }, { store: g }) => (_) => {
18
+ let v = createMutable({});
18
19
  return createComputed(() => {
19
- let e = p.props.columns?.filter((e) => (e.type == "fk" || e.type == "fks") && e.foreignField);
20
- if (e.length) for (let m of e) for (let e of p.props.data) {
21
- if (m.foreignField in e) continue;
22
- Object.defineProperty(e, m.foreignField, {
23
- get: () => get(h, [m.id, e[p.props.rowKey]]),
24
- set: (g) => untrack(() => set(h, [m.id, e[p.props.rowKey]], g)),
20
+ let e = g.props.columns?.filter((e) => (e.type == "fk" || e.type == "fks") && e.foreignField);
21
+ if (e.length) for (let _ of e) for (let e of g.props.data) {
22
+ if (_.foreignField in e) continue;
23
+ Object.defineProperty(e, _.foreignField, {
24
+ get: () => get(v, [_.id, e[g.props.rowKey]]),
25
+ set: (y) => untrack(() => set(v, [_.id, e[g.props.rowKey]], y)),
25
26
  enumerable: !0,
26
27
  configurable: !0
27
28
  });
28
29
  }
29
- }), createComponent(e, m);
30
+ }), createComponent(e, _);
30
31
  } }
31
32
  };
32
- var createDialogEditor = (e, p) => (m) => createRoot((h) => {
33
- let { eventKey: _, value: v, col: y, ok: b, cancel: x, props: S, onChange: C } = m, w = p?.out ?? ((e) => e), [E, D] = createSignal(_ || v), O = createComponent(e, mergeProps({
34
- get value() {
35
- return E();
36
- },
37
- onChange: (e) => (D(w(e)), C?.(E()), b())
38
- }, p, S, { aaa: m }));
39
- return {
40
- el: createComponent(Dialog, {
41
- get title() {
42
- return `选择 ${y.name}`;
33
+ var createEditor = (e) => (g) => createRoot((_) => {
34
+ let { eventKey: v, value: y, col: b, ok: x, cancel: S, props: C, onChange: w } = g, [T, E] = createSignal(y), D;
35
+ return setTimeout(() => {
36
+ D?.showPicker?.();
37
+ }, 0), {
38
+ el: createComponent(e, mergeProps({
39
+ ref: (e) => D = e,
40
+ get value() {
41
+ return T();
43
42
  },
44
- onCancel: x,
45
- onOk: b,
46
- class: "min-w-[40vw]",
47
- children: O
48
- }),
49
- getValue: E,
50
- destroy: h,
51
- dialog: !0
43
+ onChange: (e) => (E(e), w?.(T()), !Array.isArray(T()) && x())
44
+ }, C, { aaa: g })),
45
+ getValue: T,
46
+ destroy: _,
47
+ dialog: b.dialog
52
48
  };
53
- }), ObjTags = (m) => {
54
- let h;
55
- [m, h] = splitProps(m, [
49
+ }), ObjTags = (e) => {
50
+ let v;
51
+ [e, v] = splitProps(e, [
56
52
  "col",
57
53
  "data",
58
54
  "value",
59
55
  "onChange",
60
56
  "multiple"
61
57
  ]);
62
- let g = () => m.col.table?.columns?.[0].id, _ = () => m.col.table?.rowKey ?? "id";
58
+ let y = () => e.col.table?.columns?.[0].id, b = () => e.col.table?.rowKey ?? "id";
63
59
  return createComponent(Tags, mergeProps({
64
60
  get value() {
65
- return toArr(m.value).map((e) => ({
66
- label: e[g()],
67
- value: e[_()]
61
+ return toArr(e.value).map((e) => ({
62
+ label: e[y()],
63
+ value: e[b()]
68
64
  }));
69
65
  },
70
- onChange: (e) => m.onChange?.(m.multiple ? e : e[0])
71
- }, h));
72
- }, FKTags = (m) => {
73
- let h;
74
- [m, h] = splitProps(m, [
66
+ onChange: (g) => e.onChange?.(e.multiple ? g : g[0])
67
+ }, v));
68
+ }, FKTags = (e) => {
69
+ let v;
70
+ [e, v] = splitProps(e, [
75
71
  "col",
76
72
  "data",
77
73
  "value",
78
74
  "onChange",
79
75
  "multiple"
80
76
  ]);
81
- let g = () => m.col.table?.columns?.[0].id, _ = () => m.col.table?.rowKey ?? "id", [v] = createResource(() => m.value, () => fetchDataByKeys(toArr(m.value).map((e) => e && typeof e != "object" ? e : e[_()]), m.col.table), { initialValue: [] });
77
+ let y = () => e.col.table?.columns?.[0].id, b = () => e.col.table?.rowKey ?? "id", [x] = createResource(() => e.value, () => fetchDataByKeys(toArr(e.value).map((e) => e && typeof e != "object" ? e : e[b()]), e.col.table), { initialValue: [] });
82
78
  return createComputed(() => {
83
- v(), untrack(() => set(m.data, m.col.foreignField, m.multiple ? v() : v()[0]));
79
+ x(), untrack(() => set(e.data, e.col.foreignField, e.multiple ? x() : x()[0]));
84
80
  }), createComponent(Tags, mergeProps({
85
81
  get value() {
86
- return v().map((e) => ({
87
- label: e[g()],
88
- value: e[_()]
82
+ return x().map((e) => ({
83
+ label: e[y()],
84
+ value: e[b()]
89
85
  }));
90
86
  },
91
- onChange: (e) => m.onChange?.(m.multiple ? e : e[0])
92
- }, h));
93
- }, ObjEditor = createDialogEditor((p) => {
94
- let m = mergeProps$1(() => p.aaa.col), h = () => m.table?.rowKey ?? "id", g = () => m.type == "objs" || m.type == "fks", v = () => m.type == "fk" || m.type == "fks", x = () => v() ? toArr(p.value).map((e) => ({ [h()]: e })) : toArr(p.value), S = (e) => p.onChange(v() ? g() ? e.map((e) => e[h()]) : e?.[h()] ?? null : e);
95
- return (() => {
96
- var e = _tmpl$(), h = e.firstChild, C = h.firstChild, w = C.firstChild, T = w.firstChild, E = T.nextSibling;
97
- E.nextSibling;
98
- var D = w.nextSibling, O = h.nextSibling;
99
- return insert(w, () => x().length, E), D.$$click = () => p.onChange?.(g() ? [] : null), insert(h, (() => {
100
- var e = memo(() => !!v());
101
- return () => e() ? createComponent(FKTags, mergeProps(p, {
102
- class: "ml-2",
103
- col: m,
104
- get value() {
105
- return x();
106
- },
107
- onChange: S,
108
- get multiple() {
109
- return g();
110
- }
111
- })) : createComponent(ObjTags, mergeProps(p, {
112
- class: "ml-2",
113
- col: m,
114
- get value() {
115
- return x();
116
- },
117
- onChange: S,
118
- get multiple() {
119
- return g();
87
+ onChange: (g) => e.onChange?.(e.multiple ? g : g[0])
88
+ }, v));
89
+ }, ObjEditor = createEditor((e) => {
90
+ let _ = mergeProps$1(() => e.aaa.col), v = () => _.table?.rowKey ?? "id", y = () => _.type == "objs" || _.type == "fks", x = () => _.type == "fk" || _.type == "fks", C = () => x() ? toArr(e.value).map((e) => ({ [v()]: e })) : toArr(e.value), E = (g) => e.onChange(x() ? y() ? g.map((e) => e[v()]) : g?.[v()] ?? null : g);
91
+ return memo(() => memo(() => !!_.dialog)() ? createComponent(Dialog, {
92
+ get title() {
93
+ return `选择 ${_.name}`;
94
+ },
95
+ get onCancel() {
96
+ return e.aaa.cancel;
97
+ },
98
+ get onOk() {
99
+ return e.aaa.ok;
100
+ },
101
+ class: "min-w-[40vw]",
102
+ get children() {
103
+ var g = _tmpl$(), v = g.firstChild, b = v.firstChild, D = b.firstChild, O = D.firstChild, k = O.nextSibling;
104
+ k.nextSibling;
105
+ var A = D.nextSibling, j = v.nextSibling;
106
+ return insert(D, () => C().length, k), A.$$click = () => e.onChange?.(y() ? [] : null), insert(v, (() => {
107
+ var g = memo(() => !!x());
108
+ return () => g() ? createComponent(FKTags, mergeProps(e, {
109
+ class: "ml-2",
110
+ col: _,
111
+ get value() {
112
+ return C();
113
+ },
114
+ onChange: E,
115
+ get multiple() {
116
+ return y();
117
+ }
118
+ })) : createComponent(ObjTags, mergeProps(e, {
119
+ class: "ml-2",
120
+ col: _,
121
+ get value() {
122
+ return C();
123
+ },
124
+ onChange: E,
125
+ get multiple() {
126
+ return y();
127
+ }
128
+ }));
129
+ })(), null), insert(j, createComponent(Intable, mergeProps(() => e.aaa.col.table, {
130
+ class: "max-h-[65vh]",
131
+ get rowSelection() {
132
+ return {
133
+ ...e.aaa.col.table?.rowSelection,
134
+ enable: !0,
135
+ multiple: y(),
136
+ value: C(),
137
+ onChange: E
138
+ };
120
139
  }
121
- }));
122
- })(), null), insert(O, createComponent(Intable, mergeProps(() => p.aaa.col.table, { get rowSelection() {
123
- return {
124
- ...p.aaa.col.table?.rowSelection,
125
- enable: !0,
126
- multiple: g(),
127
- value: p.value,
128
- onChange: S
129
- };
130
- } }))), e;
131
- })();
140
+ }))), g;
141
+ }
142
+ }) : createComponent(TableSelect, mergeProps(e, {
143
+ col: _,
144
+ get table() {
145
+ return _.table;
146
+ },
147
+ get valueObject() {
148
+ return !x();
149
+ },
150
+ class: "min-h-full outline-1.5 outline-offset--1.5 outline-[--c-primary] bg-[--table-bg] py-1",
151
+ border: !1,
152
+ get multiple() {
153
+ return y();
154
+ }
155
+ })));
132
156
  });
157
+ const TableSelect = (e) => {
158
+ let _ = () => e.table?.rowKey ?? "id", v = () => e.multiple, y = () => !e.valueObject, b = () => y() ? toArr(e.value) : toArr(e.value).map((e) => e[_()]), [S] = createResource(b, () => fetchDataByKeys(b(), e.table), { initialValue: [] });
159
+ return createComponent(Select, mergeProps(e, {
160
+ searchable: !0,
161
+ get options() {
162
+ return S().map((g) => ({
163
+ label: g[e.table?.columns?.[0].id],
164
+ value: y() ? g[_()] : g
165
+ }));
166
+ },
167
+ request: ({ keyword: g }) => e.table?.request?.({ filters: g ? [{
168
+ field: e.table?.columns?.[0].id,
169
+ op: "like",
170
+ value: g
171
+ }] : [] }).then((g) => g.data.map((g) => ({
172
+ label: g[e.table?.columns?.[0].id],
173
+ value: y() ? g[_()] : g
174
+ }))),
175
+ get valueKey() {
176
+ return memo(() => !!y())() ? void 0 : _();
177
+ },
178
+ get value() {
179
+ return e.value;
180
+ },
181
+ onChange: (g) => e.onChange?.(g),
182
+ get multiple() {
183
+ return v();
184
+ }
185
+ }));
186
+ };
133
187
  editors.obj = ObjEditor, editors.objs = ObjEditor, editors.fk = ObjEditor, editors.fks = ObjEditor, renders.fk = (e) => createComponent(FKTags, mergeProps(e, { disabled: !0 })), renders.fks = (e) => createComponent(FKTags, mergeProps(e, {
134
188
  disabled: !0,
135
189
  multiple: !0
@@ -138,24 +192,26 @@ editors.obj = ObjEditor, editors.objs = ObjEditor, editors.fk = ObjEditor, edito
138
192
  multiple: !0
139
193
  }));
140
194
  var fetchDataByKeys = (() => {
141
- let e = /* @__PURE__ */ new WeakMap(), p = (p) => {
142
- let m = e.get(p.request) || e.set(p.request, {}).get(p.request);
143
- return m[p.rowKey] ??= [{}, {}];
195
+ let g = /* @__PURE__ */ new WeakMap(), _ = (e) => {
196
+ let _ = g.get(e.request) || g.set(e.request, {}).get(e.request);
197
+ return _[e.rowKey] ??= [{}, {}];
144
198
  };
145
- return async (e, m) => {
146
- let [h, g] = p(m), _ = e.filter((e) => !h[e]);
147
- if (_.length) {
148
- let e = _.filter((e) => !g[e]), p = m.request?.({ filters: [{
149
- field: m.rowKey,
199
+ return async (g, v) => {
200
+ if (!v.request) return [];
201
+ g = g.filter((g) => !isEmpty(g));
202
+ let [y, b] = _(v), x = g.filter((e) => !y[e]);
203
+ if (x.length) {
204
+ let e = x.filter((e) => !b[e]), g = v.request({ filters: [{
205
+ field: v.rowKey,
150
206
  op: "in",
151
207
  value: e
152
208
  }] });
153
- e.forEach((e, m) => {
154
- g[e] = p.then((p) => h[e] = p.data[m]).finally(() => delete g[e]);
155
- }), await Promise.all(_.map((e) => g[e]));
209
+ e.forEach((e, _) => {
210
+ b[e] = g.then((g) => y[e] = g.data[_]).finally(() => delete b[e]);
211
+ }), await Promise.all(x.map((e) => b[e]));
156
212
  }
157
- return e.map((e) => h[e]);
213
+ return g.map((e) => y[e]);
158
214
  };
159
215
  })();
160
216
  delegateEvents(["click"]);
161
- export { OrmPlugin };
217
+ export { OrmPlugin, TableSelect };
@@ -7,16 +7,10 @@ declare module '..' {
7
7
  defaultValue?: number;
8
8
  value?: number;
9
9
  onChange?: (page: number) => void;
10
- /** Server-side pagination: called on page change with (page, pageSize).
11
- * Parent should update `data` and `total` in response. */
12
- request?: (page: number, pageSize: number) => void | Promise<void>;
13
- /** Total record count (required for server-side pagination) */
14
10
  total?: number;
15
11
  };
16
12
  }
17
13
  interface TableStore {
18
- _pgnTotal: number;
19
- _pgnLoading: boolean;
20
14
  }
21
15
  }
22
16
  export declare const PaginationPlugin: Plugin;
@@ -5,41 +5,32 @@ import { For, Show, createMemo, mergeProps as mergeProps$1, runWithOwner, untrac
5
5
  var _tmpl$ = /* @__PURE__ */ template("<div class=\"data-table__pagination flex items-center justify-end gap-1 py-2 text-sm\"><span class=mr-2>共 <!> 条</span><button class=\"data-table__pagination-btn disabled:op-30\">‹</button><button class=\"data-table__pagination-btn disabled:op-30\">›"), _tmpl$2 = /* @__PURE__ */ template("<span class=\"px-1 select-none\">…"), _tmpl$3 = /* @__PURE__ */ template("<button>");
6
6
  const PaginationPlugin = {
7
7
  name: "pagination",
8
- store: (e) => ({
9
- _pgnTotal: 0,
10
- _pgnLoading: !1
11
- }),
12
8
  rewriteProps: {
13
- loading: ({ loading: e }, { store: l }) => l._pgnLoading || e,
14
- pagination: ({ pagination: l }, { store: u }) => {
15
- l = mergeProps$1({
9
+ pagination: ({ pagination: c }, { store: l }) => {
10
+ c = mergeProps$1({
16
11
  enable: !1,
17
12
  pageSize: 20,
18
- defaultValue: 1
19
- }, l);
20
- let d = untrack(() => u._pgn ??= runWithOwner(u.owner, () => useControlled(l)));
21
- return u._pgn.$setOpt(l), d;
13
+ defaultValue: 1,
14
+ total: l.props.data.length
15
+ }, c);
16
+ let u = untrack(() => l._pgn ??= runWithOwner(l.owner, () => useControlled(c)));
17
+ return l._pgn.$setOpt(c), u;
22
18
  },
23
- data: ({ data: e }, { store: l }) => {
24
- if (!e) return e;
25
- let u = l.props.pagination;
26
- return u?.enable ? typeof u.request == "function" ? (l._pgnTotal = u.total ?? e.length, e) : (l._pgnTotal = e.length, e) : e;
27
- },
28
- EachRows: ({ EachRows: e }, { store: l }) => l.props.pagination?.enable ? (u) => {
29
- let f = mergeProps$1(() => l.props.pagination);
30
- if (!f?.enable || typeof f.request == "function") return createComponent(e, u);
31
- let p = () => (f.value - 1) * f.pageSize, m = () => u.each.slice(p(), p() + f.pageSize);
19
+ EachRows: ({ EachRows: e }, { store: c }) => c.props.pagination?.enable ? (l) => {
20
+ let d = mergeProps$1(() => c.props.pagination);
21
+ if (c.props.request) return createComponent(e, l);
22
+ let f = () => (d.value - 1) * d.pageSize, p = () => l.each.slice(f(), f() + d.pageSize);
32
23
  return createComponent(e, {
33
24
  get each() {
34
- return m();
25
+ return p();
35
26
  },
36
- children: (e, l) => u.children(e, () => p() + l())
27
+ children: (e, c) => l.children(e, () => f() + c())
37
28
  });
38
29
  } : e,
39
- Footer: ({ Footer: e }, { store: l }) => (u) => createComponent(e, mergeProps(u, { get children() {
40
- return [memo(() => u.children), createComponent(Show, {
30
+ Footer: ({ Footer: e }, { store: c }) => (l) => createComponent(e, mergeProps(l, { get children() {
31
+ return [memo(() => l.children), createComponent(Show, {
41
32
  get when() {
42
- return l.props.pagination?.enable;
33
+ return c.props.pagination?.enable;
43
34
  },
44
35
  get children() {
45
36
  return createComponent(PaginationFooter, {});
@@ -49,57 +40,47 @@ const PaginationPlugin = {
49
40
  }
50
41
  };
51
42
  function PaginationFooter() {
52
- let { store: e } = useContext(Ctx), f = mergeProps$1(() => e.props.pagination), h = () => f.value, g = () => f.pageSize, _ = () => Math.ceil(e._pgnTotal / g()), v = createMemo(() => pageNumbers(h(), _())), x = (l) => {
53
- if (l < 1 || l > _()) return;
54
- let u = e.props.pagination?.request;
55
- if (u) {
56
- if (e._pgnLoading) return;
57
- e._pgnLoading = !0;
58
- let d = u(l, g());
59
- d && typeof d.then == "function" ? d.finally(() => {
60
- e._pgnLoading = !1;
61
- }) : e._pgnLoading = !1;
62
- }
63
- e.props.pagination?.onChange?.(l);
43
+ let { store: e } = useContext(Ctx), d = mergeProps$1(() => e.props.pagination), m = () => d.value, h = () => d.pageSize, g = () => Math.ceil(d.total / h()), _ = createMemo(() => pageNumbers(m(), g())), b = (c) => {
44
+ c < 1 || c > g() || e.props.pagination?.onChange?.(c);
64
45
  };
65
46
  return (() => {
66
- var l = _tmpl$(), f = l.firstChild, g = f.firstChild, y = g.nextSibling;
47
+ var c = _tmpl$(), h = c.firstChild, v = h.firstChild, y = v.nextSibling;
67
48
  y.nextSibling;
68
- var b = f.nextSibling, S = b.nextSibling;
69
- return insert(f, () => e._pgnTotal, y), b.$$click = () => x(h() - 1), insert(l, createComponent(For, {
49
+ var x = h.nextSibling, S = x.nextSibling;
50
+ return insert(h, () => d.total, y), x.$$click = () => b(m() - 1), insert(c, createComponent(For, {
70
51
  get each() {
71
- return v();
52
+ return _();
72
53
  },
73
- children: (l) => {
74
- let d = () => l === h();
75
- return l === "..." ? _tmpl$2() : (() => {
76
- var f = _tmpl$3();
77
- return f.$$click = () => x(l), insert(f, l), effect((l) => {
78
- var p = `data-table__pagination-btn ${d() ? "is-active" : ""}`, m = e.props.loading;
79
- return p !== l.e && className(f, l.e = p), m !== l.t && (f.disabled = l.t = m), l;
54
+ children: (c) => {
55
+ let u = () => c === m();
56
+ return c === "..." ? _tmpl$2() : (() => {
57
+ var d = _tmpl$3();
58
+ return d.$$click = () => b(c), insert(d, c), effect((c) => {
59
+ var f = `data-table__pagination-btn ${u() ? "is-active" : ""}`, p = e.props.loading;
60
+ return f !== c.e && className(d, c.e = f), p !== c.t && (d.disabled = c.t = p), c;
80
61
  }, {
81
62
  e: void 0,
82
63
  t: void 0
83
- }), f;
64
+ }), d;
84
65
  })();
85
66
  }
86
- }), S), S.$$click = () => x(h() + 1), effect((l) => {
87
- var u = h() <= 1 || e.props.loading, d = h() >= _() || e.props.loading;
88
- return u !== l.e && (b.disabled = l.e = u), d !== l.t && (S.disabled = l.t = d), l;
67
+ }), S), S.$$click = () => b(m() + 1), effect((c) => {
68
+ var l = m() <= 1 || e.props.loading, u = m() >= g() || e.props.loading;
69
+ return l !== c.e && (x.disabled = c.e = l), u !== c.t && (S.disabled = c.t = u), c;
89
70
  }, {
90
71
  e: void 0,
91
72
  t: void 0
92
- }), l;
73
+ }), c;
93
74
  })();
94
75
  }
95
- function pageNumbers(e, l) {
96
- if (l <= 1) return [];
97
- if (l <= 7) return Array.from({ length: l }, (e, l) => l + 1);
98
- let u = [1];
99
- e > 4 && u.push("...");
100
- let d = Math.max(2, e - 1), f = Math.min(l - 1, e + 1);
101
- for (let e = d; e <= f; e++) u.push(e);
102
- return e < l - 3 && u.push("..."), u.push(l), u;
76
+ function pageNumbers(e, c) {
77
+ if (c <= 1) return [];
78
+ if (c <= 7) return Array.from({ length: c }, (e, c) => c + 1);
79
+ let l = [1];
80
+ e > 4 && l.push("...");
81
+ let u = Math.max(2, e - 1), d = Math.min(c - 1, e + 1);
82
+ for (let e = u; e <= d; e++) l.push(e);
83
+ return e < c - 3 && l.push("..."), l.push(c), l;
103
84
  }
104
85
  delegateEvents(["click"]);
105
86
  export { PaginationPlugin };
@@ -89,12 +89,12 @@ const Checkbox = (e) => {
89
89
  }
90
90
  }, S), (() => {
91
91
  var w = _tmpl$2();
92
- return spread(w, S, !1, !0), insert(w, () => e.children, null), insert(w, (() => {
92
+ return spread(w, S, !1, !0), insert(w, () => e.children ?? e.value, null), insert(w, (() => {
93
93
  var S = memo(() => !e.disabled);
94
94
  return () => S() && createComponent(x_default, {
95
95
  class: "icon-clickable flex-shrink-0 size-4! ml-1 mr--1 op-75",
96
- get onClick() {
97
- return e.onDel;
96
+ "on:click": (x) => {
97
+ x.stopPropagation(), e.onDel?.(x);
98
98
  }
99
99
  });
100
100
  })(), null), w;