@visactor/vseed 0.4.1 → 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.
- package/dist/cjs/index.cjs +646 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/buildSpec.d.ts +1 -2
- package/dist/esm/builder/builder/buildSpec.js.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +1116 -106
- package/dist/esm/builder/builder/builder.js +10 -0
- package/dist/esm/builder/builder/builder.js.map +1 -1
- package/dist/esm/builder/builder/prepare.d.ts +12 -0
- package/dist/esm/builder/builder/prepare.js +269 -0
- package/dist/esm/builder/builder/prepare.js.map +1 -0
- package/dist/esm/dataReshape/constant.d.ts +1 -0
- package/dist/esm/dataReshape/constant.js +2 -1
- package/dist/esm/dataReshape/constant.js.map +1 -1
- package/dist/esm/dataSelector/selector.d.ts +71 -2
- package/dist/esm/dataSelector/selector.js +96 -32
- package/dist/esm/dataSelector/selector.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js +2 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +10 -4
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.d.ts +8 -2
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js +27 -5
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js +8 -4
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +10 -4
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +9 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +7 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js +5 -2
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.d.ts +4 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js +12 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +6 -3
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +7 -3
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
- package/dist/esm/pipeline/utils/index.d.ts +1 -0
- package/dist/esm/pipeline/utils/index.js +1 -0
- package/dist/esm/pipeline/utils/sandbox/builtin-utils.d.ts +6 -0
- package/dist/esm/pipeline/utils/sandbox/builtin-utils.js +337 -0
- package/dist/esm/pipeline/utils/sandbox/builtin-utils.js.map +1 -0
- package/dist/esm/pipeline/utils/sandbox/execute.d.ts +73 -0
- package/dist/esm/pipeline/utils/sandbox/execute.js +716 -0
- package/dist/esm/pipeline/utils/sandbox/execute.js.map +1 -0
- package/dist/esm/pipeline/utils/sandbox/index.d.ts +7 -0
- package/dist/esm/pipeline/utils/sandbox/index.js +3 -0
- package/dist/esm/types/builder/builder.d.ts +1 -0
- package/dist/esm/types/builder/builder.js.map +1 -1
- package/dist/esm/types/chartType/area/zArea.d.ts +682 -18
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +682 -18
- package/dist/esm/types/chartType/bar/zBar.d.ts +362 -10
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +362 -10
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +362 -10
- package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +210 -14
- package/dist/esm/types/chartType/circlePacking/zCirclePacking.d.ts +2 -2
- package/dist/esm/types/chartType/column/zColumn.d.ts +362 -10
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +362 -10
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +362 -10
- package/dist/esm/types/chartType/donut/zDonut.d.ts +2 -2
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +842 -22
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +2 -2
- package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +2 -2
- package/dist/esm/types/chartType/histogram/zHistogram.d.ts +362 -10
- package/dist/esm/types/chartType/line/zLine.d.ts +522 -14
- package/dist/esm/types/chartType/pie/zPie.d.ts +2 -2
- package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +241 -4
- package/dist/esm/types/chartType/pivotTable/zPivotTable.js +1 -1
- package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
- package/dist/esm/types/chartType/raceBar/zRaceBar.d.ts +362 -10
- package/dist/esm/types/chartType/raceColumn/zRaceColumn.d.ts +362 -10
- package/dist/esm/types/chartType/raceScatter/zRaceScatter.d.ts +362 -10
- package/dist/esm/types/chartType/radar/zRadar.d.ts +2 -2
- package/dist/esm/types/chartType/rose/zRose.d.ts +2 -2
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +2 -2
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +362 -10
- package/dist/esm/types/chartType/sunburst/zSunburst.d.ts +2 -2
- package/dist/esm/types/chartType/table/zTable.d.ts +241 -4
- package/dist/esm/types/chartType/table/zTable.js +1 -1
- package/dist/esm/types/chartType/table/zTable.js.map +1 -1
- package/dist/esm/types/chartType/treeMap/zTreeMap.d.ts +2 -2
- package/dist/esm/types/dataSelector/selector.d.ts +594 -3
- package/dist/esm/types/dataSelector/selector.js +58 -2
- package/dist/esm/types/dataSelector/selector.js.map +1 -1
- package/dist/esm/types/properties/annotation/annotation.d.ts +200 -4
- package/dist/esm/types/properties/annotation/annotationHorizontalLine.d.ts +12 -0
- package/dist/esm/types/properties/annotation/annotationPoint.d.ts +19 -0
- package/dist/esm/types/properties/annotation/annotationVerticalLine.d.ts +12 -0
- package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.d.ts +10 -0
- package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js +2 -0
- package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationPoint.d.ts +80 -2
- package/dist/esm/types/properties/annotation/zAnnotationPoint.js +2 -1
- package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.d.ts +10 -0
- package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js +2 -0
- package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/bodyCellStyle.d.ts +105 -2
- package/dist/esm/types/properties/cellStyle/bodyCellStyle.js +2 -1
- package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/cellStyle.d.ts +83 -2
- package/dist/esm/types/properties/config/annotation/zAnnotation.d.ts +156 -0
- package/dist/esm/types/properties/config/area.d.ts +160 -4
- package/dist/esm/types/properties/config/bar.d.ts +240 -6
- package/dist/esm/types/properties/config/boxplot.d.ts +80 -2
- package/dist/esm/types/properties/config/circlePacking.d.ts +2 -2
- package/dist/esm/types/properties/config/column.d.ts +240 -6
- package/dist/esm/types/properties/config/config.d.ts +1300 -52
- package/dist/esm/types/properties/config/dualAxis.d.ts +80 -2
- package/dist/esm/types/properties/config/funnel.d.ts +2 -2
- package/dist/esm/types/properties/config/heatmap.d.ts +2 -2
- package/dist/esm/types/properties/config/histogram.d.ts +80 -2
- package/dist/esm/types/properties/config/label/zLabel.d.ts +2 -2
- package/dist/esm/types/properties/config/label/zPieLabel.d.ts +2 -2
- package/dist/esm/types/properties/config/line.d.ts +80 -2
- package/dist/esm/types/properties/config/pie.d.ts +6 -6
- package/dist/esm/types/properties/config/race.d.ts +240 -6
- package/dist/esm/types/properties/config/rose.d.ts +4 -4
- package/dist/esm/types/properties/config/scatter.d.ts +80 -2
- package/dist/esm/types/properties/config/sunburst.d.ts +2 -2
- package/dist/esm/types/properties/config/treeMap.d.ts +2 -2
- package/dist/esm/types/properties/markStyle/areaStyle.d.ts +19 -0
- package/dist/esm/types/properties/markStyle/barStyle.d.ts +99 -2
- package/dist/esm/types/properties/markStyle/barStyle.js +2 -1
- package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/boxPlotStyle.d.ts +2 -2
- package/dist/esm/types/properties/markStyle/lineStyle.d.ts +99 -2
- package/dist/esm/types/properties/markStyle/lineStyle.js +2 -1
- package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/markStyle.d.ts +648 -24
- package/dist/esm/types/properties/markStyle/outlierStyle.d.ts +2 -2
- package/dist/esm/types/properties/markStyle/pointStyle.d.ts +99 -2
- package/dist/esm/types/properties/markStyle/pointStyle.js +2 -1
- package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/zAreaStyle.d.ts +80 -2
- package/dist/esm/types/properties/markStyle/zAreaStyle.js +2 -1
- package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
- package/dist/esm/types/properties/theme/customTheme.d.ts +2600 -104
- package/dist/esm/types/sandbox.d.ts +19 -0
- package/dist/esm/types/sandbox.js +0 -0
- package/dist/esm/types/zVseed.d.ts +7 -25058
- package/dist/esm/types/zVseed.js.map +1 -1
- package/dist/umd/index.js +1786 -260
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { zSelector, zSelectors } from "../../dataSelector/index.js";
|
|
2
|
+
import { zChartDynamicFilter, zSelector, zSelectors } from "../../dataSelector/index.js";
|
|
3
3
|
const zBarStyle = z.object({
|
|
4
4
|
selector: z.union([
|
|
5
5
|
zSelector,
|
|
6
6
|
zSelectors
|
|
7
7
|
]).nullish(),
|
|
8
|
+
dynamicFilter: zChartDynamicFilter.optional(),
|
|
8
9
|
barVisible: z.boolean().nullish(),
|
|
9
10
|
barColor: z.string().nullish(),
|
|
10
11
|
barColorOpacity: z.number().nullish(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types/properties/markStyle/barStyle.js","sources":["webpack://@visactor/vseed/./src/types/properties/markStyle/barStyle.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type BarStyle = {\n /**\n * 数据选择器\n * @description\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n * @type {Selector | Selectors}\n * @example 数值选择器\n * selector = \"tool\"\n * selector = [\"tool\", \"book\"]\n * selector = 100\n * selector = [100, 200]\n * @example 局部数据选择器\n * selector = { profit: 100 }\n * selector = [{ profit: 100 }, { profit: 200 }]\n * @example 条件维度选择器\n * selector = {\n * field: 'category',\n * operator: 'in',\n * value: 'tool'\n * }\n * selector = {\n * field: 'category',\n * operator: 'not in',\n * value: 'book'\n * }\n * @example 条件指标选择器\n * selector = {\n * field: 'profit',\n * operator: '>=',\n * value: 100\n * }\n * selector = {\n * field: 'profit',\n * operator: 'between'\n * value: [100, 300]\n * }\n */\n selector?: Selector | Selectors\n\n /**\n * @description 柱图元(矩形图元)是否可见\n */\n barVisible?: boolean\n /**\n * @description 柱图元(矩形图元)颜色\n * @type {string}\n */\n barColor?: string\n /**\n * @description 柱图元(矩形图元)颜色透明度\n * @type {number}\n */\n barColorOpacity?: number\n /**\n * @description 柱图元(矩形图元)边框颜色\n * @type {string}\n */\n barBorderColor?: string\n /**\n * @description 柱图元(矩形图元)边框宽度\n * @type {number}\n */\n barBorderWidth?: number\n /**\n * @description 柱图元(矩形图元)边框样式\n * @type {number}\n * @example solid\n * @example dashed\n * @example dotted\n */\n barBorderStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * @description 柱图元(矩形图元)圆角\n * @type {number | number[]}\n * @example 4\n * @example [0, 0, 10, 10]\n */\n /**\n * @description 柱图元(矩形图元)描边透明度\n * @type {number}\n */\n barBorderOpacity?: number\n barRadius?: number | number[]\n}\n\nexport const zBarStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n barVisible: z.boolean().nullish(),\n barColor: z.string().nullish(),\n barColorOpacity: z.number().nullish(),\n barBorderColor: z.string().nullish(),\n barBorderWidth: z.number().nullish(),\n barBorderStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).nullish(),\n barRadius: z.union([z.number(), z.array(z.number())]).nullish(),\n})\n"],"names":["zBarStyle","z","zSelector","zSelectors"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types/properties/markStyle/barStyle.js","sources":["webpack://@visactor/vseed/./src/types/properties/markStyle/barStyle.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { zChartDynamicFilter, type ChartDynamicFilter } from '../../dataSelector'\n\nexport type BarStyle = {\n /**\n * 数据选择器\n * @description\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n * @type {Selector | Selectors}\n * @example 数值选择器\n * selector = \"tool\"\n * selector = [\"tool\", \"book\"]\n * selector = 100\n * selector = [100, 200]\n * @example 局部数据选择器\n * selector = { profit: 100 }\n * selector = [{ profit: 100 }, { profit: 200 }]\n * @example 条件维度选择器\n * selector = {\n * field: 'category',\n * operator: 'in',\n * value: 'tool'\n * }\n * selector = {\n * field: 'category',\n * operator: 'not in',\n * value: 'book'\n * }\n * @example 条件指标选择器\n * selector = {\n * field: 'profit',\n * operator: '>=',\n * value: 100\n * }\n * selector = {\n * field: 'profit',\n * operator: 'between'\n * value: [100, 300]\n * }\n */\n selector?: Selector | Selectors\n\n /**\n * 动态筛选器(AI生成代码执行)\n * @description\n * 通过 AI 生成的 JavaScript 代码实现复杂数据筛选逻辑\n * 适用于 Top N、统计分析、复杂条件等静态 selector 难以表达的场景\n *\n * 核心能力:\n * - 支持任意复杂的数据筛选条件\n * - 使用 内置工具函数 进行数据操作\n * - 在浏览器环境中安全执行(Web Worker 沙箱)\n *\n * 环境要求: 仅支持浏览器环境,Node.js 环境将使用 fallback\n *\n * 注意: selector 和 dynamicFilter 不能同时使用,dynamicFilter 优先级更高\n *\n * @type {ChartDynamicFilter}\n */\n dynamicFilter?: ChartDynamicFilter\n\n /**\n * @description 柱图元(矩形图元)是否可见\n */\n barVisible?: boolean\n /**\n * @description 柱图元(矩形图元)颜色\n * @type {string}\n */\n barColor?: string\n /**\n * @description 柱图元(矩形图元)颜色透明度\n * @type {number}\n */\n barColorOpacity?: number\n /**\n * @description 柱图元(矩形图元)边框颜色\n * @type {string}\n */\n barBorderColor?: string\n /**\n * @description 柱图元(矩形图元)边框宽度\n * @type {number}\n */\n barBorderWidth?: number\n /**\n * @description 柱图元(矩形图元)边框样式\n * @type {number}\n * @example solid\n * @example dashed\n * @example dotted\n */\n barBorderStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * @description 柱图元(矩形图元)圆角\n * @type {number | number[]}\n * @example 4\n * @example [0, 0, 10, 10]\n */\n /**\n * @description 柱图元(矩形图元)描边透明度\n * @type {number}\n */\n barBorderOpacity?: number\n barRadius?: number | number[]\n}\n\nexport const zBarStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n dynamicFilter: zChartDynamicFilter.optional(),\n barVisible: z.boolean().nullish(),\n barColor: z.string().nullish(),\n barColorOpacity: z.number().nullish(),\n barBorderColor: z.string().nullish(),\n barBorderWidth: z.number().nullish(),\n barBorderStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).nullish(),\n barRadius: z.union([z.number(), z.array(z.number())]).nullish(),\n})\n"],"names":["zBarStyle","z","zSelector","zSelectors","zChartDynamicFilter"],"mappings":";;AA6GO,MAAMA,YAAYC,EAAE,MAAM,CAAC;IAChC,UAAUA,EAAE,KAAK,CAAC;QAACC;QAAWC;KAAW,EAAE,OAAO;IAClD,eAAeC,oBAAoB,QAAQ;IAC3C,YAAYH,EAAE,OAAO,GAAG,OAAO;IAC/B,UAAUA,EAAE,MAAM,GAAG,OAAO;IAC5B,iBAAiBA,EAAE,MAAM,GAAG,OAAO;IACnC,gBAAgBA,EAAE,MAAM,GAAG,OAAO;IAClC,gBAAgBA,EAAE,MAAM,GAAG,OAAO;IAClC,gBAAgBA,EAAE,KAAK,CAAC;QAACA,EAAE,OAAO,CAAC;QAAUA,EAAE,OAAO,CAAC;QAAWA,EAAE,OAAO,CAAC;KAAU,EAAE,OAAO;IAC/F,WAAWA,EAAE,KAAK,CAAC;QAACA,EAAE,MAAM;QAAIA,EAAE,KAAK,CAACA,EAAE,MAAM;KAAI,EAAE,OAAO;AAC/D"}
|
|
@@ -116,7 +116,7 @@ export declare const zBoxPlotStyle: z.ZodObject<{
|
|
|
116
116
|
"not in": "not in";
|
|
117
117
|
}>>>;
|
|
118
118
|
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
119
|
-
}, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
119
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
120
120
|
field: z.ZodString;
|
|
121
121
|
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
122
122
|
"=": "=";
|
|
@@ -150,7 +150,7 @@ export declare const zBoxPlotStyle: z.ZodObject<{
|
|
|
150
150
|
"not in": "not in";
|
|
151
151
|
}>>>;
|
|
152
152
|
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
153
|
-
}, z.core.$strip>]>>]>>>;
|
|
153
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>>;
|
|
154
154
|
boxVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
155
155
|
boxColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
156
156
|
boxColorOpacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import type { ChartDynamicFilter } from '../../dataSelector';
|
|
2
3
|
import { type Selector, type Selectors } from '../../dataSelector';
|
|
3
4
|
export type LineStyle = {
|
|
4
5
|
/**
|
|
@@ -39,6 +40,24 @@ export type LineStyle = {
|
|
|
39
40
|
* }
|
|
40
41
|
*/
|
|
41
42
|
selector?: Selector | Selectors;
|
|
43
|
+
/**
|
|
44
|
+
* 动态筛选器(AI生成代码执行)
|
|
45
|
+
* @description
|
|
46
|
+
* 通过 AI 生成的 JavaScript 代码实现复杂数据筛选逻辑
|
|
47
|
+
* 适用于 Top N、统计分析、复杂条件等静态 selector 难以表达的场景
|
|
48
|
+
*
|
|
49
|
+
* 核心能力:
|
|
50
|
+
* - 支持任意复杂的数据筛选条件
|
|
51
|
+
* - 使用 内置工具函数 进行数据操作
|
|
52
|
+
* - 在浏览器环境中安全执行(Web Worker 沙箱)
|
|
53
|
+
*
|
|
54
|
+
* 环境要求: 仅支持浏览器环境,Node.js 环境将使用 fallback
|
|
55
|
+
*
|
|
56
|
+
* 注意: selector 和 dynamicFilter 不能同时使用,dynamicFilter 优先级更高
|
|
57
|
+
*
|
|
58
|
+
* @type {ChartDynamicFilter}
|
|
59
|
+
*/
|
|
60
|
+
dynamicFilter?: ChartDynamicFilter;
|
|
42
61
|
/**
|
|
43
62
|
* @description 线段是否可见
|
|
44
63
|
*/
|
|
@@ -101,7 +120,7 @@ export declare const zLineStyle: z.ZodObject<{
|
|
|
101
120
|
"not in": "not in";
|
|
102
121
|
}>>>;
|
|
103
122
|
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
104
|
-
}, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
123
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
105
124
|
field: z.ZodString;
|
|
106
125
|
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
107
126
|
"=": "=";
|
|
@@ -135,7 +154,85 @@ export declare const zLineStyle: z.ZodObject<{
|
|
|
135
154
|
"not in": "not in";
|
|
136
155
|
}>>>;
|
|
137
156
|
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
138
|
-
}, z.core.$strip>]>>]>>>;
|
|
157
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>>;
|
|
158
|
+
dynamicFilter: z.ZodOptional<z.ZodObject<{
|
|
159
|
+
type: z.ZodLiteral<"row-with-field">;
|
|
160
|
+
description: z.ZodOptional<z.ZodString>;
|
|
161
|
+
code: z.ZodString;
|
|
162
|
+
fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
163
|
+
field: z.ZodString;
|
|
164
|
+
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
165
|
+
"=": "=";
|
|
166
|
+
"==": "==";
|
|
167
|
+
"!=": "!=";
|
|
168
|
+
">": ">";
|
|
169
|
+
"<": "<";
|
|
170
|
+
">=": ">=";
|
|
171
|
+
"<=": "<=";
|
|
172
|
+
between: "between";
|
|
173
|
+
}>>>;
|
|
174
|
+
op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
175
|
+
"=": "=";
|
|
176
|
+
"==": "==";
|
|
177
|
+
"!=": "!=";
|
|
178
|
+
">": ">";
|
|
179
|
+
"<": "<";
|
|
180
|
+
">=": ">=";
|
|
181
|
+
"<=": "<=";
|
|
182
|
+
between: "between";
|
|
183
|
+
}>>>;
|
|
184
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
185
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
186
|
+
field: z.ZodString;
|
|
187
|
+
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
188
|
+
in: "in";
|
|
189
|
+
"not in": "not in";
|
|
190
|
+
}>>>;
|
|
191
|
+
op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
192
|
+
in: "in";
|
|
193
|
+
"not in": "not in";
|
|
194
|
+
}>>>;
|
|
195
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
196
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
|
|
197
|
+
field: z.ZodString;
|
|
198
|
+
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
199
|
+
"=": "=";
|
|
200
|
+
"==": "==";
|
|
201
|
+
"!=": "!=";
|
|
202
|
+
">": ">";
|
|
203
|
+
"<": "<";
|
|
204
|
+
">=": ">=";
|
|
205
|
+
"<=": "<=";
|
|
206
|
+
between: "between";
|
|
207
|
+
}>>>;
|
|
208
|
+
op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
209
|
+
"=": "=";
|
|
210
|
+
"==": "==";
|
|
211
|
+
"!=": "!=";
|
|
212
|
+
">": ">";
|
|
213
|
+
"<": "<";
|
|
214
|
+
">=": ">=";
|
|
215
|
+
"<=": "<=";
|
|
216
|
+
between: "between";
|
|
217
|
+
}>>>;
|
|
218
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
219
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
220
|
+
field: z.ZodString;
|
|
221
|
+
operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
222
|
+
in: "in";
|
|
223
|
+
"not in": "not in";
|
|
224
|
+
}>>>;
|
|
225
|
+
op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
226
|
+
in: "in";
|
|
227
|
+
"not in": "not in";
|
|
228
|
+
}>>>;
|
|
229
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
|
|
230
|
+
}, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
|
|
231
|
+
result: z.ZodOptional<z.ZodObject<{
|
|
232
|
+
success: z.ZodBoolean;
|
|
233
|
+
data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
|
|
234
|
+
}, z.core.$strip>>;
|
|
235
|
+
}, z.core.$strip>>;
|
|
139
236
|
lineVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
140
237
|
lineSmooth: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
141
238
|
lineColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { zSelector, zSelectors } from "../../dataSelector/index.js";
|
|
2
|
+
import { zChartDynamicFilter, zSelector, zSelectors } from "../../dataSelector/index.js";
|
|
3
3
|
const zLineStyle = z.object({
|
|
4
4
|
selector: z.union([
|
|
5
5
|
zSelector,
|
|
6
6
|
zSelectors
|
|
7
7
|
]).nullish(),
|
|
8
|
+
dynamicFilter: zChartDynamicFilter.optional(),
|
|
8
9
|
lineVisible: z.boolean().nullish(),
|
|
9
10
|
lineSmooth: z.boolean().nullish(),
|
|
10
11
|
lineColor: z.string().nullish(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types/properties/markStyle/lineStyle.js","sources":["webpack://@visactor/vseed/./src/types/properties/markStyle/lineStyle.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type LineStyle = {\n /**\n * 数据选择器\n * @description\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n * @type {Selector | Selectors}\n * @example 数值选择器\n * selector = \"tool\"\n * selector = [\"tool\", \"book\"]\n * selector = 100\n * selector = [100, 200]\n * @example 局部数据选择器\n * selector = { profit: 100 }\n * selector = [{ profit: 100 }, { profit: 200 }]\n * @example 条件维度选择器\n * selector = {\n * field: 'category',\n * operator: 'in',\n * value: 'tool'\n * }\n * selector = {\n * field: 'category',\n * operator: 'not in',\n * value: 'book'\n * }\n * @example 条件指标选择器\n * selector = {\n * field: 'profit',\n * operator: '>=',\n * value: 100\n * }\n * selector = {\n * field: 'profit',\n * operator: 'between'\n * value: [100, 300]\n * }\n */\n selector?: Selector | Selectors\n\n /**\n * @description 线段是否可见\n */\n lineVisible?: boolean\n /**\n * @description 线段是否平滑\n * @type {boolean}\n */\n lineSmooth?: boolean\n\n /**\n * @description 线段颜色\n */\n lineColor?: string\n /**\n * @description 线段颜色透明度\n */\n lineColorOpacity?: number\n /**\n * @description 线段宽度\n */\n lineWidth?: number\n /**\n * @description 线段样式\n * @example `lineStyle: 'solid'`\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zLineStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n lineVisible: z.boolean().nullish(),\n lineSmooth: z.boolean().nullish(),\n lineColor: z.string().nullish(),\n lineColorOpacity: z.number().nullish(),\n lineWidth: z.number().nullish(),\n lineStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).nullish(),\n})\n"],"names":["zLineStyle","z","zSelector","zSelectors"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types/properties/markStyle/lineStyle.js","sources":["webpack://@visactor/vseed/./src/types/properties/markStyle/lineStyle.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { ChartDynamicFilter } from '../../dataSelector'\nimport { zChartDynamicFilter, zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type LineStyle = {\n /**\n * 数据选择器\n * @description\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n * @type {Selector | Selectors}\n * @example 数值选择器\n * selector = \"tool\"\n * selector = [\"tool\", \"book\"]\n * selector = 100\n * selector = [100, 200]\n * @example 局部数据选择器\n * selector = { profit: 100 }\n * selector = [{ profit: 100 }, { profit: 200 }]\n * @example 条件维度选择器\n * selector = {\n * field: 'category',\n * operator: 'in',\n * value: 'tool'\n * }\n * selector = {\n * field: 'category',\n * operator: 'not in',\n * value: 'book'\n * }\n * @example 条件指标选择器\n * selector = {\n * field: 'profit',\n * operator: '>=',\n * value: 100\n * }\n * selector = {\n * field: 'profit',\n * operator: 'between'\n * value: [100, 300]\n * }\n */\n selector?: Selector | Selectors\n\n /**\n * 动态筛选器(AI生成代码执行)\n * @description\n * 通过 AI 生成的 JavaScript 代码实现复杂数据筛选逻辑\n * 适用于 Top N、统计分析、复杂条件等静态 selector 难以表达的场景\n *\n * 核心能力:\n * - 支持任意复杂的数据筛选条件\n * - 使用 内置工具函数 进行数据操作\n * - 在浏览器环境中安全执行(Web Worker 沙箱)\n *\n * 环境要求: 仅支持浏览器环境,Node.js 环境将使用 fallback\n *\n * 注意: selector 和 dynamicFilter 不能同时使用,dynamicFilter 优先级更高\n *\n * @type {ChartDynamicFilter}\n */\n dynamicFilter?: ChartDynamicFilter\n\n /**\n * @description 线段是否可见\n */\n lineVisible?: boolean\n /**\n * @description 线段是否平滑\n * @type {boolean}\n */\n lineSmooth?: boolean\n\n /**\n * @description 线段颜色\n */\n lineColor?: string\n /**\n * @description 线段颜色透明度\n */\n lineColorOpacity?: number\n /**\n * @description 线段宽度\n */\n lineWidth?: number\n /**\n * @description 线段样式\n * @example `lineStyle: 'solid'`\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zLineStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n dynamicFilter: zChartDynamicFilter.optional(),\n lineVisible: z.boolean().nullish(),\n lineSmooth: z.boolean().nullish(),\n lineColor: z.string().nullish(),\n lineColorOpacity: z.number().nullish(),\n lineWidth: z.number().nullish(),\n lineStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).nullish(),\n})\n"],"names":["zLineStyle","z","zSelector","zSelectors","zChartDynamicFilter"],"mappings":";;AA4FO,MAAMA,aAAaC,EAAE,MAAM,CAAC;IACjC,UAAUA,EAAE,KAAK,CAAC;QAACC;QAAWC;KAAW,EAAE,OAAO;IAClD,eAAeC,oBAAoB,QAAQ;IAC3C,aAAaH,EAAE,OAAO,GAAG,OAAO;IAChC,YAAYA,EAAE,OAAO,GAAG,OAAO;IAC/B,WAAWA,EAAE,MAAM,GAAG,OAAO;IAC7B,kBAAkBA,EAAE,MAAM,GAAG,OAAO;IACpC,WAAWA,EAAE,MAAM,GAAG,OAAO;IAC7B,WAAWA,EAAE,KAAK,CAAC;QAACA,CAAC,CAADA,OAAM,CAAC;YAAC;YAAS;YAAU;SAAS;KAAE,EAAE,OAAO;AACrE"}
|