@aiao/rxdb-model 0.0.17

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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/entity-detail/detail-tabs.d.ts +4 -0
  4. package/dist/entity-detail/detail-tabs.d.ts.map +1 -0
  5. package/dist/entity-detail/index.d.ts +3 -0
  6. package/dist/entity-detail/index.d.ts.map +1 -0
  7. package/dist/entity-detail/interfaces.d.ts +23 -0
  8. package/dist/entity-detail/interfaces.d.ts.map +1 -0
  9. package/dist/entity-field.utils.d.ts +24 -0
  10. package/dist/entity-field.utils.d.ts.map +1 -0
  11. package/dist/entity-form/form-data.d.ts +5 -0
  12. package/dist/entity-form/form-data.d.ts.map +1 -0
  13. package/dist/entity-form/form-fields.d.ts +6 -0
  14. package/dist/entity-form/form-fields.d.ts.map +1 -0
  15. package/dist/entity-form/form-validation.d.ts +5 -0
  16. package/dist/entity-form/form-validation.d.ts.map +1 -0
  17. package/dist/entity-form/index.d.ts +5 -0
  18. package/dist/entity-form/index.d.ts.map +1 -0
  19. package/dist/entity-form/interfaces.d.ts +45 -0
  20. package/dist/entity-form/interfaces.d.ts.map +1 -0
  21. package/dist/entity-table/columns/build-editable-columns.d.ts +30 -0
  22. package/dist/entity-table/columns/build-editable-columns.d.ts.map +1 -0
  23. package/dist/entity-table/columns/column-utils.d.ts +123 -0
  24. package/dist/entity-table/columns/column-utils.d.ts.map +1 -0
  25. package/dist/entity-table/editors/date-editor.d.ts +19 -0
  26. package/dist/entity-table/editors/date-editor.d.ts.map +1 -0
  27. package/dist/entity-table/editors/enum-editor.d.ts +38 -0
  28. package/dist/entity-table/editors/enum-editor.d.ts.map +1 -0
  29. package/dist/entity-table/editors/global-overlay-editor.d.ts +74 -0
  30. package/dist/entity-table/editors/global-overlay-editor.d.ts.map +1 -0
  31. package/dist/entity-table/editors/icon-list-editor.d.ts +37 -0
  32. package/dist/entity-table/editors/icon-list-editor.d.ts.map +1 -0
  33. package/dist/entity-table/editors/json-editor.d.ts +19 -0
  34. package/dist/entity-table/editors/json-editor.d.ts.map +1 -0
  35. package/dist/entity-table/editors/key-value-editor.d.ts +21 -0
  36. package/dist/entity-table/editors/key-value-editor.d.ts.map +1 -0
  37. package/dist/entity-table/editors/lucide-svg.d.ts +11 -0
  38. package/dist/entity-table/editors/lucide-svg.d.ts.map +1 -0
  39. package/dist/entity-table/editors/multiselect-editor.d.ts +26 -0
  40. package/dist/entity-table/editors/multiselect-editor.d.ts.map +1 -0
  41. package/dist/entity-table/editors/number-editor.d.ts +12 -0
  42. package/dist/entity-table/editors/number-editor.d.ts.map +1 -0
  43. package/dist/entity-table/editors/relation-editor.d.ts +23 -0
  44. package/dist/entity-table/editors/relation-editor.d.ts.map +1 -0
  45. package/dist/entity-table/editors/safe-list-editor.d.ts +10 -0
  46. package/dist/entity-table/editors/safe-list-editor.d.ts.map +1 -0
  47. package/dist/entity-table/editors/tags-editor.d.ts +24 -0
  48. package/dist/entity-table/editors/tags-editor.d.ts.map +1 -0
  49. package/dist/entity-table/editors/uuid-editor.d.ts +13 -0
  50. package/dist/entity-table/editors/uuid-editor.d.ts.map +1 -0
  51. package/dist/entity-table/index.d.ts +22 -0
  52. package/dist/entity-table/index.d.ts.map +1 -0
  53. package/dist/entity-table/interfaces.d.ts +54 -0
  54. package/dist/entity-table/interfaces.d.ts.map +1 -0
  55. package/dist/entity-table/vtable/table-clipboard.d.ts +55 -0
  56. package/dist/entity-table/vtable/table-clipboard.d.ts.map +1 -0
  57. package/dist/entity-table/vtable/table-factory.d.ts +18 -0
  58. package/dist/entity-table/vtable/table-factory.d.ts.map +1 -0
  59. package/dist/entity-table/vtable/table-keyboard.d.ts +20 -0
  60. package/dist/entity-table/vtable/table-keyboard.d.ts.map +1 -0
  61. package/dist/entity-table/vtable/table-operations.d.ts +20 -0
  62. package/dist/entity-table/vtable/table-operations.d.ts.map +1 -0
  63. package/dist/entity-table/vtable/table-theme.d.ts +17 -0
  64. package/dist/entity-table/vtable/table-theme.d.ts.map +1 -0
  65. package/dist/entity-table/vtable/table-tooltip.d.ts +21 -0
  66. package/dist/entity-table/vtable/table-tooltip.d.ts.map +1 -0
  67. package/dist/entity-table/vtable/vtable-compat.d.ts +24 -0
  68. package/dist/entity-table/vtable/vtable-compat.d.ts.map +1 -0
  69. package/dist/entity-value.utils.d.ts +10 -0
  70. package/dist/entity-value.utils.d.ts.map +1 -0
  71. package/dist/index.d.ts +35 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +64510 -0
  74. package/dist/query-builder/models/config.interface.d.ts +28 -0
  75. package/dist/query-builder/models/config.interface.d.ts.map +1 -0
  76. package/dist/query-builder/models/index.d.ts +8 -0
  77. package/dist/query-builder/models/index.d.ts.map +1 -0
  78. package/dist/query-builder/models/operator.interface.d.ts +42 -0
  79. package/dist/query-builder/models/operator.interface.d.ts.map +1 -0
  80. package/dist/query-builder/models/query-builder-state.d.ts +159 -0
  81. package/dist/query-builder/models/query-builder-state.d.ts.map +1 -0
  82. package/dist/query-builder/models/validation.interface.d.ts +88 -0
  83. package/dist/query-builder/models/validation.interface.d.ts.map +1 -0
  84. package/dist/query-builder/services/index.d.ts +9 -0
  85. package/dist/query-builder/services/index.d.ts.map +1 -0
  86. package/dist/query-builder/services/operator-registry.service.d.ts +132 -0
  87. package/dist/query-builder/services/operator-registry.service.d.ts.map +1 -0
  88. package/dist/query-builder/services/query-builder.service.d.ts +162 -0
  89. package/dist/query-builder/services/query-builder.service.d.ts.map +1 -0
  90. package/dist/query-builder/services/query-converter.service.d.ts +72 -0
  91. package/dist/query-builder/services/query-converter.service.d.ts.map +1 -0
  92. package/dist/query-builder/services/schema-parser.service.d.ts +84 -0
  93. package/dist/query-builder/services/schema-parser.service.d.ts.map +1 -0
  94. package/dist/query-builder/services/validation.service.d.ts +67 -0
  95. package/dist/query-builder/services/validation.service.d.ts.map +1 -0
  96. package/dist/query-builder/utils/date.d.ts +3 -0
  97. package/dist/query-builder/utils/date.d.ts.map +1 -0
  98. package/dist/query-builder/utils/field-tree.d.ts +135 -0
  99. package/dist/query-builder/utils/field-tree.d.ts.map +1 -0
  100. package/dist/query-builder/utils/id.d.ts +9 -0
  101. package/dist/query-builder/utils/id.d.ts.map +1 -0
  102. package/dist/query-builder/utils/index.d.ts +12 -0
  103. package/dist/query-builder/utils/index.d.ts.map +1 -0
  104. package/dist/query-builder/utils/metadata-field-extractor.d.ts +149 -0
  105. package/dist/query-builder/utils/metadata-field-extractor.d.ts.map +1 -0
  106. package/dist/query-builder/utils/popover-position.d.ts +25 -0
  107. package/dist/query-builder/utils/popover-position.d.ts.map +1 -0
  108. package/dist/query-builder/utils/schema-factory.d.ts +60 -0
  109. package/dist/query-builder/utils/schema-factory.d.ts.map +1 -0
  110. package/dist/query-builder/utils/structural-equal.d.ts +2 -0
  111. package/dist/query-builder/utils/structural-equal.d.ts.map +1 -0
  112. package/dist/query-builder/utils/value-input.d.ts +11 -0
  113. package/dist/query-builder/utils/value-input.d.ts.map +1 -0
  114. package/dist/structural-equal.d.ts +7 -0
  115. package/dist/structural-equal.d.ts.map +1 -0
  116. package/package.json +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucide-svg.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/lucide-svg.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAwC/E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAiBhF"}
@@ -0,0 +1,26 @@
1
+ import { GlobalOverlayEditor } from './global-overlay-editor.js';
2
+ /** 多选选项:id + 显示名 */
3
+ export interface MultiSelectOption {
4
+ id: string;
5
+ name: string;
6
+ }
7
+ /**
8
+ * VTable 自定义多选编辑器
9
+ *
10
+ * 弹出浮层显示 checkbox 列表,支持 toggle 多选。
11
+ * 确认后将选中 ID 以逗号分隔写回单元格。
12
+ * 点击外部或 Esc 提交并关闭。
13
+ */
14
+ export declare class MultiSelectEditor extends GlobalOverlayEditor {
15
+ #private;
16
+ protected get initialFocusIndex(): number;
17
+ protected get itemCount(): number;
18
+ readonly editorType = "multiselect";
19
+ constructor(options: MultiSelectOption[], selectedIds: string[], onCommit?: (ids: string[]) => void);
20
+ onEnd(): void;
21
+ getValue(): string;
22
+ protected buildRows(panel: HTMLDivElement): void;
23
+ protected onRowClick(idx: number): void;
24
+ protected onFocusChange(idx: number, prev: number): void;
25
+ }
26
+ //# sourceMappingURL=multiselect-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiselect-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/multiselect-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,oBAAoB;AACpB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,mBAAmB;;IAKxD,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAExC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,QAAQ,CAAC,UAAU,iBAAiB;gBAExB,OAAO,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI;IAO1F,KAAK,IAAI,IAAI;IAKtB,QAAQ,IAAI,MAAM;IAOlB,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IA6ChD,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAavC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAMzD"}
@@ -0,0 +1,12 @@
1
+ import { EditContext, IEditor, RectProps } from '@visactor/vtable-editors';
2
+ export declare class NumberEditor implements IEditor<unknown> {
3
+ #private;
4
+ readonly editorType: string;
5
+ constructor(isInteger?: boolean);
6
+ onStart(ctx: EditContext<unknown>): void;
7
+ getValue(): number | null;
8
+ onEnd(): void;
9
+ isEditorElement(el: HTMLElement | EventTarget): boolean;
10
+ adjustPosition(rect: RectProps): void;
11
+ }
12
+ //# sourceMappingURL=number-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/number-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKhF,qBAAa,YAAa,YAAW,OAAO,CAAC,OAAO,CAAC;;IAUnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,SAAS,UAAQ;IAK7B,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IA2HxC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO;IAKvD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAiDtC"}
@@ -0,0 +1,23 @@
1
+ import { EditContext, IEditor, RectProps } from '@visactor/vtable-editors';
2
+ import { RelatedEntityItem } from '../../entity-form/interfaces.js';
3
+ /** 关联实体选项项 */
4
+ export { type RelatedEntityItem };
5
+ /**
6
+ * 关系字段搜索下拉编辑器(oneToOne / manyToOne)
7
+ *
8
+ * - 顶部搜索框:实时过滤可选实体列表
9
+ * - 键盘导航:↑ ↓ 移动焦点,Enter / 点击确认,Escape 取消
10
+ * - 空值支持:nullable=true 时列表首项为"(空)"
11
+ * - 存储外键 ID,显示关联实体的 displayName
12
+ */
13
+ export declare class RelationEditor implements IEditor<string> {
14
+ #private;
15
+ readonly editorType = "relation-editor";
16
+ constructor(items?: RelatedEntityItem[] | (() => RelatedEntityItem[]), nullable?: boolean);
17
+ onStart(ctx: EditContext<string>): void;
18
+ onEnd(): void;
19
+ getValue(): string;
20
+ isEditorElement(target: HTMLElement): boolean;
21
+ adjustPosition(rect: RectProps): void;
22
+ }
23
+ //# sourceMappingURL=relation-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/relation-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,cAAc;AAEd,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC;;IAkBpD,QAAQ,CAAC,UAAU,qBAAqB;gBAE5B,KAAK,GAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,iBAAiB,EAAE,CAAM,EAAE,QAAQ,UAAQ;IAgD3F,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IAkFvC,KAAK,IAAI,IAAI;IAWb,QAAQ,IAAI,MAAM;IAIlB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI7C,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAsHtC"}
@@ -0,0 +1,10 @@
1
+ import { ListEditor } from '@visactor/vtable-editors';
2
+ /**
3
+ * Workaround for VTable `ListEditor` bug:
4
+ * `onEnd` throws TypeError when `element.parentNode` is null
5
+ * during keyboard-triggered cell navigation.
6
+ */
7
+ export declare class SafeListEditor extends ListEditor {
8
+ onEnd(): void;
9
+ }
10
+ //# sourceMappingURL=safe-list-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-list-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/safe-list-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,UAAU;IACnC,KAAK,IAAI,IAAI;CAOvB"}
@@ -0,0 +1,24 @@
1
+ import { EditContext, IEditor } from '@visactor/vtable-editors';
2
+ export type TagsMode = 'string' | 'number';
3
+ /**
4
+ * 标签(数组)输入编辑器
5
+ *
6
+ * 浮层显示标签芯片 + 输入框,适合编辑 stringArray / numberArray 类型。
7
+ * - Enter 或逗号:添加当前输入为新标签
8
+ * - Backspace(输入框为空时):移除最后一个标签
9
+ * - 点击 × :移除对应标签
10
+ * - Escape:取消(恢复原始标签)
11
+ * - 点击外部 / Tab:提交当前输入(若有内容)并关闭
12
+ *
13
+ * 数字模式下(TagsMode='number')仅接受有效数字。
14
+ */
15
+ export declare class TagsEditor implements IEditor<unknown> {
16
+ #private;
17
+ readonly editorType: string;
18
+ constructor(mode?: TagsMode);
19
+ onStart(ctx: EditContext<unknown>): void;
20
+ getValue(): string[] | number[];
21
+ onEnd(): void;
22
+ isEditorElement(el: HTMLElement | EventTarget): boolean;
23
+ }
24
+ //# sourceMappingURL=tags-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/tags-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAKrE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,qBAAa,UAAW,YAAW,OAAO,CAAC,OAAO,CAAC;;IAUjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,IAAI,GAAE,QAAmB;IAKrC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IA4GxC,QAAQ,IAAI,MAAM,EAAE,GAAG,MAAM,EAAE;IAO/B,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO;CAwExD"}
@@ -0,0 +1,13 @@
1
+ import { EditContext, IEditor, RectProps } from '@visactor/vtable-editors';
2
+ import { UUID_RE } from '../../entity-value.utils.js';
3
+ export { UUID_RE };
4
+ export declare class UuidEditor implements IEditor<unknown> {
5
+ #private;
6
+ readonly editorType = "uuid-editor";
7
+ onStart(ctx: EditContext<unknown>): void;
8
+ getValue(): string | null;
9
+ onEnd(): void;
10
+ isEditorElement(el: HTMLElement | EventTarget): boolean;
11
+ adjustPosition(rect: RectProps): void;
12
+ }
13
+ //# sourceMappingURL=uuid-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid-editor.d.ts","sourceRoot":"","sources":["../../../src/entity-table/editors/uuid-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,qBAAa,UAAW,YAAW,OAAO,CAAC,OAAO,CAAC;;IASjD,QAAQ,CAAC,UAAU,iBAAiB;IAEpC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IA6HxC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO;IAKvD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CA2BtC"}
@@ -0,0 +1,22 @@
1
+ export type { BatchChangeItem, CellChangeEvent, EntityTableConfig, EntityTableRecord, PendingWrite, RowDeleteEvent, RowReorderEvent } from './interfaces.js';
2
+ export { TableClipboardManager, applyClipboard, applySystemText, collectDeleteWrites, formatAsTsv, snapshotSelection, type ClipboardCell, type ClipboardContent } from './vtable/table-clipboard.js';
3
+ export { _resetEditorRegistry, buildTableOptions, createListTable, ensureBaseEditorRegistered, registerEditor } from './vtable/table-factory.js';
4
+ export { handleTableKeydown, type KeyboardHandlerContext } from './vtable/table-keyboard.js';
5
+ export { collectReorderedIds, patchDragIconForReadonlyRows, updateTableRecords } from './vtable/table-operations.js';
6
+ export { createTheme, getCSSVariables, getDefaultColors, type CSSVariables } from './vtable/table-theme.js';
7
+ export { CellTooltipManager, computeTooltipPosition } from './vtable/table-tooltip.js';
8
+ export { ROW_SERIES_COL_OFFSET, changeCellValue, completeTableEdit, getTableContainer, isTableEditing, setCellSwitchState } from './vtable/vtable-compat.js';
9
+ export { DateEditor } from './editors/date-editor.js';
10
+ export { EnumEditor, type EnumItem } from './editors/enum-editor.js';
11
+ export { DAISY_COLORS, GlobalOverlayEditor, positionOverlayPanel, scheduleEditorSetup } from './editors/global-overlay-editor.js';
12
+ export { IconListEditor, type IconLabeledItem } from './editors/icon-list-editor.js';
13
+ export { JsonEditor } from './editors/json-editor.js';
14
+ export { KeyValueEditor } from './editors/key-value-editor.js';
15
+ export { lucideToSvgHtml, type IconData } from './editors/lucide-svg.js';
16
+ export { MultiSelectEditor, type MultiSelectOption } from './editors/multiselect-editor.js';
17
+ export { NumberEditor } from './editors/number-editor.js';
18
+ export { RelationEditor } from './editors/relation-editor.js';
19
+ export { SafeListEditor } from './editors/safe-list-editor.js';
20
+ export { TagsEditor, type TagsMode } from './editors/tags-editor.js';
21
+ export { DELETE_COLOR, actionsColumn, buildPropertyColumn, disabledEditorForReadonly, formatDateValue, getCellRecord, isReadonly, isReadonlyOrAddRow, makeDeleteIcons, makeEditorForReadonly, parsePropertyColumnValue, switchDisabledForReadonly, type KVSchemaEntry, type PropertyColumnConfig, type PropertyTypeString, type SwitchDisableCallback } from './columns/column-utils.js';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entity-table/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 通用实体表记录基础接口
3
+ *
4
+ * 业务层扩展此接口添加领域字段。
5
+ * `_` 前缀字段为内部元数据,不会被剪贴板/编辑操作处理。
6
+ */
7
+ export interface EntityTableRecord {
8
+ [key: string]: unknown;
9
+ /** 只读行(不可编辑、不可拖拽、不可删除) */
10
+ _readonly?: boolean;
11
+ /** 新增模板行 */
12
+ _isAddRow?: boolean;
13
+ /** 树结构子节点 */
14
+ children?: EntityTableRecord[];
15
+ /** VTable 树节点展开状态 */
16
+ hierarchyState?: 'expand' | 'collapse';
17
+ }
18
+ /** 单元格变更事件 */
19
+ export interface CellChangeEvent {
20
+ col: number;
21
+ row: number;
22
+ field: string;
23
+ value: unknown;
24
+ record: EntityTableRecord;
25
+ }
26
+ /** 批量变更项 */
27
+ export interface BatchChangeItem {
28
+ recordId: string;
29
+ changes: Record<string, unknown>;
30
+ }
31
+ /** 行删除事件 */
32
+ export interface RowDeleteEvent {
33
+ record: EntityTableRecord;
34
+ }
35
+ /** 行重排事件 */
36
+ export interface RowReorderEvent {
37
+ orderedIds: string[];
38
+ }
39
+ /** 剪贴板/批量写入的待提交操作 */
40
+ export interface PendingWrite {
41
+ col: number;
42
+ row: number;
43
+ value: unknown;
44
+ /** 目标列字段名 */
45
+ field: string;
46
+ /** 目标行记录快照(写入时刻) */
47
+ record: EntityTableRecord;
48
+ }
49
+ /** 表格配置 */
50
+ export interface EntityTableConfig {
51
+ /** 单元格错误 tooltip 延迟(毫秒),默认 800 */
52
+ tooltipDelay?: number;
53
+ }
54
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/entity-table/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qBAAqB;IACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACxC;AAED,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,YAAY;AACZ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,YAAY;AACZ,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,YAAY;AACZ,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAqB;AACrB,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,55 @@
1
+ import { PendingWrite } from '../interfaces.js';
2
+ import type * as VTable from '@visactor/vtable';
3
+ /** 单个单元格的剪贴板快照 */
4
+ export interface ClipboardCell {
5
+ col: number;
6
+ field: string;
7
+ value: unknown;
8
+ cellType: string;
9
+ propertyType?: string;
10
+ }
11
+ /** 剪贴板内容:行优先二维数组 `[rowOffset][colOffset]` */
12
+ export type ClipboardContent = ClipboardCell[][];
13
+ /**
14
+ * 将当前 VTable 选区快照为剪贴板内容。
15
+ *
16
+ * 跳过:表头行、只读行、新增行、元字段列(`_` 前缀)。
17
+ */
18
+ export declare function snapshotSelection(table: VTable.ListTable, columns?: readonly Record<string, unknown>[]): ClipboardContent | null;
19
+ /** 将 ClipboardContent 序列化为 TSV 字符串 */
20
+ export declare function formatAsTsv(clipboard: ClipboardContent): string;
21
+ /**
22
+ * 从内部剪贴板收集待写入操作(按列位置匹配,类 Excel 行为)。
23
+ * cellType 必须一致;行/列数不足时循环复用。
24
+ * 若目标列定义了 menuList,则跳过不在枚举范围内的值。
25
+ */
26
+ export declare function applyClipboard(table: VTable.ListTable, clipboard: ClipboardContent, columns?: readonly Record<string, unknown>[]): PendingWrite[];
27
+ /**
28
+ * 从系统剪贴板文本(TSV)收集待写入操作。
29
+ * 布尔列自动将文本转为布尔值(true/1/yes/是 → true,false/0/no/否/空 → false),
30
+ * 无法识别的值跳过;枚举列跳过不在 menuList 中的值;行/列数不足时循环复用。
31
+ */
32
+ export declare function applySystemText(table: VTable.ListTable, text: string, columns?: readonly Record<string, unknown>[]): PendingWrite[];
33
+ /**
34
+ * 从选区收集 Delete/Backspace 需要清空的单元格写入列表。
35
+ *
36
+ * @param cellClearable 业务层回调判断单元格是否可清空,返回 false 跳过该单元格
37
+ * @returns writes — 需要写入的清空操作;boolCells — 需要刷新视觉状态的布尔列坐标
38
+ */
39
+ export declare function collectDeleteWrites(table: VTable.ListTable, columns: readonly {
40
+ field?: string;
41
+ cellType?: string | ((...args: unknown[]) => string);
42
+ }[], nonClearableFields: ReadonlySet<string>, cellClearable?: (record: Record<string, unknown>, field: string) => boolean): {
43
+ writes: PendingWrite[];
44
+ boolCells: {
45
+ col: number;
46
+ row: number;
47
+ }[];
48
+ };
49
+ /** 内部剪贴板管理器 — 封装系统剪贴板 API 交互 + 内部备份 */
50
+ export declare class TableClipboardManager {
51
+ #private;
52
+ copy(table: VTable.ListTable, columns?: readonly Record<string, unknown>[]): Promise<void>;
53
+ paste(table: VTable.ListTable, columns?: readonly Record<string, unknown>[]): Promise<PendingWrite[]>;
54
+ }
55
+ //# sourceMappingURL=table-clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-clipboard.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqGxE,kBAAkB;AAClB,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,EAAE,EAAE,CAAC;AAoCjD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC3C,gBAAgB,GAAG,IAAI,CA8BzB;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC3C,YAAY,EAAE,CAoChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC3C,YAAY,EAAE,CA0ChB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,OAAO,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,CAAA;CAAE,EAAE,EAC5F,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAC1E;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAgCvE;AAED,uCAAuC;AACvC,qBAAa,qBAAqB;;IAI1B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1F,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAe5G"}
@@ -0,0 +1,18 @@
1
+ import { ListTableConstructorOptions } from '@visactor/vtable';
2
+ import { EntityTableRecord } from '../interfaces.js';
3
+ import * as VTable from '@visactor/vtable';
4
+ /** 注册 VTable 基础编辑器(全局单例,仅 input + list) */
5
+ export declare function ensureBaseEditorRegistered(): void;
6
+ /**
7
+ * 注册自定义编辑器
8
+ *
9
+ * 业务层调用此函数注册领域相关编辑器(如属性类型选择器)。
10
+ */
11
+ export declare function registerEditor(name: string, editor: unknown): void;
12
+ /** 构建 ListTable 初始化选项 */
13
+ export declare function buildTableOptions(records: EntityTableRecord[], columns: ListTableConstructorOptions['columns'], isDarkMode: boolean, options?: Partial<ListTableConstructorOptions>): ListTableConstructorOptions;
14
+ /** 创建 VTable ListTable 实例 */
15
+ export declare function createListTable(container: HTMLElement, records: EntityTableRecord[], columns: ListTableConstructorOptions['columns'], isDarkMode: boolean, options?: Partial<ListTableConstructorOptions>): VTable.ListTable;
16
+ /** 重置编辑器注册状态(仅供测试使用) */
17
+ export declare function _resetEditorRegistry(): void;
18
+ //# sourceMappingURL=table-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-factory.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAW3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,2CAA2C;AAC3C,wBAAgB,0BAA0B,IAAI,IAAI,CAejD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAElE;AAED,yBAAyB;AACzB,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC/C,UAAU,EAAE,OAAO,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAC7C,2BAA2B,CAmB7B;AAED,6BAA6B;AAC7B,wBAAgB,eAAe,CAC7B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC/C,UAAU,EAAE,OAAO,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAC7C,MAAM,CAAC,SAAS,CAIlB;AAED,wBAAwB;AACxB,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -0,0 +1,20 @@
1
+ import type * as VTable from '@visactor/vtable';
2
+ /** 键盘处理上下文 — 由组件提供回调 */
3
+ export interface KeyboardHandlerContext {
4
+ getTable(): VTable.ListTable | null;
5
+ getSelectedCell(): {
6
+ col: number;
7
+ row: number;
8
+ } | null;
9
+ getColDef(col: number): {
10
+ cellType?: string;
11
+ field?: string;
12
+ } | undefined;
13
+ onCopy(): void;
14
+ onPaste(): void;
15
+ onDelete(): void;
16
+ onCellChange(col: number, row: number, value: unknown): void;
17
+ }
18
+ /** 表格容器 keydown 事件处理 — 剪贴板快捷键 + 布尔切换 + 删除 */
19
+ export declare function handleTableKeydown(ctx: KeyboardHandlerContext, e: KeyboardEvent): void;
20
+ //# sourceMappingURL=table-keyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-keyboard.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAIhD,wBAAwB;AACxB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACpC,eAAe,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1E,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,IAAI,IAAI,CAAC;IACjB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAID,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,EAAE,aAAa,GAAG,IAAI,CA2BtF"}
@@ -0,0 +1,20 @@
1
+ import { ListTableConstructorOptions } from '@visactor/vtable';
2
+ import { EntityTableRecord } from '../interfaces.js';
3
+ import type * as VTable from '@visactor/vtable';
4
+ /**
5
+ * HACK: VTable 不提供禁用特定行拖拽的 API,通过 monkey-patch 内部属性实现
6
+ *
7
+ * TODO(vtable-upstream): 跟踪 VTable 上游 API,一旦提供 per-row dragOrder 配置即可移除此 hack
8
+ * @see https://github.com/AgoraIO/vtable/issues — 搜索 "drag order per row"
9
+ */
10
+ export declare function patchDragIconForReadonlyRows(table: VTable.ListTable): void;
11
+ /** 收集拖拽排序后的非只读行 ID 列表 */
12
+ export declare function collectReorderedIds(table: VTable.ListTable, idField: string): string[];
13
+ /**
14
+ * 更新表格数据并恢复列宽(按 field 名匹配,容忍列增删)
15
+ *
16
+ * @param prevColumns 更新前的列定义,用于读取旧列宽
17
+ * @param newColumns 更新后的列定义
18
+ */
19
+ export declare function updateTableRecords(table: VTable.ListTable, records: EntityTableRecord[], prevColumns: ListTableConstructorOptions['columns'], newColumns: ListTableConstructorOptions['columns']): void;
20
+ //# sourceMappingURL=table-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-operations.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAgB1E;AAED,yBAAyB;AACzB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWtF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,2BAA2B,CAAC,SAAS,CAAC,EACnD,UAAU,EAAE,2BAA2B,CAAC,SAAS,CAAC,GACjD,IAAI,CAmBN"}
@@ -0,0 +1,17 @@
1
+ import * as VTable from '@visactor/vtable';
2
+ export interface CSSVariables {
3
+ rootBg: string;
4
+ base100: string;
5
+ base200: string;
6
+ base300: string;
7
+ baseContent: string;
8
+ primary: string;
9
+ primaryContent: string;
10
+ radiusBox: string;
11
+ }
12
+ export declare function getDefaultColors(): CSSVariables;
13
+ /** 从 CSS 自定义属性读取 daisyUI 主题色 */
14
+ export declare function getCSSVariables(): CSSVariables;
15
+ /** 基于 daisyUI CSS 变量构建 VTable 主题 */
16
+ export declare function createTheme(isDark: boolean, cssVars: CSSVariables): ReturnType<typeof VTable.themes.DEFAULT.extends>;
17
+ //# sourceMappingURL=table-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-theme.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAW/C;AAED,gCAAgC;AAChC,wBAAgB,eAAe,IAAI,YAAY,CAkB9C;AAED,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAsDpH"}
@@ -0,0 +1,21 @@
1
+ import type * as VTable from '@visactor/vtable';
2
+ /** 计算 tooltip 在页面上的绝对位置 */
3
+ export declare function computeTooltipPosition(container: HTMLElement | null | undefined, rect: Record<string, number> | null | undefined): {
4
+ x: number;
5
+ y: number;
6
+ } | null;
7
+ /** 单元格错误 tooltip 生命周期管理 */
8
+ export declare class CellTooltipManager {
9
+ #private;
10
+ /** 延迟显示错误 tooltip */
11
+ showError(table: VTable.ListTable, col: number, row: number, content: string, setTooltip: (tip: {
12
+ x: number;
13
+ y: number;
14
+ content: string;
15
+ } | null) => void, delay?: number): void;
16
+ /** 隐藏 tooltip */
17
+ hide(setTooltip: (tip: null) => void): void;
18
+ /** 销毁时清理定时器 */
19
+ cleanup(): void;
20
+ }
21
+ //# sourceMappingURL=table-tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-tooltip.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/table-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAGhD,2BAA2B;AAC3B,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAC9C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUjC;AAID,2BAA2B;AAC3B,qBAAa,kBAAkB;;IAI7B,qBAAqB;IACrB,SAAS,CACP,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,EAC3E,KAAK,SAAwB,GAC5B,IAAI;IAYP,iBAAiB;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAS3C,eAAe;IACf,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,24 @@
1
+ import type * as VTable from '@visactor/vtable';
2
+ /**
3
+ * VTable ListTable 类型补充工具
4
+ *
5
+ * VTable 官方类型未导出部分内部方法,此模块提供类型安全的包装器,
6
+ * 避免散落的 `as unknown as` 类型断言。
7
+ * 所有包装器在调用前做运行时 `in` 检查,VTable 版本升级移除 API 时安全降级。
8
+ */
9
+ /**
10
+ * VTable rowSeriesNumber 列占据 col=0,数据列从 col=1 开始。
11
+ * 将 VTable 列索引映射到 columns 数组索引时需减此偏移。
12
+ */
13
+ export declare const ROW_SERIES_COL_OFFSET = 1;
14
+ /** 设置 switch/checkbox/radio 单元格视觉状态 */
15
+ export declare function setCellSwitchState(table: VTable.ListTable, col: number, row: number, value: boolean): void;
16
+ /** 获取表格 DOM 容器元素 */
17
+ export declare function getTableContainer(table: VTable.ListTable): HTMLElement | undefined;
18
+ /** 检查表格是否正在编辑中 */
19
+ export declare function isTableEditing(table: VTable.ListTable): boolean;
20
+ /** 完成当前单元格编辑 */
21
+ export declare function completeTableEdit(table: VTable.ListTable): void;
22
+ /** 回写单元格值(不触发编辑事件) */
23
+ export declare function changeCellValue(table: VTable.ListTable, col: number, row: number, value: unknown): void;
24
+ //# sourceMappingURL=vtable-compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtable-compat.d.ts","sourceRoot":"","sources":["../../../src/entity-table/vtable/vtable-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAIvC,uCAAuC;AACvC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAK1G;AAED,oBAAoB;AACpB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,WAAW,GAAG,SAAS,CAMlF;AAED,kBAAkB;AAClB,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAG/D;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAK/D;AAED,sBAAsB;AACtB,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAKvG"}
@@ -0,0 +1,10 @@
1
+ import { EntityFieldConfig, EntityFieldType } from './entity-field.utils.js';
2
+ export declare const UUID_RE: RegExp;
3
+ export declare function parseEntityFieldValue(type: EntityFieldType | string, raw: unknown): unknown;
4
+ export declare function formatEntityFieldValue(type: EntityFieldType | string, value: unknown): string;
5
+ export interface FieldValidationError {
6
+ field: string;
7
+ message: string;
8
+ }
9
+ export declare function validateEntityFieldValue(field: EntityFieldConfig, value: unknown): FieldValidationError | null;
10
+ //# sourceMappingURL=entity-value.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-value.utils.d.ts","sourceRoot":"","sources":["../src/entity-value.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAElF,eAAO,MAAM,OAAO,QAAoE,CAAC;AAEzF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAmD3F;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CA0B7F;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAyC9G"}
@@ -0,0 +1,35 @@
1
+ export * from './entity-field.utils.js';
2
+ export * from './entity-value.utils.js';
3
+ export * from './structural-equal.js';
4
+ export * from './entity-detail/detail-tabs.js';
5
+ export * from './entity-detail/interfaces.js';
6
+ export * from './entity-form/form-data.js';
7
+ export * from './entity-form/form-fields.js';
8
+ export * from './entity-form/form-validation.js';
9
+ export * from './entity-form/interfaces.js';
10
+ export * from './entity-table/columns/build-editable-columns.js';
11
+ export * from './entity-table/columns/column-utils.js';
12
+ export * from './entity-table/editors/date-editor.js';
13
+ export * from './entity-table/editors/enum-editor.js';
14
+ export * from './entity-table/editors/global-overlay-editor.js';
15
+ export * from './entity-table/editors/icon-list-editor.js';
16
+ export * from './entity-table/editors/json-editor.js';
17
+ export * from './entity-table/editors/key-value-editor.js';
18
+ export * from './entity-table/editors/lucide-svg.js';
19
+ export * from './entity-table/editors/multiselect-editor.js';
20
+ export * from './entity-table/editors/number-editor.js';
21
+ export * from './entity-table/editors/relation-editor.js';
22
+ export * from './entity-table/editors/safe-list-editor.js';
23
+ export * from './entity-table/editors/tags-editor.js';
24
+ export * from './entity-table/interfaces.js';
25
+ export * from './entity-table/vtable/table-clipboard.js';
26
+ export * from './entity-table/vtable/table-factory.js';
27
+ export * from './entity-table/vtable/table-keyboard.js';
28
+ export * from './entity-table/vtable/table-operations.js';
29
+ export * from './entity-table/vtable/table-theme.js';
30
+ export * from './entity-table/vtable/table-tooltip.js';
31
+ export * from './entity-table/vtable/vtable-compat.js';
32
+ export * from './query-builder/models/index.js';
33
+ export * from './query-builder/services/index.js';
34
+ export * from './query-builder/utils/index.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,kDAAkD,CAAC;AACjE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC"}