@nokecy/qc-ui 1.0.66 → 1.0.68

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 (143) hide show
  1. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +12 -0
  2. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.js +15 -0
  3. package/dist/cjs/ag-grid-plus/index.d.ts +2 -9
  4. package/dist/cjs/ag-grid-plus/index.js +8 -6
  5. package/dist/cjs/ag-grid-plus/setting/index.js +2 -2
  6. package/dist/cjs/array-table/columnHelper.d.ts +126 -0
  7. package/dist/cjs/array-table/columnHelper.js +241 -0
  8. package/dist/cjs/array-table/hooks.d.ts +23 -0
  9. package/dist/cjs/array-table/hooks.js +230 -0
  10. package/dist/cjs/array-table/index.js +141 -208
  11. package/dist/cjs/components/RegexEditor/core/RegexEditor.d.ts +34 -0
  12. package/dist/cjs/components/RegexEditor/core/RegexEditor.js +223 -0
  13. package/dist/cjs/components/RegexEditor/core/RegexEditor.less +119 -0
  14. package/dist/cjs/components/RegexEditor/core/extensions/errorMarker.d.ts +49 -0
  15. package/dist/cjs/components/RegexEditor/core/extensions/errorMarker.js +158 -0
  16. package/dist/cjs/components/RegexEditor/core/types.d.ts +79 -0
  17. package/dist/cjs/components/RegexEditor/core/types.js +5 -0
  18. package/dist/cjs/components/RegexEditor/hooks/index.d.ts +9 -0
  19. package/dist/cjs/components/RegexEditor/hooks/index.js +19 -0
  20. package/dist/cjs/components/RegexEditor/hooks/useRegexTester.d.ts +95 -0
  21. package/dist/cjs/components/RegexEditor/hooks/useRegexTester.js +234 -0
  22. package/dist/cjs/components/RegexEditor/hooks/useRegexValidation.d.ts +71 -0
  23. package/dist/cjs/components/RegexEditor/hooks/useRegexValidation.js +215 -0
  24. package/dist/cjs/components/RegexEditor/hooks/useTemplateManager.d.ts +64 -0
  25. package/dist/cjs/components/RegexEditor/hooks/useTemplateManager.js +438 -0
  26. package/dist/cjs/components/RegexEditor/index.d.ts +16 -0
  27. package/dist/cjs/components/RegexEditor/index.js +232 -0
  28. package/dist/cjs/components/RegexEditor/templates/TemplateSelector.d.ts +36 -0
  29. package/dist/cjs/components/RegexEditor/templates/TemplateSelector.js +322 -0
  30. package/dist/cjs/components/RegexEditor/templates/builtinTemplates.d.ts +36 -0
  31. package/dist/cjs/components/RegexEditor/templates/builtinTemplates.js +340 -0
  32. package/dist/cjs/components/RegexEditor/templates/index.d.ts +10 -0
  33. package/dist/cjs/components/RegexEditor/templates/index.js +184 -0
  34. package/dist/cjs/components/RegexEditor/templates/storage.d.ts +74 -0
  35. package/dist/cjs/components/RegexEditor/templates/storage.js +337 -0
  36. package/dist/cjs/components/RegexEditor/templates/templateManager.d.ts +67 -0
  37. package/dist/cjs/components/RegexEditor/templates/templateManager.js +277 -0
  38. package/dist/cjs/components/RegexEditor/templates/types.d.ts +111 -0
  39. package/dist/cjs/components/RegexEditor/templates/types.js +94 -0
  40. package/dist/cjs/components/RegexEditor/testing/types.d.ts +55 -0
  41. package/dist/cjs/components/RegexEditor/testing/types.js +5 -0
  42. package/dist/cjs/components/RegexEditor/validation/complexity.d.ts +22 -0
  43. package/dist/cjs/components/RegexEditor/validation/complexity.js +196 -0
  44. package/dist/cjs/components/RegexEditor/validation/parser.d.ts +53 -0
  45. package/dist/cjs/components/RegexEditor/validation/parser.js +129 -0
  46. package/dist/cjs/components/RegexEditor/validation/types.d.ts +146 -0
  47. package/dist/cjs/components/RegexEditor/validation/types.js +5 -0
  48. package/dist/cjs/components/RegexEditor/validation/validator.d.ts +60 -0
  49. package/dist/cjs/components/RegexEditor/validation/validator.js +218 -0
  50. package/dist/cjs/components/RegexEditor/visualizer/FlagsSelector.d.ts +20 -0
  51. package/dist/cjs/components/RegexEditor/visualizer/FlagsSelector.js +98 -0
  52. package/dist/cjs/components/RegexEditor/visualizer/MatchItem.d.ts +25 -0
  53. package/dist/cjs/components/RegexEditor/visualizer/MatchItem.js +201 -0
  54. package/dist/cjs/components/RegexEditor/visualizer/RegexRailroadDiagram.d.ts +32 -0
  55. package/dist/cjs/components/RegexEditor/visualizer/RegexRailroadDiagram.js +192 -0
  56. package/dist/cjs/components/RegexEditor/visualizer/RegexTester.d.ts +22 -0
  57. package/dist/cjs/components/RegexEditor/visualizer/RegexTester.js +255 -0
  58. package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.d.ts +19 -0
  59. package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.js +155 -0
  60. package/dist/cjs/components/RegexEditor/visualizer/index.d.ts +12 -0
  61. package/dist/cjs/components/RegexEditor/visualizer/index.js +76 -0
  62. package/dist/cjs/components/RegexEditor/visualizer/types.d.ts +131 -0
  63. package/dist/cjs/components/RegexEditor/visualizer/types.js +5 -0
  64. package/dist/cjs/components/RegexEditor/visualizer/utils.d.ts +106 -0
  65. package/dist/cjs/components/RegexEditor/visualizer/utils.js +268 -0
  66. package/dist/cjs/index.d.ts +6 -2
  67. package/dist/cjs/index.js +68 -0
  68. package/dist/cjs/standardFormDialog/useStandardFormSchema.d.ts +1 -1
  69. package/dist/cjs/standardFormDialog/withStandardForm.d.ts +2 -2
  70. package/dist/cjs/types/railroad-diagrams.d.ts +59 -0
  71. package/dist/cjs/types/regexp-tree.d.ts +175 -0
  72. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +12 -0
  73. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.js +10 -0
  74. package/dist/esm/ag-grid-plus/index.d.ts +2 -9
  75. package/dist/esm/ag-grid-plus/index.js +2 -5
  76. package/dist/esm/ag-grid-plus/setting/index.js +1 -1
  77. package/dist/esm/array-table/columnHelper.d.ts +126 -0
  78. package/dist/esm/array-table/columnHelper.js +235 -0
  79. package/dist/esm/array-table/hooks.d.ts +23 -0
  80. package/dist/esm/array-table/hooks.js +224 -0
  81. package/dist/esm/array-table/index.js +142 -209
  82. package/dist/esm/components/RegexEditor/core/RegexEditor.d.ts +34 -0
  83. package/dist/esm/components/RegexEditor/core/RegexEditor.js +214 -0
  84. package/dist/esm/components/RegexEditor/core/RegexEditor.less +119 -0
  85. package/dist/esm/components/RegexEditor/core/extensions/errorMarker.d.ts +49 -0
  86. package/dist/esm/components/RegexEditor/core/extensions/errorMarker.js +154 -0
  87. package/dist/esm/components/RegexEditor/core/types.d.ts +79 -0
  88. package/dist/esm/components/RegexEditor/core/types.js +1 -0
  89. package/dist/esm/components/RegexEditor/hooks/index.d.ts +9 -0
  90. package/dist/esm/components/RegexEditor/hooks/index.js +8 -0
  91. package/dist/esm/components/RegexEditor/hooks/useRegexTester.d.ts +95 -0
  92. package/dist/esm/components/RegexEditor/hooks/useRegexTester.js +230 -0
  93. package/dist/esm/components/RegexEditor/hooks/useRegexValidation.d.ts +71 -0
  94. package/dist/esm/components/RegexEditor/hooks/useRegexValidation.js +211 -0
  95. package/dist/esm/components/RegexEditor/hooks/useTemplateManager.d.ts +64 -0
  96. package/dist/esm/components/RegexEditor/hooks/useTemplateManager.js +430 -0
  97. package/dist/esm/components/RegexEditor/index.d.ts +16 -0
  98. package/dist/esm/components/RegexEditor/index.js +27 -0
  99. package/dist/esm/components/RegexEditor/templates/TemplateSelector.d.ts +36 -0
  100. package/dist/esm/components/RegexEditor/templates/TemplateSelector.js +316 -0
  101. package/dist/esm/components/RegexEditor/templates/builtinTemplates.d.ts +36 -0
  102. package/dist/esm/components/RegexEditor/templates/builtinTemplates.js +335 -0
  103. package/dist/esm/components/RegexEditor/templates/index.d.ts +10 -0
  104. package/dist/esm/components/RegexEditor/templates/index.js +19 -0
  105. package/dist/esm/components/RegexEditor/templates/storage.d.ts +74 -0
  106. package/dist/esm/components/RegexEditor/templates/storage.js +335 -0
  107. package/dist/esm/components/RegexEditor/templates/templateManager.d.ts +67 -0
  108. package/dist/esm/components/RegexEditor/templates/templateManager.js +274 -0
  109. package/dist/esm/components/RegexEditor/templates/types.d.ts +111 -0
  110. package/dist/esm/components/RegexEditor/templates/types.js +90 -0
  111. package/dist/esm/components/RegexEditor/testing/types.d.ts +55 -0
  112. package/dist/esm/components/RegexEditor/testing/types.js +1 -0
  113. package/dist/esm/components/RegexEditor/validation/complexity.d.ts +22 -0
  114. package/dist/esm/components/RegexEditor/validation/complexity.js +190 -0
  115. package/dist/esm/components/RegexEditor/validation/parser.d.ts +53 -0
  116. package/dist/esm/components/RegexEditor/validation/parser.js +123 -0
  117. package/dist/esm/components/RegexEditor/validation/types.d.ts +145 -0
  118. package/dist/esm/components/RegexEditor/validation/types.js +1 -0
  119. package/dist/esm/components/RegexEditor/validation/validator.d.ts +60 -0
  120. package/dist/esm/components/RegexEditor/validation/validator.js +213 -0
  121. package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.d.ts +20 -0
  122. package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.js +93 -0
  123. package/dist/esm/components/RegexEditor/visualizer/MatchItem.d.ts +25 -0
  124. package/dist/esm/components/RegexEditor/visualizer/MatchItem.js +194 -0
  125. package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.d.ts +32 -0
  126. package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.js +186 -0
  127. package/dist/esm/components/RegexEditor/visualizer/RegexTester.d.ts +22 -0
  128. package/dist/esm/components/RegexEditor/visualizer/RegexTester.js +248 -0
  129. package/dist/esm/components/RegexEditor/visualizer/astToRailroad.d.ts +18 -0
  130. package/dist/esm/components/RegexEditor/visualizer/astToRailroad.js +150 -0
  131. package/dist/esm/components/RegexEditor/visualizer/index.d.ts +12 -0
  132. package/dist/esm/components/RegexEditor/visualizer/index.js +17 -0
  133. package/dist/esm/components/RegexEditor/visualizer/types.d.ts +131 -0
  134. package/dist/esm/components/RegexEditor/visualizer/types.js +1 -0
  135. package/dist/esm/components/RegexEditor/visualizer/utils.d.ts +106 -0
  136. package/dist/esm/components/RegexEditor/visualizer/utils.js +256 -0
  137. package/dist/esm/index.d.ts +6 -2
  138. package/dist/esm/index.js +7 -3
  139. package/dist/esm/types/railroad-diagrams.d.ts +59 -0
  140. package/dist/esm/types/regexp-tree.d.ts +175 -0
  141. package/dist/umd/qc-ui.min.css +1 -1
  142. package/dist/umd/qc-ui.min.js +1 -1
  143. package/package.json +23 -7
@@ -0,0 +1,175 @@
1
+ /**
2
+ * regexp-tree 库的类型定义
3
+ *
4
+ * @description
5
+ * 为 regexp-tree 库提供完整的 TypeScript 类型支持,包括 AST 节点类型和主要 API。
6
+ *
7
+ * @see https://github.com/DmitrySoshnikov/regexp-tree
8
+ */
9
+
10
+ declare module 'regexp-tree/ast' {
11
+ export interface AstClassMap {
12
+ 'RegExp': AstRegExp;
13
+ 'Disjunction': Disjunction;
14
+ 'Alternative': Alternative;
15
+ 'Assertion': Assertion;
16
+ 'Char': Char;
17
+ 'CharacterClass': CharacterClass;
18
+ 'ClassRange': ClassRange;
19
+ 'Backreference': Backreference;
20
+ 'Group': Group;
21
+ 'Repetition': Repetition;
22
+ 'Quantifier': Quantifier;
23
+ }
24
+
25
+ export type AstClass = keyof AstClassMap;
26
+ export type AstNode = AstClassMap[AstClass];
27
+ export type AstNodeLocation = {
28
+ line: number;
29
+ column: number;
30
+ offset: number;
31
+ };
32
+
33
+ export interface Base<T extends AstClass> {
34
+ type: T;
35
+ loc?: {
36
+ source: string;
37
+ start: AstNodeLocation;
38
+ end: AstNodeLocation;
39
+ };
40
+ }
41
+
42
+ export interface SimpleChar extends Base<'Char'> {
43
+ value: string;
44
+ kind: 'simple';
45
+ escaped?: true;
46
+ codePoint: number;
47
+ }
48
+
49
+ export interface SpecialChar extends Base<'Char'> {
50
+ value: string;
51
+ kind: 'meta' | 'control' | 'hex' | 'decimal' | 'oct' | 'unicode';
52
+ codePoint: number;
53
+ }
54
+
55
+ export type Char =
56
+ | SimpleChar
57
+ | SpecialChar;
58
+
59
+ export interface ClassRange extends Base<'ClassRange'> {
60
+ from: Char;
61
+ to: Char;
62
+ }
63
+
64
+ export interface CharacterClass extends Base<'CharacterClass'> {
65
+ negative?: true;
66
+ expressions: (Char | ClassRange)[];
67
+ }
68
+
69
+ export interface Alternative extends Base<'Alternative'> {
70
+ expressions: Expression[];
71
+ }
72
+
73
+ export interface Disjunction extends Base<'Disjunction'> {
74
+ left: Expression | null;
75
+ right: Expression | null;
76
+ }
77
+
78
+ export interface CapturingGroup extends Base<'Group'> {
79
+ capturing: true;
80
+ number: number;
81
+ name?: string;
82
+ nameRaw?: string;
83
+ expression: Expression | null;
84
+ }
85
+
86
+ export interface NoncapturingGroup extends Base<'Group'> {
87
+ capturing: false;
88
+ expression: Expression | null;
89
+ }
90
+
91
+ export type Group =
92
+ | CapturingGroup
93
+ | NoncapturingGroup;
94
+
95
+ export interface NumericBackreference extends Base<'Backreference'> {
96
+ kind: 'number';
97
+ number: number;
98
+ reference: number;
99
+ }
100
+
101
+ export interface NamedBackreference extends Base<'Backreference'> {
102
+ kind: 'name';
103
+ number: number;
104
+ reference: string;
105
+ referenceRaw: string;
106
+ }
107
+
108
+ export type Backreference =
109
+ | NumericBackreference
110
+ | NamedBackreference;
111
+
112
+ export interface Repetition extends Base<'Repetition'> {
113
+ expression: Expression;
114
+ quantifier: Quantifier;
115
+ }
116
+
117
+ export interface SimpleQuantifier extends Base<'Quantifier'> {
118
+ kind: '+' | '*' | '?';
119
+ greedy: boolean;
120
+ }
121
+
122
+ export interface RangeQuantifier extends Base<'Quantifier'> {
123
+ kind: 'Range';
124
+ from: number;
125
+ to?: number;
126
+ greedy: boolean;
127
+ }
128
+
129
+ export type Quantifier =
130
+ | SimpleQuantifier
131
+ | RangeQuantifier;
132
+
133
+ export interface SimpleAssertion extends Base<'Assertion'> {
134
+ kind: '^' | '$' | '\\b' | '\\B';
135
+ }
136
+
137
+ export interface LookaroundAssertion extends Base<'Assertion'> {
138
+ kind: 'Lookahead' | 'Lookbehind';
139
+ negative?: true;
140
+ assertion: Expression | null;
141
+ }
142
+
143
+ export type Assertion =
144
+ | SimpleAssertion
145
+ | LookaroundAssertion;
146
+
147
+ export type Expression =
148
+ | Char
149
+ | CharacterClass
150
+ | Alternative
151
+ | Disjunction
152
+ | Group
153
+ | Backreference
154
+ | Repetition
155
+ | Assertion;
156
+
157
+ export interface AstRegExp extends Base<'RegExp'> {
158
+ body: Expression | null;
159
+ flags: string;
160
+ }
161
+ }
162
+
163
+ declare module 'regexp-tree' {
164
+ import type { AstNode, AstRegExp } from 'regexp-tree/ast';
165
+
166
+ export type { AstNode, AstRegExp };
167
+
168
+ export interface ParserOptions {
169
+ captureLocations?: boolean;
170
+ allowGroupNameDuplicates?: boolean;
171
+ }
172
+
173
+ export function parse(pattern: string, options?: ParserOptions): AstRegExp;
174
+ export function traverse(ast: AstNode, handlers: Record<string, (path: any) => void>): void;
175
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 使用 GridPlusContext 的 Hook
3
+ * 用于访问列状态管理相关的方法和数据
4
+ */
5
+ export declare const useGridPlusColumnState: () => {
6
+ extensibleColumns: any;
7
+ columnState: any;
8
+ onSaveColumnState: (gridKey: string, columnState: any[]) => void;
9
+ applyToGlobal: (gridKey: string) => void;
10
+ resetCurrent: (gridKey: string) => void;
11
+ resetAll: (gridKey: string) => void;
12
+ };
@@ -0,0 +1,10 @@
1
+ import { useContext } from 'react';
2
+ import { GridPlusContext } from "../context/gridContext";
3
+
4
+ /**
5
+ * 使用 GridPlusContext 的 Hook
6
+ * 用于访问列状态管理相关的方法和数据
7
+ */
8
+ export var useGridPlusColumnState = function useGridPlusColumnState() {
9
+ return useContext(GridPlusContext);
10
+ };
@@ -1,14 +1,7 @@
1
1
  import AgGridPlus from "./ag-gridPlus";
2
2
  import { AgGridColumn } from "./interface";
3
3
  import { GridPlusContext } from "./context/gridContext";
4
+ import { useGridPlusColumnState } from "./hooks/useGridPlusColumnState";
4
5
  import "./ag-grid-theme-builder.css";
5
- export declare const useGridPlusColumnState: () => {
6
- extensibleColumns: any;
7
- columnState: any;
8
- onSaveColumnState: (gridKey: string, columnState: any[]) => void;
9
- applyToGlobal: (gridKey: string) => void;
10
- resetCurrent: (gridKey: string) => void;
11
- resetAll: (gridKey: string) => void;
12
- };
13
- export { AgGridPlus, AgGridColumn, GridPlusContext };
6
+ export { AgGridPlus, AgGridColumn, GridPlusContext, useGridPlusColumnState };
14
7
  export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
@@ -1,10 +1,7 @@
1
- import React from "react";
2
1
  import AgGridPlus from "./ag-gridPlus";
3
2
  import { AgGridColumn } from "./interface";
4
3
  import { GridPlusContext } from "./context/gridContext";
4
+ import { useGridPlusColumnState } from "./hooks/useGridPlusColumnState";
5
5
  import "./ag-grid-theme-builder.css";
6
- export var useGridPlusColumnState = function useGridPlusColumnState() {
7
- return React.useContext(GridPlusContext);
8
- };
9
- export { AgGridPlus, AgGridColumn, GridPlusContext };
6
+ export { AgGridPlus, AgGridColumn, GridPlusContext, useGridPlusColumnState };
10
7
  export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
@@ -16,7 +16,7 @@ import { SettingOutlined } from '@ant-design/icons';
16
16
  import ArrayTable from "../../array-table";
17
17
  import { Dropdown } from 'antd';
18
18
  import DiySetting from "./diySetting";
19
- import { useGridPlusColumnState } from '..';
19
+ import { useGridPlusColumnState } from "../hooks/useGridPlusColumnState";
20
20
  var Setting = function Setting(props) {
21
21
  var gridKey = props.gridKey,
22
22
  gridApi = props.gridApi,
@@ -0,0 +1,126 @@
1
+ import { ColDef } from 'ag-grid-community';
2
+ /**
3
+ * 列配置类型定义
4
+ */
5
+ export interface ColumnConfig {
6
+ /** 列标题 */
7
+ headerName: string;
8
+ /** 数据字段 */
9
+ dataIndex: string;
10
+ /** 列宽度 */
11
+ width?: number;
12
+ /** 最小宽度 */
13
+ minWidth?: number;
14
+ /** 最大宽度 */
15
+ maxWidth?: number;
16
+ /** 是否可调整大小 */
17
+ resizable?: boolean;
18
+ /** 是否可排序 */
19
+ sortable?: boolean;
20
+ /** 是否可筛选 */
21
+ filter?: boolean | string;
22
+ /** 对齐方式 */
23
+ align?: 'left' | 'center' | 'right';
24
+ /** 是否固定列 */
25
+ pinned?: 'left' | 'right' | null;
26
+ /** 是否隐藏 */
27
+ hide?: boolean;
28
+ /** 是否省略显示 */
29
+ ellipsis?: boolean;
30
+ /** 是否可编辑 */
31
+ editable?: boolean;
32
+ /** 自定义 AG-Grid 配置 */
33
+ agGridProps?: Partial<ColDef>;
34
+ }
35
+ /**
36
+ * 文本列配置
37
+ * 用于显示和编辑文本内容
38
+ */
39
+ export declare const createTextColumn: (config: ColumnConfig) => ColumnConfig;
40
+ /**
41
+ * 数字列配置
42
+ * 用于显示和编辑数字内容
43
+ */
44
+ export declare const createNumberColumn: (config: ColumnConfig) => ColumnConfig;
45
+ /**
46
+ * 日期列配置
47
+ * 用于显示和编辑日期内容
48
+ */
49
+ export declare const createDateColumn: (config: ColumnConfig) => ColumnConfig;
50
+ /**
51
+ * 选择列配置
52
+ * 用于下拉选择类型的列
53
+ */
54
+ export declare const createSelectColumn: (config: ColumnConfig) => ColumnConfig;
55
+ /**
56
+ * 操作列配置
57
+ * 用于行操作按钮列
58
+ */
59
+ export declare const createOperationColumn: (config: Omit<ColumnConfig, 'dataIndex'>) => ColumnConfig;
60
+ /**
61
+ * 序号列配置
62
+ * 用于显示行序号
63
+ */
64
+ export declare const createIndexColumn: (config?: Partial<ColumnConfig>) => ColumnConfig;
65
+ /**
66
+ * 只读列配置
67
+ * 用于显示不可编辑的内容
68
+ */
69
+ export declare const createReadOnlyColumn: (config: ColumnConfig) => ColumnConfig;
70
+ /**
71
+ * 固定左侧列配置
72
+ */
73
+ export declare const createPinnedLeftColumn: (config: ColumnConfig) => ColumnConfig;
74
+ /**
75
+ * 固定右侧列配置
76
+ */
77
+ export declare const createPinnedRightColumn: (config: ColumnConfig) => ColumnConfig;
78
+ /**
79
+ * 百分比列配置
80
+ * 用于显示百分比数值
81
+ */
82
+ export declare const createPercentColumn: (config: ColumnConfig) => ColumnConfig;
83
+ /**
84
+ * 货币列配置
85
+ * 用于显示货币金额
86
+ */
87
+ export declare const createCurrencyColumn: (config: ColumnConfig) => ColumnConfig;
88
+ /**
89
+ * 批量创建列配置
90
+ * @param columns 列配置数组
91
+ * @returns 标准化的列配置数组
92
+ */
93
+ export declare const createColumns: (columns: ColumnConfig[]) => ColumnConfig[];
94
+ /**
95
+ * 列配置预设
96
+ */
97
+ export declare const ColumnPresets: {
98
+ /** 文本列 */
99
+ text: (config: ColumnConfig) => ColumnConfig;
100
+ /** 数字列 */
101
+ number: (config: ColumnConfig) => ColumnConfig;
102
+ /** 日期列 */
103
+ date: (config: ColumnConfig) => ColumnConfig;
104
+ /** 选择列 */
105
+ select: (config: ColumnConfig) => ColumnConfig;
106
+ /** 操作列 */
107
+ operation: (config: Omit<ColumnConfig, 'dataIndex'>) => ColumnConfig;
108
+ /** 序号列 */
109
+ index: (config?: Partial<ColumnConfig>) => ColumnConfig;
110
+ /** 只读列 */
111
+ readOnly: (config: ColumnConfig) => ColumnConfig;
112
+ /** 固定左侧列 */
113
+ pinnedLeft: (config: ColumnConfig) => ColumnConfig;
114
+ /** 固定右侧列 */
115
+ pinnedRightColumn: (config: ColumnConfig) => ColumnConfig;
116
+ /** 百分比列 */
117
+ percent: (config: ColumnConfig) => ColumnConfig;
118
+ /** 货币列 */
119
+ currency: (config: ColumnConfig) => ColumnConfig;
120
+ };
121
+ /**
122
+ * 转换为 AG-Grid 列定义
123
+ * @param config 列配置
124
+ * @returns AG-Grid ColDef
125
+ */
126
+ export declare const toAgGridColDef: (config: ColumnConfig) => Partial<ColDef>;
@@ -0,0 +1,235 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ /**
8
+ * 列配置类型定义
9
+ */
10
+
11
+ /**
12
+ * 文本列配置
13
+ * 用于显示和编辑文本内容
14
+ */
15
+ export var createTextColumn = function createTextColumn(config) {
16
+ return _objectSpread({
17
+ resizable: true,
18
+ sortable: true,
19
+ filter: 'agTextColumnFilter',
20
+ align: 'left',
21
+ editable: true,
22
+ ellipsis: true
23
+ }, config);
24
+ };
25
+
26
+ /**
27
+ * 数字列配置
28
+ * 用于显示和编辑数字内容
29
+ */
30
+ export var createNumberColumn = function createNumberColumn(config) {
31
+ return _objectSpread({
32
+ resizable: true,
33
+ sortable: true,
34
+ filter: 'agNumberColumnFilter',
35
+ align: 'right',
36
+ editable: true
37
+ }, config);
38
+ };
39
+
40
+ /**
41
+ * 日期列配置
42
+ * 用于显示和编辑日期内容
43
+ */
44
+ export var createDateColumn = function createDateColumn(config) {
45
+ return _objectSpread({
46
+ resizable: true,
47
+ sortable: true,
48
+ filter: 'agDateColumnFilter',
49
+ align: 'center',
50
+ editable: true
51
+ }, config);
52
+ };
53
+
54
+ /**
55
+ * 选择列配置
56
+ * 用于下拉选择类型的列
57
+ */
58
+ export var createSelectColumn = function createSelectColumn(config) {
59
+ return _objectSpread({
60
+ resizable: true,
61
+ sortable: true,
62
+ filter: 'agSetColumnFilter',
63
+ align: 'left',
64
+ editable: true
65
+ }, config);
66
+ };
67
+
68
+ /**
69
+ * 操作列配置
70
+ * 用于行操作按钮列
71
+ */
72
+ export var createOperationColumn = function createOperationColumn(config) {
73
+ return _objectSpread({
74
+ dataIndex: 'operations',
75
+ resizable: false,
76
+ sortable: false,
77
+ filter: false,
78
+ pinned: 'right',
79
+ width: 120,
80
+ align: 'center'
81
+ }, config);
82
+ };
83
+
84
+ /**
85
+ * 序号列配置
86
+ * 用于显示行序号
87
+ */
88
+ export var createIndexColumn = function createIndexColumn(config) {
89
+ return _objectSpread({
90
+ headerName: '序号',
91
+ dataIndex: 'index',
92
+ width: 80,
93
+ resizable: false,
94
+ sortable: false,
95
+ filter: false,
96
+ align: 'center',
97
+ pinned: 'left'
98
+ }, config);
99
+ };
100
+
101
+ /**
102
+ * 只读列配置
103
+ * 用于显示不可编辑的内容
104
+ */
105
+ export var createReadOnlyColumn = function createReadOnlyColumn(config) {
106
+ return _objectSpread({
107
+ resizable: true,
108
+ sortable: true,
109
+ editable: false
110
+ }, config);
111
+ };
112
+
113
+ /**
114
+ * 固定左侧列配置
115
+ */
116
+ export var createPinnedLeftColumn = function createPinnedLeftColumn(config) {
117
+ return _objectSpread(_objectSpread({}, config), {}, {
118
+ pinned: 'left'
119
+ });
120
+ };
121
+
122
+ /**
123
+ * 固定右侧列配置
124
+ */
125
+ export var createPinnedRightColumn = function createPinnedRightColumn(config) {
126
+ return _objectSpread(_objectSpread({}, config), {}, {
127
+ pinned: 'right'
128
+ });
129
+ };
130
+
131
+ /**
132
+ * 百分比列配置
133
+ * 用于显示百分比数值
134
+ */
135
+ export var createPercentColumn = function createPercentColumn(config) {
136
+ return _objectSpread({
137
+ resizable: true,
138
+ sortable: true,
139
+ filter: 'agNumberColumnFilter',
140
+ align: 'right',
141
+ editable: true
142
+ }, config);
143
+ };
144
+
145
+ /**
146
+ * 货币列配置
147
+ * 用于显示货币金额
148
+ */
149
+ export var createCurrencyColumn = function createCurrencyColumn(config) {
150
+ return _objectSpread({
151
+ resizable: true,
152
+ sortable: true,
153
+ filter: 'agNumberColumnFilter',
154
+ align: 'right',
155
+ editable: true
156
+ }, config);
157
+ };
158
+
159
+ /**
160
+ * 批量创建列配置
161
+ * @param columns 列配置数组
162
+ * @returns 标准化的列配置数组
163
+ */
164
+ export var createColumns = function createColumns(columns) {
165
+ return columns.map(function (col) {
166
+ return _objectSpread({
167
+ resizable: true,
168
+ sortable: false,
169
+ align: 'left'
170
+ }, col);
171
+ });
172
+ };
173
+
174
+ /**
175
+ * 列配置预设
176
+ */
177
+ export var ColumnPresets = {
178
+ /** 文本列 */
179
+ text: createTextColumn,
180
+ /** 数字列 */
181
+ number: createNumberColumn,
182
+ /** 日期列 */
183
+ date: createDateColumn,
184
+ /** 选择列 */
185
+ select: createSelectColumn,
186
+ /** 操作列 */
187
+ operation: createOperationColumn,
188
+ /** 序号列 */
189
+ index: createIndexColumn,
190
+ /** 只读列 */
191
+ readOnly: createReadOnlyColumn,
192
+ /** 固定左侧列 */
193
+ pinnedLeft: createPinnedLeftColumn,
194
+ /** 固定右侧列 */
195
+ pinnedRightColumn: createPinnedRightColumn,
196
+ /** 百分比列 */
197
+ percent: createPercentColumn,
198
+ /** 货币列 */
199
+ currency: createCurrencyColumn
200
+ };
201
+
202
+ /**
203
+ * 转换为 AG-Grid 列定义
204
+ * @param config 列配置
205
+ * @returns AG-Grid ColDef
206
+ */
207
+ export var toAgGridColDef = function toAgGridColDef(config) {
208
+ var headerName = config.headerName,
209
+ dataIndex = config.dataIndex,
210
+ width = config.width,
211
+ minWidth = config.minWidth,
212
+ maxWidth = config.maxWidth,
213
+ resizable = config.resizable,
214
+ sortable = config.sortable,
215
+ filter = config.filter,
216
+ align = config.align,
217
+ pinned = config.pinned,
218
+ hide = config.hide,
219
+ editable = config.editable,
220
+ agGridProps = config.agGridProps;
221
+ return _objectSpread({
222
+ headerName: headerName,
223
+ field: dataIndex,
224
+ width: width,
225
+ minWidth: minWidth,
226
+ maxWidth: maxWidth,
227
+ resizable: resizable,
228
+ sortable: sortable,
229
+ filter: filter,
230
+ cellClass: align ? "ag-cell-".concat(align) : undefined,
231
+ pinned: pinned || undefined,
232
+ hide: hide,
233
+ editable: editable
234
+ }, agGridProps);
235
+ };
@@ -0,0 +1,23 @@
1
+ import { RefObject } from 'react';
2
+ import { ArrayField } from '@formily/core';
3
+ /**
4
+ * 单元格聚焦 Hook
5
+ * 处理 Editable 包装和普通输入框的聚焦逻辑
6
+ */
7
+ export declare const useCellFocus: () => {
8
+ focusInputInCell: (cell: Element) => void;
9
+ };
10
+ /**
11
+ * 键盘导航 Hook
12
+ * 处理方向键在表格单元格间的导航
13
+ */
14
+ export declare const useKeyboardNavigation: (ref: RefObject<any>, dataSource: any[], focusInputInCell: (cell: Element) => void) => {
15
+ handleCellKeyDown: (event: any) => void;
16
+ };
17
+ /**
18
+ * 行拖拽 Hook
19
+ * 处理行拖拽排序逻辑
20
+ */
21
+ export declare const useRowDrag: (field: ArrayField) => {
22
+ handleRowDragMove: (event: any) => void;
23
+ };