@visactor/vseed 0.4.6 → 0.4.8

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 (154) hide show
  1. package/dist/cjs/index.cjs +2 -2
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/prepare.js +87 -153
  4. package/dist/esm/builder/builder/prepare.js.map +1 -1
  5. package/dist/esm/dataSelector/selector.d.ts +2 -2
  6. package/dist/esm/dataSelector/selector.js.map +1 -1
  7. package/dist/esm/i18n/i18nData.js +28 -0
  8. package/dist/esm/i18n/i18nData.js.map +1 -1
  9. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
  10. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js +2 -3
  11. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
  12. package/dist/esm/pipeline/advanced/table/pipes/config/pivotTableConfig.js +2 -1
  13. package/dist/esm/pipeline/advanced/table/pipes/config/pivotTableConfig.js.map +1 -1
  14. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/table/pipes/default/index.d.ts +0 -1
  16. package/dist/esm/pipeline/advanced/table/pipes/default/index.js +1 -2
  17. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js +6 -3
  18. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/table/pipes/index.d.ts +0 -1
  20. package/dist/esm/pipeline/advanced/table/pipes/index.js +0 -1
  21. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +6 -2
  22. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  23. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +1 -1
  24. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  25. package/dist/esm/pipeline/spec/table/pipeline/table.js +3 -1
  26. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  27. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +1 -3
  28. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  29. package/dist/esm/pipeline/spec/table/pipes/columns/columnsAggregation.d.ts +8 -0
  30. package/dist/esm/pipeline/spec/table/pipes/columns/columnsAggregation.js +76 -0
  31. package/dist/esm/pipeline/spec/table/pipes/columns/columnsAggregation.js.map +1 -0
  32. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js +1 -27
  33. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  34. package/dist/esm/pipeline/spec/table/pipes/columns/index.d.ts +1 -0
  35. package/dist/esm/pipeline/spec/table/pipes/columns/index.js +1 -0
  36. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js +1 -27
  37. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  38. package/dist/esm/pipeline/spec/table/pipes/columns/utils.d.ts +15 -0
  39. package/dist/esm/pipeline/spec/table/pipes/columns/utils.js +35 -0
  40. package/dist/esm/pipeline/spec/table/pipes/columns/utils.js.map +1 -0
  41. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js +3 -2
  42. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  43. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +41 -5
  44. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  45. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +20 -25
  46. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  47. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +2 -12
  48. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  49. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.d.ts +2 -0
  50. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js +51 -0
  51. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js.map +1 -0
  52. package/dist/esm/pipeline/spec/table/pipes/theme/index.d.ts +1 -0
  53. package/dist/esm/pipeline/spec/table/pipes/theme/index.js +1 -0
  54. package/dist/esm/types/advancedVSeed.d.ts +2 -1
  55. package/dist/esm/types/advancedVSeed.js +3 -2
  56. package/dist/esm/types/advancedVSeed.js.map +1 -1
  57. package/dist/esm/types/chartType/area/zArea.d.ts +113 -8
  58. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +113 -8
  59. package/dist/esm/types/chartType/bar/zBar.d.ts +97 -4
  60. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +97 -4
  61. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +97 -4
  62. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +89 -2
  63. package/dist/esm/types/chartType/circlePacking/zCirclePacking.d.ts +81 -0
  64. package/dist/esm/types/chartType/column/zColumn.d.ts +97 -4
  65. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +97 -4
  66. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +97 -4
  67. package/dist/esm/types/chartType/donut/zDonut.d.ts +81 -0
  68. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +121 -10
  69. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +81 -0
  70. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +81 -0
  71. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +97 -4
  72. package/dist/esm/types/chartType/line/zLine.d.ts +105 -6
  73. package/dist/esm/types/chartType/pie/zPie.d.ts +81 -0
  74. package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +12 -1
  75. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +13 -0
  76. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +3 -1
  77. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  78. package/dist/esm/types/chartType/raceBar/zRaceBar.d.ts +97 -4
  79. package/dist/esm/types/chartType/raceColumn/zRaceColumn.d.ts +97 -4
  80. package/dist/esm/types/chartType/raceDonut/zRaceDonut.d.ts +81 -0
  81. package/dist/esm/types/chartType/raceLine/zRaceLine.d.ts +105 -6
  82. package/dist/esm/types/chartType/racePie/zRacePie.d.ts +81 -0
  83. package/dist/esm/types/chartType/raceScatter/zRaceScatter.d.ts +97 -4
  84. package/dist/esm/types/chartType/radar/zRadar.d.ts +81 -0
  85. package/dist/esm/types/chartType/rose/zRose.d.ts +81 -0
  86. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +81 -0
  87. package/dist/esm/types/chartType/scatter/zScatter.d.ts +97 -4
  88. package/dist/esm/types/chartType/sunburst/zSunburst.d.ts +81 -0
  89. package/dist/esm/types/chartType/table/table.d.ts +11 -1
  90. package/dist/esm/types/chartType/table/zTable.d.ts +7 -0
  91. package/dist/esm/types/chartType/table/zTable.js +2 -1
  92. package/dist/esm/types/chartType/table/zTable.js.map +1 -1
  93. package/dist/esm/types/chartType/treeMap/zTreeMap.d.ts +81 -0
  94. package/dist/esm/types/dataSelector/selector.d.ts +53 -29
  95. package/dist/esm/types/dataSelector/selector.js +1 -1
  96. package/dist/esm/types/dataSelector/selector.js.map +1 -1
  97. package/dist/esm/types/properties/aggregation/aggregation.d.ts +9 -0
  98. package/dist/esm/types/properties/aggregation/aggregation.js +0 -0
  99. package/dist/esm/types/properties/aggregation/index.d.ts +2 -0
  100. package/dist/esm/types/properties/aggregation/index.js +2 -0
  101. package/dist/esm/types/properties/aggregation/zAggregation.d.ts +8 -0
  102. package/dist/esm/types/properties/aggregation/zAggregation.js +11 -0
  103. package/dist/esm/types/properties/aggregation/zAggregation.js.map +1 -0
  104. package/dist/esm/types/properties/annotation/annotation.d.ts +8 -2
  105. package/dist/esm/types/properties/annotation/zAnnotationPoint.d.ts +4 -1
  106. package/dist/esm/types/properties/config/annotation/zAnnotation.d.ts +8 -2
  107. package/dist/esm/types/properties/config/area.d.ts +170 -2
  108. package/dist/esm/types/properties/config/bar.d.ts +255 -3
  109. package/dist/esm/types/properties/config/boxplot.d.ts +85 -1
  110. package/dist/esm/types/properties/config/circlePacking.d.ts +81 -0
  111. package/dist/esm/types/properties/config/column.d.ts +255 -3
  112. package/dist/esm/types/properties/config/config.d.ts +2425 -19
  113. package/dist/esm/types/properties/config/dualAxis.d.ts +85 -1
  114. package/dist/esm/types/properties/config/funnel.d.ts +81 -0
  115. package/dist/esm/types/properties/config/heatmap.d.ts +81 -0
  116. package/dist/esm/types/properties/config/histogram.d.ts +85 -1
  117. package/dist/esm/types/properties/config/label/label.d.ts +18 -1
  118. package/dist/esm/types/properties/config/label/zLabel.d.ts +81 -0
  119. package/dist/esm/types/properties/config/label/zLabel.js +3 -2
  120. package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
  121. package/dist/esm/types/properties/config/label/zPieLabel.d.ts +81 -0
  122. package/dist/esm/types/properties/config/line.d.ts +85 -1
  123. package/dist/esm/types/properties/config/pie.d.ts +243 -0
  124. package/dist/esm/types/properties/config/race.d.ts +510 -6
  125. package/dist/esm/types/properties/config/rose.d.ts +162 -0
  126. package/dist/esm/types/properties/config/scatter.d.ts +85 -1
  127. package/dist/esm/types/properties/config/sunburst.d.ts +81 -0
  128. package/dist/esm/types/properties/config/treeMap.d.ts +81 -0
  129. package/dist/esm/types/properties/index.d.ts +2 -0
  130. package/dist/esm/types/properties/index.js +2 -0
  131. package/dist/esm/types/properties/markStyle/barStyle.d.ts +4 -1
  132. package/dist/esm/types/properties/markStyle/lineStyle.d.ts +4 -1
  133. package/dist/esm/types/properties/markStyle/markStyle.d.ts +32 -8
  134. package/dist/esm/types/properties/markStyle/pointStyle.d.ts +4 -1
  135. package/dist/esm/types/properties/markStyle/zAreaStyle.d.ts +4 -1
  136. package/dist/esm/types/properties/theme/customTheme.d.ts +4850 -38
  137. package/dist/esm/types/properties/totals/index.d.ts +2 -0
  138. package/dist/esm/types/properties/totals/index.js +2 -0
  139. package/dist/esm/types/properties/totals/totals.d.ts +34 -0
  140. package/dist/esm/types/properties/totals/totals.js +0 -0
  141. package/dist/esm/types/properties/totals/zTotals.d.ts +18 -0
  142. package/dist/esm/types/properties/totals/zTotals.js +13 -0
  143. package/dist/esm/types/properties/totals/zTotals.js.map +1 -0
  144. package/dist/umd/index.js +461 -388
  145. package/dist/umd/index.js.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.d.ts +0 -2
  148. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js +0 -19
  149. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +0 -1
  150. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.d.ts +0 -1
  151. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.js +0 -2
  152. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.d.ts +0 -2
  153. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js +0 -32
  154. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +0 -1
@@ -1,38 +1,33 @@
1
1
  import { isNumber } from "remeda";
2
2
  import { intl } from "../../../../../i18n/index.js";
3
- import { createFormatterByMeasure, findMeasureById } from "../../../../utils/index.js";
3
+ import { createFormatterByMeasure, findAllMeasures } from "../../../../utils/index.js";
4
4
  const pivotIndicators = (spec, context)=>{
5
- const { advancedVSeed } = context;
6
- const { measureTree, datasetReshapeInfo } = advancedVSeed;
7
- const { foldInfo } = datasetReshapeInfo[0];
8
- const hasRow = spec?.rows?.length > 0;
9
- const foldMapValues = Object.values(foldInfo.foldMap);
5
+ const { advancedVSeed, vseed } = context;
6
+ const { measureTree } = advancedVSeed;
7
+ const measures = findAllMeasures(measureTree);
8
+ const indicatorsAsCol = vseed.indicatorsAsCol ?? false;
10
9
  return {
11
10
  ...spec,
12
11
  indicatorTitle: intl.i18n`指标名称`,
13
- indicatorsAsCol: hasRow,
14
- hideIndicatorName: hasRow,
15
- indicators: [
16
- {
12
+ indicatorsAsCol,
13
+ hideIndicatorName: measures.length <= 1,
14
+ indicators: measures.map((measure)=>{
15
+ const formatter = createFormatterByMeasure(measure);
16
+ return {
17
17
  cellType: 'text',
18
- indicatorKey: foldInfo.measureValue,
19
- title: foldMapValues.length > 1 ? '' : foldMapValues[0],
18
+ indicatorKey: measure.id,
19
+ title: measure.alias || measure.id,
20
20
  width: 'auto',
21
- format: fieldFormat(measureTree, foldInfo)
22
- }
23
- ]
21
+ format: (value, col, row, table)=>{
22
+ if (!isNumber(col) || !isNumber(row) || !table) return value;
23
+ const datum = table.getCellOriginRecord(col, row);
24
+ if (!datum?.[0]) return value;
25
+ return formatter(value);
26
+ }
27
+ };
28
+ })
24
29
  };
25
30
  };
26
- const fieldFormat = (measureTree, foldInfo)=>(value, col, row, table)=>{
27
- if (!isNumber(col) || !isNumber(row) || !table) return value;
28
- const datum = table.getCellOriginRecord(col, row);
29
- if (!datum[0]) return value;
30
- const { measureId: foldMeasureId } = foldInfo;
31
- const measureId = datum[0][foldMeasureId];
32
- const measure = findMeasureById(measureTree, measureId);
33
- const formatter = createFormatterByMeasure(measure);
34
- return formatter(value);
35
- };
36
31
  export { pivotIndicators };
37
32
 
38
33
  //# sourceMappingURL=pivotIndicators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions, BaseTableAPI } from '@visactor/vtable'\nimport { isNumber } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { createFormatterByMeasure, findMeasureById } from 'src/pipeline/utils'\nimport type { Datum, FoldInfo, MeasureTree, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotIndicators: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { measureTree, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n const hasRow = ((spec as any)?.rows as any[])?.length > 0\n const foldMapValues = Object.values(foldInfo.foldMap)\n\n return {\n ...spec,\n indicatorTitle: intl.i18n`指标名称`,\n indicatorsAsCol: hasRow,\n hideIndicatorName: hasRow,\n indicators: [\n {\n cellType: 'text',\n indicatorKey: foldInfo.measureValue,\n title: foldMapValues.length > 1 ? '' : foldMapValues[0],\n width: 'auto',\n format: fieldFormat(measureTree as MeasureTree, foldInfo as FoldInfo),\n },\n ] as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat = (measureTree: MeasureTree, foldInfo: FoldInfo) => {\n return (value: number | string, col?: number, row?: number, table?: BaseTableAPI) => {\n if (!isNumber(col) || !isNumber(row) || !table) {\n return value\n }\n\n const datum = table.getCellOriginRecord(col, row) as Datum[]\n if (!datum[0]) {\n return value\n }\n const { measureId: foldMeasureId } = foldInfo\n const measureId = datum[0][foldMeasureId] as string\n const measure = findMeasureById(measureTree, measureId)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","measureTree","datasetReshapeInfo","foldInfo","hasRow","foldMapValues","Object","intl","fieldFormat","value","col","row","table","isNumber","datum","foldMeasureId","measureId","measure","findMeasureById","formatter","createFormatterByMeasure"],"mappings":";;;AAMO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,WAAW,EAAEC,kBAAkB,EAAE,GAAGF;IAC5C,MAAM,EAAEG,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAC1C,MAAME,SAAWN,MAAc,MAAgB,SAAS;IACxD,MAAMO,gBAAgBC,OAAO,MAAM,CAACH,SAAS,OAAO;IAEpD,OAAO;QACL,GAAGL,IAAI;QACP,gBAAgBS,KAAK,IAAI,CAAC,IAAI,CAAC;QAC/B,iBAAiBH;QACjB,mBAAmBA;QACnB,YAAY;YACV;gBACE,UAAU;gBACV,cAAcD,SAAS,YAAY;gBACnC,OAAOE,cAAc,MAAM,GAAG,IAAI,KAAKA,aAAa,CAAC,EAAE;gBACvD,OAAO;gBACP,QAAQG,YAAYP,aAA4BE;YAClD;SACD;IACH;AACF;AAEA,MAAMK,cAAc,CAACP,aAA0BE,WACtC,CAACM,OAAwBC,KAAcC,KAAcC;QAC1D,IAAI,CAACC,SAASH,QAAQ,CAACG,SAASF,QAAQ,CAACC,OACvC,OAAOH;QAGT,MAAMK,QAAQF,MAAM,mBAAmB,CAACF,KAAKC;QAC7C,IAAI,CAACG,KAAK,CAAC,EAAE,EACX,OAAOL;QAET,MAAM,EAAE,WAAWM,aAAa,EAAE,GAAGZ;QACrC,MAAMa,YAAYF,KAAK,CAAC,EAAE,CAACC,cAAc;QACzC,MAAME,UAAUC,gBAAgBjB,aAAae;QAC7C,MAAMG,YAAYC,yBAAyBH;QAC3C,OAAOE,UAAUV;IACnB"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions, BaseTableAPI } from '@visactor/vtable'\nimport { isNumber } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { createFormatterByMeasure, findAllMeasures } from 'src/pipeline/utils'\nimport type { Datum, MeasureTree, PivotTable, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotIndicators: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { measureTree } = advancedVSeed\n const measures = findAllMeasures(measureTree as MeasureTree)\n\n // 用户可配置 indicatorsAsCol,默认 true\n const indicatorsAsCol = (vseed as PivotTable).indicatorsAsCol ?? false\n\n return {\n ...spec,\n indicatorTitle: intl.i18n`指标名称`,\n indicatorsAsCol,\n hideIndicatorName: measures.length <= 1,\n indicators: measures.map((measure) => {\n const formatter = createFormatterByMeasure(measure)\n return {\n cellType: 'text',\n indicatorKey: measure.id,\n title: measure.alias || measure.id,\n width: 'auto',\n format: (value: number | string, col?: number, row?: number, table?: BaseTableAPI) => {\n if (!isNumber(col) || !isNumber(row) || !table) {\n return value\n }\n const datum = table.getCellOriginRecord(col, row) as Datum[]\n if (!datum?.[0]) {\n return value\n }\n return formatter(value)\n },\n }\n }) as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","vseed","measureTree","measures","findAllMeasures","indicatorsAsCol","intl","measure","formatter","createFormatterByMeasure","value","col","row","table","isNumber","datum"],"mappings":";;;AAMO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,WAAW,EAAE,GAAGF;IACxB,MAAMG,WAAWC,gBAAgBF;IAGjC,MAAMG,kBAAmBJ,MAAqB,eAAe,IAAI;IAEjE,OAAO;QACL,GAAGH,IAAI;QACP,gBAAgBQ,KAAK,IAAI,CAAC,IAAI,CAAC;QAC/BD;QACA,mBAAmBF,SAAS,MAAM,IAAI;QACtC,YAAYA,SAAS,GAAG,CAAC,CAACI;YACxB,MAAMC,YAAYC,yBAAyBF;YAC3C,OAAO;gBACL,UAAU;gBACV,cAAcA,QAAQ,EAAE;gBACxB,OAAOA,QAAQ,KAAK,IAAIA,QAAQ,EAAE;gBAClC,OAAO;gBACP,QAAQ,CAACG,OAAwBC,KAAcC,KAAcC;oBAC3D,IAAI,CAACC,SAASH,QAAQ,CAACG,SAASF,QAAQ,CAACC,OACvC,OAAOH;oBAET,MAAMK,QAAQF,MAAM,mBAAmB,CAACF,KAAKC;oBAC7C,IAAI,CAACG,OAAO,CAAC,EAAE,EACb,OAAOL;oBAET,OAAOF,UAAUE;gBACnB;YACF;QACF;IACF;AACF"}
@@ -1,25 +1,15 @@
1
- import { MeasureId } from "../../../../../dataReshape/index.js";
2
- import { findAllMeasures } from "../../../../utils/measures/find.js";
3
1
  const pivotRows = (spec, context)=>{
4
2
  const { advancedVSeed } = context;
5
3
  const dimensions = advancedVSeed.dimensionTree;
6
4
  const { encoding } = advancedVSeed;
7
5
  const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
8
- const allMeasures = findAllMeasures(advancedVSeed.measureTree);
9
6
  return {
10
7
  ...spec,
11
- rows: rows.map((item)=>{
12
- const res = {
8
+ rows: rows.map((item)=>({
13
9
  dimensionKey: item.id,
14
10
  title: item.alias || item.id,
15
11
  width: 'auto'
16
- };
17
- if (item.id === MeasureId) res.headerFormat = (measureId)=>{
18
- const measure = allMeasures.find((m)=>m.id === measureId);
19
- return measure?.alias ?? measureId;
20
- };
21
- return res;
22
- })
12
+ }))
23
13
  };
24
14
  };
25
15
  export { pivotRows };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/rows/pivotRows.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts"],"sourcesContent":["import { MeasureId } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils/measures/find'\nimport type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotRows: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const { encoding } = advancedVSeed\n const rows = dimensions.filter((item) => encoding.row?.includes(item.id))\n const allMeasures = findAllMeasures(advancedVSeed.measureTree)\n\n return {\n ...spec,\n rows: rows.map((item) => {\n const res = {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n\n if (item.id === MeasureId) {\n ;(res as any).headerFormat = (measureId: string) => {\n const measure = allMeasures.find((m) => m.id === measureId)\n\n return measure?.alias ?? measureId\n }\n }\n\n return res\n }),\n }\n}\n"],"names":["pivotRows","spec","context","advancedVSeed","dimensions","encoding","rows","item","allMeasures","findAllMeasures","res","MeasureId","measureId","measure","m"],"mappings":";;AAIO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAaD,cAAc,aAAa;IAC9C,MAAM,EAAEE,QAAQ,EAAE,GAAGF;IACrB,MAAMG,OAAOF,WAAW,MAAM,CAAC,CAACG,OAASF,SAAS,GAAG,EAAE,SAASE,KAAK,EAAE;IACvE,MAAMC,cAAcC,gBAAgBN,cAAc,WAAW;IAE7D,OAAO;QACL,GAAGF,IAAI;QACP,MAAMK,KAAK,GAAG,CAAC,CAACC;YACd,MAAMG,MAAM;gBACV,cAAcH,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;YAEA,IAAIA,KAAK,EAAE,KAAKI,WACZD,IAAY,YAAY,GAAG,CAACE;gBAC5B,MAAMC,UAAUL,YAAY,IAAI,CAAC,CAACM,IAAMA,EAAE,EAAE,KAAKF;gBAEjD,OAAOC,SAAS,SAASD;YAC3B;YAGF,OAAOF;QACT;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/rows/pivotRows.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts"],"sourcesContent":["import type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotRows: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const { encoding } = advancedVSeed\n const rows = dimensions.filter((item) => encoding.row?.includes(item.id))\n\n return {\n ...spec,\n rows: rows.map((item) => {\n return {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }),\n }\n}\n"],"names":["pivotRows","spec","context","advancedVSeed","dimensions","encoding","rows","item"],"mappings":"AAEO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAaD,cAAc,aAAa;IAC9C,MAAM,EAAEE,QAAQ,EAAE,GAAGF;IACrB,MAAMG,OAAOF,WAAW,MAAM,CAAC,CAACG,OAASF,SAAS,GAAG,EAAE,SAASE,KAAK,EAAE;IAEvE,OAAO;QACL,GAAGN,IAAI;QACP,MAAMK,KAAK,GAAG,CAAC,CAACC,OACP;gBACL,cAAcA,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;IAEJ;AACF"}
@@ -0,0 +1,2 @@
1
+ import type { PivotTableSpecPipe } from '../../../../../types';
2
+ export declare const bottomFrozenStyle: PivotTableSpecPipe;
@@ -0,0 +1,51 @@
1
+ const bottomFrozenStyle = (spec, context)=>{
2
+ const result = {
3
+ ...spec
4
+ };
5
+ const { advancedVSeed } = context;
6
+ const { config, chartType } = advancedVSeed;
7
+ const themConfig = config?.[chartType];
8
+ if (!result.theme || !themConfig) return result;
9
+ const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)';
10
+ const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5';
11
+ const fontColor = themConfig.headerFontColor || '#1B1F23';
12
+ const fontSize = themConfig.headerFontSize || 12;
13
+ const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff';
14
+ const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff';
15
+ result.theme.bottomFrozenStyle = {
16
+ borderColor,
17
+ borderLineWidth: 1,
18
+ padding: [
19
+ 8,
20
+ 12,
21
+ 8,
22
+ 12
23
+ ],
24
+ textAlign: 'center',
25
+ hover: {
26
+ cellBgColor: hoverCellBgColor,
27
+ inlineRowBgColor: hoverInlineColor,
28
+ inlineColumnBgColor: hoverInlineColor
29
+ },
30
+ frameStyle: {
31
+ borderColor,
32
+ borderLineWidth: [
33
+ 0,
34
+ 0,
35
+ 1,
36
+ 0
37
+ ]
38
+ },
39
+ fontSize,
40
+ fontVariant: 'normal',
41
+ fontStyle: 'normal',
42
+ fontWeight: 'bold',
43
+ color: fontColor,
44
+ bgColor: backgroundColor,
45
+ lineHeight: 1.5 * fontSize
46
+ };
47
+ return result;
48
+ };
49
+ export { bottomFrozenStyle };
50
+
51
+ //# sourceMappingURL=bottomFrozenStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/table/pipes/theme/bottomFrozenStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/bottomFrozenStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const bottomFrozenStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5'\n const fontColor = themConfig.headerFontColor || '#1B1F23'\n const fontSize = themConfig.headerFontSize || 12\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n ;(result.theme as ThemeLike).bottomFrozenStyle = {\n borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'center',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n frameStyle: {\n borderColor,\n borderLineWidth: [0, 0, 1, 0],\n },\n fontSize,\n fontVariant: 'normal',\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: fontColor,\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["bottomFrozenStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor","backgroundColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor"],"mappings":"AAGO,MAAMA,oBAAwC,CAACC,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAaF,QAAQ,CAACC,UAAU;IAEtC,IAAI,CAACH,OAAO,KAAK,IAAI,CAACI,YAAY,OAAOJ;IAEzC,MAAMK,cAAcD,WAAW,WAAW,IAAI;IAC9C,MAAME,kBAAkBF,WAAW,qBAAqB,IAAI;IAC5D,MAAMG,YAAYH,WAAW,eAAe,IAAI;IAChD,MAAMI,WAAWJ,WAAW,cAAc,IAAI;IAC9C,MAAMK,mBAAmBL,WAAW,0BAA0B,IAAI;IAClE,MAAMM,mBAAmBN,WAAW,gCAAgC,IAAI;IAEtEJ,OAAO,KAAK,CAAe,iBAAiB,GAAG;QAC/CK;QACA,iBAAiB;QACjB,SAAS;YAAC;YAAG;YAAI;YAAG;SAAG;QACvB,WAAW;QACX,OAAO;YACL,aAAaI;YACb,kBAAkBC;YAClB,qBAAqBA;QACvB;QACA,YAAY;YACVL;YACA,iBAAiB;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;QAC/B;QACAG;QACA,aAAa;QACb,WAAW;QACX,YAAY;QACZ,OAAOD;QACP,SAASD;QACT,YAAYE,AAAW,MAAXA;IACd;IAEA,OAAOR;AACT"}
@@ -1,5 +1,6 @@
1
1
  export * from './bodyStyle';
2
2
  export * from './headerStyle';
3
+ export * from './bottomFrozenStyle';
3
4
  export * from './rowHeaderStyle';
4
5
  export * from './cornerHeaderStyle';
5
6
  export * from './frameStyle';
@@ -1,5 +1,6 @@
1
1
  export * from "./bodyStyle.js";
2
2
  export * from "./headerStyle.js";
3
+ export * from "./bottomFrozenStyle.js";
3
4
  export * from "./rowHeaderStyle.js";
4
5
  export * from "./cornerHeaderStyle.js";
5
6
  export * from "./frameStyle.js";
@@ -7,7 +7,7 @@ import { zEncoding } from './properties/encoding';
7
7
  import { zDatasetReshapeInfo } from './properties/datasetReshapeInfo';
8
8
  import { zTheme, zCustomThemeConfig } from './properties/theme';
9
9
  import { type Config } from './properties/config';
10
- import { zAnalysis, zAnnotation, zRegressionLine, zMarkStyle, zPage } from './properties';
10
+ import { zAnalysis, zAnnotation, zRegressionLine, zMarkStyle, zPage, type PivotTableTotals } from './properties';
11
11
  import { zLocale } from './i18n';
12
12
  import { zCellStyle } from './properties/cellStyle/cellStyle';
13
13
  export type AdvancedVSeed = {
@@ -32,5 +32,6 @@ export type AdvancedVSeed = {
32
32
  annotation: z.infer<typeof zAnnotation>;
33
33
  locale: z.infer<typeof zLocale>;
34
34
  regressionLine: z.infer<typeof zRegressionLine>;
35
+ totals?: PivotTableTotals;
35
36
  };
36
37
  export declare const zAdvancedVSeed: z.ZodType<AdvancedVSeed>;
@@ -7,7 +7,7 @@ import { zEncoding } from "./properties/encoding/index.js";
7
7
  import { zDatasetReshapeInfo } from "./properties/datasetReshapeInfo/index.js";
8
8
  import { zCustomThemeConfig, zTheme } from "./properties/theme/index.js";
9
9
  import { zConfig } from "./properties/config/index.js";
10
- import { zAnalysis, zAnnotation, zMarkStyle, zPage, zRegressionLine } from "./properties/index.js";
10
+ import { zAnalysis, zAnnotation, zMarkStyle, zPage, zPivotTableTotals, zRegressionLine } from "./properties/index.js";
11
11
  import { zLocale } from "./i18n/index.js";
12
12
  import { zCellStyle } from "./properties/cellStyle/cellStyle.js";
13
13
  const zAdvancedVSeed = z.object({
@@ -31,7 +31,8 @@ const zAdvancedVSeed = z.object({
31
31
  customTheme: zCustomThemeConfig,
32
32
  annotation: zAnnotation,
33
33
  locale: zLocale,
34
- regressionLine: zRegressionLine
34
+ regressionLine: zRegressionLine,
35
+ totals: zPivotTableTotals.optional()
35
36
  });
36
37
  export { zAdvancedVSeed };
37
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"types/advancedVSeed.js","sources":["webpack://@visactor/vseed/./src/types/advancedVSeed.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zChartType } from './properties/chartType'\nimport { zDataset } from './properties/dataset'\nimport { zDimensions, zDimensionTree } from './properties/dimensions'\nimport { zMeasures, zMeasureTree } from './properties/measures'\nimport { zEncoding } from './properties/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig, type Config } from './properties/config'\nimport { zAnalysis, zAnnotation, zRegressionLine, zMarkStyle, zPage } from './properties'\nimport { zLocale } from './i18n'\nimport { zCellStyle } from './properties/cellStyle/cellStyle'\n\nexport type AdvancedVSeed = {\n chartType: z.infer<typeof zChartType>\n dataset: z.infer<typeof zDataset>\n datasetReshapeInfo: z.infer<typeof zDatasetReshapeInfo>\n pivotAllDatasetReshapeInfo: z.infer<typeof zDatasetReshapeInfo>\n dimensions?: z.infer<typeof zDimensions>\n measures?: z.infer<typeof zMeasures>\n reshapeMeasures?: z.infer<typeof zMeasures>[]\n reshapeDimensions?: z.infer<typeof zDimensions>\n measureTree?: z.infer<typeof zMeasureTree>\n dimensionTree?: z.infer<typeof zDimensionTree>\n encoding: z.infer<typeof zEncoding>\n page?: z.infer<typeof zPage>\n config: Config\n analysis: z.infer<typeof zAnalysis>\n theme: z.infer<typeof zTheme>\n markStyle: z.infer<typeof zMarkStyle>\n cellStyle: z.infer<typeof zCellStyle>\n customTheme: z.infer<typeof zCustomThemeConfig>\n annotation: z.infer<typeof zAnnotation>\n locale: z.infer<typeof zLocale>\n regressionLine: z.infer<typeof zRegressionLine>\n}\n\nexport const zAdvancedVSeed: z.ZodType<AdvancedVSeed> = z.object({\n chartType: zChartType,\n dataset: zDataset,\n datasetReshapeInfo: zDatasetReshapeInfo,\n pivotAllDatasetReshapeInfo: zDatasetReshapeInfo,\n dimensions: zDimensions.optional(),\n measures: zMeasures.optional(),\n reshapeMeasures: z.array(zMeasures).optional(),\n reshapeDimensions: zDimensions.optional(),\n measureTree: zMeasureTree.optional(), // 现在只有表格中可能会配置这种树状结构\n dimensionTree: zDimensionTree.optional(), // 现在只有表格中可能会配置这种树状结构\n encoding: zEncoding,\n page: zPage.optional(),\n config: zConfig,\n analysis: zAnalysis,\n theme: zTheme,\n markStyle: zMarkStyle,\n cellStyle: zCellStyle,\n customTheme: zCustomThemeConfig,\n annotation: zAnnotation,\n locale: zLocale,\n regressionLine: zRegressionLine,\n})\n"],"names":["zAdvancedVSeed","z","zChartType","zDataset","zDatasetReshapeInfo","zDimensions","zMeasures","zMeasureTree","zDimensionTree","zEncoding","zPage","zConfig","zAnalysis","zTheme","zMarkStyle","zCellStyle","zCustomThemeConfig","zAnnotation","zLocale","zRegressionLine"],"mappings":";;;;;;;;;;;;AAqCO,MAAMA,iBAA2CC,EAAE,MAAM,CAAC;IAC/D,WAAWC;IACX,SAASC;IACT,oBAAoBC;IACpB,4BAA4BA;IAC5B,YAAYC,YAAY,QAAQ;IAChC,UAAUC,UAAU,QAAQ;IAC5B,iBAAiBL,EAAE,KAAK,CAACK,WAAW,QAAQ;IAC5C,mBAAmBD,YAAY,QAAQ;IACvC,aAAaE,aAAa,QAAQ;IAClC,eAAeC,eAAe,QAAQ;IACtC,UAAUC;IACV,MAAMC,MAAM,QAAQ;IACpB,QAAQC;IACR,UAAUC;IACV,OAAOC;IACP,WAAWC;IACX,WAAWC;IACX,aAAaC;IACb,YAAYC;IACZ,QAAQC;IACR,gBAAgBC;AAClB"}
1
+ {"version":3,"file":"types/advancedVSeed.js","sources":["webpack://@visactor/vseed/./src/types/advancedVSeed.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zChartType } from './properties/chartType'\nimport { zDataset } from './properties/dataset'\nimport { zDimensions, zDimensionTree } from './properties/dimensions'\nimport { zMeasures, zMeasureTree } from './properties/measures'\nimport { zEncoding } from './properties/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig, type Config } from './properties/config'\nimport {\n zAnalysis,\n zAnnotation,\n zRegressionLine,\n zMarkStyle,\n zPage,\n zPivotTableTotals,\n type PivotTableTotals,\n} from './properties'\nimport { zLocale } from './i18n'\nimport { zCellStyle } from './properties/cellStyle/cellStyle'\n\nexport type AdvancedVSeed = {\n chartType: z.infer<typeof zChartType>\n dataset: z.infer<typeof zDataset>\n datasetReshapeInfo: z.infer<typeof zDatasetReshapeInfo>\n pivotAllDatasetReshapeInfo: z.infer<typeof zDatasetReshapeInfo>\n dimensions?: z.infer<typeof zDimensions>\n measures?: z.infer<typeof zMeasures>\n reshapeMeasures?: z.infer<typeof zMeasures>[]\n reshapeDimensions?: z.infer<typeof zDimensions>\n measureTree?: z.infer<typeof zMeasureTree>\n dimensionTree?: z.infer<typeof zDimensionTree>\n encoding: z.infer<typeof zEncoding>\n page?: z.infer<typeof zPage>\n config: Config\n analysis: z.infer<typeof zAnalysis>\n theme: z.infer<typeof zTheme>\n markStyle: z.infer<typeof zMarkStyle>\n cellStyle: z.infer<typeof zCellStyle>\n customTheme: z.infer<typeof zCustomThemeConfig>\n annotation: z.infer<typeof zAnnotation>\n locale: z.infer<typeof zLocale>\n regressionLine: z.infer<typeof zRegressionLine>\n totals?: PivotTableTotals\n}\n\nexport const zAdvancedVSeed: z.ZodType<AdvancedVSeed> = z.object({\n chartType: zChartType,\n dataset: zDataset,\n datasetReshapeInfo: zDatasetReshapeInfo,\n pivotAllDatasetReshapeInfo: zDatasetReshapeInfo,\n dimensions: zDimensions.optional(),\n measures: zMeasures.optional(),\n reshapeMeasures: z.array(zMeasures).optional(),\n reshapeDimensions: zDimensions.optional(),\n measureTree: zMeasureTree.optional(), // 现在只有表格中可能会配置这种树状结构\n dimensionTree: zDimensionTree.optional(), // 现在只有表格中可能会配置这种树状结构\n encoding: zEncoding,\n page: zPage.optional(),\n config: zConfig,\n analysis: zAnalysis,\n theme: zTheme,\n markStyle: zMarkStyle,\n cellStyle: zCellStyle,\n customTheme: zCustomThemeConfig,\n annotation: zAnnotation,\n locale: zLocale,\n regressionLine: zRegressionLine,\n totals: zPivotTableTotals.optional(),\n})\n"],"names":["zAdvancedVSeed","z","zChartType","zDataset","zDatasetReshapeInfo","zDimensions","zMeasures","zMeasureTree","zDimensionTree","zEncoding","zPage","zConfig","zAnalysis","zTheme","zMarkStyle","zCellStyle","zCustomThemeConfig","zAnnotation","zLocale","zRegressionLine","zPivotTableTotals"],"mappings":";;;;;;;;;;;;AA8CO,MAAMA,iBAA2CC,EAAE,MAAM,CAAC;IAC/D,WAAWC;IACX,SAASC;IACT,oBAAoBC;IACpB,4BAA4BA;IAC5B,YAAYC,YAAY,QAAQ;IAChC,UAAUC,UAAU,QAAQ;IAC5B,iBAAiBL,EAAE,KAAK,CAACK,WAAW,QAAQ;IAC5C,mBAAmBD,YAAY,QAAQ;IACvC,aAAaE,aAAa,QAAQ;IAClC,eAAeC,eAAe,QAAQ;IACtC,UAAUC;IACV,MAAMC,MAAM,QAAQ;IACpB,QAAQC;IACR,UAAUC;IACV,OAAOC;IACP,WAAWC;IACX,WAAWC;IACX,aAAaC;IACb,YAAYC;IACZ,QAAQC;IACR,gBAAgBC;IAChB,QAAQC,kBAAkB,QAAQ;AACpC"}
@@ -264,6 +264,87 @@ export declare const zArea: z.ZodObject<{
264
264
  }>>>;
265
265
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
266
266
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>>;
267
+ dynamicFilter: z.ZodOptional<z.ZodObject<{
268
+ type: z.ZodLiteral<"row-with-field">;
269
+ description: z.ZodOptional<z.ZodString>;
270
+ code: z.ZodString;
271
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
272
+ field: z.ZodString;
273
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
274
+ "=": "=";
275
+ "==": "==";
276
+ "!=": "!=";
277
+ ">": ">";
278
+ "<": "<";
279
+ ">=": ">=";
280
+ "<=": "<=";
281
+ between: "between";
282
+ }>>>;
283
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
284
+ "=": "=";
285
+ "==": "==";
286
+ "!=": "!=";
287
+ ">": ">";
288
+ "<": "<";
289
+ ">=": ">=";
290
+ "<=": "<=";
291
+ between: "between";
292
+ }>>>;
293
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
294
+ }, z.core.$strip>, z.ZodObject<{
295
+ field: z.ZodString;
296
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
297
+ in: "in";
298
+ "not in": "not in";
299
+ }>>>;
300
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
301
+ in: "in";
302
+ "not in": "not in";
303
+ }>>>;
304
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
305
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
306
+ field: z.ZodString;
307
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
308
+ "=": "=";
309
+ "==": "==";
310
+ "!=": "!=";
311
+ ">": ">";
312
+ "<": "<";
313
+ ">=": ">=";
314
+ "<=": "<=";
315
+ between: "between";
316
+ }>>>;
317
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
318
+ "=": "=";
319
+ "==": "==";
320
+ "!=": "!=";
321
+ ">": ">";
322
+ "<": "<";
323
+ ">=": ">=";
324
+ "<=": "<=";
325
+ between: "between";
326
+ }>>>;
327
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
328
+ }, z.core.$strip>, z.ZodObject<{
329
+ field: z.ZodString;
330
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
331
+ in: "in";
332
+ "not in": "not in";
333
+ }>>>;
334
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
335
+ in: "in";
336
+ "not in": "not in";
337
+ }>>>;
338
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
339
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
340
+ result: z.ZodOptional<z.ZodObject<{
341
+ success: z.ZodBoolean;
342
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
343
+ __row_index: z.ZodNumber;
344
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
345
+ }, z.core.$strip>>>;
346
+ }, z.core.$strip>>;
347
+ }, z.core.$strip>>;
267
348
  }, z.core.$strip>>>;
268
349
  legend: z.ZodOptional<z.ZodNullable<z.ZodObject<{
269
350
  enable: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
@@ -632,7 +713,10 @@ export declare const zArea: z.ZodObject<{
632
713
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
633
714
  result: z.ZodOptional<z.ZodObject<{
634
715
  success: z.ZodBoolean;
635
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
716
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
717
+ __row_index: z.ZodNumber;
718
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
719
+ }, z.core.$strip>>>;
636
720
  }, z.core.$strip>>;
637
721
  }, z.core.$strip>>;
638
722
  pointVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -791,7 +875,10 @@ export declare const zArea: z.ZodObject<{
791
875
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
792
876
  result: z.ZodOptional<z.ZodObject<{
793
877
  success: z.ZodBoolean;
794
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
878
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
879
+ __row_index: z.ZodNumber;
880
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
881
+ }, z.core.$strip>>>;
795
882
  }, z.core.$strip>>;
796
883
  }, z.core.$strip>>;
797
884
  pointVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -951,7 +1038,10 @@ export declare const zArea: z.ZodObject<{
951
1038
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
952
1039
  result: z.ZodOptional<z.ZodObject<{
953
1040
  success: z.ZodBoolean;
954
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1041
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1042
+ __row_index: z.ZodNumber;
1043
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1044
+ }, z.core.$strip>>>;
955
1045
  }, z.core.$strip>>;
956
1046
  }, z.core.$strip>>;
957
1047
  lineVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1109,7 +1199,10 @@ export declare const zArea: z.ZodObject<{
1109
1199
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1110
1200
  result: z.ZodOptional<z.ZodObject<{
1111
1201
  success: z.ZodBoolean;
1112
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1202
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1203
+ __row_index: z.ZodNumber;
1204
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1205
+ }, z.core.$strip>>>;
1113
1206
  }, z.core.$strip>>;
1114
1207
  }, z.core.$strip>>;
1115
1208
  lineVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1268,7 +1361,10 @@ export declare const zArea: z.ZodObject<{
1268
1361
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1269
1362
  result: z.ZodOptional<z.ZodObject<{
1270
1363
  success: z.ZodBoolean;
1271
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1364
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1365
+ __row_index: z.ZodNumber;
1366
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1367
+ }, z.core.$strip>>>;
1272
1368
  }, z.core.$strip>>;
1273
1369
  }, z.core.$strip>>;
1274
1370
  areaVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1419,7 +1515,10 @@ export declare const zArea: z.ZodObject<{
1419
1515
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1420
1516
  result: z.ZodOptional<z.ZodObject<{
1421
1517
  success: z.ZodBoolean;
1422
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1518
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1519
+ __row_index: z.ZodNumber;
1520
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1521
+ }, z.core.$strip>>>;
1423
1522
  }, z.core.$strip>>;
1424
1523
  }, z.core.$strip>>;
1425
1524
  areaVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1571,7 +1670,10 @@ export declare const zArea: z.ZodObject<{
1571
1670
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1572
1671
  result: z.ZodOptional<z.ZodObject<{
1573
1672
  success: z.ZodBoolean;
1574
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1673
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1674
+ __row_index: z.ZodNumber;
1675
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1676
+ }, z.core.$strip>>>;
1575
1677
  }, z.core.$strip>>;
1576
1678
  }, z.core.$strip>>;
1577
1679
  text: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>>;
@@ -1741,7 +1843,10 @@ export declare const zArea: z.ZodObject<{
1741
1843
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1742
1844
  result: z.ZodOptional<z.ZodObject<{
1743
1845
  success: z.ZodBoolean;
1744
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1846
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1847
+ __row_index: z.ZodNumber;
1848
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1849
+ }, z.core.$strip>>>;
1745
1850
  }, z.core.$strip>>;
1746
1851
  }, z.core.$strip>>;
1747
1852
  text: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>>;
@@ -264,6 +264,87 @@ export declare const zAreaPercent: z.ZodObject<{
264
264
  }>>>;
265
265
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
266
266
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>>;
267
+ dynamicFilter: z.ZodOptional<z.ZodObject<{
268
+ type: z.ZodLiteral<"row-with-field">;
269
+ description: z.ZodOptional<z.ZodString>;
270
+ code: z.ZodString;
271
+ fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
272
+ field: z.ZodString;
273
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
274
+ "=": "=";
275
+ "==": "==";
276
+ "!=": "!=";
277
+ ">": ">";
278
+ "<": "<";
279
+ ">=": ">=";
280
+ "<=": "<=";
281
+ between: "between";
282
+ }>>>;
283
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
284
+ "=": "=";
285
+ "==": "==";
286
+ "!=": "!=";
287
+ ">": ">";
288
+ "<": "<";
289
+ ">=": ">=";
290
+ "<=": "<=";
291
+ between: "between";
292
+ }>>>;
293
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
294
+ }, z.core.$strip>, z.ZodObject<{
295
+ field: z.ZodString;
296
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
297
+ in: "in";
298
+ "not in": "not in";
299
+ }>>>;
300
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
301
+ in: "in";
302
+ "not in": "not in";
303
+ }>>>;
304
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
305
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{
306
+ field: z.ZodString;
307
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
308
+ "=": "=";
309
+ "==": "==";
310
+ "!=": "!=";
311
+ ">": ">";
312
+ "<": "<";
313
+ ">=": ">=";
314
+ "<=": "<=";
315
+ between: "between";
316
+ }>>>;
317
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
318
+ "=": "=";
319
+ "==": "==";
320
+ "!=": "!=";
321
+ ">": ">";
322
+ "<": "<";
323
+ ">=": ">=";
324
+ "<=": "<=";
325
+ between: "between";
326
+ }>>>;
327
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
328
+ }, z.core.$strip>, z.ZodObject<{
329
+ field: z.ZodString;
330
+ operator: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
331
+ in: "in";
332
+ "not in": "not in";
333
+ }>>>;
334
+ op: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
335
+ in: "in";
336
+ "not in": "not in";
337
+ }>>>;
338
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>;
339
+ }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
340
+ result: z.ZodOptional<z.ZodObject<{
341
+ success: z.ZodBoolean;
342
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
343
+ __row_index: z.ZodNumber;
344
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
345
+ }, z.core.$strip>>>;
346
+ }, z.core.$strip>>;
347
+ }, z.core.$strip>>;
267
348
  }, z.core.$strip>>>;
268
349
  legend: z.ZodOptional<z.ZodNullable<z.ZodObject<{
269
350
  enable: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
@@ -632,7 +713,10 @@ export declare const zAreaPercent: z.ZodObject<{
632
713
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
633
714
  result: z.ZodOptional<z.ZodObject<{
634
715
  success: z.ZodBoolean;
635
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
716
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
717
+ __row_index: z.ZodNumber;
718
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
719
+ }, z.core.$strip>>>;
636
720
  }, z.core.$strip>>;
637
721
  }, z.core.$strip>>;
638
722
  pointVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -791,7 +875,10 @@ export declare const zAreaPercent: z.ZodObject<{
791
875
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
792
876
  result: z.ZodOptional<z.ZodObject<{
793
877
  success: z.ZodBoolean;
794
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
878
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
879
+ __row_index: z.ZodNumber;
880
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
881
+ }, z.core.$strip>>>;
795
882
  }, z.core.$strip>>;
796
883
  }, z.core.$strip>>;
797
884
  pointVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -951,7 +1038,10 @@ export declare const zAreaPercent: z.ZodObject<{
951
1038
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
952
1039
  result: z.ZodOptional<z.ZodObject<{
953
1040
  success: z.ZodBoolean;
954
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1041
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1042
+ __row_index: z.ZodNumber;
1043
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1044
+ }, z.core.$strip>>>;
955
1045
  }, z.core.$strip>>;
956
1046
  }, z.core.$strip>>;
957
1047
  lineVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1109,7 +1199,10 @@ export declare const zAreaPercent: z.ZodObject<{
1109
1199
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1110
1200
  result: z.ZodOptional<z.ZodObject<{
1111
1201
  success: z.ZodBoolean;
1112
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1202
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1203
+ __row_index: z.ZodNumber;
1204
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1205
+ }, z.core.$strip>>>;
1113
1206
  }, z.core.$strip>>;
1114
1207
  }, z.core.$strip>>;
1115
1208
  lineVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1268,7 +1361,10 @@ export declare const zAreaPercent: z.ZodObject<{
1268
1361
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1269
1362
  result: z.ZodOptional<z.ZodObject<{
1270
1363
  success: z.ZodBoolean;
1271
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1364
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1365
+ __row_index: z.ZodNumber;
1366
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1367
+ }, z.core.$strip>>>;
1272
1368
  }, z.core.$strip>>;
1273
1369
  }, z.core.$strip>>;
1274
1370
  areaVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1419,7 +1515,10 @@ export declare const zAreaPercent: z.ZodObject<{
1419
1515
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1420
1516
  result: z.ZodOptional<z.ZodObject<{
1421
1517
  success: z.ZodBoolean;
1422
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1518
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1519
+ __row_index: z.ZodNumber;
1520
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1521
+ }, z.core.$strip>>>;
1423
1522
  }, z.core.$strip>>;
1424
1523
  }, z.core.$strip>>;
1425
1524
  areaVisible: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1571,7 +1670,10 @@ export declare const zAreaPercent: z.ZodObject<{
1571
1670
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1572
1671
  result: z.ZodOptional<z.ZodObject<{
1573
1672
  success: z.ZodBoolean;
1574
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1673
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1674
+ __row_index: z.ZodNumber;
1675
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1676
+ }, z.core.$strip>>>;
1575
1677
  }, z.core.$strip>>;
1576
1678
  }, z.core.$strip>>;
1577
1679
  text: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>>;
@@ -1741,7 +1843,10 @@ export declare const zAreaPercent: z.ZodObject<{
1741
1843
  }, z.core.$strip>, z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodAny>]>>]>>;
1742
1844
  result: z.ZodOptional<z.ZodObject<{
1743
1845
  success: z.ZodBoolean;
1744
- data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1846
+ data: z.ZodOptional<z.ZodArray<z.ZodObject<{
1847
+ __row_index: z.ZodNumber;
1848
+ field: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"*">]>;
1849
+ }, z.core.$strip>>>;
1745
1850
  }, z.core.$strip>>;
1746
1851
  }, z.core.$strip>>;
1747
1852
  text: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>>;