@vanstack/solid-ark 0.0.19 → 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.
@@ -2,10 +2,10 @@ import "../solid-ark.css";
2
2
  import { t as e } from "../button-Br_upy12.js";
3
3
  import { t } from "../badge-Dt0uZnmA.js";
4
4
  import { t as n } from "../form-IwL17HZI.js";
5
- import { t as r } from "../table-D3DgojFM.js";
5
+ import { t as r } from "../table-Dl0ngdNr.js";
6
6
  import { className as i, createComponent as a, effect as o, insert as s, memo as c, setAttribute as l, setStyleProperty as u, template as d, use as f } from "solid-js/web";
7
- import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as te, on as _, onCleanup as v, onMount as y } from "solid-js";
8
- import { formatDate as ne, formatDateTime as re, formatShortDateTime as b } from "@vanstack/shared";
7
+ import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as _, on as te, onCleanup as v, onMount as y } from "solid-js";
8
+ import { formatDate as b, formatDateTime as ne, formatShortDateTime as re } from "@vanstack/shared";
9
9
  import { Pagination as x } from "@ark-ui/solid/pagination";
10
10
  //#region src/data-table/EllipsisCell.tsx
11
11
  var S = /*#__PURE__*/ d("<span class=van-data-table-ellipsis>");
@@ -109,12 +109,12 @@ function ie(e) {
109
109
  }
110
110
  //#endregion
111
111
  //#region src/data-table/DataTable.tsx
112
- var P = /*#__PURE__*/ d("<svg fill=none height=16 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=16 xmlns=http://www.w3.org/2000/svg><path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"></path><path d=\"M3 3v5h5\">"), ae = /*#__PURE__*/ d("<div class=van-data-table-actions>"), F = /*#__PURE__*/ d("<div class=van-data-table-badges>"), I = /*#__PURE__*/ d("<div class=van-data-table-search>"), L = /*#__PURE__*/ d("<div class=van-data-table-toolbar>"), R = /*#__PURE__*/ d("<div>"), z = /*#__PURE__*/ d("<div class=van-data-table-search-actions>"), B = /*#__PURE__*/ d("<div class=van-data-table-tooltip>");
113
- function V() {
112
+ var P = /*#__PURE__*/ d("<svg fill=none height=16 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=16 xmlns=http://www.w3.org/2000/svg><path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"></path><path d=\"M3 3v5h5\">"), ae = /*#__PURE__*/ d("<div class=van-data-table-actions>"), oe = /*#__PURE__*/ d("<div class=van-data-table-badges>"), F = /*#__PURE__*/ d("<div class=van-data-table-search>"), I = /*#__PURE__*/ d("<div class=van-data-table-toolbar>"), L = /*#__PURE__*/ d("<div>"), R = /*#__PURE__*/ d("<div class=van-data-table-search-actions>"), z = /*#__PURE__*/ d("<div class=van-data-table-tooltip>");
113
+ function B() {
114
114
  return P();
115
115
  }
116
- function H(c) {
117
- let l = te({
116
+ function V(c) {
117
+ let l = _({
118
118
  defaultPage: 1,
119
119
  defaultPageSize: 10,
120
120
  emptyText: "暂无数据",
@@ -122,11 +122,11 @@ function H(c) {
122
122
  }, c), d = h(() => l.searchFields ?? []), x = h(() => d().map((e) => ({
123
123
  ...e,
124
124
  label: void 0
125
- }))), S = h(() => l.data !== void 0), w = h(() => c.selectable ?? !!c.onSelectionChange), T = (e, t) => typeof e.show == "function" ? e.show(t) : e.show !== !1, [E, D] = g(l.searchValues ?? {}), [O, k] = g(l.searchValues ?? {});
126
- ee(_(() => l.searchValues, (e) => {
127
- e && D(() => e);
125
+ }))), S = h(() => l.data !== void 0), w = h(() => c.selectable ?? !!c.onSelectionChange), T = (e, t) => typeof e.show == "function" ? e.show(t) : e.show !== !1, E = (e, t) => typeof e.disabled == "function" ? e.disabled(t) : e.disabled === !0, [D, O] = g(l.searchValues ?? {}), [k, A] = g(l.searchValues ?? {});
126
+ ee(te(() => l.searchValues, (e) => {
127
+ e && O(() => e);
128
128
  }));
129
- let [A, j] = g(l.defaultPage), [M, N] = g(l.defaultPageSize), [P, H] = g([]), U = h(() => {
129
+ let [j, M] = g(l.defaultPage), [N, P] = g(l.defaultPageSize), [V, H] = g([]), U = h(() => {
130
130
  let n = 0, r = 0, i = [];
131
131
  for (let o of l.columns) {
132
132
  let c = o.type;
@@ -141,7 +141,7 @@ function H(c) {
141
141
  enableColumnFilter: !1,
142
142
  enableHiding: !1,
143
143
  ...o,
144
- cell: ({ row: e }) => (A() - 1) * M() + e.index + 1
144
+ cell: ({ row: e }) => (j() - 1) * N() + e.index + 1
145
145
  };
146
146
  i.push(e);
147
147
  continue;
@@ -149,7 +149,7 @@ function H(c) {
149
149
  if (c === "date" || c === "dateTime" || c === "shortDateTime") {
150
150
  let e = o;
151
151
  if (!e.accessorKey) throw Error("[solid-ark] 时间戳列(type=\"date/dateTime/shortDateTime\")必须提供 accessorKey");
152
- let t = e.accessorKey, n = e.type === "date" ? ne : e.type === "dateTime" ? re : b;
152
+ let t = e.accessorKey, n = e.type === "date" ? b : e.type === "dateTime" ? ne : re;
153
153
  i.push({
154
154
  id: t,
155
155
  accessorKey: t,
@@ -178,6 +178,9 @@ function H(c) {
178
178
  },
179
179
  get children() {
180
180
  return a(e, {
181
+ get disabled() {
182
+ return E(n, t.original);
183
+ },
181
184
  onClick: () => n.onClick(t.original),
182
185
  get variant() {
183
186
  return n.variant ?? "outline";
@@ -202,7 +205,7 @@ function H(c) {
202
205
  cell: ({ row: e }) => {
203
206
  let r = typeof n == "function" ? n(e.original) : n, i = Array.isArray(r) ? r : r ? [r] : [];
204
207
  return i.length === 0 ? "-" : (() => {
205
- var e = F();
208
+ var e = oe();
206
209
  return s(e, a(p, {
207
210
  each: i,
208
211
  children: (e) => a(t, {
@@ -257,7 +260,7 @@ function H(c) {
257
260
  e.removeEventListener("mouseover", t), e.removeEventListener("mouseout", n);
258
261
  });
259
262
  });
260
- let [q, oe] = g([]), [se, ce] = g(0), [le, J] = g(!1), Y = h(() => S() ? l.data : q()), ue = h(() => S() ? l.total ?? Y().length : se()), X = h(() => S() ? l.loading ?? !1 : le()), Z = (e, t, n) => ({
263
+ let [se, ce] = g([]), [le, ue] = g(0), [de, q] = g(!1), J = h(() => S() ? l.data : se()), Y = h(() => S() ? l.total ?? J().length : le()), X = h(() => S() ? l.loading ?? !1 : de()), Z = (e, t, n) => ({
261
264
  page: e,
262
265
  pageSize: t,
263
266
  sorting: n
@@ -267,68 +270,68 @@ function H(c) {
267
270
  return;
268
271
  }
269
272
  let n = ++Q;
270
- J(!0);
273
+ q(!0);
271
274
  try {
272
275
  let r = await c.onSearch(e, t);
273
276
  if (n !== Q) return;
274
- oe(r.data), ce(r.total);
277
+ ce(r.data), ue(r.total);
275
278
  } catch (e) {
276
279
  if (n !== Q) return;
277
280
  c.onError?.(e);
278
281
  } finally {
279
- n === Q && J(!1);
282
+ n === Q && q(!1);
280
283
  }
281
284
  };
282
285
  y(() => {
283
- S() || $(O(), Z(A(), M(), P()));
286
+ S() || $(k(), Z(j(), N(), V()));
284
287
  });
285
- let de = (e) => {
286
- k(() => e), j(1), $(e, Z(1, M(), P()));
287
- }, fe = () => {
288
+ let fe = (e) => {
289
+ A(() => e), M(1), $(e, Z(1, N(), V()));
290
+ }, pe = () => {
288
291
  let e = Object.fromEntries(d().map((e) => [e.name, void 0]));
289
- D(() => e), k(() => e), j(1), $(e, Z(1, M(), P()));
290
- }, pe = (e) => {
291
- e !== A() && (j(e), l.onPageChange?.(e), $(O(), Z(e, M(), P())));
292
+ O(() => e), A(() => e), M(1), $(e, Z(1, N(), V()));
292
293
  }, me = (e) => {
293
- e !== M() && (N(e), j(1), l.onPageSizeChange?.(e), $(O(), Z(1, e, P())));
294
+ e !== j() && (M(e), l.onPageChange?.(e), $(k(), Z(e, N(), V())));
294
295
  }, he = (e) => {
295
- H(e), l.onSortingChange?.(e), j(1), $(O(), Z(1, M(), e));
296
+ e !== N() && (P(e), M(1), l.onPageSizeChange?.(e), $(k(), Z(1, e, V())));
297
+ }, ge = (e) => {
298
+ H(e), l.onSortingChange?.(e), M(1), $(k(), Z(1, N(), e));
296
299
  };
297
300
  return (() => {
298
- var t = R(), p = W;
301
+ var t = L(), p = W;
299
302
  return typeof p == "function" ? f(p, t) : W = t, s(t, a(m, {
300
303
  get when() {
301
304
  return d().length > 0;
302
305
  },
303
306
  get children() {
304
- var t = I();
307
+ var t = F();
305
308
  return s(t, a(n, {
306
309
  get fields() {
307
310
  return x();
308
311
  },
309
- onSubmit: ({ value: e }) => de(e),
312
+ onSubmit: ({ value: e }) => fe(e),
310
313
  get onValuesChange() {
311
314
  return l.onSearchValuesChange;
312
315
  },
313
316
  get values() {
314
- return E();
317
+ return D();
315
318
  },
316
319
  children: () => a(m, {
317
320
  get when() {
318
321
  return l.showSearchActions;
319
322
  },
320
323
  get children() {
321
- var t = z();
324
+ var t = R();
322
325
  return s(t, a(e, {
323
326
  "aria-label": "重置",
324
327
  class: "van-btn-icon-only",
325
328
  get disabled() {
326
329
  return X();
327
330
  },
328
- onClick: fe,
331
+ onClick: pe,
329
332
  variant: "outline",
330
333
  get children() {
331
- return a(V, {});
334
+ return a(B, {});
332
335
  }
333
336
  }), null), s(t, a(e, {
334
337
  get disabled() {
@@ -346,7 +349,7 @@ function H(c) {
346
349
  return l.children;
347
350
  },
348
351
  get children() {
349
- var e = L();
352
+ var e = I();
350
353
  return s(e, () => l.children), e;
351
354
  }
352
355
  }), null), s(t, a(r, {
@@ -354,7 +357,7 @@ function H(c) {
354
357
  return U();
355
358
  },
356
359
  get data() {
357
- return Y();
360
+ return J();
358
361
  },
359
362
  get emptyText() {
360
363
  return l.emptyText;
@@ -368,7 +371,7 @@ function H(c) {
368
371
  get onSelectionChange() {
369
372
  return l.onSelectionChange;
370
373
  },
371
- onSortingChange: he,
374
+ onSortingChange: ge,
372
375
  get rowId() {
373
376
  return l.rowId;
374
377
  },
@@ -380,22 +383,22 @@ function H(c) {
380
383
  }
381
384
  }), null), s(t, a(ie, {
382
385
  get count() {
383
- return ue();
386
+ return Y();
384
387
  },
385
- onPageChange: pe,
386
- onPageSizeChange: me,
388
+ onPageChange: me,
389
+ onPageSizeChange: he,
387
390
  get page() {
388
- return A();
391
+ return j();
389
392
  },
390
393
  get pageSize() {
391
- return M();
394
+ return N();
392
395
  }
393
396
  }), null), s(t, a(m, {
394
397
  get when() {
395
398
  return G();
396
399
  },
397
400
  children: (e) => (() => {
398
- var t = B();
401
+ var t = z();
399
402
  return s(t, () => e().text), o((n) => {
400
403
  var r = `${e().left}px`, i = `${e().top}px`;
401
404
  return r !== n.e && u(t, "left", n.e = r), i !== n.t && u(t, "top", n.t = i), n;
@@ -408,4 +411,4 @@ function H(c) {
408
411
  })();
409
412
  }
410
413
  //#endregion
411
- export { H as DataTable };
414
+ export { V as DataTable };
@@ -24,6 +24,8 @@ export interface DataTableAction<TData> {
24
24
  variant?: ButtonVariant;
25
25
  /** 是否显示该按钮,默认 true;可为函数(按行判断,读取信号时响应式更新) */
26
26
  show?: ((row: TData) => boolean) | boolean;
27
+ /** 是否禁用该按钮,默认 false;可为函数(按行判断,读取信号时响应式更新) */
28
+ disabled?: ((row: TData) => boolean) | boolean;
27
29
  }
28
30
  /** type="badge" 列的徽标配置:变种 + 展示值 */
29
31
  export interface DataTableBadgeConfig {
@@ -47,7 +49,7 @@ export type DataTableColumnDef<TData> = {
47
49
  type?: "action" | "badge" | "date" | "dateTime" | "index" | "shortDateTime";
48
50
  } & Partial<UnionToIntersection<ColumnDef<TData>>>;
49
51
  /** 取数函数:接收表单值与查询参数,返回当前页数据与总条数 */
50
- export type DataTableSearchHandler<TData, TSearch> = (values: TSearch, query: DataTableQuery) => DataTableResult<TData> | Promise<DataTableResult<TData>> | Promise<void> | undefined;
52
+ export type DataTableSearchHandler<TData, TSearch> = (values: TSearch, query: DataTableQuery) => DataTableResult<TData> | Promise<DataTableResult<TData>> | Promise<void> | undefined | void;
51
53
  export interface DataTableProps<TData, TSearch extends Record<string, unknown> = Record<string, unknown>> {
52
54
  /** 搜索表单字段;不传或为空数组时不渲染搜索区 */
53
55
  searchFields?: FieldConfig[];
@@ -1,3 +1,3 @@
1
1
  import "../solid-ark.css";
2
- import { t as e } from "../table-D3DgojFM.js";
2
+ import { t as e } from "../table-Dl0ngdNr.js";
3
3
  export { e as Table };
@@ -120,7 +120,8 @@ function P(r) {
120
120
  getCoreRowModel: _(),
121
121
  getSortedRowModel: v(),
122
122
  enableRowSelection: l.selectable,
123
- getRowId: (e) => l.rowId(e)
123
+ getRowId: (e) => l.rowId(e),
124
+ defaultColumn: { enableSorting: !1 }
124
125
  }), L = (e) => e === "__select__";
125
126
  function R(r) {
126
127
  return (() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vanstack/solid-ark",
3
- "version": "0.0.19",
3
+ "version": "0.0.22",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -71,8 +71,8 @@
71
71
  "vite-plugin-solid": "^2.11.0",
72
72
  "vitest": "^4.1.10",
73
73
  "zod": "^4.4.0",
74
- "@vanstack/prettier-config": "0.0.1",
75
74
  "@vanstack/eslint-config": "0.0.1",
75
+ "@vanstack/prettier-config": "0.0.1",
76
76
  "@vanstack/tsconfig": "0.0.1",
77
77
  "@vanstack/vite-config": "0.0.2"
78
78
  },