@vobs/table 1.2.1 → 1.2.2

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,9 +1,31 @@
1
- 'use strict';
2
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
5
21
 
6
22
  // packages/table/src/persistence.ts
23
+ var persistence_exports = {};
24
+ __export(persistence_exports, {
25
+ createColumnSettingsPersistence: () => createColumnSettingsPersistence,
26
+ createLocalColumnSettingsPersistence: () => createLocalColumnSettingsPersistence
27
+ });
28
+ module.exports = __toCommonJS(persistence_exports);
7
29
  function createColumnSettingsPersistence(storage, key) {
8
30
  const normalizedKey = key.trim();
9
31
  if (!normalizedKey) throw new Error("VOBS_TABLE001: column settings key \u4E0D\u80FD\u4E3A\u7A7A");
@@ -62,6 +84,7 @@ function createLocalColumnSettingsPersistence(key, storage) {
62
84
  return memory.get(normalizedKey) ?? null;
63
85
  }
64
86
  }
87
+ __name(read, "read");
65
88
  }
66
89
  __name(createLocalColumnSettingsPersistence, "createLocalColumnSettingsPersistence");
67
90
  function resolveLocalStorage() {
@@ -79,8 +102,9 @@ function isColumnSettings(value) {
79
102
  return Array.isArray(candidate.visibleColumnIds) && candidate.visibleColumnIds.every((id) => typeof id === "string") && Array.isArray(candidate.columnOrder) && candidate.columnOrder.every((id) => typeof id === "string") && Boolean(candidate.columnWidths) && typeof candidate.columnWidths === "object" && !Array.isArray(candidate.columnWidths);
80
103
  }
81
104
  __name(isColumnSettings, "isColumnSettings");
82
-
83
- exports.createColumnSettingsPersistence = createColumnSettingsPersistence;
84
- exports.createLocalColumnSettingsPersistence = createLocalColumnSettingsPersistence;
85
- //# sourceMappingURL=persistence.cjs.map
105
+ // Annotate the CommonJS export names for ESM import in node:
106
+ 0 && (module.exports = {
107
+ createColumnSettingsPersistence,
108
+ createLocalColumnSettingsPersistence
109
+ });
86
110
  //# sourceMappingURL=persistence.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/persistence.ts"],"names":[],"mappings":"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","file":"persistence.cjs","sourcesContent":["import type {\n DataTableColumnSettings,\n DataTableColumnSettingsPersistence,\n DataTableColumnSettingsStorage\n} from './types'\n\nexport function createColumnSettingsPersistence(\n storage: DataTableColumnSettingsStorage,\n key: string\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n\n return {\n load(): DataTableColumnSettings | null | undefined {\n return storage.get<DataTableColumnSettings>(normalizedKey)\n },\n save(settings: DataTableColumnSettings): void {\n storage.set(normalizedKey, settings)\n },\n reset(): void {\n storage.remove(normalizedKey)\n }\n }\n}\n\nexport function createLocalColumnSettingsPersistence(\n key: string,\n storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n const memory = new Map<string, string>()\n let backend = storage ?? resolveLocalStorage()\n\n return {\n load(): DataTableColumnSettings | undefined {\n const raw = read()\n if (!raw) return undefined\n try {\n const value: unknown = JSON.parse(raw)\n return isColumnSettings(value) ? value : undefined\n } catch {\n return undefined\n }\n },\n save(settings: DataTableColumnSettings): void {\n const raw = JSON.stringify(settings)\n memory.set(normalizedKey, raw)\n try {\n backend?.setItem(normalizedKey, raw)\n } catch {\n backend = undefined\n }\n },\n reset(): void {\n memory.delete(normalizedKey)\n try {\n backend?.removeItem(normalizedKey)\n } catch {\n backend = undefined\n }\n }\n }\n\n function read(): string | null {\n try {\n return backend?.getItem(normalizedKey) ?? memory.get(normalizedKey) ?? null\n } catch {\n backend = undefined\n return memory.get(normalizedKey) ?? null\n }\n }\n}\n\nfunction resolveLocalStorage(): Pick<Storage, 'getItem' | 'setItem' | 'removeItem'> | undefined {\n if (typeof window === 'undefined') return undefined\n try {\n return window.localStorage\n } catch {\n return undefined\n }\n}\n\nfunction isColumnSettings(value: unknown): value is DataTableColumnSettings {\n if (!value || typeof value !== 'object') return false\n const candidate = value as {\n visibleColumnIds?: unknown\n columnOrder?: unknown\n columnWidths?: unknown\n }\n return Array.isArray(candidate.visibleColumnIds)\n && candidate.visibleColumnIds.every(id => typeof id === 'string')\n && Array.isArray(candidate.columnOrder)\n && candidate.columnOrder.every(id => typeof id === 'string')\n && Boolean(candidate.columnWidths)\n && typeof candidate.columnWidths === 'object'\n && !Array.isArray(candidate.columnWidths)\n}\n"]}
1
+ {"version":3,"sources":["../src/persistence.ts"],"sourcesContent":["import type {\n DataTableColumnSettings,\n DataTableColumnSettingsPersistence,\n DataTableColumnSettingsStorage\n} from './types'\n\nexport function createColumnSettingsPersistence(\n storage: DataTableColumnSettingsStorage,\n key: string\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n\n return {\n load(): DataTableColumnSettings | null | undefined {\n return storage.get<DataTableColumnSettings>(normalizedKey)\n },\n save(settings: DataTableColumnSettings): void {\n storage.set(normalizedKey, settings)\n },\n reset(): void {\n storage.remove(normalizedKey)\n }\n }\n}\n\nexport function createLocalColumnSettingsPersistence(\n key: string,\n storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n const memory = new Map<string, string>()\n let backend = storage ?? resolveLocalStorage()\n\n return {\n load(): DataTableColumnSettings | undefined {\n const raw = read()\n if (!raw) return undefined\n try {\n const value: unknown = JSON.parse(raw)\n return isColumnSettings(value) ? value : undefined\n } catch {\n return undefined\n }\n },\n save(settings: DataTableColumnSettings): void {\n const raw = JSON.stringify(settings)\n memory.set(normalizedKey, raw)\n try {\n backend?.setItem(normalizedKey, raw)\n } catch {\n backend = undefined\n }\n },\n reset(): void {\n memory.delete(normalizedKey)\n try {\n backend?.removeItem(normalizedKey)\n } catch {\n backend = undefined\n }\n }\n }\n\n function read(): string | null {\n try {\n return backend?.getItem(normalizedKey) ?? memory.get(normalizedKey) ?? null\n } catch {\n backend = undefined\n return memory.get(normalizedKey) ?? null\n }\n }\n}\n\nfunction resolveLocalStorage(): Pick<Storage, 'getItem' | 'setItem' | 'removeItem'> | undefined {\n if (typeof window === 'undefined') return undefined\n try {\n return window.localStorage\n } catch {\n return undefined\n }\n}\n\nfunction isColumnSettings(value: unknown): value is DataTableColumnSettings {\n if (!value || typeof value !== 'object') return false\n const candidate = value as {\n visibleColumnIds?: unknown\n columnOrder?: unknown\n columnWidths?: unknown\n }\n return Array.isArray(candidate.visibleColumnIds)\n && candidate.visibleColumnIds.every(id => typeof id === 'string')\n && Array.isArray(candidate.columnOrder)\n && candidate.columnOrder.every(id => typeof id === 'string')\n && Boolean(candidate.columnWidths)\n && typeof candidate.columnWidths === 'object'\n && !Array.isArray(candidate.columnWidths)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,gCACd,SACA,KACoC;AACpC,QAAM,gBAAgB,IAAI,KAAK;AAC/B,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,6DAAyC;AAE7E,SAAO;AAAA,IACL,OAAmD;AACjD,aAAO,QAAQ,IAA6B,aAAa;AAAA,IAC3D;AAAA,IACA,KAAK,UAAyC;AAC5C,cAAQ,IAAI,eAAe,QAAQ;AAAA,IACrC;AAAA,IACA,QAAc;AACZ,cAAQ,OAAO,aAAa;AAAA,IAC9B;AAAA,EACF;AACF;AAlBgB;AAoBT,SAAS,qCACd,KACA,SACoC;AACpC,QAAM,gBAAgB,IAAI,KAAK;AAC/B,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,6DAAyC;AAC7E,QAAM,SAAS,oBAAI,IAAoB;AACvC,MAAI,UAAU,WAAW,oBAAoB;AAE7C,SAAO;AAAA,IACL,OAA4C;AAC1C,YAAM,MAAM,KAAK;AACjB,UAAI,CAAC,IAAK,QAAO;AACjB,UAAI;AACF,cAAM,QAAiB,KAAK,MAAM,GAAG;AACrC,eAAO,iBAAiB,KAAK,IAAI,QAAQ;AAAA,MAC3C,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,KAAK,UAAyC;AAC5C,YAAM,MAAM,KAAK,UAAU,QAAQ;AACnC,aAAO,IAAI,eAAe,GAAG;AAC7B,UAAI;AACF,iBAAS,QAAQ,eAAe,GAAG;AAAA,MACrC,QAAQ;AACN,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAc;AACZ,aAAO,OAAO,aAAa;AAC3B,UAAI;AACF,iBAAS,WAAW,aAAa;AAAA,MACnC,QAAQ;AACN,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,WAAS,OAAsB;AAC7B,QAAI;AACF,aAAO,SAAS,QAAQ,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK;AAAA,IACzE,QAAQ;AACN,gBAAU;AACV,aAAO,OAAO,IAAI,aAAa,KAAK;AAAA,IACtC;AAAA,EACF;AAPS;AAQX;AA/CgB;AAiDhB,SAAS,sBAAuF;AAC9F,MAAI,OAAO,WAAW,YAAa,QAAO;AAC1C,MAAI;AACF,WAAO,OAAO;AAAA,EAChB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAPS;AAST,SAAS,iBAAiB,OAAkD;AAC1E,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,YAAY;AAKlB,SAAO,MAAM,QAAQ,UAAU,gBAAgB,KAC1C,UAAU,iBAAiB,MAAM,QAAM,OAAO,OAAO,QAAQ,KAC7D,MAAM,QAAQ,UAAU,WAAW,KACnC,UAAU,YAAY,MAAM,QAAM,OAAO,OAAO,QAAQ,KACxD,QAAQ,UAAU,YAAY,KAC9B,OAAO,UAAU,iBAAiB,YAClC,CAAC,MAAM,QAAQ,UAAU,YAAY;AAC5C;AAdS;","names":[]}
@@ -60,6 +60,7 @@ function createLocalColumnSettingsPersistence(key, storage) {
60
60
  return memory.get(normalizedKey) ?? null;
61
61
  }
62
62
  }
63
+ __name(read, "read");
63
64
  }
64
65
  __name(createLocalColumnSettingsPersistence, "createLocalColumnSettingsPersistence");
65
66
  function resolveLocalStorage() {
@@ -77,7 +78,8 @@ function isColumnSettings(value) {
77
78
  return Array.isArray(candidate.visibleColumnIds) && candidate.visibleColumnIds.every((id) => typeof id === "string") && Array.isArray(candidate.columnOrder) && candidate.columnOrder.every((id) => typeof id === "string") && Boolean(candidate.columnWidths) && typeof candidate.columnWidths === "object" && !Array.isArray(candidate.columnWidths);
78
79
  }
79
80
  __name(isColumnSettings, "isColumnSettings");
80
-
81
- export { createColumnSettingsPersistence, createLocalColumnSettingsPersistence };
82
- //# sourceMappingURL=persistence.js.map
81
+ export {
82
+ createColumnSettingsPersistence,
83
+ createLocalColumnSettingsPersistence
84
+ };
83
85
  //# sourceMappingURL=persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/persistence.ts"],"names":[],"mappings":"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","file":"persistence.js","sourcesContent":["import type {\n DataTableColumnSettings,\n DataTableColumnSettingsPersistence,\n DataTableColumnSettingsStorage\n} from './types'\n\nexport function createColumnSettingsPersistence(\n storage: DataTableColumnSettingsStorage,\n key: string\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n\n return {\n load(): DataTableColumnSettings | null | undefined {\n return storage.get<DataTableColumnSettings>(normalizedKey)\n },\n save(settings: DataTableColumnSettings): void {\n storage.set(normalizedKey, settings)\n },\n reset(): void {\n storage.remove(normalizedKey)\n }\n }\n}\n\nexport function createLocalColumnSettingsPersistence(\n key: string,\n storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n const memory = new Map<string, string>()\n let backend = storage ?? resolveLocalStorage()\n\n return {\n load(): DataTableColumnSettings | undefined {\n const raw = read()\n if (!raw) return undefined\n try {\n const value: unknown = JSON.parse(raw)\n return isColumnSettings(value) ? value : undefined\n } catch {\n return undefined\n }\n },\n save(settings: DataTableColumnSettings): void {\n const raw = JSON.stringify(settings)\n memory.set(normalizedKey, raw)\n try {\n backend?.setItem(normalizedKey, raw)\n } catch {\n backend = undefined\n }\n },\n reset(): void {\n memory.delete(normalizedKey)\n try {\n backend?.removeItem(normalizedKey)\n } catch {\n backend = undefined\n }\n }\n }\n\n function read(): string | null {\n try {\n return backend?.getItem(normalizedKey) ?? memory.get(normalizedKey) ?? null\n } catch {\n backend = undefined\n return memory.get(normalizedKey) ?? null\n }\n }\n}\n\nfunction resolveLocalStorage(): Pick<Storage, 'getItem' | 'setItem' | 'removeItem'> | undefined {\n if (typeof window === 'undefined') return undefined\n try {\n return window.localStorage\n } catch {\n return undefined\n }\n}\n\nfunction isColumnSettings(value: unknown): value is DataTableColumnSettings {\n if (!value || typeof value !== 'object') return false\n const candidate = value as {\n visibleColumnIds?: unknown\n columnOrder?: unknown\n columnWidths?: unknown\n }\n return Array.isArray(candidate.visibleColumnIds)\n && candidate.visibleColumnIds.every(id => typeof id === 'string')\n && Array.isArray(candidate.columnOrder)\n && candidate.columnOrder.every(id => typeof id === 'string')\n && Boolean(candidate.columnWidths)\n && typeof candidate.columnWidths === 'object'\n && !Array.isArray(candidate.columnWidths)\n}\n"]}
1
+ {"version":3,"sources":["../src/persistence.ts"],"sourcesContent":["import type {\n DataTableColumnSettings,\n DataTableColumnSettingsPersistence,\n DataTableColumnSettingsStorage\n} from './types'\n\nexport function createColumnSettingsPersistence(\n storage: DataTableColumnSettingsStorage,\n key: string\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n\n return {\n load(): DataTableColumnSettings | null | undefined {\n return storage.get<DataTableColumnSettings>(normalizedKey)\n },\n save(settings: DataTableColumnSettings): void {\n storage.set(normalizedKey, settings)\n },\n reset(): void {\n storage.remove(normalizedKey)\n }\n }\n}\n\nexport function createLocalColumnSettingsPersistence(\n key: string,\n storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>\n): DataTableColumnSettingsPersistence {\n const normalizedKey = key.trim()\n if (!normalizedKey) throw new Error('VOBS_TABLE001: column settings key 不能为空')\n const memory = new Map<string, string>()\n let backend = storage ?? resolveLocalStorage()\n\n return {\n load(): DataTableColumnSettings | undefined {\n const raw = read()\n if (!raw) return undefined\n try {\n const value: unknown = JSON.parse(raw)\n return isColumnSettings(value) ? value : undefined\n } catch {\n return undefined\n }\n },\n save(settings: DataTableColumnSettings): void {\n const raw = JSON.stringify(settings)\n memory.set(normalizedKey, raw)\n try {\n backend?.setItem(normalizedKey, raw)\n } catch {\n backend = undefined\n }\n },\n reset(): void {\n memory.delete(normalizedKey)\n try {\n backend?.removeItem(normalizedKey)\n } catch {\n backend = undefined\n }\n }\n }\n\n function read(): string | null {\n try {\n return backend?.getItem(normalizedKey) ?? memory.get(normalizedKey) ?? null\n } catch {\n backend = undefined\n return memory.get(normalizedKey) ?? null\n }\n }\n}\n\nfunction resolveLocalStorage(): Pick<Storage, 'getItem' | 'setItem' | 'removeItem'> | undefined {\n if (typeof window === 'undefined') return undefined\n try {\n return window.localStorage\n } catch {\n return undefined\n }\n}\n\nfunction isColumnSettings(value: unknown): value is DataTableColumnSettings {\n if (!value || typeof value !== 'object') return false\n const candidate = value as {\n visibleColumnIds?: unknown\n columnOrder?: unknown\n columnWidths?: unknown\n }\n return Array.isArray(candidate.visibleColumnIds)\n && candidate.visibleColumnIds.every(id => typeof id === 'string')\n && Array.isArray(candidate.columnOrder)\n && candidate.columnOrder.every(id => typeof id === 'string')\n && Boolean(candidate.columnWidths)\n && typeof candidate.columnWidths === 'object'\n && !Array.isArray(candidate.columnWidths)\n}\n"],"mappings":";;;;AAMO,SAAS,gCACd,SACA,KACoC;AACpC,QAAM,gBAAgB,IAAI,KAAK;AAC/B,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,6DAAyC;AAE7E,SAAO;AAAA,IACL,OAAmD;AACjD,aAAO,QAAQ,IAA6B,aAAa;AAAA,IAC3D;AAAA,IACA,KAAK,UAAyC;AAC5C,cAAQ,IAAI,eAAe,QAAQ;AAAA,IACrC;AAAA,IACA,QAAc;AACZ,cAAQ,OAAO,aAAa;AAAA,IAC9B;AAAA,EACF;AACF;AAlBgB;AAoBT,SAAS,qCACd,KACA,SACoC;AACpC,QAAM,gBAAgB,IAAI,KAAK;AAC/B,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,6DAAyC;AAC7E,QAAM,SAAS,oBAAI,IAAoB;AACvC,MAAI,UAAU,WAAW,oBAAoB;AAE7C,SAAO;AAAA,IACL,OAA4C;AAC1C,YAAM,MAAM,KAAK;AACjB,UAAI,CAAC,IAAK,QAAO;AACjB,UAAI;AACF,cAAM,QAAiB,KAAK,MAAM,GAAG;AACrC,eAAO,iBAAiB,KAAK,IAAI,QAAQ;AAAA,MAC3C,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,KAAK,UAAyC;AAC5C,YAAM,MAAM,KAAK,UAAU,QAAQ;AACnC,aAAO,IAAI,eAAe,GAAG;AAC7B,UAAI;AACF,iBAAS,QAAQ,eAAe,GAAG;AAAA,MACrC,QAAQ;AACN,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAc;AACZ,aAAO,OAAO,aAAa;AAC3B,UAAI;AACF,iBAAS,WAAW,aAAa;AAAA,MACnC,QAAQ;AACN,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,WAAS,OAAsB;AAC7B,QAAI;AACF,aAAO,SAAS,QAAQ,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK;AAAA,IACzE,QAAQ;AACN,gBAAU;AACV,aAAO,OAAO,IAAI,aAAa,KAAK;AAAA,IACtC;AAAA,EACF;AAPS;AAQX;AA/CgB;AAiDhB,SAAS,sBAAuF;AAC9F,MAAI,OAAO,WAAW,YAAa,QAAO;AAC1C,MAAI;AACF,WAAO,OAAO;AAAA,EAChB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAPS;AAST,SAAS,iBAAiB,OAAkD;AAC1E,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,YAAY;AAKlB,SAAO,MAAM,QAAQ,UAAU,gBAAgB,KAC1C,UAAU,iBAAiB,MAAM,QAAM,OAAO,OAAO,QAAQ,KAC7D,MAAM,QAAQ,UAAU,WAAW,KACnC,UAAU,YAAY,MAAM,QAAM,OAAO,OAAO,QAAQ,KACxD,QAAQ,UAAU,YAAY,KAC9B,OAAO,UAAU,iBAAiB,YAClC,CAAC,MAAM,QAAQ,UAAU,YAAY;AAC5C;AAdS;","names":[]}
package/dist/types.cjs CHANGED
@@ -1,4 +1,20 @@
1
- 'use strict';
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
16
 
3
- //# sourceMappingURL=types.cjs.map
17
+ // packages/table/src/types.ts
18
+ var types_exports = {};
19
+ module.exports = __toCommonJS(types_exports);
4
20
  //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.cjs"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Signal } from '@vobs/reactivity'\nimport type { VobsNode } from '@vobs/vobs'\n\nexport type DataTableAlign = 'start' | 'center' | 'end'\nexport type DataTableSortDirection = 'asc' | 'desc'\nexport type DataTableSortType = 'text' | 'number' | 'date' | 'boolean'\nexport type DataTableSortingMode = 'client' | 'server'\nexport type DataTablePaginationMode = 'simple' | 'standard' | 'all'\n\nexport interface DataTableSort {\n readonly columnId: string\n readonly direction: DataTableSortDirection\n /** Optional backend field supplied by the column definition. */\n readonly sortKey?: string\n}\n\nexport interface DataTableQuery {\n readonly page: number\n readonly pageSize: number\n readonly sort: DataTableSort | null\n readonly filters: Readonly<Record<string, unknown>>\n}\n\nexport interface DataTablePage<Row> {\n readonly rows: readonly Row[]\n readonly total?: number\n}\n\nexport type DataTableResourceData<Row> = readonly Row[] | DataTablePage<Row>\n\nexport interface DataTableResource<Row> {\n readonly data: { readonly value: DataTableResourceData<Row> | null }\n readonly error: { readonly value: Error | null }\n readonly loading: { readonly value: boolean }\n refetch(): Promise<unknown>\n}\n\nexport type DataTableChildren =\n | VobsNode\n | string\n | number\n | readonly DataTableChildren[]\n | (() => DataTableChildren | null | undefined)\n\nexport interface DataTableColumn<Row = Record<string, unknown>> {\n readonly id: string\n readonly label: string\n readonly key?: keyof Row\n readonly render?: (row: Row, index: number) => DataTableChildren\n readonly compare?: (left: Row, right: Row) => number\n /** Value used by the built-in client sorter when compare is not provided. */\n readonly sortValue?: (row: Row) => unknown\n /** Optional value kind for deterministic client-side sorting. */\n readonly sortType?: DataTableSortType\n /** Backend field mapping; emitted together with the stable column id in DataTableSort. */\n readonly sortKey?: string\n /** Apply a filter value supplied by the page or another external filter control. */\n readonly filter?: (row: Row, value: unknown) => boolean\n readonly sortable?: boolean\n /** Marks a column as supported by an external filter UI; no control is rendered in the table. */\n readonly filterable?: boolean\n readonly visible?: boolean\n readonly align?: DataTableAlign\n readonly width?: string | number\n readonly minWidth?: string | number\n}\n\nexport interface DataTableColumnSettings {\n readonly visibleColumnIds: readonly string[]\n readonly columnOrder: readonly string[]\n readonly columnWidths: Readonly<Record<string, string | number>>\n}\n\nexport interface DataTableColumnSettingsPersistence {\n load(): DataTableColumnSettings | null | undefined\n save(settings: DataTableColumnSettings): void\n reset?(): void\n}\n\n/** Minimal storage shape accepted by createColumnSettingsPersistence. */\nexport interface DataTableColumnSettingsStorage {\n get<T>(key: string): T | null | undefined\n set<T>(key: string, value: T): void\n remove(key: string): void\n}\n\nexport interface DataTableIcons {\n readonly ascending?: DataTableChildren\n readonly descending?: DataTableChildren\n readonly unsorted?: DataTableChildren\n readonly previous?: DataTableChildren\n readonly next?: DataTableChildren\n}\n\nexport interface DataTablePaginationContext {\n readonly page: number\n readonly pageCount: number\n readonly pageSize: number\n readonly pageSizeOptions: readonly number[]\n readonly total: number\n readonly visibleCount: number\n readonly goToPage: (page: number) => void\n readonly setPageSize: (pageSize: number) => void\n}\n\nexport type DataTablePagination =\n | DataTableChildren\n | ((context: DataTablePaginationContext) => DataTableChildren | null | undefined)\n\nexport interface DataTableCommonProps {\n readonly class?: string\n readonly className?: string\n readonly style?: string\n readonly id?: string\n readonly title?: string\n readonly role?: string\n readonly tabIndex?: number\n readonly [name: `aria-${string}`]: string | number | boolean | undefined\n readonly [name: `data-${string}`]: string | number | boolean | undefined\n}\n\nexport interface KitDataTableProps<Row = Record<string, unknown>> extends DataTableCommonProps {\n readonly columns?: readonly DataTableColumn<Row>[]\n readonly rows?: readonly Row[]\n readonly resource?: DataTableResource<Row>\n readonly rowKey?: (row: Row, index: number) => unknown\n /** 传入 Signal 时受控分页:表格翻页后自动写回信号。 */\n readonly page?: number | Signal<number>\n readonly pageSize?: number | Signal<number>\n readonly total?: number\n readonly sort?: DataTableSort | null\n /** Client sorts loaded rows; server leaves row order to the resource owner. */\n readonly sortingMode?: DataTableSortingMode\n /** Query state is owned by the caller when provided and is never edited by table-owned inputs. */\n readonly filters?: Readonly<Record<string, unknown>>\n readonly columnSettings?: DataTableColumnSettings\n readonly visibleColumnIds?: readonly string[]\n readonly virtual?: boolean\n readonly stickyHeader?: boolean\n readonly virtualHeight?: number\n readonly rowHeight?: number\n readonly overscan?: number\n readonly loading?: DataTableChildren\n readonly empty?: DataTableChildren\n readonly error?: (error: Error, retry: () => Promise<unknown>) => DataTableChildren\n readonly toolbar?: DataTableChildren\n readonly footer?: DataTableChildren\n readonly pagination?: DataTablePagination\n readonly paginationMode?: DataTablePaginationMode\n readonly pageSizeOptions?: readonly number[]\n readonly pageSizeLabel?: string\n readonly icons?: DataTableIcons\n readonly previousLabel?: string\n readonly nextLabel?: string\n readonly jumpToLabel?: string\n readonly jumpToPlaceholder?: string\n readonly jumpToSubmitLabel?: string\n /** Formats the footer summary. The last two arguments are visible row count and page size. */\n readonly pageLabel?: (\n page: number,\n pageCount: number,\n total: number,\n visibleCount: number,\n pageSize: number\n ) => string\n /** Receives table-originated sort and pagination changes for a page-level query controller. */\n readonly onQueryChange?: (query: DataTableQuery) => void\n readonly onRowClick?: (row: Row, index: number) => void\n readonly onVisibleColumnIdsChange?: (ids: readonly string[]) => void\n}\n\nexport interface KitColumnSettingsProps<Row = Record<string, unknown>> extends DataTableCommonProps {\n readonly columns?: readonly DataTableColumn<Row>[]\n readonly settings?: DataTableColumnSettings\n readonly persistence?: DataTableColumnSettingsPersistence\n readonly visibleColumnIds?: readonly string[]\n readonly trigger?: DataTableChildren\n readonly label?: string\n readonly closeLabel?: string\n readonly resetLabel?: string\n readonly onChange?: (ids: readonly string[]) => void\n readonly onSettingsChange?: (settings: DataTableColumnSettings) => void\n readonly onReset?: () => void\n readonly onPersistenceError?: (error: unknown) => void\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/types.js CHANGED
@@ -1,3 +1 @@
1
-
2
- //# sourceMappingURL=types.js.map
3
1
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}