@vmscloud/moz-ui-grid-vue 0.1.41 → 0.2.0

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 (183) hide show
  1. package/README.md +1 -13
  2. package/dist/chunks/{index-BDQ0HlwR.js → index-2qnzL9Zm.js} +183 -32
  3. package/dist/chunks/index-BLDAzbGv.cjs +14 -0
  4. package/dist/compat/MozGridVue.vue.d.ts +1 -1
  5. package/dist/compat/MozPivotVue.vue.d.ts +1 -1
  6. package/dist/excel/ClientExcelUploadPopup.d.ts +48 -0
  7. package/dist/excel/ClientExcelUploadPopup.vue.d.ts +5 -0
  8. package/dist/excel/icons.d.ts +3 -0
  9. package/dist/{legacy/composables → excel}/useClientExcelExport.d.ts +2 -2
  10. package/dist/{legacy/composables → excel}/useClientExcelStore.d.ts +1 -1
  11. package/dist/index.cjs +76 -25
  12. package/dist/index.d.ts +27 -9
  13. package/dist/index.js +684 -89162
  14. package/dist/locale/index.d.ts +49 -0
  15. package/dist/{legacy/store → store}/index.d.ts +28 -28
  16. package/dist/store.cjs +1 -1
  17. package/dist/store.js +4 -4
  18. package/dist/{legacy/stories → stories}/_helpers/localDataLoader.d.ts +1 -1
  19. package/dist/style.css +1 -1
  20. package/dist/types/injection-keys.d.ts +2 -5
  21. package/dist/types/modules.d.ts +87 -0
  22. package/dist/{legacy/types → types}/pivot-props.d.ts +1 -1
  23. package/dist/{legacy/types → types}/props.d.ts +1 -1
  24. package/dist/utils/excel/ExcelImportUtil.cjs +1 -1
  25. package/dist/utils/excel/ExcelImportUtil.js +1 -1
  26. package/dist/utils/excel/ExcelQueueManager.cjs +1 -1
  27. package/dist/utils/excel/ExcelQueueManager.js +1 -1
  28. package/dist/utils/excel/ExcelTaskRunner.cjs +1 -1
  29. package/dist/{legacy/utils → utils}/excel/ExcelTaskRunner.d.ts +1 -1
  30. package/dist/utils/excel/ExcelTaskRunner.js +1 -1
  31. package/dist/utils/excel/ExcelTimeoutManager.cjs +1 -1
  32. package/dist/utils/excel/ExcelTimeoutManager.js +2 -4
  33. package/dist/{legacy/utils → utils}/index.d.ts +1 -1
  34. package/dist/utils/toast.d.ts +12 -0
  35. package/docs/manual/reference_vue.md +18 -27
  36. package/package.json +4 -5
  37. package/dist/chunks/index-D5KJLBGW.cjs +0 -14
  38. package/dist/legacy/components/common/Dragging.d.ts +0 -17
  39. package/dist/legacy/components/common/Dragging.vue.d.ts +0 -49
  40. package/dist/legacy/components/common/custom-cell/FormulaEngine.d.ts +0 -256
  41. package/dist/legacy/components/common/custom-cell/FormulaInput.vue.d.ts +0 -33
  42. package/dist/legacy/components/common/custom-cell/GridCustomCell.vue.d.ts +0 -23
  43. package/dist/legacy/components/common/custom-cell/useFormulaAutocomplete.d.ts +0 -44
  44. package/dist/legacy/components/common/excel/ClientExcelUploadPopup.vue.d.ts +0 -201
  45. package/dist/legacy/components/common/excel/assets/IconDropZone.vue.d.ts +0 -2
  46. package/dist/legacy/components/common/excel/assets/IconFileUpload.vue.d.ts +0 -2
  47. package/dist/legacy/components/common/filter/GridFilter.vue.d.ts +0 -23
  48. package/dist/legacy/components/common/footer/GridFooter.vue.d.ts +0 -29
  49. package/dist/legacy/components/common/sort/GridSort.vue.d.ts +0 -23
  50. package/dist/legacy/components/common/toolbar/GridSearchInput.vue.d.ts +0 -33
  51. package/dist/legacy/components/grid/MozGridVue.vue.d.ts +0 -2041
  52. package/dist/legacy/components/grid/MozGridVueCore.vue.d.ts +0 -118
  53. package/dist/legacy/components/grid/bulk-editor/GridBulkEditor.vue.d.ts +0 -10
  54. package/dist/legacy/components/grid/column-settings/AlignPicker.vue.d.ts +0 -10
  55. package/dist/legacy/components/grid/column-settings/ColorSwatchPicker.vue.d.ts +0 -11
  56. package/dist/legacy/components/grid/column-settings/ColumnListItem.vue.d.ts +0 -17
  57. package/dist/legacy/components/grid/column-settings/ColumnOptionsPanel.vue.d.ts +0 -32
  58. package/dist/legacy/components/grid/column-settings/FontSizePicker.vue.d.ts +0 -10
  59. package/dist/legacy/components/grid/column-settings/FontStyleToggles.vue.d.ts +0 -15
  60. package/dist/legacy/components/grid/column-settings/MaskPresetPicker.vue.d.ts +0 -14
  61. package/dist/legacy/components/grid/context-menu/GridContextMenu.vue.d.ts +0 -208
  62. package/dist/legacy/components/grid/group-panel/GroupPanel.vue.d.ts +0 -18
  63. package/dist/legacy/components/grid/toolbar/ColumnPicker.vue.d.ts +0 -17
  64. package/dist/legacy/components/grid/toolbar/ColumnSettings.vue.d.ts +0 -30
  65. package/dist/legacy/components/grid/toolbar/GridOptionModal.vue.d.ts +0 -211
  66. package/dist/legacy/components/grid/toolbar/GridToolBox.vue.d.ts +0 -69
  67. package/dist/legacy/components/pivot/MozPivotVue.vue.d.ts +0 -1868
  68. package/dist/legacy/components/pivot/PivotContextMenu.vue.d.ts +0 -634
  69. package/dist/legacy/components/pivot/PivotFieldChip.vue.d.ts +0 -16
  70. package/dist/legacy/components/pivot/PivotFieldDropZone.vue.d.ts +0 -26
  71. package/dist/legacy/components/pivot/PivotFieldPanel.vue.d.ts +0 -28
  72. package/dist/legacy/components/pivot/PivotOptionModal.vue.d.ts +0 -534
  73. package/dist/legacy/components/pivot/PivotToolBox.vue.d.ts +0 -79
  74. package/dist/legacy/components/pivot/chart/EChart.vue.d.ts +0 -13
  75. package/dist/legacy/components/pivot/chart/MozPivotChart.types.d.ts +0 -16
  76. package/dist/legacy/components/pivot/chart/MozPivotChart.vue.d.ts +0 -14
  77. package/dist/legacy/components/pivot/chart/PivotChartDetail.vue.d.ts +0 -13
  78. package/dist/legacy/components/pivot/chart/PivotChartMini.vue.d.ts +0 -18
  79. package/dist/legacy/components/pivot/chart/PivotChartMultiple.vue.d.ts +0 -18
  80. package/dist/legacy/components/pivot/chart/PivotChartToolbar.vue.d.ts +0 -38
  81. package/dist/legacy/components/pivot/chart/chartUtils.d.ts +0 -45
  82. package/dist/legacy/components/pivot/chart/useChartData.d.ts +0 -35
  83. package/dist/legacy/composables/useCellTooltip.d.ts +0 -8
  84. package/dist/legacy/composables/useColumnFormatter.d.ts +0 -45
  85. package/dist/legacy/composables/useColumnSettings.d.ts +0 -35
  86. package/dist/legacy/composables/useContextMenu.d.ts +0 -71
  87. package/dist/legacy/composables/useGridBulkEditor.d.ts +0 -36
  88. package/dist/legacy/composables/useGridChanges.d.ts +0 -28
  89. package/dist/legacy/composables/useGridColumns.d.ts +0 -37
  90. package/dist/legacy/composables/useGridCustomCell.d.ts +0 -34
  91. package/dist/legacy/composables/useGridEvents.d.ts +0 -14
  92. package/dist/legacy/composables/useGridFilter.d.ts +0 -38
  93. package/dist/legacy/composables/useGridInstance.d.ts +0 -16
  94. package/dist/legacy/composables/useGridSelect.d.ts +0 -18
  95. package/dist/legacy/composables/useGridSelection.d.ts +0 -18
  96. package/dist/legacy/composables/useGridSort.d.ts +0 -38
  97. package/dist/legacy/composables/useGridUndoRedo.d.ts +0 -28
  98. package/dist/legacy/composables/useGridValidation.d.ts +0 -28
  99. package/dist/legacy/composables/useMaskPresets.d.ts +0 -38
  100. package/dist/legacy/composables/useSearchHighlight.d.ts +0 -12
  101. package/dist/legacy/icons/IconAdd.vue.d.ts +0 -11
  102. package/dist/legacy/icons/IconArrowDownWithTail.vue.d.ts +0 -11
  103. package/dist/legacy/icons/IconArrowLeft.vue.d.ts +0 -11
  104. package/dist/legacy/icons/IconArrowLeftWithTail.vue.d.ts +0 -11
  105. package/dist/legacy/icons/IconArrowRight.vue.d.ts +0 -11
  106. package/dist/legacy/icons/IconArrowUpCenter.vue.d.ts +0 -11
  107. package/dist/legacy/icons/IconArrowUpWithTail.vue.d.ts +0 -11
  108. package/dist/legacy/icons/IconChart.vue.d.ts +0 -11
  109. package/dist/legacy/icons/IconClose.vue.d.ts +0 -13
  110. package/dist/legacy/icons/IconColorPicker.vue.d.ts +0 -11
  111. package/dist/legacy/icons/IconCustomCell.vue.d.ts +0 -11
  112. package/dist/legacy/icons/IconDecide.vue.d.ts +0 -11
  113. package/dist/legacy/icons/IconDownload.vue.d.ts +0 -11
  114. package/dist/legacy/icons/IconDragHandler.vue.d.ts +0 -11
  115. package/dist/legacy/icons/IconFilter.vue.d.ts +0 -11
  116. package/dist/legacy/icons/IconInfoFilled.vue.d.ts +0 -11
  117. package/dist/legacy/icons/IconRedo.vue.d.ts +0 -9
  118. package/dist/legacy/icons/IconReset.vue.d.ts +0 -9
  119. package/dist/legacy/icons/IconResetGridToolbar.vue.d.ts +0 -11
  120. package/dist/legacy/icons/IconSearch.vue.d.ts +0 -11
  121. package/dist/legacy/icons/IconSetting.vue.d.ts +0 -11
  122. package/dist/legacy/icons/IconSettingFilled.vue.d.ts +0 -11
  123. package/dist/legacy/icons/IconSort.vue.d.ts +0 -11
  124. package/dist/legacy/icons/IconToastWarning.vue.d.ts +0 -11
  125. package/dist/legacy/icons/IconUndo.vue.d.ts +0 -9
  126. package/dist/legacy/icons/index.d.ts +0 -25
  127. package/dist/legacy/index.d.ts +0 -69
  128. package/dist/legacy/shared/colorPresets.d.ts +0 -36
  129. package/dist/legacy/stories/Autofit.stories.d.ts +0 -9
  130. package/dist/legacy/stories/CRUD.stories.d.ts +0 -9
  131. package/dist/legacy/stories/CellAttributes.stories.d.ts +0 -19
  132. package/dist/legacy/stories/CellMask.stories.d.ts +0 -19
  133. package/dist/legacy/stories/ClientExcel.stories.d.ts +0 -8
  134. package/dist/legacy/stories/Clipboard.stories.d.ts +0 -12
  135. package/dist/legacy/stories/ColumnVisibility.stories.d.ts +0 -12
  136. package/dist/legacy/stories/ColumnWidths.stories.d.ts +0 -11
  137. package/dist/legacy/stories/CustomSortFilter.stories.d.ts +0 -7
  138. package/dist/legacy/stories/DynamicRowHeight.stories.d.ts +0 -13
  139. package/dist/legacy/stories/Editors.stories.d.ts +0 -9
  140. package/dist/legacy/stories/EmptyState.stories.d.ts +0 -10
  141. package/dist/legacy/stories/FormatRow.stories.d.ts +0 -20
  142. package/dist/legacy/stories/Grouping.stories.d.ts +0 -14
  143. package/dist/legacy/stories/HeaderGroup.stories.d.ts +0 -11
  144. package/dist/legacy/stories/LargeData.stories.d.ts +0 -19
  145. package/dist/legacy/stories/MasterDetail.stories.d.ts +0 -17
  146. package/dist/legacy/stories/Merge.stories.d.ts +0 -10
  147. package/dist/legacy/stories/MultiRow.stories.d.ts +0 -12
  148. package/dist/legacy/stories/MultiRowCrud.stories.d.ts +0 -11
  149. package/dist/legacy/stories/MultiRowGroup.stories.d.ts +0 -11
  150. package/dist/legacy/stories/Pinning.stories.d.ts +0 -44
  151. package/dist/legacy/stories/Pivot.stories.d.ts +0 -23
  152. package/dist/legacy/stories/PivotAdvanced.stories.d.ts +0 -20
  153. package/dist/legacy/stories/PivotChart.stories.d.ts +0 -23
  154. package/dist/legacy/stories/PivotNonNumeric.stories.d.ts +0 -27
  155. package/dist/legacy/stories/Preset.stories.d.ts +0 -11
  156. package/dist/legacy/stories/ReactiveAPI.stories.d.ts +0 -8
  157. package/dist/legacy/stories/ReactiveSafety.stories.d.ts +0 -28
  158. package/dist/legacy/stories/Repro.stories.d.ts +0 -36
  159. package/dist/legacy/stories/RowAPI.stories.d.ts +0 -12
  160. package/dist/legacy/stories/SelectionModes.stories.d.ts +0 -35
  161. package/dist/legacy/stories/Streaming.stories.d.ts +0 -12
  162. package/dist/legacy/stories/Tree.stories.d.ts +0 -13
  163. package/dist/legacy/stories/WorkerMode.stories.d.ts +0 -15
  164. package/dist/legacy/utils/dialog/dialog.d.ts +0 -19
  165. /package/dist/{legacy/store → store}/UploadRefreshRegistry.d.ts +0 -0
  166. /package/dist/{legacy/store → store}/excelStore.d.ts +0 -0
  167. /package/dist/{legacy/stores → stores}/index.d.ts +0 -0
  168. /package/dist/{legacy/stores → stores}/projectInfo/projectInfo.contract.d.ts +0 -0
  169. /package/dist/{legacy/stories → stories}/_helpers/sampleData.d.ts +0 -0
  170. /package/dist/{legacy/types → types}/FileParameter.d.ts +0 -0
  171. /package/dist/{legacy/types → types}/StreamingParameter.d.ts +0 -0
  172. /package/dist/{legacy/types → types}/excel.types.d.ts +0 -0
  173. /package/dist/{legacy/types → types}/index.d.ts +0 -0
  174. /package/dist/{legacy/types → types}/toolbar.d.ts +0 -0
  175. /package/dist/{legacy/utils → utils}/async/debounce.d.ts +0 -0
  176. /package/dist/{legacy/utils → utils}/crypto/crypto.d.ts +0 -0
  177. /package/dist/{legacy/utils → utils}/excel/ExcelGuard.d.ts +0 -0
  178. /package/dist/{legacy/utils → utils}/excel/ExcelImportUtil.d.ts +0 -0
  179. /package/dist/{legacy/utils → utils}/excel/ExcelQueueManager.d.ts +0 -0
  180. /package/dist/{legacy/utils → utils}/excel/ExcelTimeoutManager.d.ts +0 -0
  181. /package/dist/{legacy/utils → utils}/file.d.ts +0 -0
  182. /package/dist/{legacy/utils → utils}/http/rest.d.ts +0 -0
  183. /package/dist/{legacy/utils → utils}/id/generator.d.ts +0 -0
@@ -1,256 +0,0 @@
1
- /**
2
- * FormulaEngine - 수식 파서 및 평가기
3
- *
4
- * 컬럼 참조: [컬럼헤더] 또는 $binding
5
- * 비교 연산자: =, ==, !=, ≠, <>, <, >, <=, ≤, >=, ≥
6
- * 논리 연산자: AND, &&, OR, ||, NOT, !
7
- * 산술 연산자: +, -, *, /, %
8
- * 문자열 연산자: CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH
9
- * NULL 체크: IS_EMPTY, IS_NOT_EMPTY
10
- * 날짜 리터럴: #2025-09-05# 또는 #2025-09-05 14:30:00#
11
- * 함수: ABS(), ROUND(), LEN(), UPPER(), LOWER(), TRIM(), NOW(), TODAY(), DAYS(), IF(), COALESCE()
12
- */
13
- /** Wijmo DataType 호환 상수 */
14
- declare const DataType: {
15
- readonly String: 1;
16
- readonly Number: 2;
17
- readonly Boolean: 3;
18
- readonly Date: 4;
19
- };
20
- type DataType = number;
21
- /** 토큰 타입 */
22
- export declare enum TokenType {
23
- NUMBER = "NUMBER",
24
- STRING = "STRING",
25
- BOOLEAN = "BOOLEAN",
26
- NULL = "NULL",
27
- DATE = "DATE",// #2025-09-05# 형식
28
- COLUMN_REF = "COLUMN_REF",// [컬럼명]
29
- BINDING_REF = "BINDING_REF",// $binding
30
- PLUS = "PLUS",// +
31
- MINUS = "MINUS",// -
32
- MULTIPLY = "MULTIPLY",// *
33
- DIVIDE = "DIVIDE",// /
34
- MODULO = "MODULO",// % (산술)
35
- EQ = "EQ",// =, ==
36
- NEQ = "NEQ",// !=, ≠, <>
37
- LT = "LT",// <
38
- GT = "GT",// >
39
- LTE = "LTE",// <=, ≤
40
- GTE = "GTE",// >=, ≥
41
- AND = "AND",
42
- OR = "OR",
43
- NOT = "NOT",
44
- CONTAINS = "CONTAINS",
45
- NOT_CONTAINS = "NOT_CONTAINS",
46
- STARTS_WITH = "STARTS_WITH",
47
- ENDS_WITH = "ENDS_WITH",
48
- LIKE = "LIKE",// SQL LIKE 스타일
49
- IS_EMPTY = "IS_EMPTY",
50
- IS_NOT_EMPTY = "IS_NOT_EMPTY",
51
- LPAREN = "LPAREN",// (
52
- RPAREN = "RPAREN",// )
53
- COMMA = "COMMA",// ,
54
- FUNCTION = "FUNCTION",
55
- EOF = "EOF"
56
- }
57
- /** 토큰 */
58
- export interface Token {
59
- type: TokenType;
60
- value: any;
61
- position: number;
62
- }
63
- /** AST 노드 타입 */
64
- export type ASTNode = LiteralNode | ColumnRefNode | BinaryOpNode | UnaryOpNode | FunctionCallNode | PostfixOpNode;
65
- export interface LiteralNode {
66
- type: 'Literal';
67
- value: any;
68
- dataType: 'number' | 'string' | 'boolean' | 'null' | 'date';
69
- }
70
- export interface ColumnRefNode {
71
- type: 'ColumnRef';
72
- name: string;
73
- isBinding: boolean;
74
- }
75
- export interface BinaryOpNode {
76
- type: 'BinaryOp';
77
- operator: string;
78
- left: ASTNode;
79
- right: ASTNode;
80
- }
81
- export interface UnaryOpNode {
82
- type: 'UnaryOp';
83
- operator: string;
84
- operand: ASTNode;
85
- }
86
- export interface PostfixOpNode {
87
- type: 'PostfixOp';
88
- operator: string;
89
- operand: ASTNode;
90
- }
91
- export interface FunctionCallNode {
92
- type: 'FunctionCall';
93
- name: string;
94
- args: ASTNode[];
95
- }
96
- /** 파싱 결과 */
97
- export interface ParseResult {
98
- success: boolean;
99
- ast?: ASTNode;
100
- error?: string;
101
- errorPosition?: number;
102
- }
103
- /** 평가 결과 */
104
- export interface EvaluateResult {
105
- success: boolean;
106
- value?: any;
107
- error?: string;
108
- }
109
- /** 컬럼 정보 */
110
- export interface ColumnInfo {
111
- header: string;
112
- binding: string;
113
- dataType?: DataType;
114
- }
115
- export declare class FormulaLexer {
116
- private input;
117
- private position;
118
- private tokens;
119
- private static readonly KEYWORDS;
120
- private static readonly FUNCTIONS;
121
- constructor(input: string);
122
- tokenize(): Token[];
123
- private skipWhitespace;
124
- private peek;
125
- private isDigit;
126
- private isAlpha;
127
- private isAlphaNumeric;
128
- private addToken;
129
- private readColumnRef;
130
- private readBindingRef;
131
- private readString;
132
- private readDateLiteral;
133
- private readNumber;
134
- private readIdentifier;
135
- private readOperator;
136
- }
137
- export declare class FormulaParser {
138
- private tokens;
139
- private position;
140
- constructor(tokens: Token[]);
141
- parse(): ASTNode;
142
- private current;
143
- private advance;
144
- private expect;
145
- private parseExpression;
146
- private parseOrExpr;
147
- private parseAndExpr;
148
- private parseNotExpr;
149
- private parseComparison;
150
- private parseStringOp;
151
- private parseAdditive;
152
- private parseMultiplicative;
153
- private parseUnary;
154
- private parsePrimary;
155
- private parseFunctionCall;
156
- }
157
- export declare class FormulaEvaluator {
158
- private columnMap;
159
- private bindingSet;
160
- private columnTypeMap;
161
- constructor(columns: ColumnInfo[]);
162
- /**
163
- * 컬럼 참조 노드에서 데이터 타입 가져오기
164
- */
165
- private getColumnDataType;
166
- /**
167
- * 컬럼 타입에 따라 값을 변환
168
- * - String 타입: 문자열로 변환
169
- * - Number 타입: 숫자로 변환 시도
170
- * - Date 타입: 날짜로 변환 시도
171
- * - Boolean 타입: 불린으로 변환
172
- */
173
- private coerceValueByColumnType;
174
- evaluate(ast: ASTNode, rowData: Record<string, any>): any;
175
- private evaluateColumnRef;
176
- private evaluateBinaryOp;
177
- private evaluateUnaryOp;
178
- private evaluatePostfixOp;
179
- private evaluateFunctionCall;
180
- private toBoolean;
181
- private toNumber;
182
- private toDate;
183
- /**
184
- * Date 객체를 YYYY-MM-DD 형식의 문자열로 변환
185
- */
186
- private formatDateString;
187
- /**
188
- * 값을 날짜 문자열로 변환 (Date 객체면 YYYY-MM-DD 형식, 아니면 그대로 String)
189
- */
190
- private toDateString;
191
- /**
192
- * 문자열 연산에 사용할 문자열 변환 (Date 객체 또는 Date로 변환 가능한 값은 YYYY-MM-DD 형식)
193
- */
194
- private toStringForComparison;
195
- private isEmpty;
196
- private isEqual;
197
- private compare;
198
- private matchLike;
199
- }
200
- export declare class FormulaEngine {
201
- private columns;
202
- constructor(columns?: ColumnInfo[]);
203
- /**
204
- * 컬럼 정보 업데이트
205
- */
206
- setColumns(columns: ColumnInfo[]): void;
207
- /**
208
- * 수식 파싱
209
- */
210
- parse(formula: string): ParseResult;
211
- /**
212
- * 수식 유효성 검사
213
- */
214
- validate(formula: string): ParseResult;
215
- /**
216
- * 수식 평가 (단일 행)
217
- */
218
- evaluate(formula: string, rowData: Record<string, any>): EvaluateResult;
219
- /**
220
- * AST 직접 평가 (반복 평가 시 파싱 비용 절약)
221
- */
222
- evaluateAST(ast: ASTNode, rowData: Record<string, any>): EvaluateResult;
223
- /**
224
- * 수식에서 참조하는 컬럼 목록 추출
225
- */
226
- getReferencedColumns(formula: string): string[];
227
- private validateColumnRefs;
228
- /**
229
- * 노드의 의미상 타입 추론
230
- * - Literal: dataType 기반
231
- * - ColumnRef: columns 메타데이터 기반
232
- * - 그 외: 보수적으로 'unknown'
233
- */
234
- private inferNodeType;
235
- /**
236
- * 타입/연산자 조합 유효성 검사
237
- * - 비교/문자열 연산자에 대해서만 보수적으로 체크
238
- * - 규칙과 맞지 않는 경우 에러를 던져 상위 validate에서 잡도록 함
239
- */
240
- private validateOperatorTypes;
241
- private collectColumnRefs;
242
- private extractPosition;
243
- /**
244
- * 내부 파서/렉서 에러 메시지를 사용자 친화적인 한글 메시지로 변환
245
- */
246
- private toFriendlyErrorMessage;
247
- }
248
- /**
249
- * 수식 파싱 및 평가 (간단한 사용)
250
- */
251
- export declare function evaluateFormula(formula: string, rowData: Record<string, any>, columns?: ColumnInfo[]): EvaluateResult;
252
- /**
253
- * 수식 유효성 검사
254
- */
255
- export declare function validateFormula(formula: string, columns?: ColumnInfo[]): ParseResult;
256
- export {};
@@ -1,33 +0,0 @@
1
- import { ColumnInfo } from './useFormulaAutocomplete';
2
- interface Props {
3
- placeholder?: string;
4
- disabled?: boolean;
5
- rows?: number;
6
- columns: ColumnInfo[];
7
- hasError?: boolean;
8
- showSuggestionsOnFocus?: boolean;
9
- }
10
- type __VLS_Props = Props;
11
- type __VLS_PublicProps = {
12
- modelValue?: string;
13
- } & __VLS_Props;
14
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
- change: (value: string) => any;
16
- "update:modelValue": (value: string) => any;
17
- }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
- onChange?: ((value: string) => any) | undefined;
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
- }>, {
21
- rows: number;
22
- disabled: boolean;
23
- placeholder: string;
24
- hasError: boolean;
25
- showSuggestionsOnFocus: boolean;
26
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
27
- containerRef: HTMLDivElement;
28
- highlightOverlayRef: HTMLDivElement;
29
- textareaRef: HTMLTextAreaElement;
30
- dropdownRef: HTMLDivElement;
31
- suggestionsListRef: HTMLDivElement;
32
- }, HTMLDivElement>;
33
- export default _default;
@@ -1,23 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- gridKey: {
3
- type: StringConstructor;
4
- default: string;
5
- };
6
- dateFormat: {
7
- type: StringConstructor;
8
- default: string;
9
- };
10
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
- gridKey: {
12
- type: StringConstructor;
13
- default: string;
14
- };
15
- dateFormat: {
16
- type: StringConstructor;
17
- default: string;
18
- };
19
- }>> & Readonly<{}>, {
20
- dateFormat: string;
21
- gridKey: string;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
23
- export default _default;
@@ -1,44 +0,0 @@
1
- import { Ref } from 'vue';
2
- /** 파싱된 토큰 타입 */
3
- export type ParsedTokenType = 'ColumnRef' | 'Number' | 'String' | 'Date' | 'Boolean' | 'ArithmeticOp' | 'ComparisonOp' | 'StringOp' | 'LogicalOp' | 'PostfixOp' | 'OpenParen' | 'CloseParen' | 'Unknown';
4
- /** 위치 정보를 포함한 파싱된 토큰 */
5
- export interface ParsedToken {
6
- type: ParsedTokenType;
7
- value: string;
8
- start: number;
9
- end: number;
10
- }
11
- /** 제안 항목 타입 */
12
- export type SuggestionType = 'column' | 'operator' | 'logical' | 'value' | 'function';
13
- /** 제안 항목 */
14
- export interface Suggestion {
15
- type: SuggestionType;
16
- value: string;
17
- displayText: string;
18
- description?: string;
19
- insertText?: string;
20
- }
21
- /** 컬럼 정보 */
22
- export interface ColumnInfo {
23
- header: string;
24
- binding: string;
25
- dataType?: number;
26
- }
27
- /** 컨텍스트 상태 (세분화) */
28
- export type ContextState = 'start' | 'in_column' | 'after_column' | 'in_operator' | 'after_arithmetic_op' | 'after_comparison_op' | 'after_string_op' | 'after_postfix_op' | 'after_operator' | 'in_value' | 'after_value' | 'after_arithmetic_expr';
29
- /** 함수 정의 (현재 사용 안 함) */
30
- export interface UseFormulaAutocompleteOptions {
31
- columns: Ref<ColumnInfo[]>;
32
- }
33
- export declare function useFormulaAutocomplete(options: UseFormulaAutocompleteOptions): {
34
- currentToken: Ref<string, string>;
35
- contextState: Ref<ContextState, ContextState>;
36
- tokenStartPosition: Ref<number, number>;
37
- analyzeContext: (text: string, cursorPosition: number) => void;
38
- getSuggestions: import('vue').ComputedRef<Suggestion[]>;
39
- getInsertText: (suggestion: Suggestion, currentText: string, cursorPosition: number) => {
40
- newText: string;
41
- newCursorPosition: number;
42
- };
43
- columnSuggestions: import('vue').ComputedRef<Suggestion[]>;
44
- };
@@ -1,201 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
- popupElement: ({
3
- $: import('vue').ComponentInternalInstance;
4
- $data: {};
5
- $props: {
6
- readonly width?: number | undefined;
7
- readonly height?: number | undefined;
8
- readonly visible: boolean;
9
- readonly title?: string | undefined;
10
- readonly minWidth?: number | undefined;
11
- readonly minHeight?: number | undefined;
12
- readonly maxWidth?: number | undefined;
13
- readonly maxHeight?: number | undefined;
14
- readonly draggable?: boolean | undefined;
15
- readonly resizeable?: boolean | undefined;
16
- readonly keepAspectRatio?: boolean | undefined;
17
- readonly disabledConfirmButton?: boolean | undefined;
18
- readonly showCloseButton?: boolean | undefined;
19
- readonly closeOnOutsideClick?: boolean | undefined;
20
- readonly preset?: import('../../../../../../../moz-ui-components/src/index.ts').PopupPreset | undefined;
21
- readonly dialogIcon?: import('../../../../../../../moz-ui-components/src/index.ts').DialogIcon | undefined;
22
- readonly dialogMessage?: string | undefined;
23
- readonly onCancel?: (() => void) | undefined;
24
- readonly onBeforeClose?: (() => boolean | Promise<boolean>) | undefined;
25
- readonly onBeforeUnload?: (() => void) | undefined;
26
- readonly onConfirm?: ((() => void) & (() => any)) | undefined;
27
- readonly onBeforeConfirm?: (() => boolean | Promise<boolean>) | undefined;
28
- readonly loading?: boolean | undefined;
29
- readonly contentsPadding?: string | number | undefined;
30
- readonly class?: string | undefined;
31
- readonly useVShow?: boolean | undefined;
32
- readonly top?: number | null | undefined;
33
- readonly left?: number | null | undefined;
34
- readonly showFooterBorder?: boolean | undefined;
35
- readonly action?: {
36
- positive?: string;
37
- negative?: string;
38
- } | undefined;
39
- readonly saveText?: string | undefined;
40
- readonly cancelText?: string | undefined;
41
- readonly okText?: string | undefined;
42
- readonly closeText?: string | undefined;
43
- readonly onClose?: (() => any) | undefined;
44
- readonly onHidden?: (() => any) | undefined;
45
- readonly onOpen?: (() => any) | undefined;
46
- readonly "onClose:before"?: ((willClose: boolean) => any) | undefined;
47
- readonly "onConfirm:before"?: ((willClose: boolean) => any) | undefined;
48
- readonly "onDrag-start"?: (() => any) | undefined;
49
- readonly "onDrag-end"?: (() => any) | undefined;
50
- readonly onInit?: ((body: HTMLElement | null) => any) | undefined;
51
- readonly "onUpdate:width"?: ((value: number) => any) | undefined;
52
- readonly "onUpdate:height"?: ((value: number) => any) | undefined;
53
- readonly "onUpdate:visible"?: ((value: boolean) => any) | undefined;
54
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
55
- $attrs: import('vue').Attrs;
56
- $refs: {
57
- [x: string]: unknown;
58
- } & {
59
- dialog: HTMLDivElement;
60
- body: HTMLDivElement;
61
- };
62
- $slots: Readonly<{
63
- [name: string]: import('vue').Slot<any> | undefined;
64
- }>;
65
- $root: import('vue').ComponentPublicInstance | null;
66
- $parent: import('vue').ComponentPublicInstance | null;
67
- $host: Element | null;
68
- $emit: ((event: "close") => void) & ((event: "hidden") => void) & ((event: "open") => void) & ((event: "confirm") => void) & ((event: "close:before", willClose: boolean) => void) & ((event: "confirm:before", willClose: boolean) => void) & ((event: "drag-start") => void) & ((event: "drag-end") => void) & ((event: "init", body: HTMLElement | null) => void) & ((event: "update:width", value: number) => void) & ((event: "update:height", value: number) => void) & ((event: "update:visible", value: boolean) => void);
69
- $el: any;
70
- $options: import('vue').ComponentOptionsBase<Readonly<{
71
- width?: number;
72
- height?: number;
73
- visible: boolean;
74
- } & import('../../../../../../../moz-ui-components/src/index.ts').PopupProps> & Readonly<{
75
- onClose?: (() => any) | undefined;
76
- onHidden?: (() => any) | undefined;
77
- onOpen?: (() => any) | undefined;
78
- onConfirm?: (() => any) | undefined;
79
- "onClose:before"?: ((willClose: boolean) => any) | undefined;
80
- "onConfirm:before"?: ((willClose: boolean) => any) | undefined;
81
- "onDrag-start"?: (() => any) | undefined;
82
- "onDrag-end"?: (() => any) | undefined;
83
- onInit?: ((body: HTMLElement | null) => any) | undefined;
84
- "onUpdate:width"?: ((value: number) => any) | undefined;
85
- "onUpdate:height"?: ((value: number) => any) | undefined;
86
- "onUpdate:visible"?: ((value: boolean) => any) | undefined;
87
- }>, {
88
- resetPosition: () => void;
89
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
90
- close: () => any;
91
- hidden: () => any;
92
- open: () => any;
93
- confirm: () => any;
94
- "close:before": (willClose: boolean) => any;
95
- "confirm:before": (willClose: boolean) => any;
96
- "drag-start": () => any;
97
- "drag-end": () => any;
98
- init: (body: HTMLElement | null) => any;
99
- "update:width": (value: number) => any;
100
- "update:height": (value: number) => any;
101
- "update:visible": (value: boolean) => any;
102
- }, string, {
103
- left: number | null;
104
- top: number | null;
105
- minWidth: number;
106
- maxWidth: number;
107
- title: string;
108
- maxHeight: number;
109
- loading: boolean;
110
- minHeight: number;
111
- draggable: boolean;
112
- resizeable: boolean;
113
- closeOnOutsideClick: boolean;
114
- showFooterBorder: boolean;
115
- contentsPadding: string | number;
116
- preset: import('../../../../../../../moz-ui-components/src/index.ts').PopupPreset;
117
- keepAspectRatio: boolean;
118
- disabledConfirmButton: boolean;
119
- showCloseButton: boolean;
120
- dialogIcon: import('../../../../../../../moz-ui-components/src/index.ts').DialogIcon;
121
- useVShow: boolean;
122
- saveText: string;
123
- cancelText: string;
124
- okText: string;
125
- closeText: string;
126
- }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
127
- beforeCreate?: (() => void) | (() => void)[];
128
- created?: (() => void) | (() => void)[];
129
- beforeMount?: (() => void) | (() => void)[];
130
- mounted?: (() => void) | (() => void)[];
131
- beforeUpdate?: (() => void) | (() => void)[];
132
- updated?: (() => void) | (() => void)[];
133
- activated?: (() => void) | (() => void)[];
134
- deactivated?: (() => void) | (() => void)[];
135
- beforeDestroy?: (() => void) | (() => void)[];
136
- beforeUnmount?: (() => void) | (() => void)[];
137
- destroyed?: (() => void) | (() => void)[];
138
- unmounted?: (() => void) | (() => void)[];
139
- renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
140
- renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
141
- errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
142
- };
143
- $forceUpdate: () => void;
144
- $nextTick: typeof import('vue').nextTick;
145
- $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
146
- } & Readonly<{
147
- left: number | null;
148
- top: number | null;
149
- minWidth: number;
150
- maxWidth: number;
151
- title: string;
152
- maxHeight: number;
153
- loading: boolean;
154
- minHeight: number;
155
- draggable: boolean;
156
- resizeable: boolean;
157
- closeOnOutsideClick: boolean;
158
- showFooterBorder: boolean;
159
- contentsPadding: string | number;
160
- preset: import('../../../../../../../moz-ui-components/src/index.ts').PopupPreset;
161
- keepAspectRatio: boolean;
162
- disabledConfirmButton: boolean;
163
- showCloseButton: boolean;
164
- dialogIcon: import('../../../../../../../moz-ui-components/src/index.ts').DialogIcon;
165
- useVShow: boolean;
166
- saveText: string;
167
- cancelText: string;
168
- okText: string;
169
- closeText: string;
170
- }> & Omit<Readonly<{
171
- width?: number;
172
- height?: number;
173
- visible: boolean;
174
- } & import('../../../../../../../moz-ui-components/src/index.ts').PopupProps> & Readonly<{
175
- onClose?: (() => any) | undefined;
176
- onHidden?: (() => any) | undefined;
177
- onOpen?: (() => any) | undefined;
178
- onConfirm?: (() => any) | undefined;
179
- "onClose:before"?: ((willClose: boolean) => any) | undefined;
180
- "onConfirm:before"?: ((willClose: boolean) => any) | undefined;
181
- "onDrag-start"?: (() => any) | undefined;
182
- "onDrag-end"?: (() => any) | undefined;
183
- onInit?: ((body: HTMLElement | null) => any) | undefined;
184
- "onUpdate:width"?: ((value: number) => any) | undefined;
185
- "onUpdate:height"?: ((value: number) => any) | undefined;
186
- "onUpdate:visible"?: ((value: boolean) => any) | undefined;
187
- }>, "resetPosition" | ("left" | "top" | "minWidth" | "maxWidth" | "title" | "maxHeight" | "loading" | "minHeight" | "draggable" | "resizeable" | "closeOnOutsideClick" | "showFooterBorder" | "contentsPadding" | "preset" | "keepAspectRatio" | "disabledConfirmButton" | "showCloseButton" | "dialogIcon" | "useVShow" | "saveText" | "cancelText" | "okText" | "closeText")> & {
188
- resetPosition: () => void;
189
- } & {} & import('vue').ComponentCustomProperties & {} & {
190
- $slots: {
191
- title?(_: {}): any;
192
- default?(_: {}): any;
193
- footer?(_: {
194
- onConfirm: () => Promise<void>;
195
- onCancel: () => Promise<void>;
196
- }): any;
197
- };
198
- }) | null;
199
- fileInputRef: HTMLInputElement;
200
- }, HTMLDivElement>;
201
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
- export default _default;
@@ -1,23 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- gridKey: {
3
- type: StringConstructor;
4
- default: string;
5
- };
6
- dateFormat: {
7
- type: StringConstructor;
8
- default: string;
9
- };
10
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
- gridKey: {
12
- type: StringConstructor;
13
- default: string;
14
- };
15
- dateFormat: {
16
- type: StringConstructor;
17
- default: string;
18
- };
19
- }>> & Readonly<{}>, {
20
- dateFormat: string;
21
- gridKey: string;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
23
- export default _default;
@@ -1,29 +0,0 @@
1
- /**
2
- * props
3
- */
4
- interface Props {
5
- filteredRowCount?: number;
6
- totalRowCount?: number;
7
- showAggregates?: boolean;
8
- }
9
- declare function __VLS_template(): {
10
- attrs: Partial<{}>;
11
- slots: {
12
- footer?(_: {}): any;
13
- };
14
- refs: {};
15
- rootEl: HTMLDivElement;
16
- };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
19
- totalRowCount: number;
20
- filteredRowCount: number;
21
- showAggregates: boolean;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
23
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
- export default _default;
25
- type __VLS_WithTemplateSlots<T, S> = T & {
26
- new (): {
27
- $slots: S;
28
- };
29
- };
@@ -1,23 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- width: {
3
- type: NumberConstructor;
4
- default: number;
5
- };
6
- height: {
7
- type: NumberConstructor;
8
- default: number;
9
- };
10
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
- width: {
12
- type: NumberConstructor;
13
- default: number;
14
- };
15
- height: {
16
- type: NumberConstructor;
17
- default: number;
18
- };
19
- }>> & Readonly<{}>, {
20
- height: number;
21
- width: number;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
23
- export default _default;
@@ -1,33 +0,0 @@
1
- interface Props {
2
- label?: string | null;
3
- isRequired?: boolean;
4
- isDisabled?: boolean;
5
- isReadOnly?: boolean;
6
- modelValue?: string;
7
- placeholder?: string;
8
- }
9
- declare const _default: import('vue').DefineComponent<Props, {
10
- resetSearch: () => void;
11
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
- search: (keyword: string) => any;
13
- "update:modelValue": (value: string) => any;
14
- navigate: (cell: {
15
- row: number;
16
- col: number;
17
- } | null) => any;
18
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
19
- onSearch?: ((keyword: string) => any) | undefined;
20
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
- onNavigate?: ((cell: {
22
- row: number;
23
- col: number;
24
- } | null) => any) | undefined;
25
- }>, {
26
- label: string | null;
27
- isReadOnly: boolean;
28
- placeholder: string;
29
- modelValue: string;
30
- isDisabled: boolean;
31
- isRequired: boolean;
32
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
33
- export default _default;