@visactor/vseed 0.4.2 → 0.4.3

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 (153) hide show
  1. package/dist/cjs/index.cjs +646 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/buildSpec.d.ts +1 -2
  4. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  5. package/dist/esm/builder/builder/builder.d.ts +1116 -106
  6. package/dist/esm/builder/builder/builder.js +10 -0
  7. package/dist/esm/builder/builder/builder.js.map +1 -1
  8. package/dist/esm/builder/builder/prepare.d.ts +12 -0
  9. package/dist/esm/builder/builder/prepare.js +269 -0
  10. package/dist/esm/builder/builder/prepare.js.map +1 -0
  11. package/dist/esm/dataReshape/constant.d.ts +1 -0
  12. package/dist/esm/dataReshape/constant.js +2 -1
  13. package/dist/esm/dataReshape/constant.js.map +1 -1
  14. package/dist/esm/dataSelector/selector.d.ts +71 -2
  15. package/dist/esm/dataSelector/selector.js +96 -32
  16. package/dist/esm/dataSelector/selector.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -1
  18. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js +2 -1
  20. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  21. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +10 -4
  22. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  23. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.d.ts +8 -2
  24. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js +13 -4
  25. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js.map +1 -1
  26. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js +8 -4
  27. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
  28. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +10 -4
  29. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  30. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +9 -1
  31. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +7 -1
  32. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  33. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js +3 -2
  34. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  35. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js +5 -2
  36. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  37. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js +3 -2
  38. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  39. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.d.ts +4 -1
  40. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js +12 -1
  41. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
  42. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +6 -3
  43. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  44. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +7 -3
  45. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  46. package/dist/esm/pipeline/utils/index.d.ts +1 -0
  47. package/dist/esm/pipeline/utils/index.js +1 -0
  48. package/dist/esm/pipeline/utils/sandbox/builtin-utils.d.ts +6 -0
  49. package/dist/esm/pipeline/utils/sandbox/builtin-utils.js +337 -0
  50. package/dist/esm/pipeline/utils/sandbox/builtin-utils.js.map +1 -0
  51. package/dist/esm/pipeline/utils/sandbox/execute.d.ts +73 -0
  52. package/dist/esm/pipeline/utils/sandbox/execute.js +716 -0
  53. package/dist/esm/pipeline/utils/sandbox/execute.js.map +1 -0
  54. package/dist/esm/pipeline/utils/sandbox/index.d.ts +7 -0
  55. package/dist/esm/pipeline/utils/sandbox/index.js +3 -0
  56. package/dist/esm/types/builder/builder.d.ts +1 -0
  57. package/dist/esm/types/builder/builder.js.map +1 -1
  58. package/dist/esm/types/chartType/area/zArea.d.ts +682 -18
  59. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +682 -18
  60. package/dist/esm/types/chartType/bar/zBar.d.ts +362 -10
  61. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +362 -10
  62. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +362 -10
  63. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +210 -14
  64. package/dist/esm/types/chartType/circlePacking/zCirclePacking.d.ts +2 -2
  65. package/dist/esm/types/chartType/column/zColumn.d.ts +362 -10
  66. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +362 -10
  67. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +362 -10
  68. package/dist/esm/types/chartType/donut/zDonut.d.ts +2 -2
  69. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +842 -22
  70. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +2 -2
  71. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +2 -2
  72. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +362 -10
  73. package/dist/esm/types/chartType/line/zLine.d.ts +522 -14
  74. package/dist/esm/types/chartType/pie/zPie.d.ts +2 -2
  75. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +241 -4
  76. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +1 -1
  77. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  78. package/dist/esm/types/chartType/raceBar/zRaceBar.d.ts +362 -10
  79. package/dist/esm/types/chartType/raceColumn/zRaceColumn.d.ts +362 -10
  80. package/dist/esm/types/chartType/raceScatter/zRaceScatter.d.ts +362 -10
  81. package/dist/esm/types/chartType/radar/zRadar.d.ts +2 -2
  82. package/dist/esm/types/chartType/rose/zRose.d.ts +2 -2
  83. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +2 -2
  84. package/dist/esm/types/chartType/scatter/zScatter.d.ts +362 -10
  85. package/dist/esm/types/chartType/sunburst/zSunburst.d.ts +2 -2
  86. package/dist/esm/types/chartType/table/zTable.d.ts +241 -4
  87. package/dist/esm/types/chartType/table/zTable.js +1 -1
  88. package/dist/esm/types/chartType/table/zTable.js.map +1 -1
  89. package/dist/esm/types/chartType/treeMap/zTreeMap.d.ts +2 -2
  90. package/dist/esm/types/dataSelector/selector.d.ts +594 -3
  91. package/dist/esm/types/dataSelector/selector.js +58 -2
  92. package/dist/esm/types/dataSelector/selector.js.map +1 -1
  93. package/dist/esm/types/properties/annotation/annotation.d.ts +200 -4
  94. package/dist/esm/types/properties/annotation/annotationHorizontalLine.d.ts +12 -0
  95. package/dist/esm/types/properties/annotation/annotationPoint.d.ts +19 -0
  96. package/dist/esm/types/properties/annotation/annotationVerticalLine.d.ts +12 -0
  97. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.d.ts +10 -0
  98. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js +2 -0
  99. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
  100. package/dist/esm/types/properties/annotation/zAnnotationPoint.d.ts +80 -2
  101. package/dist/esm/types/properties/annotation/zAnnotationPoint.js +2 -1
  102. package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
  103. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.d.ts +10 -0
  104. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js +2 -0
  105. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
  106. package/dist/esm/types/properties/cellStyle/bodyCellStyle.d.ts +105 -2
  107. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js +2 -1
  108. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
  109. package/dist/esm/types/properties/cellStyle/cellStyle.d.ts +83 -2
  110. package/dist/esm/types/properties/config/annotation/zAnnotation.d.ts +156 -0
  111. package/dist/esm/types/properties/config/area.d.ts +160 -4
  112. package/dist/esm/types/properties/config/bar.d.ts +240 -6
  113. package/dist/esm/types/properties/config/boxplot.d.ts +80 -2
  114. package/dist/esm/types/properties/config/circlePacking.d.ts +2 -2
  115. package/dist/esm/types/properties/config/column.d.ts +240 -6
  116. package/dist/esm/types/properties/config/config.d.ts +1300 -52
  117. package/dist/esm/types/properties/config/dualAxis.d.ts +80 -2
  118. package/dist/esm/types/properties/config/funnel.d.ts +2 -2
  119. package/dist/esm/types/properties/config/heatmap.d.ts +2 -2
  120. package/dist/esm/types/properties/config/histogram.d.ts +80 -2
  121. package/dist/esm/types/properties/config/label/zLabel.d.ts +2 -2
  122. package/dist/esm/types/properties/config/label/zPieLabel.d.ts +2 -2
  123. package/dist/esm/types/properties/config/line.d.ts +80 -2
  124. package/dist/esm/types/properties/config/pie.d.ts +6 -6
  125. package/dist/esm/types/properties/config/race.d.ts +240 -6
  126. package/dist/esm/types/properties/config/rose.d.ts +4 -4
  127. package/dist/esm/types/properties/config/scatter.d.ts +80 -2
  128. package/dist/esm/types/properties/config/sunburst.d.ts +2 -2
  129. package/dist/esm/types/properties/config/treeMap.d.ts +2 -2
  130. package/dist/esm/types/properties/markStyle/areaStyle.d.ts +19 -0
  131. package/dist/esm/types/properties/markStyle/barStyle.d.ts +99 -2
  132. package/dist/esm/types/properties/markStyle/barStyle.js +2 -1
  133. package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
  134. package/dist/esm/types/properties/markStyle/boxPlotStyle.d.ts +2 -2
  135. package/dist/esm/types/properties/markStyle/lineStyle.d.ts +99 -2
  136. package/dist/esm/types/properties/markStyle/lineStyle.js +2 -1
  137. package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
  138. package/dist/esm/types/properties/markStyle/markStyle.d.ts +648 -24
  139. package/dist/esm/types/properties/markStyle/outlierStyle.d.ts +2 -2
  140. package/dist/esm/types/properties/markStyle/pointStyle.d.ts +99 -2
  141. package/dist/esm/types/properties/markStyle/pointStyle.js +2 -1
  142. package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
  143. package/dist/esm/types/properties/markStyle/zAreaStyle.d.ts +80 -2
  144. package/dist/esm/types/properties/markStyle/zAreaStyle.js +2 -1
  145. package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
  146. package/dist/esm/types/properties/theme/customTheme.d.ts +2600 -104
  147. package/dist/esm/types/sandbox.d.ts +19 -0
  148. package/dist/esm/types/sandbox.js +0 -0
  149. package/dist/esm/types/zVseed.d.ts +7 -25058
  150. package/dist/esm/types/zVseed.js.map +1 -1
  151. package/dist/umd/index.js +1772 -259
  152. package/dist/umd/index.js.map +1 -1
  153. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { Datum } from '../properties';
2
+ import { type Datum } from '../properties';
3
3
  export type ValueSelector = string | number;
4
4
  export type PartialDatumSelector = Datum;
5
5
  /**
@@ -72,6 +72,263 @@ export type Selector = ValueSelector | PartialDatumSelector | MeasureSelector |
72
72
  export type AreaSelector = MeasureSelector | DimensionSelector;
73
73
  export type AreaSelectors = Array<AreaSelector>;
74
74
  export type Selectors = Array<Selector>;
75
+ export type TableDynamicFilterRes = {
76
+ __row_index: number;
77
+ field: string | '*';
78
+ };
79
+ export type ChartDynamicFilterRes = Datum;
80
+ export type DynamicFilterExecutionResult<T> = {
81
+ success: boolean;
82
+ data?: T[];
83
+ error?: string;
84
+ };
85
+ /**
86
+ * 表格动态筛选器配置
87
+ * @description 通过 AI 生成的 JavaScript 代码实现表格单元格级别的精确筛选
88
+ * @environment 仅支持浏览器环境(需要 Web Worker),Node.js 环境将使用 fallback
89
+ */
90
+ export interface TableDynamicFilter {
91
+ type: 'row-with-field';
92
+ /**
93
+ * 用户的筛选需求描述(自然语言)
94
+ * @example "高亮销售额大于1000的单元格"
95
+ * @example "高亮每行中最大值所在的单元格"
96
+ */
97
+ description?: string;
98
+ /**
99
+ * AI 生成的 JavaScript 筛选代码
100
+ * @description
101
+ * - 只能使用内置工具函数(通过 _ 或 R 访问)
102
+ * - 输入参数: data (数组),每个 item 包含 _index 字段表示行号
103
+ * - 必须返回单元格选择器数组: Array<{ __row_index: number, field: string }>
104
+ * - field 为 "*" 时表示整行高亮
105
+ * - 禁止使用: eval, Function, 异步操作, DOM API, 网络请求
106
+ *
107
+ * @example Top N 筛选
108
+ * dynamicFilter = {
109
+ * type: 'row-with-field',
110
+ * description: '高亮销售额最高的前3个产品',
111
+ * code: `
112
+ * const sorted = _.sortBy(data, 'sales');
113
+ * const reversed = [...sorted].reverse();
114
+ * const result = _.take(reversed, 3);
115
+ * return _.flatten(
116
+ * _.map(result, item => [
117
+ * { __row_index: item._index, field: 'product' },
118
+ * { __row_index: item._index, field: 'sales' }
119
+ * ])
120
+ * );
121
+ * `,
122
+ * enabled: true
123
+ * }
124
+ *
125
+ * @example 多条件筛选
126
+ * dynamicFilter = {
127
+ * type: 'row-with-field',
128
+ * description: '高亮利润率大于20%且销售额超过5000的产品',
129
+ * code: `
130
+ * const matched = _.filter(data, item => {
131
+ * const profitRate = (item.profit / item.sales) * 100;
132
+ * return profitRate > 20 && item.sales > 5000;
133
+ * });
134
+ * return _.flatten(
135
+ * _.map(matched, item => [
136
+ * { __row_index: item._index, field: 'product' },
137
+ * { __row_index: item._index, field: 'sales' }
138
+ * ])
139
+ * );
140
+ * `,
141
+ * enabled: true
142
+ * }
143
+ *
144
+ * @example 相对值筛选
145
+ * dynamicFilter = { *
146
+ * type: 'row-with-field',
147
+ * description: '高亮销售额高于平均值的产品',
148
+ * code: `
149
+ * const avgSales = _.meanBy(data, 'sales');
150
+ * const matched = _.filter(data, item => item.sales > avgSales);
151
+ * return _.flatten(
152
+ * _.map(matched, item => [
153
+ * { __row_index: item._index, field: 'product' },
154
+ * { __row_index: item._index, field: 'sales' }
155
+ * ])
156
+ * );
157
+ * `,
158
+ * enabled: true
159
+ * }
160
+ *
161
+ * @example 分组筛选
162
+ * dynamicFilter = {
163
+ * type: 'row-with-field',
164
+ * description: '每个区域中销售额最高的产品',
165
+ * code: `
166
+ * const grouped = _.groupBy(data, 'region');
167
+ * const topByRegion = _.map(_.values(grouped), group => _.maxBy(group, 'sales'));
168
+ * return _.flatten(
169
+ * _.map(topByRegion, item => [
170
+ * { __row_index: item._index, field: 'product' },
171
+ * { __row_index: item._index, field: 'sales' }
172
+ * ])
173
+ * );
174
+ * `,
175
+ * enabled: true
176
+ * }
177
+ *
178
+ * @example 整行高亮
179
+ * dynamicFilter = {
180
+ * description: '高亮销售额大于利润的整行',
181
+ * code: `
182
+ * const matched = _.filter(data, item => item.sales > item.profit);
183
+ * return matched.map(item => ({
184
+ * __row_index: item._index,
185
+ * field: '*'
186
+ * }));
187
+ * `,
188
+ * enabled: true
189
+ * }
190
+ */
191
+ code: string;
192
+ /**
193
+ * 代码执行失败或环境不支持时的降级方案
194
+ */
195
+ fallback?: Selector | Selectors;
196
+ /**
197
+ * 动态筛选执行结果(运行期字段)
198
+ * @description prepare() 阶段写入,运行时只读
199
+ */
200
+ result?: DynamicFilterExecutionResult<TableDynamicFilterRes>;
201
+ }
202
+ /**
203
+ * 图表动态筛选器配置
204
+ * @description 通过 AI 生成的 JavaScript 代码实现图表标记(柱子、点等)的筛选
205
+ * @environment 仅支持浏览器环境(需要 Web Worker),Node.js 环境将使用 fallback
206
+ */
207
+ export interface ChartDynamicFilter {
208
+ type: 'row-with-field';
209
+ /**
210
+ * 用户的筛选需求描述(自然语言)
211
+ * @example "高亮销售额大于1000的柱子"
212
+ * @example "高亮每个区域中利润率最高的柱子"
213
+ */
214
+ description?: string;
215
+ /**
216
+ * AI 生成的 JavaScript 筛选代码
217
+ * @description
218
+ * - 只能使用内置工具函数(通过 _ 或 R 访问)
219
+ * - 输入参数: data (数组)
220
+ * - 必须返回部分数据项数组: Array<{ [dimField]: value }>
221
+ * - 返回的对象包含能唯一标识图表标记的维度字段组合
222
+ * - 禁止使用: eval, Function, 异步操作, DOM API, 网络请求
223
+ *
224
+ * @example 高亮销售额大于1000的柱子
225
+ * ```javascript
226
+ * const filtered = _.filter(data, item => item.sales > 1000);
227
+ * // 假设柱子由 product 和 area 两个维度唯一标识
228
+ * return _.map(filtered, item => ({
229
+ * product: item.product,
230
+ * area: item.area
231
+ * }));
232
+ * ```
233
+ *
234
+ * @example 高亮每个区域中利润率最高的柱子
235
+ * ```javascript
236
+ * const grouped = _.groupBy(data, 'area');
237
+ * const result = _.map(grouped, group => {
238
+ * const maxProfitRateItem = _.maxBy(group, item =>
239
+ * item.profit / item.sales
240
+ * );
241
+ * return {
242
+ * product: maxProfitRateItem.product,
243
+ * area: maxProfitRateItem.area
244
+ * };
245
+ * });
246
+ * return result;
247
+ * ```
248
+ *
249
+ * @example 高亮多条件筛选
250
+ * ```javascript
251
+ * const filtered = _.filter(data, item => {
252
+ * const profitRate = item.profit / item.sales;
253
+ * return profitRate > 0.2 && item.sales > 5000;
254
+ * });
255
+ * return _.map(filtered, item => ({
256
+ * product: item.product,
257
+ * region: item.region
258
+ * }));
259
+ * ```
260
+ */
261
+ code: string;
262
+ /**
263
+ * 代码执行失败或环境不支持时的降级方案
264
+ */
265
+ fallback?: Selector | Selectors;
266
+ /**
267
+ * 动态筛选执行结果(运行期字段)
268
+ * @description prepare() 阶段写入,运行时只读
269
+ */
270
+ result?: DynamicFilterExecutionResult<ChartDynamicFilterRes>;
271
+ }
272
+ export interface ValueDynamicFilter {
273
+ type: 'value';
274
+ /**
275
+ * 用户的筛选需求描述(自然语言)
276
+ * @example "获取销售额最高的值作为标注线参考"
277
+ * @example "计算平均销售额用于标注线"
278
+ */
279
+ description?: string;
280
+ /**
281
+ * AI 生成的 JavaScript 筛选代码
282
+ * @description
283
+ * - 只能使用内置工具函数(通过 _ 或 R 访问)
284
+ * - 输入参数: data (数组)
285
+ * - 必须返回单个数值或字符串: number | string
286
+ * - 适用场景:标注线(水平线、垂直线)需要的动态数值
287
+ * - 禁止使用: eval, Function, 异步操作, DOM API, 网络请求
288
+ *
289
+ * @example 获取销售额最大值作为标注线值
290
+ * ```javascript
291
+ * const maxSales = _.maxBy(data, 'sales')?.sales;
292
+ * return maxSales || 0;
293
+ * ```
294
+ *
295
+ * @example 计算平均值用于标注线
296
+ * ```javascript
297
+ * const avgSales = _.meanBy(data, 'sales');
298
+ * return _.round(avgSales, 2);
299
+ * ```
300
+ *
301
+ * @example 获取分位数作为标注线
302
+ * ```javascript
303
+ * const sorted = _.sortBy(data, 'sales');
304
+ * const index = Math.floor(sorted.length * 0.75);
305
+ * return sorted[index]?.sales || 0;
306
+ * ```
307
+ *
308
+ * @example 根据条件计算目标值
309
+ * ```javascript
310
+ * const currentYearTotal = _.sumBy(
311
+ * _.filter(data, item => item.year === 2024),
312
+ * 'sales'
313
+ * );
314
+ * return currentYearTotal;
315
+ * ```
316
+ */
317
+ code: string;
318
+ /**
319
+ * 代码执行失败或环境不支持时的降级方案
320
+ */
321
+ fallback?: string | number;
322
+ /**
323
+ * 动态筛选执行结果(运行期字段)
324
+ * @description prepare() 阶段写入,运行时只读
325
+ */
326
+ result?: {
327
+ success: boolean;
328
+ data?: number | string;
329
+ };
330
+ }
331
+ export declare const zPartialSelector: z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>;
75
332
  export declare const zMeasureSelector: z.ZodObject<{
76
333
  field: z.ZodString;
77
334
  operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -142,7 +399,7 @@ export declare const zSelector: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z
142
399
  "not in": "not in";
143
400
  }>>>;
144
401
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
145
- }, z.core.$strip>]>;
402
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>;
146
403
  export declare const zSelectors: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
147
404
  field: z.ZodString;
148
405
  operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -177,7 +434,7 @@ export declare const zSelectors: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.
177
434
  "not in": "not in";
178
435
  }>>>;
179
436
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
180
- }, z.core.$strip>]>>;
437
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>;
181
438
  export declare const zAreaSelector: z.ZodUnion<readonly [z.ZodObject<{
182
439
  field: z.ZodString;
183
440
  operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -248,3 +505,337 @@ export declare const zAreaSelectors: z.ZodArray<z.ZodUnion<readonly [z.ZodObject
248
505
  }>>>;
249
506
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
250
507
  }, z.core.$strip>]>>;
508
+ export declare const zCellSelector: z.ZodObject<{
509
+ __row_index: z.ZodNumber;
510
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
511
+ }, z.core.$strip>;
512
+ export declare const zTableDynamicFilter: z.ZodObject<{
513
+ type: z.ZodLiteral<"row-with-field">;
514
+ description: z.ZodOptional<z.ZodString>;
515
+ code: z.ZodString;
516
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
517
+ field: z.ZodString;
518
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
519
+ "=": "=";
520
+ "==": "==";
521
+ "!=": "!=";
522
+ ">": ">";
523
+ "<": "<";
524
+ ">=": ">=";
525
+ "<=": "<=";
526
+ between: "between";
527
+ }>>>;
528
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
529
+ "=": "=";
530
+ "==": "==";
531
+ "!=": "!=";
532
+ ">": ">";
533
+ "<": "<";
534
+ ">=": ">=";
535
+ "<=": "<=";
536
+ between: "between";
537
+ }>>>;
538
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
539
+ }, z.core.$strip>, z.ZodObject<{
540
+ field: z.ZodString;
541
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
542
+ in: "in";
543
+ "not in": "not in";
544
+ }>>>;
545
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
546
+ in: "in";
547
+ "not in": "not in";
548
+ }>>>;
549
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
550
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
551
+ field: z.ZodString;
552
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
553
+ "=": "=";
554
+ "==": "==";
555
+ "!=": "!=";
556
+ ">": ">";
557
+ "<": "<";
558
+ ">=": ">=";
559
+ "<=": "<=";
560
+ between: "between";
561
+ }>>>;
562
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
563
+ "=": "=";
564
+ "==": "==";
565
+ "!=": "!=";
566
+ ">": ">";
567
+ "<": "<";
568
+ ">=": ">=";
569
+ "<=": "<=";
570
+ between: "between";
571
+ }>>>;
572
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
573
+ }, z.core.$strip>, z.ZodObject<{
574
+ field: z.ZodString;
575
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
576
+ in: "in";
577
+ "not in": "not in";
578
+ }>>>;
579
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
580
+ in: "in";
581
+ "not in": "not in";
582
+ }>>>;
583
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
584
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
585
+ result: z.ZodOptional<z.ZodObject<{
586
+ success: z.ZodBoolean;
587
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
588
+ __row_index: z.ZodNumber;
589
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
590
+ }, z.core.$strip>>>;
591
+ }, z.core.$strip>>;
592
+ }, z.core.$strip>;
593
+ export declare const zChartDynamicFilter: z.ZodObject<{
594
+ type: z.ZodLiteral<"row-with-field">;
595
+ description: z.ZodOptional<z.ZodString>;
596
+ code: z.ZodString;
597
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
598
+ field: z.ZodString;
599
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
600
+ "=": "=";
601
+ "==": "==";
602
+ "!=": "!=";
603
+ ">": ">";
604
+ "<": "<";
605
+ ">=": ">=";
606
+ "<=": "<=";
607
+ between: "between";
608
+ }>>>;
609
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
610
+ "=": "=";
611
+ "==": "==";
612
+ "!=": "!=";
613
+ ">": ">";
614
+ "<": "<";
615
+ ">=": ">=";
616
+ "<=": "<=";
617
+ between: "between";
618
+ }>>>;
619
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
620
+ }, z.core.$strip>, z.ZodObject<{
621
+ field: z.ZodString;
622
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
623
+ in: "in";
624
+ "not in": "not in";
625
+ }>>>;
626
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
627
+ in: "in";
628
+ "not in": "not in";
629
+ }>>>;
630
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
631
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
632
+ field: z.ZodString;
633
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
634
+ "=": "=";
635
+ "==": "==";
636
+ "!=": "!=";
637
+ ">": ">";
638
+ "<": "<";
639
+ ">=": ">=";
640
+ "<=": "<=";
641
+ between: "between";
642
+ }>>>;
643
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
644
+ "=": "=";
645
+ "==": "==";
646
+ "!=": "!=";
647
+ ">": ">";
648
+ "<": "<";
649
+ ">=": ">=";
650
+ "<=": "<=";
651
+ between: "between";
652
+ }>>>;
653
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
654
+ }, z.core.$strip>, z.ZodObject<{
655
+ field: z.ZodString;
656
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
657
+ in: "in";
658
+ "not in": "not in";
659
+ }>>>;
660
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
661
+ in: "in";
662
+ "not in": "not in";
663
+ }>>>;
664
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
665
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
666
+ result: z.ZodOptional<z.ZodObject<{
667
+ success: z.ZodBoolean;
668
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
669
+ }, z.core.$strip>>;
670
+ }, z.core.$strip>;
671
+ export declare const zValueDynamicFilter: z.ZodObject<{
672
+ type: z.ZodLiteral<"value">;
673
+ description: z.ZodOptional<z.ZodString>;
674
+ code: z.ZodString;
675
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
676
+ result: z.ZodOptional<z.ZodObject<{
677
+ success: z.ZodBoolean;
678
+ data: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
679
+ }, z.core.$strip>>;
680
+ }, z.core.$strip>;
681
+ /**
682
+ * @deprecated 请使用 zTableDynamicFilter 或 zChartDynamicFilter
683
+ */
684
+ export declare const zDynamicFilter: z.ZodUnion<readonly [z.ZodObject<{
685
+ type: z.ZodLiteral<"row-with-field">;
686
+ description: z.ZodOptional<z.ZodString>;
687
+ code: z.ZodString;
688
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
689
+ field: z.ZodString;
690
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
691
+ "=": "=";
692
+ "==": "==";
693
+ "!=": "!=";
694
+ ">": ">";
695
+ "<": "<";
696
+ ">=": ">=";
697
+ "<=": "<=";
698
+ between: "between";
699
+ }>>>;
700
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
701
+ "=": "=";
702
+ "==": "==";
703
+ "!=": "!=";
704
+ ">": ">";
705
+ "<": "<";
706
+ ">=": ">=";
707
+ "<=": "<=";
708
+ between: "between";
709
+ }>>>;
710
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
711
+ }, z.core.$strip>, z.ZodObject<{
712
+ field: z.ZodString;
713
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
714
+ in: "in";
715
+ "not in": "not in";
716
+ }>>>;
717
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
718
+ in: "in";
719
+ "not in": "not in";
720
+ }>>>;
721
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
722
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
723
+ field: z.ZodString;
724
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
725
+ "=": "=";
726
+ "==": "==";
727
+ "!=": "!=";
728
+ ">": ">";
729
+ "<": "<";
730
+ ">=": ">=";
731
+ "<=": "<=";
732
+ between: "between";
733
+ }>>>;
734
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
735
+ "=": "=";
736
+ "==": "==";
737
+ "!=": "!=";
738
+ ">": ">";
739
+ "<": "<";
740
+ ">=": ">=";
741
+ "<=": "<=";
742
+ between: "between";
743
+ }>>>;
744
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
745
+ }, z.core.$strip>, z.ZodObject<{
746
+ field: z.ZodString;
747
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
748
+ in: "in";
749
+ "not in": "not in";
750
+ }>>>;
751
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
752
+ in: "in";
753
+ "not in": "not in";
754
+ }>>>;
755
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
756
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
757
+ result: z.ZodOptional<z.ZodObject<{
758
+ success: z.ZodBoolean;
759
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
760
+ __row_index: z.ZodNumber;
761
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
762
+ }, z.core.$strip>>>;
763
+ }, z.core.$strip>>;
764
+ }, z.core.$strip>, z.ZodObject<{
765
+ type: z.ZodLiteral<"row-with-field">;
766
+ description: z.ZodOptional<z.ZodString>;
767
+ code: z.ZodString;
768
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
769
+ field: z.ZodString;
770
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
771
+ "=": "=";
772
+ "==": "==";
773
+ "!=": "!=";
774
+ ">": ">";
775
+ "<": "<";
776
+ ">=": ">=";
777
+ "<=": "<=";
778
+ between: "between";
779
+ }>>>;
780
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
781
+ "=": "=";
782
+ "==": "==";
783
+ "!=": "!=";
784
+ ">": ">";
785
+ "<": "<";
786
+ ">=": ">=";
787
+ "<=": "<=";
788
+ between: "between";
789
+ }>>>;
790
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
791
+ }, z.core.$strip>, z.ZodObject<{
792
+ field: z.ZodString;
793
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
794
+ in: "in";
795
+ "not in": "not in";
796
+ }>>>;
797
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
798
+ in: "in";
799
+ "not in": "not in";
800
+ }>>>;
801
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
802
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
803
+ field: z.ZodString;
804
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
805
+ "=": "=";
806
+ "==": "==";
807
+ "!=": "!=";
808
+ ">": ">";
809
+ "<": "<";
810
+ ">=": ">=";
811
+ "<=": "<=";
812
+ between: "between";
813
+ }>>>;
814
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
815
+ "=": "=";
816
+ "==": "==";
817
+ "!=": "!=";
818
+ ">": ">";
819
+ "<": "<";
820
+ ">=": ">=";
821
+ "<=": "<=";
822
+ between: "between";
823
+ }>>>;
824
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
825
+ }, z.core.$strip>, z.ZodObject<{
826
+ field: z.ZodString;
827
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
828
+ in: "in";
829
+ "not in": "not in";
830
+ }>>>;
831
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
832
+ in: "in";
833
+ "not in": "not in";
834
+ }>>>;
835
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
836
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
837
+ result: z.ZodOptional<z.ZodObject<{
838
+ success: z.ZodBoolean;
839
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
840
+ }, z.core.$strip>>;
841
+ }, z.core.$strip>]>;