intable 0.0.57 → 0.0.59

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,72 +1,69 @@
1
1
  import { toArr } from "../utils.js";
2
2
  import { createMemo, createSelector, createSignal } from "solid-js";
3
- var _Symbol$toStringTag, SingleSet = class {
4
- static {
5
- _Symbol$toStringTag = Symbol.toStringTag;
3
+ var KeyedSet = class extends Set {
4
+ #key;
5
+ #map = /* @__PURE__ */ new Map();
6
+ constructor(e = [], i) {
7
+ super(), this.#key = i;
8
+ for (let i of e) this.add(i);
6
9
  }
7
- #value;
8
- constructor(e) {
9
- this[_Symbol$toStringTag] = "SingleSet", this.#value = Array.from(e || [])[0];
10
+ has(e) {
11
+ return this.#key ? this.#map.has(e[this.#key]) : super.has(e);
10
12
  }
11
13
  add(e) {
12
- return this.#value = e, this;
13
- }
14
- clear() {
15
- this.#value = void 0;
14
+ if (this.#key) {
15
+ let i = e[this.#key], a = this.#map.get(i);
16
+ a && super.delete(a), this.#map.set(i, e);
17
+ }
18
+ return super.add(e);
16
19
  }
17
20
  delete(e) {
18
- return this.#value === e ? (this.#value = void 0, !0) : !1;
19
- }
20
- forEach(e) {
21
- this.#value !== void 0 && e.call(this, this.#value, this.#value, this);
22
- }
23
- has(e) {
24
- return this.#value === e;
25
- }
26
- get size() {
27
- return this.#value === void 0 ? 0 : 1;
28
- }
29
- entries() {
30
- return this.values();
21
+ if (this.#key) {
22
+ let i = e[this.#key];
23
+ e = this.#map.get(i) ?? e, this.#map.delete(i);
24
+ }
25
+ return super.delete(e);
31
26
  }
32
- keys() {
33
- return this.values();
27
+ clear() {
28
+ return this.#map.clear(), super.clear();
34
29
  }
35
- values() {
36
- return this.#value === void 0 ? [].entries() : [[this.#value, this.#value]].entries();
30
+ }, SingleSet = class extends KeyedSet {
31
+ constructor(i, a) {
32
+ super([], a);
33
+ for (let a of toArr(i)) this.add(a);
37
34
  }
38
- [Symbol.iterator]() {
39
- return this.values()[Symbol.iterator]();
35
+ add(e) {
36
+ return this.clear(), super.add(e);
40
37
  }
41
38
  };
42
- function useSelector(a) {
43
- let { value: o, onChange: s, multiple: c = !1, selectable: l } = a, u = c ? Set : SingleSet, [d, f] = createSignal(new u(toArr(o))), p = createSelector(d, (e, i) => i.has(e)), m = (e) => l ? l(e) : !0, h = () => {
44
- f(new u()), s?.(b());
45
- }, g = (i) => {
46
- m(i) && (f(new u(toArr(i))), s?.(b()));
47
- }, _ = (e) => {
48
- if (!m(e)) return;
49
- let i = new u(d());
50
- i.add(e), f(i), s?.(b());
39
+ function useSelector(o) {
40
+ let { value: s, onChange: c, multiple: l = !1, selectable: u } = o, d = (e) => l ? new KeyedSet(e, o.key) : new SingleSet(e, o.key), [f, p] = createSignal(d(toArr(s))), m = createSelector(f, (e, i) => i.has(e)), h = (e) => u ? u(e) : !0, g = () => {
41
+ p(d()), c?.(x());
42
+ }, _ = (i) => {
43
+ h(i) && (p(d(toArr(i))), c?.(x()));
51
44
  }, v = (e) => {
52
- let i = new u(d());
53
- i.delete(e), f(i), s?.(b());
45
+ if (!h(e)) return;
46
+ let i = d(f());
47
+ i.add(e), p(i), c?.(x());
54
48
  }, y = (e) => {
55
- p(e) ? v(e) : _(e);
56
- }, b = createMemo(() => c ? Array.from(d()) : Array.from(d())[0]);
49
+ let i = d(f());
50
+ i.delete(e), p(i), c?.(x());
51
+ }, b = (e) => {
52
+ m(e) ? y(e) : v(e);
53
+ }, x = createMemo(() => l ? Array.from(f()) : [...f()][0]);
57
54
  return {
58
- clear: h,
59
- set: g,
60
- has: p,
61
- add: _,
62
- del: v,
63
- toggle: y,
64
- isAll: (e) => !!e.length && e.every((e) => p(e)),
55
+ clear: g,
56
+ set: _,
57
+ has: m,
58
+ add: v,
59
+ del: y,
60
+ toggle: b,
61
+ isAll: (e) => !!e.length && e.every((e) => m(e)),
65
62
  selectAll: (e) => {
66
- f(new u(e)), s?.(b());
63
+ p(d(e)), c?.(x());
67
64
  },
68
65
  get value() {
69
- return b();
66
+ return x();
70
67
  }
71
68
  };
72
69
  }
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ import './plugins/AutoFillPlugin';
22
22
  import './plugins/FilterPlugin';
23
23
  import './plugins/TooltipPlugin';
24
24
  import './plugins/KeyEachPlugin';
25
+ import './plugins/PaginationPlugin';
25
26
  export declare const Ctx: import("solid-js").Context<{
26
27
  props: TableProps2;
27
28
  store: TableStore;
@@ -30,7 +31,7 @@ type Requireds<T, K extends keyof T> = Pri<Omit<T, K> & Required<Pick<T, K>>>;
30
31
  type Pri<T> = {
31
32
  [K in keyof T]: T[K];
32
33
  };
33
- type TableProps2 = Requireds<TableProps, ('Scroll' | 'Table' | 'Thead' | 'Tbody' | 'Tr' | 'Th' | 'Td' | 'EachRows' | 'EachCells' | 'rowKey' | 'data' | 'columns' | 'newRow')>;
34
+ type TableProps2 = Requireds<TableProps, ('Scroll' | 'ScrollFooter' | 'LoadMore' | 'Table' | 'Thead' | 'Tbody' | 'Tr' | 'Th' | 'Td' | 'EachRows' | 'EachCells' | 'rowKey' | 'data' | 'columns' | 'newRow')>;
34
35
  type Each<T = any> = (props: {
35
36
  each: T[];
36
37
  children: (e: () => T, i: () => number) => JSX.Element;
@@ -88,6 +89,7 @@ export interface TableProps {
88
89
  EachRows?: Each;
89
90
  EachCells?: Each<TableColumn>;
90
91
  Footer?: Component<any>;
92
+ ScrollFooter?: Component<any>;
91
93
  cellClass?: ((props: Omit<TDProps, 'y' | 'data'> & {
92
94
  y?: number;
93
95
  data?: any;
package/dist/index.js CHANGED
@@ -24,8 +24,9 @@ import { FilterPlugin } from "./plugins/FilterPlugin.js";
24
24
  import { ImportExportPlugin } from "./plugins/ImportExportPlugin.js";
25
25
  import { TooltipPlugin } from "./plugins/TooltipPlugin.js";
26
26
  import { KeyEachPlugin } from "./plugins/KeyEachPlugin.js";
27
+ import { PaginationPlugin } from "./plugins/PaginationPlugin.js";
27
28
  import loading_bold_default from "./loading-bold.js";
28
- import { createComponent, insert, memo, mergeProps, spread, template, use } from "solid-js/web";
29
+ import { className, createComponent, effect, insert, memo, mergeProps, spread, template, use } from "solid-js/web";
29
30
  import { $PROXY, For, batch, createComputed, createContext, createEffect, createMemo, createRenderEffect, createSignal, getOwner, mapArray, mergeProps as mergeProps$1, onCleanup, onMount, runWithOwner, useContext } from "solid-js";
30
31
  import { createMutable } from "solid-js/store";
31
32
  import { combineProps } from "@solid-primitives/props";
@@ -33,7 +34,7 @@ import { createLazyMemo } from "@solid-primitives/memo";
33
34
  import { createElementSize, makeResizeObserver } from "@solid-primitives/resize-observer";
34
35
  import { createScrollPosition } from "@solid-primitives/scroll";
35
36
  import { difference, isEqual, memoize, sumBy, uniq } from "es-toolkit";
36
- var _tmpl$ = /* @__PURE__ */ template("<div>"), _tmpl$2 = /* @__PURE__ */ template("<table>"), _tmpl$3 = /* @__PURE__ */ template("<thead>"), _tmpl$4 = /* @__PURE__ */ template("<tbody>"), _tmpl$5 = /* @__PURE__ */ template("<tr>"), _tmpl$6 = /* @__PURE__ */ template("<th>"), _tmpl$7 = /* @__PURE__ */ template("<td>"), _tmpl$8 = /* @__PURE__ */ template("<div class=data-table__layers>"), _tmpl$9 = /* @__PURE__ */ template("<div class=\"data-table--scroll-view h-full max-h-inherit\">"), _tmpl$0 = /* @__PURE__ */ template("<div class=data-table__empty>No data"), _tmpl$1 = /* @__PURE__ */ template("<div class=data-table__loading>");
37
+ var _tmpl$ = /* @__PURE__ */ template("<div>"), _tmpl$2 = /* @__PURE__ */ template("<table>"), _tmpl$3 = /* @__PURE__ */ template("<thead>"), _tmpl$4 = /* @__PURE__ */ template("<tbody>"), _tmpl$5 = /* @__PURE__ */ template("<tr>"), _tmpl$6 = /* @__PURE__ */ template("<th>"), _tmpl$7 = /* @__PURE__ */ template("<td>"), _tmpl$8 = /* @__PURE__ */ template("<div class=data-table__layers>"), _tmpl$9 = /* @__PURE__ */ template("<div class=data-table__empty>No data"), _tmpl$0 = /* @__PURE__ */ template("<div class=data-table__loading>");
37
38
  const Ctx = createContext({
38
39
  props: {},
39
40
  store: {}
@@ -233,7 +234,7 @@ function BasePlugin() {
233
234
  return K && X ? "" : !K && !X ? "is-scroll-mid" : K ? "is-scroll-left" : X ? "is-scroll-right" : "";
234
235
  });
235
236
  K = combineProps(K, { get class() {
236
- return `data-table ${q.props.border && "data-table--border"} data-table--${q.props.size}`;
237
+ return `data-table data-table--${q.props.size} flex flex-col`;
237
238
  } }, {
238
239
  get class() {
239
240
  return q.props.class;
@@ -246,22 +247,35 @@ function BasePlugin() {
246
247
  } });
247
248
  let Z = mapArray(() => q.plugins.flatMap((_) => _.layers ?? []), (_) => createComponent(_, q));
248
249
  return createComponent(_, mergeProps({ tabindex: -1 }, K, { get children() {
249
- return [(() => {
250
- var _ = _tmpl$8();
251
- return insert(_, Z), _;
252
- })(), (() => {
253
- var _ = _tmpl$9();
254
- return use((_) => q.scroll_el = _, _), insert(_, () => K.children, null), insert(_, createComponent(q.props.Footer, {}), null), insert(_, (() => {
255
- var _ = memo(() => !q.props.data.length);
256
- return () => _() && _tmpl$0();
257
- })(), null), _;
258
- })()];
250
+ return [
251
+ createComponent(q.props.Header, {}),
252
+ (() => {
253
+ var _ = _tmpl$8();
254
+ return insert(_, Z), _;
255
+ })(),
256
+ (() => {
257
+ var _ = _tmpl$();
258
+ return use((_) => q.scroll_el = _, _), insert(_, () => K.children, null), insert(_, createComponent(q.props.ScrollFooter, {}), null), insert(_, (() => {
259
+ var _ = memo(() => !q.props.data.length);
260
+ return () => _() && _tmpl$9();
261
+ })(), null), effect(() => className(_, `data-table--scroll-view relative h-full max-h-inherit flex-1 ${q.props.border && "data-table--border"}`)), _;
262
+ })(),
263
+ createComponent(q.props.Footer, {})
264
+ ];
259
265
  } }));
260
266
  },
267
+ Header: ({ Header: _ }) => (_ ??= (_) => (() => {
268
+ var K = _tmpl$();
269
+ return spread(K, mergeProps(() => combineProps({ class: "data-table__header" }, _)), !1, !1), K;
270
+ })(), (K) => createComponent(_, K)),
261
271
  Footer: ({ Footer: _ }) => (_ ??= (_) => (() => {
262
272
  var K = _tmpl$();
263
273
  return spread(K, mergeProps(() => combineProps({ class: "data-table__footer" }, _)), !1, !1), K;
264
274
  })(), (K) => createComponent(_, K)),
275
+ ScrollFooter: ({ ScrollFooter: _ }) => (_ ??= (_) => (() => {
276
+ var K = _tmpl$();
277
+ return spread(K, mergeProps(() => combineProps({ class: "data-table__scroll__footer" }, _)), !1, !1), K;
278
+ })(), (K) => createComponent(_, K)),
265
279
  Table: ({ Table: _ = J }, { store: K }) => (q) => (q = combineProps({
266
280
  ref: (_) => K.table = _,
267
281
  class: "data-table--table"
@@ -337,7 +351,7 @@ function BasePlugin() {
337
351
  },
338
352
  layers: [function(_) {
339
353
  return memo(() => memo(() => !!_.props.loading)() ? (() => {
340
- var _ = _tmpl$1();
354
+ var _ = _tmpl$0();
341
355
  return insert(_, createComponent(loading_bold_default, { class: "text-2xl animate-spin" })), _;
342
356
  })() : null);
343
357
  }]
@@ -417,6 +431,7 @@ const defaultsPlugins = [
417
431
  AutoFillPlugin,
418
432
  ImportExportPlugin,
419
433
  TooltipPlugin,
420
- KeyEachPlugin
434
+ KeyEachPlugin,
435
+ PaginationPlugin
421
436
  ];
422
437
  export { Ctx, Intable, src_default as default, defaultsPlugins };
@@ -43,7 +43,10 @@ const DiffPlugin = {
43
43
  }
44
44
  if (o) return e;
45
45
  }
46
- return diffArrays(l, e, { comparator: (e, o) => e == o || e[s] == o[s] }).flatMap((e) => e.added ? e.value.map((e) => (e[NEW] = 1, e)) : e.removed ? c.removed ? e.value.map((e) => ({
46
+ return diffArrays(l, e, { comparator: (e, o) => e == o || e[s] == o[s] }).flatMap((e) => e.added ? c.added ? e.value.map((e) => ({
47
+ ...e,
48
+ [NEW]: 1
49
+ })) : e.value : e.removed ? c.removed ? e.value.map((e) => ({
47
50
  ...e,
48
51
  [DEL]: 1,
49
52
  [o.internal]: 1
@@ -52,7 +55,7 @@ const DiffPlugin = {
52
55
  Td: ({ Td: u }, { store: f }) => f.props.diff?.data ? (p) => {
53
56
  let m = createMemo(() => {
54
57
  let { diff: e } = f.props, o = p.data[f.props.rowKey];
55
- return [p.data[NEW] ? "bg-green!" : p.data[DEL] ? "bg-red!" : p.data[f.internal] ? "" : e.changed && p.data[p.col.id] != f.diffDataKeyed()[o]?.[p.col.id] ? "bg-green!" : ""].join(" ");
58
+ return [p.data[NEW] ? "bg-green!" : p.data[DEL] ? "bg-red!" : p.data[f.internal] ? "" : e.changed && !isEqual(p.data[p.col.id], f.diffDataKeyed()[o]?.[p.col.id]) ? "bg-green!" : ""].join(" ");
56
59
  });
57
60
  return createComponent(u, mergeProps$2(p, {
58
61
  get class() {
@@ -2,9 +2,8 @@ import { chooseFile, resolveOptions, unFn } from "../utils.js";
2
2
  import { mergeProps as mergeProps$2 } from "../mergeProps2.js";
3
3
  import { Checkbox, Files } from "./RenderPlugin/components.js";
4
4
  import Textarea_default from "../components/Textarea.js";
5
- import { Ctx } from "../index.js";
6
5
  import { addEventListener, createComponent, delegateEvents, effect, insert, memo, spread, template, use } from "solid-js/web";
7
- import { createEffect, createMemo, createRoot, createSignal, on, onCleanup, useContext } from "solid-js";
6
+ import { createEffect, createMemo, createRoot, createSignal, on, onCleanup } from "solid-js";
8
7
  import { createMutable } from "solid-js/store";
9
8
  import { createAsyncMemo } from "@solid-primitives/memo";
10
9
  import { delay } from "es-toolkit";
@@ -13,109 +12,109 @@ const EditablePlugin = {
13
12
  name: "editable",
14
13
  store: () => ({ editors: { ...editors } }),
15
14
  rewriteProps: {
16
- editable: ({ editable: e }, { store: _ }) => (y) => {
17
- let b = [y.col.editable, e].filter((e) => e != null);
18
- return !!b.length && b.every((e) => unFn(e, y)) && !y.data[_.internal] && !y.col[_.internal];
15
+ editable: ({ editable: e }, { store: h }) => (_) => {
16
+ let v = [_.col.editable, e].filter((e) => e != null);
17
+ return !!v.length && v.every((e) => unFn(e, _)) && !_.data[h.internal] && !_.col[h.internal];
19
18
  },
20
- Td: ({ Td: e }, { store: _ }) => (b) => {
21
- let x, { props: S } = useContext(Ctx), E = () => unFn(S.editable, b);
22
- return createMemo(() => E() ? unFn(() => {
23
- let v = "", [C, D] = createSignal(!1), k = () => (([e, _]) => b.x == e && b.y == _)(_.selected.start || []), A = () => E() && !C() && k(), [M, N] = createSignal(!1), P = createAsyncMemo(() => {
19
+ Td: ({ Td: e }, { store: h }) => (v) => {
20
+ let y, b = () => unFn(h.props.editable, v);
21
+ return createMemo(() => b() ? unFn(() => {
22
+ let g = "", [C, w] = createSignal(!1), E = () => (([e, h]) => v.x == e && v.y == h)(h.selected.start || []), D = () => b() && !C() && E(), [A, j] = createSignal(!1), M = createAsyncMemo(() => {
24
23
  if (C()) {
25
- let e = createMemo(() => JSON.stringify(_.selected ?? "{}"));
26
- createEffect(on(e, () => D(!1), { defer: !0 })), L.w = x.getBoundingClientRect().width, L.h = x.getBoundingClientRect().height;
27
- let y = !1, w = b.data[b.col.id], T = ((e) => typeof e == "string" ? _.editors[e] : e)(b.col.editor ?? b.col.type ?? (b.col.enum ? "select" : "text")), E = {
28
- props: b.col.editorProps,
29
- col: b.col,
30
- eventKey: v,
31
- data: b.data,
32
- value: w,
24
+ let e = createMemo(() => JSON.stringify(h.selected ?? "{}"));
25
+ createEffect(on(e, () => w(!1), { defer: !0 })), F.w = y.getBoundingClientRect().width, F.h = y.getBoundingClientRect().height;
26
+ let _ = !1, b = v.data[v.col.id], x = ((e) => typeof e == "string" ? h.editors[e] : e)(v.col.editor ?? v.col.type ?? (v.col.enum ? "select" : "text")), S = {
27
+ props: v.col.editorProps,
28
+ col: v.col,
29
+ eventKey: g,
30
+ data: v.data,
31
+ value: b,
33
32
  ok: async () => {
34
- await F(O.getValue()), D(!1);
33
+ await N(T.getValue()), w(!1);
35
34
  },
36
- cancel: () => (y = !0, D(!1)),
37
- onChange: (e) => C() && F(e).catch(() => {})
38
- }, O = T(E);
39
- return queueMicrotask(() => O.focus?.()), onCleanup(() => {
40
- !y && O.getValue() !== w && _.commands.rowChange({
41
- ...S.data[b.y],
42
- [b.col.id]: O.getValue()
43
- }), y || F(O.getValue()).catch(() => {}), v = "", O.destroy();
44
- }), [E, O];
35
+ cancel: () => (_ = !0, w(!1)),
36
+ onChange: (e) => C() && N(e).catch(() => {})
37
+ }, T = x(S);
38
+ return queueMicrotask(() => T.focus?.()), onCleanup(() => {
39
+ !_ && T.getValue() !== b && h.commands.rowChange({
40
+ ...props.data[v.y],
41
+ [v.col.id]: T.getValue()
42
+ }), _ || N(T.getValue()).catch(() => {}), g = "", T.destroy();
43
+ }), [S, T];
45
44
  }
46
45
  });
47
- async function F(e) {
46
+ async function N(e) {
48
47
  try {
49
- N(!0), await _.validateCell(e, b.data, b.col);
48
+ j(!0), await h.validateCell(e, v.data, v.col);
50
49
  } finally {
51
- N(!1);
50
+ j(!1);
52
51
  }
53
52
  }
54
- let I, L = createMutable({
53
+ let P, F = createMutable({
55
54
  w: 0,
56
55
  h: 0
57
- }), R = mergeProps$2(b, {
58
- ref: (e) => (x = e, b.ref?.(e)),
56
+ }), I = mergeProps$2(v, {
57
+ ref: (e) => (y = e, v.ref?.(e)),
59
58
  get class() {
60
- return [C() ? "is-editing" : "", b.class].filter(Boolean).join(" ");
59
+ return [C() ? "is-editing" : "", v.class].filter(Boolean).join(" ");
61
60
  },
62
61
  get style() {
63
- return [C() ? `width: ${L.w}px; height: ${L.h}px; padding: 0; ` : "", b.style].filter(Boolean).join(" ");
62
+ return [C() ? `width: ${F.w}px; height: ${F.h}px; padding: 0; ` : "", v.style].filter(Boolean).join(" ");
64
63
  },
65
- onClick: (e) => (I?.focus?.(), b.onClick?.(e)),
66
- onDblClick: (e) => (D(E()), b.onDblClick?.(e)),
67
- onKeyDown: (e) => (e.key == "Escape" && P()?.[0].cancel(), b.onKeyDown?.(e))
64
+ onClick: (e) => (P?.focus?.(), v.onClick?.(e)),
65
+ onDblClick: (e) => (w(b()), v.onDblClick?.(e)),
66
+ onKeyDown: (e) => (e.key == "Escape" && M()?.[0].cancel(), v.onKeyDown?.(e))
68
67
  });
69
- return createComponent(e, mergeProps$2(R, { get children() {
70
- return [() => P()?.[1]?.el ? (() => {
68
+ return createComponent(e, mergeProps$2(I, { get children() {
69
+ return [() => M()?.[1]?.el ? (() => {
71
70
  var e = _tmpl$();
72
71
  return addEventListener(e, "keydown", (e) => {
73
- e.stopPropagation(), e.key == "Enter" && !e.shiftKey && (P()?.[0].ok(), e.preventDefault()), e.key == "Escape" && P()?.[0].cancel();
74
- }), addEventListener(e, "pointerdown", (e) => e.stopPropagation()), insert(e, () => P()?.[1]?.el, null), insert(e, (() => {
75
- var e = memo(() => !!M());
72
+ e.stopPropagation(), e.key == "Enter" && !e.shiftKey && (M()?.[0].ok(), e.preventDefault()), e.key == "Escape" && M()?.[0].cancel();
73
+ }), addEventListener(e, "pointerdown", (e) => e.stopPropagation()), insert(e, () => M()?.[1]?.el, null), insert(e, (() => {
74
+ var e = memo(() => !!A());
76
75
  return () => e() && _tmpl$2();
77
76
  })(), null), e;
78
- })() : b.children, () => A() && (() => {
77
+ })() : v.children, () => D() && (() => {
79
78
  var e = _tmpl$3();
80
79
  return e.addEventListener("compositionend", () => {
81
- D(!0);
80
+ w(!0);
82
81
  }), e.$$input = (e) => {
83
- v = e.target.value, D(!e.isComposing);
82
+ g = e.target.value, w(!e.isComposing);
84
83
  }, e.$$keydown = (e) => {
85
84
  e.key == " " && e.preventDefault();
86
85
  }, use((e) => {
87
- I = e, delay(0).then(() => e.focus({ preventScroll: !0 }));
86
+ P = e, delay(0).then(() => e.focus({ preventScroll: !0 }));
88
87
  }, e), e;
89
88
  })()];
90
89
  } }));
91
- }) : createComponent(e, b));
90
+ }) : createComponent(e, v));
92
91
  }
93
92
  }
94
93
  };
95
- var createEditor = (e, v, b) => ({ eventKey: x, value: S, col: C, ok: w, cancel: E, props: D, onChange: O }) => createRoot((E) => {
96
- let [k, A] = createSignal(x || S), j;
94
+ var createEditor = (e, g, v) => ({ eventKey: y, value: b, col: x, ok: C, cancel: w, props: T, onChange: E }) => createRoot((w) => {
95
+ let [D, O] = createSignal(y || b), k;
97
96
  return createComponent(e, mergeProps$2({
98
- ref: (e) => j = e,
97
+ ref: (e) => k = e,
99
98
  class: "relative block px-2 size-full z-9 box-border resize-none outline-0",
100
99
  get value() {
101
- return k();
100
+ return D();
102
101
  },
103
- onInput: (e) => (A(e instanceof Event ? e.target.value : e), O?.(k())),
104
- onChange: (e) => (A(e instanceof Event ? e.target.value : e), O?.(k()), b && w()),
102
+ onInput: (e) => (O(e instanceof Event ? e.target.value : e), E?.(D())),
103
+ onChange: (e) => (O(e instanceof Event ? e.target.value : e), E?.(D()), v && C()),
105
104
  get options() {
106
- return memo(() => !!C.enum)() ? resolveOptions(C.enum ?? []) : void 0;
105
+ return memo(() => !!x.enum)() ? resolveOptions(x.enum ?? []) : void 0;
107
106
  }
108
- }, v, D)), setTimeout(() => {
109
- b && j?.showPicker?.();
107
+ }, g, T)), setTimeout(() => {
108
+ v && k?.showPicker?.();
110
109
  }, 0), {
111
- el: j,
112
- getValue: k,
113
- focus: () => j.focus(),
114
- destroy: E
110
+ el: k,
111
+ getValue: D,
112
+ focus: () => k.focus(),
113
+ destroy: w
115
114
  };
116
115
  }), Input = (e) => (() => {
117
- var _ = _tmpl$4();
118
- return spread(_, e, !1, !1), _;
116
+ var h = _tmpl$4();
117
+ return spread(h, e, !1, !1), h;
119
118
  })();
120
119
  const editors = {
121
120
  text: createEditor(Input),
@@ -133,30 +132,30 @@ const editors = {
133
132
  color: createEditor(Input, { type: "color" }),
134
133
  tel: createEditor(Input, { type: "tel" }),
135
134
  password: createEditor(Input, { type: "password" }),
136
- file: createEditor((_) => createComponent(Files, mergeProps$2(_, {
135
+ file: createEditor((h) => createComponent(Files, mergeProps$2(h, {
137
136
  class: "relative z-9 outline-2 outline-blue min-h-a! h-a! p-1 bg-#fff",
138
- onAdd: () => chooseFile({ multiple: !0 }).then((e) => _.onChange([..._.value || [], ...e.map((e) => ({
137
+ onAdd: () => chooseFile({ multiple: !0 }).then((e) => h.onChange([...h.value || [], ...e.map((e) => ({
139
138
  name: e.name,
140
139
  size: e.size
141
140
  }))]))
142
141
  }))),
143
142
  checkbox: createEditor((e) => (() => {
144
- var _ = _tmpl$5(), v = e.ref;
145
- return typeof v == "function" ? use(v, _) : e.ref = _, insert(_, createComponent(Checkbox, mergeProps$2(e, {
143
+ var h = _tmpl$5(), g = e.ref;
144
+ return typeof g == "function" ? use(g, h) : e.ref = h, insert(h, createComponent(Checkbox, mergeProps$2(e, {
146
145
  ref: () => {},
147
146
  onInput: () => {},
148
147
  class: "mx-3!"
149
- }))), _;
148
+ }))), h;
150
149
  })()),
151
150
  select: createEditor((e) => (() => {
152
- var _ = _tmpl$6();
153
- return spread(_, e, !1, !0), insert(_, (() => {
154
- var _ = memo(() => !e.multiple);
155
- return () => _() && _tmpl$7();
156
- })(), null), insert(_, () => e.options?.map((e) => (() => {
157
- var _ = _tmpl$8();
158
- return insert(_, () => e.label), effect(() => _.value = e.value), _;
159
- })()), null), effect(() => _.value = e.value), _;
151
+ var h = _tmpl$6();
152
+ return spread(h, e, !1, !0), insert(h, (() => {
153
+ var h = memo(() => !e.multiple);
154
+ return () => h() && _tmpl$7();
155
+ })(), null), insert(h, () => e.options?.map((e) => (() => {
156
+ var h = _tmpl$8();
157
+ return insert(h, () => e.label), effect(() => h.value = e.value), h;
158
+ })()), null), effect(() => h.value = e.value), h;
160
159
  })(), {}, !0)
161
160
  };
162
161
  delegateEvents(["keydown", "input"]);
@@ -19,7 +19,10 @@ const ExpandPlugin = {
19
19
  })),
20
20
  [e.internal]: 1
21
21
  } }),
22
- commands: (e) => ({ expand: useSelector({ multiple: !0 }) }),
22
+ commands: (e) => ({ expand: useSelector({
23
+ multiple: !0,
24
+ key: e.props.rowKey
25
+ }) }),
23
26
  rewriteProps: {
24
27
  expand: ({ expand: e }) => mergeProps$1({ enable: !1 }, e),
25
28
  columns: ({ columns: e }, { store: m }) => m.props.expand?.enable ? [m.expandCol, ...e] : e,