@vtable-guild/vtable-guild 2.9.0-alpha.0 → 2.9.0-alpha.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.
Files changed (193) hide show
  1. package/css/presets/antdv.css +16 -0
  2. package/css/presets/element-plus.css +16 -0
  3. package/css/style.css +200 -0
  4. package/css/tailwind3-utilities.css +168 -0
  5. package/css/tailwind3.css +32 -0
  6. package/css/tailwind4.css +32 -0
  7. package/dist/core/src/components/Button.d.ts +9 -0
  8. package/dist/core/src/components/Button.d.ts.map +1 -1
  9. package/dist/core/src/components/Button.mjs +11 -6
  10. package/dist/core/src/utils/types.d.ts +5 -0
  11. package/dist/core/src/utils/types.d.ts.map +1 -1
  12. package/dist/css/presets/antdv.css +16 -0
  13. package/dist/css/presets/element-plus.css +16 -0
  14. package/dist/css/style.css +200 -0
  15. package/dist/css/tailwind3-utilities.css +168 -0
  16. package/dist/css/tailwind3.css +32 -0
  17. package/dist/css/tailwind4.css +32 -0
  18. package/dist/icons/src/CheckCircleFilledIcon.d.ts +3 -0
  19. package/dist/icons/src/CheckCircleFilledIcon.d.ts.map +1 -0
  20. package/dist/icons/src/CheckCircleFilledIcon.mjs +9 -0
  21. package/dist/icons/src/CloseCircleFilledIcon.d.ts +3 -0
  22. package/dist/icons/src/CloseCircleFilledIcon.d.ts.map +1 -0
  23. package/dist/icons/src/CloseCircleFilledIcon.mjs +9 -0
  24. package/dist/icons/src/index.d.ts +2 -0
  25. package/dist/icons/src/index.d.ts.map +1 -1
  26. package/dist/index.full.mjs +6240 -4423
  27. package/dist/index.mjs +125 -99
  28. package/dist/table/src/components/ExpandIcon.d.ts +18 -0
  29. package/dist/table/src/components/ExpandIcon.d.ts.map +1 -1
  30. package/dist/table/src/components/ExpandIcon.mjs +47 -17
  31. package/dist/table/src/components/FilterDropdown.d.ts +1 -1
  32. package/dist/table/src/components/Table.d.ts +41 -3
  33. package/dist/table/src/components/Table.d.ts.map +1 -1
  34. package/dist/table/src/components/Table.mjs +744 -649
  35. package/dist/table/src/components/TableBody.d.ts.map +1 -1
  36. package/dist/table/src/components/TableBody.mjs +8 -5
  37. package/dist/table/src/components/TableCell.d.ts.map +1 -1
  38. package/dist/table/src/components/TableCell.mjs +125 -94
  39. package/dist/table/src/components/TableEditableCell.d.ts +29 -0
  40. package/dist/table/src/components/TableEditableCell.d.ts.map +1 -0
  41. package/dist/table/src/components/TableEditableCell.mjs +39 -0
  42. package/dist/table/src/components/TableEditableCell.test.d.ts +2 -0
  43. package/dist/table/src/components/TableEditableCell.test.d.ts.map +1 -0
  44. package/dist/table/src/components/TableInstance.test.d.ts +2 -0
  45. package/dist/table/src/components/TableInstance.test.d.ts.map +1 -0
  46. package/dist/table/src/components/TableLazyTree.test.d.ts +2 -0
  47. package/dist/table/src/components/TableLazyTree.test.d.ts.map +1 -0
  48. package/dist/table/src/components/TableQuery.d.ts +108 -0
  49. package/dist/table/src/components/TableQuery.d.ts.map +1 -0
  50. package/dist/table/src/components/TableQuery.mjs +244 -0
  51. package/dist/table/src/components/TableQuery.test.d.ts +2 -0
  52. package/dist/table/src/components/TableQuery.test.d.ts.map +1 -0
  53. package/dist/table/src/components/VTable.vue.d.ts +5 -1
  54. package/dist/table/src/components/VTable.vue.d.ts.map +1 -1
  55. package/dist/table/src/components/VTable.vue.mjs +45 -33
  56. package/dist/table/src/components/VTableEditCell.vue.d.ts +19 -0
  57. package/dist/table/src/components/VTableEditCell.vue.d.ts.map +1 -0
  58. package/dist/table/src/components/VTableEditCell.vue.mjs +21 -0
  59. package/dist/table/src/components/VTableEditCell.vue2.mjs +4 -0
  60. package/dist/table/src/components/VTableQuery.vue.d.ts +18 -0
  61. package/dist/table/src/components/VTableQuery.vue.d.ts.map +1 -0
  62. package/dist/table/src/components/VTableQuery.vue.mjs +64 -0
  63. package/dist/table/src/components/VTableQuery.vue2.mjs +4 -0
  64. package/dist/table/src/components/VirtualTableBody.d.ts.map +1 -1
  65. package/dist/table/src/components/VirtualTableBody.mjs +128 -115
  66. package/dist/table/src/composables/useLazyTreeData.d.ts +19 -0
  67. package/dist/table/src/composables/useLazyTreeData.d.ts.map +1 -0
  68. package/dist/table/src/composables/useLazyTreeData.mjs +123 -0
  69. package/dist/table/src/composables/useLazyTreeData.test.d.ts +2 -0
  70. package/dist/table/src/composables/useLazyTreeData.test.d.ts.map +1 -0
  71. package/dist/table/src/composables/useTableDictionary.d.ts +5 -0
  72. package/dist/table/src/composables/useTableDictionary.d.ts.map +1 -0
  73. package/dist/table/src/composables/useTableDictionary.mjs +168 -0
  74. package/dist/table/src/composables/useTableDictionary.test.d.ts +2 -0
  75. package/dist/table/src/composables/useTableDictionary.test.d.ts.map +1 -0
  76. package/dist/table/src/composables/useTableEdit.d.ts +4 -0
  77. package/dist/table/src/composables/useTableEdit.d.ts.map +1 -0
  78. package/dist/table/src/composables/useTableEdit.mjs +400 -0
  79. package/dist/table/src/composables/useTableEdit.test.d.ts +2 -0
  80. package/dist/table/src/composables/useTableEdit.test.d.ts.map +1 -0
  81. package/dist/table/src/composables/useTableEditable.d.ts +4 -0
  82. package/dist/table/src/composables/useTableEditable.d.ts.map +1 -0
  83. package/dist/table/src/composables/useTableEditable.mjs +125 -0
  84. package/dist/table/src/composables/useTableEditable.test.d.ts +2 -0
  85. package/dist/table/src/composables/useTableEditable.test.d.ts.map +1 -0
  86. package/dist/table/src/composables/useTableQuery.d.ts +4 -0
  87. package/dist/table/src/composables/useTableQuery.d.ts.map +1 -0
  88. package/dist/table/src/composables/useTableQuery.mjs +54 -0
  89. package/dist/table/src/composables/useTableQuery.test.d.ts +2 -0
  90. package/dist/table/src/composables/useTableQuery.test.d.ts.map +1 -0
  91. package/dist/table/src/composables/useTableRequest.d.ts.map +1 -1
  92. package/dist/table/src/composables/useTableRequest.mjs +138 -98
  93. package/dist/table/src/composables/useTableRequest.polling.test.d.ts +2 -0
  94. package/dist/table/src/composables/useTableRequest.polling.test.d.ts.map +1 -0
  95. package/dist/table/src/composables/useTreeData.d.ts +2 -0
  96. package/dist/table/src/composables/useTreeData.d.ts.map +1 -1
  97. package/dist/table/src/composables/useTreeData.mjs +46 -51
  98. package/dist/table/src/context.d.ts +11 -0
  99. package/dist/table/src/context.d.ts.map +1 -1
  100. package/dist/table/src/controls.d.ts +4 -0
  101. package/dist/table/src/controls.d.ts.map +1 -0
  102. package/dist/table/src/controls.mjs +97 -0
  103. package/dist/table/src/controls.test.d.ts +2 -0
  104. package/dist/table/src/controls.test.d.ts.map +1 -0
  105. package/dist/table/src/index.d.ts +27 -1
  106. package/dist/table/src/index.d.ts.map +1 -1
  107. package/dist/table/src/renderers.d.ts +5 -0
  108. package/dist/table/src/renderers.d.ts.map +1 -0
  109. package/dist/table/src/renderers.mjs +117 -0
  110. package/dist/table/src/renderers.test.d.ts +2 -0
  111. package/dist/table/src/renderers.test.d.ts.map +1 -0
  112. package/dist/table/src/review-current.repro.test.d.ts +2 -0
  113. package/dist/table/src/review-current.repro.test.d.ts.map +1 -0
  114. package/dist/table/src/types/column.d.ts +8 -1
  115. package/dist/table/src/types/column.d.ts.map +1 -1
  116. package/dist/table/src/types/controls.d.ts +31 -0
  117. package/dist/table/src/types/controls.d.ts.map +1 -0
  118. package/dist/table/src/types/dictionary.d.ts +71 -0
  119. package/dist/table/src/types/dictionary.d.ts.map +1 -0
  120. package/dist/table/src/types/dictionary.typecheck.d.ts +6 -0
  121. package/dist/table/src/types/dictionary.typecheck.d.ts.map +1 -0
  122. package/dist/table/src/types/editable.d.ts +49 -0
  123. package/dist/table/src/types/editable.d.ts.map +1 -0
  124. package/dist/table/src/types/editable.typecheck.d.ts +15 -0
  125. package/dist/table/src/types/editable.typecheck.d.ts.map +1 -0
  126. package/dist/table/src/types/editing.d.ts +90 -0
  127. package/dist/table/src/types/editing.d.ts.map +1 -0
  128. package/dist/table/src/types/editing.typecheck.d.ts +11 -0
  129. package/dist/table/src/types/editing.typecheck.d.ts.map +1 -0
  130. package/dist/table/src/types/index.d.ts +9 -0
  131. package/dist/table/src/types/index.d.ts.map +1 -1
  132. package/dist/table/src/types/instance.d.ts +18 -0
  133. package/dist/table/src/types/instance.d.ts.map +1 -0
  134. package/dist/table/src/types/instance.typecheck.d.ts +3 -0
  135. package/dist/table/src/types/instance.typecheck.d.ts.map +1 -0
  136. package/dist/table/src/types/query-form.d.ts +90 -0
  137. package/dist/table/src/types/query-form.d.ts.map +1 -0
  138. package/dist/table/src/types/query-form.typecheck.d.ts +10 -0
  139. package/dist/table/src/types/query-form.typecheck.d.ts.map +1 -0
  140. package/dist/table/src/types/query.d.ts +40 -0
  141. package/dist/table/src/types/query.d.ts.map +1 -0
  142. package/dist/table/src/types/query.typecheck.d.ts +14 -0
  143. package/dist/table/src/types/query.typecheck.d.ts.map +1 -0
  144. package/dist/table/src/types/renderers.d.ts +49 -0
  145. package/dist/table/src/types/renderers.d.ts.map +1 -0
  146. package/dist/table/src/types/renderers.typecheck.d.ts +13 -0
  147. package/dist/table/src/types/renderers.typecheck.d.ts.map +1 -0
  148. package/dist/table/src/types/request.d.ts +23 -5
  149. package/dist/table/src/types/request.d.ts.map +1 -1
  150. package/dist/table/src/types/request.typecheck.d.ts.map +1 -1
  151. package/dist/table/src/types/table.d.ts +8 -0
  152. package/dist/table/src/types/table.d.ts.map +1 -1
  153. package/dist/table/src/types/tree.d.ts +5 -0
  154. package/dist/table/src/types/tree.d.ts.map +1 -0
  155. package/dist/table/src/utils/cell.d.ts +5 -0
  156. package/dist/table/src/utils/cell.d.ts.map +1 -1
  157. package/dist/table/src/utils/cell.mjs +76 -46
  158. package/dist/table/src/utils/fieldPath.d.ts +6 -0
  159. package/dist/table/src/utils/fieldPath.d.ts.map +1 -0
  160. package/dist/table/src/utils/fieldPath.mjs +29 -0
  161. package/dist/table/src/utils/queryFields.d.ts +4 -0
  162. package/dist/table/src/utils/queryFields.d.ts.map +1 -0
  163. package/dist/table/src/utils/queryFields.mjs +31 -0
  164. package/dist/table/src/utils/queryFields.test.d.ts +2 -0
  165. package/dist/table/src/utils/queryFields.test.d.ts.map +1 -0
  166. package/dist/table/src/utils/snapshot.d.ts +3 -0
  167. package/dist/table/src/utils/snapshot.d.ts.map +1 -0
  168. package/dist/table/src/utils/snapshot.mjs +30 -0
  169. package/dist/table/src/utils/snapshot.test.d.ts +2 -0
  170. package/dist/table/src/utils/snapshot.test.d.ts.map +1 -0
  171. package/dist/table/src/utils/stateEqual.d.ts +3 -0
  172. package/dist/table/src/utils/stateEqual.d.ts.map +1 -0
  173. package/dist/table/src/utils/stateEqual.mjs +15 -0
  174. package/dist/theme/src/index.d.ts +4 -0
  175. package/dist/theme/src/index.d.ts.map +1 -1
  176. package/dist/theme/src/presets/antdv/table-locale.d.ts +10 -0
  177. package/dist/theme/src/presets/antdv/table-locale.d.ts.map +1 -1
  178. package/dist/theme/src/presets/antdv/table-locale.mjs +2 -0
  179. package/dist/theme/src/presets/antdv/table.d.ts +10 -0
  180. package/dist/theme/src/presets/antdv/table.d.ts.map +1 -1
  181. package/dist/theme/src/presets/antdv/table.mjs +10 -0
  182. package/dist/theme/src/presets/element-plus/table-locale.d.ts +10 -0
  183. package/dist/theme/src/presets/element-plus/table-locale.d.ts.map +1 -1
  184. package/dist/theme/src/presets/element-plus/table-locale.mjs +2 -0
  185. package/dist/theme/src/presets/element-plus/table.d.ts +10 -0
  186. package/dist/theme/src/presets/element-plus/table.d.ts.map +1 -1
  187. package/dist/theme/src/presets/element-plus/table.mjs +10 -0
  188. package/dist/theme/src/query.d.ts +128 -0
  189. package/dist/theme/src/query.d.ts.map +1 -0
  190. package/dist/theme/src/query.mjs +56 -0
  191. package/dist/vtable-guild/src/augment.d.ts +2 -1
  192. package/dist/vtable-guild/src/augment.d.ts.map +1 -1
  193. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ import { Component, VNodeChild } from 'vue';
2
+ import { TableDictionaryOption } from './dictionary';
3
+ /** Shared by schema query fields and editable cells; host libraries remain optional. */
4
+ export interface TableControlContext {
5
+ value: unknown;
6
+ onChange: (value: unknown) => void;
7
+ onSearch?: (keyword: string) => void;
8
+ fieldProps: Record<string, unknown>;
9
+ options: readonly TableDictionaryOption[];
10
+ disabled: boolean;
11
+ readonly: boolean;
12
+ loading: boolean;
13
+ error?: string;
14
+ id?: string;
15
+ name?: string;
16
+ mode: 'query' | 'edit';
17
+ }
18
+ export type TableControlRenderer = (context: TableControlContext) => VNodeChild;
19
+ export type TableControls = Readonly<Record<string, TableControlRenderer>>;
20
+ /** Pass components already installed by the host application. No UI library is imported here. */
21
+ export interface TableControlComponents {
22
+ Input: Component;
23
+ Select: Component;
24
+ InputNumber: Component;
25
+ DatePicker: Component;
26
+ RangePicker?: Component;
27
+ TimePicker?: Component;
28
+ /** Element Plus ElOption; unused by the Ant Design Vue adapter. */
29
+ Option?: Component;
30
+ }
31
+ //# sourceMappingURL=controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACzC,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,UAAU,CAAA;AAC/E,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAE1E,iGAAiG;AACjG,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,SAAS,CAAA;IACtB,UAAU,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB"}
@@ -0,0 +1,71 @@
1
+ import { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
2
+ import { ColumnFilterItem } from './column';
3
+ import { ColumnValue, ColumnValueEnumItem, ColumnValueStatus } from './presentation';
4
+ export interface TableDictionaryOption {
5
+ value: ColumnValue;
6
+ label: string;
7
+ status?: ColumnValueStatus;
8
+ disabled?: boolean;
9
+ }
10
+ export interface TableDictionaryResult {
11
+ options: readonly TableDictionaryOption[];
12
+ /** True only when this result contains the entire dictionary for these dependency params. */
13
+ complete: boolean;
14
+ }
15
+ export interface TableDictionaryContext {
16
+ signal: AbortSignal;
17
+ keyword: string;
18
+ }
19
+ export type TableDictionaryRequest<TParams extends object> = (params: Partial<TParams>, context: TableDictionaryContext) => Promise<TableDictionaryResult>;
20
+ export interface CreateTableDictionaryOptions<TParams extends object> {
21
+ key: string;
22
+ request: TableDictionaryRequest<TParams>;
23
+ /** Successful result lifetime in milliseconds. Default 300000; 0 disables result caching. */
24
+ cacheTime?: number;
25
+ /** Maximum retained entries. Active subscribers are never evicted. Default 50. */
26
+ maxEntries?: number;
27
+ }
28
+ /** Explicitly share one instance within a table/page or an application-owned provider. */
29
+ export interface TableDictionary<TParams extends object = Record<string, unknown>> {
30
+ readonly key: string;
31
+ /** Share pending work; force bypasses a completed cache entry. Each caller can cancel separately. */
32
+ load: (params: Partial<TParams>, context: TableDictionaryContext & {
33
+ force?: boolean;
34
+ }) => Promise<TableDictionaryResult>;
35
+ /** Forget cached entries. Existing subscribers can finish, but their result is not re-cached. */
36
+ invalidate: () => void;
37
+ }
38
+ export interface UseTableDictionaryOptions<TParams extends object> {
39
+ dictionary: TableDictionary<TParams>;
40
+ /** Dependency parameters. Changes clear the keyword/results, never a business selection. */
41
+ params?: MaybeRefOrGetter<Partial<TParams>>;
42
+ defaultKeyword?: string;
43
+ /** Supply selected labels, including records not present in the latest remote search page. */
44
+ selectedOptions?: MaybeRefOrGetter<readonly TableDictionaryOption[]>;
45
+ manualRequest?: boolean;
46
+ debounceTime?: number;
47
+ onError?: (error: Error) => void;
48
+ }
49
+ export interface UseTableDictionaryReturn {
50
+ options: ComputedRef<readonly TableDictionaryOption[]>;
51
+ /** Known labels for the current dependency params, plus explicitly supplied selected options. */
52
+ valueEnum: ComputedRef<ReadonlyMap<ColumnValue, ColumnValueEnumItem>>;
53
+ /** Empty for partial/search results. Bind explicitly instead of using filters: true. */
54
+ filters: ComputedRef<ColumnFilterItem[]>;
55
+ complete: Readonly<Ref<boolean>>;
56
+ loading: Readonly<Ref<boolean>>;
57
+ error: Readonly<Ref<Error | null>>;
58
+ keyword: Readonly<Ref<string>>;
59
+ search: (keyword: string) => Promise<boolean>;
60
+ reload: () => Promise<boolean>;
61
+ cancel: () => void;
62
+ }
63
+ /** Accept both composable refs and Vue's deeply unwrapped column/schema configurations. */
64
+ export interface TableDictionaryBinding {
65
+ options: MaybeRefOrGetter<readonly TableDictionaryOption[]>;
66
+ valueEnum: MaybeRefOrGetter<ReadonlyMap<ColumnValue, ColumnValueEnumItem>>;
67
+ loading: MaybeRefOrGetter<boolean>;
68
+ error: MaybeRefOrGetter<Error | null>;
69
+ search: (keyword: string) => Promise<boolean>;
70
+ }
71
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/dictionary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UseTableDictionaryReturn } from './dictionary';
2
+ export declare const dictionary: import('../../../vtable-guild/src/index.ts').TableDictionary<{
3
+ country: string;
4
+ }>;
5
+ export declare function dictionaryContract(result: UseTableDictionaryReturn): void;
6
+ //# sourceMappingURL=dictionary.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/dictionary.typecheck.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEnF,eAAO,MAAM,UAAU;aAAoC,MAAM;EAS/D,CAAA;AACF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,QAQlE"}
@@ -0,0 +1,49 @@
1
+ import { MaybeRefOrGetter, VNodeChild } from 'vue';
2
+ import { ColumnType, ColumnsType, CustomRenderContext, Key } from './column';
3
+ import { TableControls, TableControlContext } from './controls';
4
+ import { TableDictionaryOption, TableDictionaryBinding } from './dictionary';
5
+ import { UseTableEditOptions, UseTableEditReturn } from './editing';
6
+ export interface TableEditableFieldContext<TRecord extends object> {
7
+ key: Key;
8
+ name: string;
9
+ column: ColumnType<TRecord>;
10
+ draft: TRecord;
11
+ original?: TRecord;
12
+ value: unknown;
13
+ isNew: boolean;
14
+ }
15
+ export interface TableColumnEditor<TRecord extends object> {
16
+ valueType?: string;
17
+ editable?: boolean | ((context: TableEditableFieldContext<TRecord>) => boolean);
18
+ readonly?: boolean | ((context: TableEditableFieldContext<TRecord>) => boolean);
19
+ disabled?: boolean | ((context: TableEditableFieldContext<TRecord>) => boolean);
20
+ fieldProps?: Record<string, unknown> | ((context: TableEditableFieldContext<TRecord>) => Record<string, unknown>);
21
+ options?: MaybeRefOrGetter<readonly TableDictionaryOption[]>;
22
+ dictionary?: TableDictionaryBinding;
23
+ /** Once when starting an editor, never on each render. */
24
+ convertValue?: (value: unknown, context: TableEditableFieldContext<TRecord>) => unknown;
25
+ /** Applied to a draft snapshot for saving/getValues, without rewriting the editor value. */
26
+ transform?: (value: unknown, context: TableEditableFieldContext<TRecord>) => unknown;
27
+ validate?: (value: unknown, context: TableEditableFieldContext<TRecord> & {
28
+ signal: AbortSignal;
29
+ }) => string | void | Promise<string | void>;
30
+ /** A linked-field patch after the current field changes. */
31
+ onValueChange?: (value: unknown, context: TableEditableFieldContext<TRecord>) => Partial<TRecord> | void;
32
+ }
33
+ export interface TableEditableCellContext<TRecord extends object> extends TableControlContext {
34
+ key: Key;
35
+ column: ColumnType<TRecord>;
36
+ draft: TRecord;
37
+ valueType: string;
38
+ }
39
+ export interface UseTableEditableOptions<TRecord extends object> extends Omit<UseTableEditOptions<TRecord>, 'toDraft' | 'toValue'> {
40
+ columns: MaybeRefOrGetter<ColumnsType<TRecord>>;
41
+ controls: MaybeRefOrGetter<TableControls>;
42
+ ui?: Partial<Record<'editCell' | 'editControl' | 'editError', string>>;
43
+ }
44
+ export interface UseTableEditableReturn<TRecord extends object> extends UseTableEditReturn<TRecord> {
45
+ getCell: (context: Pick<CustomRenderContext<TRecord>, 'record' | 'column'>) => TableEditableCellContext<TRecord> | undefined;
46
+ /** Return from bodyCell; undefined retains VTable's normal readonly rendering. */
47
+ renderEditor: (context: CustomRenderContext<TRecord>) => VNodeChild;
48
+ }
49
+ //# sourceMappingURL=editable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/editable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { TableColumnEditor, UseTableEditableOptions } from './editable';
2
+ import { TableControls } from './controls';
3
+ interface Row {
4
+ id: number;
5
+ profile: {
6
+ name: string;
7
+ };
8
+ amount: number;
9
+ }
10
+ export declare const editorContract: TableColumnEditor<Row>;
11
+ export declare const controlsContract: TableControls;
12
+ export declare const editableOptionsContract: UseTableEditableOptions<Row>;
13
+ export declare function editableContract(): void;
14
+ export {};
15
+ //# sourceMappingURL=editable.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/editable.typecheck.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpE,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AACD,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAIjD,CAAA;AACD,eAAO,MAAM,gBAAgB,EAAE,aAE9B,CAAA;AACD,eAAO,MAAM,uBAAuB,EAAE,uBAAuB,CAAC,GAAG,CAKhE,CAAA;AACD,wBAAgB,gBAAgB,SAgB/B"}
@@ -0,0 +1,90 @@
1
+ import { ComputedRef, MaybeRefOrGetter } from 'vue';
2
+ import { Key } from './column';
3
+ export interface TableEditContext<TRecord extends object> {
4
+ key: Key;
5
+ /** Snapshot from start(); undefined for a cached addition until it is saved. */
6
+ original: TRecord | undefined;
7
+ isNew: boolean;
8
+ signal: AbortSignal;
9
+ }
10
+ export type TableEditDraftContext<TRecord extends object> = Omit<TableEditContext<TRecord>, 'signal'>;
11
+ export interface TableEditAddConfig {
12
+ position?: 'top' | 'bottom';
13
+ /** Cache until saved (default), or immediately insert into the controlled source. */
14
+ mode?: 'cache' | 'source';
15
+ }
16
+ export interface TableEditValidationErrors {
17
+ message?: string;
18
+ /** Field names or business-defined nested field paths. */
19
+ fields?: Record<string, string>;
20
+ }
21
+ export interface TableEditError extends TableEditValidationErrors {
22
+ type: 'validation' | 'save' | 'cancel';
23
+ message: string;
24
+ cause?: unknown;
25
+ }
26
+ export interface TableEditValidationResult<TRecord extends object> {
27
+ valid: boolean;
28
+ /** Submitted snapshots from this validation; absent for failures or obsolete work. */
29
+ values?: TRecord[];
30
+ errors: ReadonlyMap<Key, TableEditError>;
31
+ obsolete?: boolean;
32
+ }
33
+ export interface UseTableEditOptions<TRecord extends object> {
34
+ /** A stable key is required; row indexes are intentionally unsupported. */
35
+ rowKey: keyof TRecord | ((record: TRecord) => Key);
36
+ /** Defaults to single. Starting another row in single mode returns false. */
37
+ mode?: 'single' | 'multiple';
38
+ /** Override when records contain mutable class instances. */
39
+ clone?: (record: TRecord) => TRecord;
40
+ /** Optional controlled source. Parent updates never replace an open local draft. */
41
+ dataSource?: MaybeRefOrGetter<readonly TRecord[]>;
42
+ /** Commit notifications only; draft keystrokes never write back into the source. */
43
+ onChange?: (records: TRecord[]) => void;
44
+ /** Convert a source record once when opening its editor. */
45
+ toDraft?: (record: TRecord, context: TableEditDraftContext<TRecord>) => TRecord;
46
+ /** Convert an editor snapshot when saving or obtaining submitted values. */
47
+ toValue?: (draft: TRecord, context: TableEditContext<TRecord>) => TRecord;
48
+ /** Used by add() when no explicit record is supplied. */
49
+ createRecord?: () => TRecord;
50
+ /** Maximum client-held rows, including cached additions. Finite limits round down to an integer. */
51
+ maxRows?: number;
52
+ /** Return errors to keep the draft open, or void to continue saving. */
53
+ validate?: (draft: TRecord, context: TableEditContext<TRecord>) => TableEditValidationErrors | void | Promise<TableEditValidationErrors | void>;
54
+ /** Return a canonical record, true/void to accept, or false to keep editing. Business updates dataSource. */
55
+ onSave?: (draft: TRecord, context: TableEditContext<TRecord>) => TRecord | void | boolean | Promise<TRecord | void | boolean>;
56
+ /** Returning false or rejecting keeps the draft open. Cancellation aborts a pending save first. */
57
+ onCancel?: (draft: TRecord, context: TableEditContext<TRecord>) => void | boolean | Promise<void | boolean>;
58
+ onError?: (error: TableEditError, key: Key) => void;
59
+ }
60
+ export interface UseTableEditReturn<TRecord extends object> {
61
+ /** Controlled source overlaid with local drafts and positioned cached additions. */
62
+ records: ComputedRef<TRecord[]>;
63
+ validating: ComputedRef<boolean>;
64
+ editableKeys: ComputedRef<readonly Key[]>;
65
+ savingKeys: ComputedRef<ReadonlySet<Key>>;
66
+ cancellingKeys: ComputedRef<ReadonlySet<Key>>;
67
+ errors: ComputedRef<ReadonlyMap<Key, TableEditError>>;
68
+ /** Unsaved cache-mode additions. Source-mode additions are committed through onChange. */
69
+ newRecords: ComputedRef<TRecord[]>;
70
+ isEditing: (key: Key) => boolean;
71
+ /** Returns an isolated copy. Use setDraft() to apply changes. */
72
+ getDraft: (key: Key) => TRecord | undefined;
73
+ /** Source snapshot captured when editing began; undefined for cached additions or missing sessions. */
74
+ getOriginal: (key: Key) => TRecord | undefined;
75
+ getDrafts: () => ReadonlyMap<Key, TRecord>;
76
+ /** Source records plus converted draft snapshots; never calls onSave or onChange. */
77
+ getValues: () => TRecord[];
78
+ /** Validate all client-held rows, including unmounted virtual rows, without saving. */
79
+ validateAll: () => Promise<TableEditValidationResult<TRecord>>;
80
+ /** Abort operations and discard drafts/errors, retaining the current controlled source. */
81
+ reset: () => void;
82
+ start: (record: TRecord) => boolean;
83
+ add: (record?: TRecord, config?: TableEditAddConfig) => boolean;
84
+ setDraft: (key: Key, patch: Partial<TRecord> | ((draft: TRecord) => TRecord)) => boolean;
85
+ /** Resolves undefined on validation/save failure, cancellation, or disposal. */
86
+ save: (key: Key) => Promise<TRecord | undefined>;
87
+ cancel: (key: Key) => Promise<boolean>;
88
+ cancelAll: () => Promise<boolean[]>;
89
+ }
90
+ //# sourceMappingURL=editing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/editing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { UseTableEditOptions, UseTableEditReturn } from './editing';
2
+ interface EditableRow {
3
+ id: number;
4
+ name: string;
5
+ }
6
+ export declare const editOptions: UseTableEditOptions<EditableRow>;
7
+ export declare function editingContract(edit: UseTableEditReturn<EditableRow>): void;
8
+ export declare const inferredEditing: UseTableEditReturn<EditableRow>;
9
+ export declare const invalidEditing: UseTableEditOptions<EditableRow>;
10
+ export {};
11
+ //# sourceMappingURL=editing.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/editing.typecheck.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnG,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAsCxD,CAAA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,QAqCpE;AAED,eAAO,MAAM,eAAe,iCAA4B,CAAA;AAExD,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,WAAW,CAG3D,CAAA"}
@@ -2,6 +2,15 @@ export type { Key, AlignType, Breakpoint, DataIndex, CellAdditionalProps, Custom
2
2
  export type { ColumnType as TableColumnType } from './column';
3
3
  export type * from './presentation';
4
4
  export type * from './request';
5
+ export type * from './dictionary';
6
+ export type * from './query';
7
+ export type * from './query-form';
8
+ export type * from './editing';
9
+ export type * from './editable';
10
+ export type * from './controls';
11
+ export type * from './renderers';
12
+ export type * from './instance';
13
+ export type * from './tree';
5
14
  export type { TablePaginationConfig, TablePaginationState, TablePaginationPosition, TablePaginationBuiltinLayoutItem, TablePaginationLayoutItem, TablePaginationLayout, TablePaginationSlotProps, PaginationItemType, } from './pagination';
6
15
  export type { ColumnGroupType as TableColumnGroupType } from './column';
7
16
  export type { ColumnsType as TableColumnsType } from './column';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,GAAG,EACH,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AAC7D,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,WAAW,CAAA;AAC9B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE/D,YAAY,EACV,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,GAAG,EACH,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AAC7D,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,SAAS,CAAA;AAC5B,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,aAAa,CAAA;AAChC,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,QAAQ,CAAA;AAC3B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE/D,YAAY,EACV,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Key } from './column';
2
+ /** key takes precedence over index, which addresses visible rows on the current page. */
3
+ export interface TableScrollToOptions {
4
+ key?: Key;
5
+ index?: number;
6
+ top?: number;
7
+ left?: number;
8
+ align?: 'top' | 'bottom' | 'auto';
9
+ offset?: number;
10
+ }
11
+ export interface TableInstance {
12
+ /** False for invalid input, an unmounted table, or a row outside the visible loaded page. */
13
+ scrollTo: (options: TableScrollToOptions) => Promise<boolean>;
14
+ /** Retry without toggling expansion. False when unavailable or unsuccessful. */
15
+ retryTreeLoad: (key: Key) => Promise<boolean>;
16
+ getTreeLoadError: (key: Key) => Error | undefined;
17
+ }
18
+ //# sourceMappingURL=instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,gFAAgF;IAChF,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,SAAS,CAAA;CAClD"}
@@ -0,0 +1,3 @@
1
+ import { TableInstance } from './instance';
2
+ export declare function tableInstanceContract(table: TableInstance): void;
3
+ //# sourceMappingURL=instance.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/instance.typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,YAAY,CAAA;AAErE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,QAUzD"}
@@ -0,0 +1,90 @@
1
+ import { MaybeRefOrGetter, VNodeChild } from 'vue';
2
+ import { QuerySlots } from '../../../theme/src/index.ts';
3
+ import { ColumnGroupType, ColumnType } from './column';
4
+ import { ColumnSentinel } from '../constants';
5
+ import { TableDictionaryOption, TableDictionaryBinding } from './dictionary';
6
+ import { TableControls, TableControlContext } from './controls';
7
+ import { UseTableQueryReturn } from './query';
8
+ export interface TableQueryFieldContext<TValues extends object> {
9
+ values: Readonly<TValues>;
10
+ field: TableQueryField<TValues>;
11
+ }
12
+ /** Query metadata is independent from table visibility, ordering and readonly field formatting. */
13
+ export interface TableQueryField<TValues extends object = Record<string, unknown>> {
14
+ name: keyof TValues & string;
15
+ label?: VNodeChild;
16
+ valueType?: string;
17
+ order?: number;
18
+ hidden?: boolean | ((context: TableQueryFieldContext<TValues>) => boolean);
19
+ disabled?: boolean | ((context: TableQueryFieldContext<TValues>) => boolean);
20
+ readonly?: boolean | ((context: TableQueryFieldContext<TValues>) => boolean);
21
+ fieldProps?: Record<string, unknown> | ((context: TableQueryFieldContext<TValues>) => Record<string, unknown>);
22
+ options?: MaybeRefOrGetter<readonly TableDictionaryOption[]>;
23
+ dictionary?: TableDictionaryBinding;
24
+ }
25
+ export type TableQueryColumn<TRecord extends object, TValues extends object = TRecord> = (ColumnType<TRecord> & {
26
+ query?: false | (Omit<TableQueryField<TValues>, 'name'> & {
27
+ name?: keyof TValues & string;
28
+ });
29
+ }) | (Omit<ColumnGroupType<TRecord>, 'children'> & {
30
+ children: TableQueryColumn<TRecord, TValues>[];
31
+ query?: false;
32
+ }) | ColumnSentinel;
33
+ export interface TableQueryLocale {
34
+ label: string;
35
+ submit: string;
36
+ reset: string;
37
+ expand: string;
38
+ collapse: string;
39
+ validationFailed: string;
40
+ }
41
+ export interface TableQueryValidationContext<TValues extends object> {
42
+ fields: readonly TableQueryField<TValues>[];
43
+ action: 'submit' | 'reset';
44
+ signal: AbortSignal;
45
+ }
46
+ export interface TableQueryProps<TValues extends object = Record<string, unknown>, TParams extends object = TValues> {
47
+ query: UseTableQueryReturn<TValues, TParams>;
48
+ /** Use div when an existing host Form wraps this query area, avoiding nested forms. */
49
+ rootTag?: 'form' | 'div';
50
+ fields: readonly TableQueryField<TValues>[];
51
+ controls: TableControls;
52
+ layout?: 'form' | 'light';
53
+ /** Explicit opt-in for light layout only. Form layout always waits for submit. */
54
+ autoSubmit?: boolean;
55
+ debounceTime?: number;
56
+ /** Only schema-hidden fields are omitted; collapsing the layout never changes parameters. */
57
+ hiddenPolicy?: 'preserve' | 'omit';
58
+ collapsedCount?: number;
59
+ collapsible?: boolean;
60
+ disabled?: boolean;
61
+ /** Connect a host form's validate here. false or an exception prevents query submission. */
62
+ validate?: (values: Readonly<TValues>, context: TableQueryValidationContext<TValues>) => boolean | void | Promise<boolean | void>;
63
+ errors?: Readonly<Partial<Record<keyof TValues & string, string>>>;
64
+ locale?: Partial<TableQueryLocale>;
65
+ ui?: Partial<Record<QuerySlots, string>>;
66
+ class?: string;
67
+ }
68
+ export interface TableQueryFieldSlotProps<TValues extends object = Record<string, unknown>> {
69
+ field: TableQueryField<TValues>;
70
+ values: Readonly<TValues>;
71
+ control: TableControlContext;
72
+ }
73
+ export interface TableQueryActionSlotProps {
74
+ submit: () => Promise<boolean>;
75
+ reset: () => Promise<boolean>;
76
+ submitting: boolean;
77
+ collapsed: boolean;
78
+ toggleCollapsed: () => void;
79
+ }
80
+ export interface TableQuerySlots<TValues extends object = Record<string, unknown>> {
81
+ field?: (props: TableQueryFieldSlotProps<TValues>) => VNodeChild;
82
+ actions?: (props: TableQueryActionSlotProps) => VNodeChild;
83
+ }
84
+ export interface TableQueryInstance {
85
+ submit: () => Promise<boolean>;
86
+ reset: () => Promise<boolean>;
87
+ /** Cancel a pending auto-submit or host validation, retaining form values. */
88
+ cancel: () => void;
89
+ }
90
+ //# sourceMappingURL=query-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-form.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/query-form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TableQueryProps, TableQueryField, TableQueryInstance } from './query-form';
2
+ interface Values {
3
+ name: string;
4
+ range?: [string, string];
5
+ }
6
+ export declare const queryProps: TableQueryProps<Values>;
7
+ export declare const derivedFields: TableQueryField<Values>[];
8
+ export declare function instanceContract(instance: TableQueryInstance): void;
9
+ export {};
10
+ //# sourceMappingURL=query-form.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-form.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/query-form.typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAEf,kBAAkB,EACnB,MAAM,cAAc,CAAA;AAKrB,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzB;AAYD,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,MAAM,CAAoD,CAAA;AACnG,eAAO,MAAM,aAAa,2BAAkC,CAAA;AAC5D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,QAM5D"}
@@ -0,0 +1,40 @@
1
+ import { ComputedRef, Ref, ShallowRef } from 'vue';
2
+ /** A transformed field replaces its original key and may expand into several request fields. */
3
+ export type TableQueryFieldTransforms<TValues extends object, TParams extends object> = {
4
+ [K in keyof TValues]?: (value: TValues[K], values: Readonly<TValues>) => Partial<TParams> | undefined;
5
+ };
6
+ /** Omit hidden fields from request parameters without changing the form draft or submitted values. */
7
+ export interface TableQuerySubmitOptions<TValues extends object> {
8
+ omitFields?: readonly (keyof TValues)[];
9
+ }
10
+ export interface UseTableQueryOptions<TValues extends object, TParams extends object = TValues> {
11
+ /** A snapshot is taken once. Use ordinary objects, arrays and Date values for form state. */
12
+ defaultValues: TValues;
13
+ fieldTransforms?: TableQueryFieldTransforms<TValues, TParams>;
14
+ /** Runs after field transforms, once per submit/reset, never on draft edits. */
15
+ transform?: (params: Partial<TParams>, values: Readonly<TValues>) => Partial<TParams>;
16
+ onSubmit?: (params: Partial<TParams>, values: Readonly<TValues>) => void | Promise<void>;
17
+ /** Defaults to onSubmit. Connect this to request.reset(params) to also clear table state. */
18
+ onReset?: (params: Partial<TParams>, values: Readonly<TValues>) => void | Promise<void>;
19
+ /** Optional shared ref for a controlled collapse state. */
20
+ collapsed?: Ref<boolean>;
21
+ defaultCollapsed?: boolean;
22
+ onCollapse?: (collapsed: boolean) => void;
23
+ }
24
+ export interface UseTableQueryReturn<TValues extends object, TParams extends object = TValues> {
25
+ draft: Ref<TValues>;
26
+ /** Last successfully transformed values, published before the callback and retained if it fails. */
27
+ submitted: ComputedRef<Readonly<TValues> | undefined>;
28
+ params: ComputedRef<Readonly<Partial<TParams>> | undefined>;
29
+ collapsed: Ref<boolean>;
30
+ submitting: ComputedRef<boolean>;
31
+ error: ShallowRef<Error | null>;
32
+ /** Returns false for a transform/callback failure or an obsolete submission. */
33
+ submit: (options?: TableQuerySubmitOptions<TValues>) => Promise<boolean>;
34
+ /** Restore draft defaults and submit them through onReset (or onSubmit), once. */
35
+ reset: (options?: TableQuerySubmitOptions<TValues>) => Promise<boolean>;
36
+ /** Restore draft defaults without changing submitted state or requesting data. */
37
+ resetFields: () => void;
38
+ toggleCollapsed: () => void;
39
+ }
40
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEvD,gGAAgG;AAChG,MAAM,MAAM,yBAAyB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI;KACrF,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,EAAE,CACrB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,KACtB,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;CAClC,CAAA;AAED,sGAAsG;AACtG,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,MAAM;IAC7D,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,CAAA;CACxC;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,OAAO;IAC5F,6FAA6F;IAC7F,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,gFAAgF;IAChF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACrF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvF,2DAA2D;IAC3D,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,OAAO;IAC3F,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,oGAAoG;IACpG,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAA;IACrD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC3D,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChC,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IAC/B,gFAAgF;IAChF,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,kFAAkF;IAClF,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,kFAAkF;IAClF,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B"}
@@ -0,0 +1,14 @@
1
+ import { TableQueryFieldTransforms } from './query';
2
+ interface QueryValues {
3
+ keyword: string;
4
+ range: [Date, Date] | undefined;
5
+ }
6
+ interface QueryParams {
7
+ keyword: string;
8
+ start: string;
9
+ end: string;
10
+ }
11
+ export declare const queryFieldTransforms: TableQueryFieldTransforms<QueryValues, QueryParams>;
12
+ export declare function queryContract(): void;
13
+ export {};
14
+ //# sourceMappingURL=query.typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.typecheck.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/query.typecheck.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;CAChC;AACD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,CAAC,WAAW,EAAE,WAAW,CAEpF,CAAA;AAED,wBAAgB,aAAa,SAgB5B"}
@@ -0,0 +1,49 @@
1
+ import { VNodeChild } from 'vue';
2
+ import { CustomRenderContext } from './column';
3
+ import { ColumnValueStatus } from './presentation';
4
+ /** Options shared by the built-in formatters; custom renderers may add their own fields. */
5
+ export interface TableFieldProps {
6
+ locale?: string | string[];
7
+ numberFormat?: Intl.NumberFormatOptions;
8
+ /** Default date output is YYYY-MM-DD; an explicit options object enables Intl formatting. */
9
+ dateFormat?: Intl.DateTimeFormatOptions;
10
+ /** Currency used by money; defaults to CNY. */
11
+ currency?: string;
12
+ /** percent/progress input scale. Default 'percent' (25 means 25%); 'ratio' uses 0..1. */
13
+ percentScale?: 'percent' | 'ratio';
14
+ /** Range display separator and missing-endpoint placeholder. Defaults to ' ~ ' and '—'. */
15
+ rangeSeparator?: string;
16
+ rangeEmptyText?: string;
17
+ /** Show the progress percentage next to its track. Default true. */
18
+ showValue?: boolean;
19
+ /** tag and progress reuse the same status tokens as valueEnum. */
20
+ status?: ColumnValueStatus;
21
+ [key: string]: unknown;
22
+ }
23
+ export interface TableFieldRenderContext<TRecord extends object = Record<string, unknown>> extends CustomRenderContext<TRecord> {
24
+ /** The enum label, or the transformed scalar value when no enum matches. */
25
+ displayValue: VNodeChild;
26
+ /** Resolved from valueEnum, preserving Map key identity. */
27
+ status?: ColumnValueStatus;
28
+ fieldProps: TableFieldProps;
29
+ /** Current table locale; a field's locale option takes precedence. */
30
+ locale?: string;
31
+ }
32
+ export interface TableFieldRenderResult {
33
+ children: VNodeChild;
34
+ /** Explicit plain text for ellipsis tooltips; VNodes are never stringified. */
35
+ tooltipText?: string;
36
+ /** Uses the existing theme status slot. */
37
+ status?: ColumnValueStatus;
38
+ /** Render with the theme's tag or progress appearance instead of a status dot. */
39
+ presentation?: 'tag' | 'progress';
40
+ /** A finite percentage in 0..100; rendered through the table's progress theme slots. */
41
+ progress?: {
42
+ percent: number;
43
+ showValue: boolean;
44
+ };
45
+ }
46
+ export type TableFieldRenderer<TRecord extends object = Record<string, unknown>> = (context: TableFieldRenderContext<TRecord>) => VNodeChild | TableFieldRenderResult;
47
+ /** A registry is local to a table or application; no process-wide mutable registry is used. */
48
+ export type TableFieldRenderers<TRecord extends object = Record<string, unknown>> = Readonly<Record<string, TableFieldRenderer<TRecord>>>;
49
+ //# sourceMappingURL=renderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../../../table/src/types/renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAA;IACvC,6FAA6F;IAC7F,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAA;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yFAAyF;IACzF,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAClC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB,CACtC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChD,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IACpC,4EAA4E;IAC5E,YAAY,EAAE,UAAU,CAAA;IACxB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,eAAe,CAAA;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,UAAU,CAAA;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,kFAAkF;IAClF,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;IACjC,wFAAwF;IACxF,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAA;CACnD;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACjF,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,KACtC,UAAU,GAAG,sBAAsB,CAAA;AAExC,+FAA+F;AAC/F,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAC1F,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAC5C,CAAA"}