@visactor/vseed 0.1.4 → 0.1.6

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 (62) hide show
  1. package/dist/builder/builder/builder.d.ts +2 -2
  2. package/dist/index.cjs +851 -703
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.js +851 -703
  5. package/dist/index.js.map +1 -1
  6. package/dist/pipeline/advanced/chart/pipes/{init/autoDimensions.d.ts → default/defaultDimensions.d.ts} +1 -1
  7. package/dist/pipeline/advanced/chart/pipes/default/defaultMeasureName.d.ts +2 -0
  8. package/dist/pipeline/advanced/chart/pipes/default/defaultMeasures.d.ts +5 -0
  9. package/dist/pipeline/advanced/chart/pipes/default/index.d.ts +3 -0
  10. package/dist/pipeline/advanced/chart/pipes/encoding/column.d.ts +19 -0
  11. package/dist/pipeline/advanced/chart/pipes/encoding/line.d.ts +17 -0
  12. package/dist/pipeline/advanced/chart/pipes/index.d.ts +1 -0
  13. package/dist/pipeline/advanced/chart/pipes/init/index.d.ts +0 -2
  14. package/dist/pipeline/advanced/chart/pipes/measures/utils.d.ts +3 -18
  15. package/dist/pipeline/advanced/table/pipes/reshape/index.d.ts +1 -0
  16. package/dist/pipeline/advanced/table/pipes/reshape/reshapePivotTable.d.ts +2 -0
  17. package/dist/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +2 -0
  18. package/dist/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.d.ts +2 -0
  19. package/dist/pipeline/spec/chart/pipes/color/colorPieStyleFill.d.ts +2 -0
  20. package/dist/pipeline/spec/chart/pipes/color/colorRoseStyleFill.d.ts +2 -0
  21. package/dist/pipeline/spec/chart/pipes/color/index.d.ts +4 -0
  22. package/dist/pipeline/spec/chart/pipes/markStyle/cellStyle.d.ts +2 -0
  23. package/dist/pipeline/spec/chart/pipes/markStyle/funnelStyle.d.ts +2 -0
  24. package/dist/pipeline/spec/chart/pipes/markStyle/index.d.ts +5 -1
  25. package/dist/pipeline/spec/chart/pipes/markStyle/pieStyle.d.ts +2 -0
  26. package/dist/pipeline/spec/chart/pipes/markStyle/roseStyle.d.ts +2 -0
  27. package/dist/types/advancedVSeed.d.ts +2 -0
  28. package/dist/types/chartType/area/area.d.ts +20 -3
  29. package/dist/types/chartType/area/zArea.d.ts +2 -0
  30. package/dist/types/chartType/areaPercent/areaPercent.d.ts +16 -0
  31. package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +2 -0
  32. package/dist/types/chartType/bar/zBar.d.ts +2 -0
  33. package/dist/types/chartType/barParallel/zBarParallel.d.ts +2 -0
  34. package/dist/types/chartType/barPercent/zBarPercent.d.ts +2 -0
  35. package/dist/types/chartType/column/column.d.ts +17 -1
  36. package/dist/types/chartType/column/zColumn.d.ts +2 -0
  37. package/dist/types/chartType/columnParallel/columnParallel.d.ts +17 -0
  38. package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +2 -0
  39. package/dist/types/chartType/columnPercent/columnPercent.d.ts +17 -1
  40. package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +2 -0
  41. package/dist/types/chartType/donut/zDonut.d.ts +2 -0
  42. package/dist/types/chartType/dualAxis/zDualAxis.d.ts +10 -0
  43. package/dist/types/chartType/funnel/zFunnel.d.ts +2 -0
  44. package/dist/types/chartType/heatmap/zHeatmap.d.ts +2 -0
  45. package/dist/types/chartType/line/line.d.ts +16 -0
  46. package/dist/types/chartType/line/zLine.d.ts +2 -0
  47. package/dist/types/chartType/pie/zPie.d.ts +2 -0
  48. package/dist/types/chartType/pivotTable/zPivotTable.d.ts +2 -0
  49. package/dist/types/chartType/radar/zRadar.d.ts +2 -0
  50. package/dist/types/chartType/rose/zRose.d.ts +2 -0
  51. package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +2 -0
  52. package/dist/types/chartType/scatter/zScatter.d.ts +10 -0
  53. package/dist/types/chartType/table/zTable.d.ts +2 -0
  54. package/dist/types/properties/measures/measures.d.ts +3 -1
  55. package/dist/types/properties/measures/zDualMeasures.d.ts +16 -0
  56. package/dist/types/properties/measures/zMeasures.d.ts +6 -0
  57. package/dist/types/properties/measures/zScatterMeasures.d.ts +16 -0
  58. package/dist/types/zVseed.d.ts +56 -0
  59. package/dist/umd/index.js +872 -724
  60. package/dist/umd/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/pipeline/advanced/chart/pipes/init/utils.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["webpack://VSeed/webpack/runtime/define_property_getters","webpack://VSeed/webpack/runtime/has_own_property","webpack://VSeed/webpack/runtime/make_namespace_object","webpack://VSeed/./src/pipeline/utils/pipeline.ts","webpack://VSeed/./src/builder/builder/buildAdvanced.ts","webpack://VSeed/./src/builder/builder/buildSpec.ts","webpack://VSeed/./src/builder/builder/build.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-JK3VNB42.js","webpack://VSeed/./src/i18n/i18n.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-ANXBDSUI.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-3GOCSNFN.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-LFJW7BOT.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-QJLMYOTX.js","webpack://VSeed/./src/builder/builder/advanced/colorItems.ts","webpack://VSeed/./src/builder/builder/builder.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/utils/tree/traverse.ts","webpack://VSeed/./src/pipeline/utils/measures/find.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/records/records.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-D6FCK2GA.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-WIMGWYZL.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-2T7K3PFL.js","webpack://VSeed/./src/pipeline/advanced/table/pipes/config/tableConfig.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BZNENX2T.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-PDQFB3TV.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BCBB46UE.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-SFZGYJFI.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-6GTAPB47.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-NMC53JVB.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-5S4PYKVY.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/theme/theme.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/table.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/table.ts","webpack://VSeed/./src/pipeline/utils/measures/typeGuard.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/dimensionsToColumns.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-VCYTMP4D.js","webpack://VSeed/./src/pipeline/utils/format/createNumFormatter.ts","webpack://VSeed/./src/pipeline/utils/format/createFormatter.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/measuresToColumns.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/bodyStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/headerStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/frameStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/selectionStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipeline/table.ts","webpack://VSeed/./src/builder/register/chartType/table.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotMeasures.ts","webpack://VSeed/./src/pipeline/utils/dimensions/find.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/config/pivotTableConfig.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/pivotTable.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/pivotTable.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/pivotColumns.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/rowHeaderStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/cornerHeaderStyle.ts","webpack://VSeed/../../node_modules/.pnpm/@visactor+vtable@1.19.8/node_modules/@visactor/vtable/es/ts-types/new-data-set.js","webpack://VSeed/./src/pipeline/spec/table/pipes/indicators/pivotDataConfig.ts","webpack://VSeed/./src/pipeline/spec/table/pipeline/pivotTable.ts","webpack://VSeed/./src/builder/register/chartType/pivotTable.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/dataReshape/constant.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/utils.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/utils.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/line.ts","webpack://VSeed/./src/pipeline/utils/measures/depth.ts","webpack://VSeed/./src/pipeline/utils/chatType.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasures.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/autoDimensions.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/pivot/pivotAdapter.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-7ZI6JRPB.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-AIG3BDKO.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-KI5X74E2.js","webpack://VSeed/./src/dataReshape/foldMeasures.ts","webpack://VSeed/./src/dataReshape/unfoldDimensions.ts","webpack://VSeed/./src/dataReshape/dataReshapeByEncoding.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorAdapter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-NFFV4IQT.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortXBand.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortLegend.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/config.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/markStyle/markStyle.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/annotation/annotation.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/color.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/linearColor.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/backgroundColor/background.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetXY.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/progressive.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/xBand.ts","webpack://VSeed/./src/pipeline/utils/constant.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/label.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/discreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/colorLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorPointStyleFill.ts","webpack://VSeed/./src/dataSelector/selector.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointState.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorLineStyleFill.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-HVPVHFDT.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/lineStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/utils.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationPoint.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BO3LQZNF.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationArea.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetPivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/line.ts","webpack://VSeed/./src/builder/register/chartType/line.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stack.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorBarStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/barStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationAreaBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotColorLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/column.ts","webpack://VSeed/./src/builder/register/chartType/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/builder/register/chartType/columnParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/percent/percent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/builder/register/chartType/columnPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortYBand.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetYX.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/xLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/bar.ts","webpack://VSeed/./src/builder/register/chartType/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barParallel.ts","webpack://VSeed/./src/builder/register/chartType/barParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barPercent.ts","webpack://VSeed/./src/builder/register/chartType/barPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorAreaStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/areaStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/area.ts","webpack://VSeed/./src/builder/register/chartType/area.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/builder/register/chartType/areaPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/scatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/scatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetScatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/scatter.ts","webpack://VSeed/./src/builder/register/chartType/scatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/dualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/series/series.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/dualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dual/dualChartType.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinearPrimary.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinearSecondary.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/linearColorForDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/dualAxis.ts","webpack://VSeed/./src/builder/register/chartType/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/pie.ts","webpack://VSeed/./src/builder/register/chartType/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/donut.ts","webpack://VSeed/./src/builder/register/chartType/donut.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/angle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/rose.ts","webpack://VSeed/./src/builder/register/chartType/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/builder/register/chartType/roseParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/radar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/radar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/radar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radarAngle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radarRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/radar.ts","webpack://VSeed/./src/builder/register/chartType/radar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/funnel.ts","webpack://VSeed/./src/builder/register/chartType/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/heatmap.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/labelColorInversion.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/heatmap.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/heatmap.ts","webpack://VSeed/./src/builder/register/chartType/heatmap.ts","webpack://VSeed/./src/theme/light.ts","webpack://VSeed/./src/theme/dark.ts","webpack://VSeed/./src/builder/register/theme/custom.ts","webpack://VSeed/./src/builder/register/theme/light.ts","webpack://VSeed/./src/builder/register/theme/dark.ts","webpack://VSeed/./src/builder/register/all.ts","webpack://VSeed/./src/builder/register/custom.ts","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/core.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/regexes.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/util.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/checks.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/doc.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/errors.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/parse.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/versions.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/schemas.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/registries.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/api.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/iso.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/errors.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/parse.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/schemas.js","webpack://VSeed/./src/types/properties/chartType/chartType.ts","webpack://VSeed/./src/types/properties/chartType/dualChartType.ts","webpack://VSeed/./src/types/properties/dataset/dataset.ts","webpack://VSeed/./src/types/properties/dimensions/zDimensions.ts","webpack://VSeed/./src/types/properties/measures/format/numFormat.ts","webpack://VSeed/./src/types/properties/measures/zMeasures.ts","webpack://VSeed/./src/types/properties/measures/zDualMeasures.ts","webpack://VSeed/./src/types/properties/measures/zScatterMeasures.ts","webpack://VSeed/./src/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.ts","webpack://VSeed/./src/types/properties/encoding/zEncoding.ts","webpack://VSeed/./src/types/properties/config/axes/bandAxis.ts","webpack://VSeed/./src/types/properties/config/axes/linearAxis.ts","webpack://VSeed/./src/types/properties/config/crosshair/zCrosshair.ts","webpack://VSeed/./src/types/properties/config/stackCornerRadius/stackCornerRadius.ts","webpack://VSeed/./src/types/properties/config/backgroundColor/backgroundColor.ts","webpack://VSeed/./src/types/properties/config/color/color.ts","webpack://VSeed/./src/types/properties/config/label/label.ts","webpack://VSeed/./src/types/properties/config/legend/legend.ts","webpack://VSeed/./src/types/properties/config/tooltip/tooltip.ts","webpack://VSeed/./src/types/properties/config/config.ts","webpack://VSeed/./src/types/properties/config/axes/axis.ts","webpack://VSeed/./src/types/properties/theme/customTheme.ts","webpack://VSeed/./src/types/properties/theme/theme.ts","webpack://VSeed/./src/types/dataSelector/selector.ts","webpack://VSeed/./src/types/properties/markStyle/barStyle.ts","webpack://VSeed/./src/types/properties/markStyle/pointStyle.ts","webpack://VSeed/./src/types/properties/markStyle/lineStyle.ts","webpack://VSeed/./src/types/properties/markStyle/zAreaStyle.ts","webpack://VSeed/./src/types/properties/markStyle/markStyle.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationPoint.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationVerticalLine.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationHorizontalLine.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationArea.ts","webpack://VSeed/./src/types/properties/annotation/annotation.ts","webpack://VSeed/./src/types/properties/analysis/sort.ts","webpack://VSeed/./src/types/properties/analysis/sortLegend.ts","webpack://VSeed/./src/types/properties/analysis/analysis.ts","webpack://VSeed/./src/types/i18n/i18n.ts","webpack://VSeed/./src/types/chartType/table/zTable.ts","webpack://VSeed/./src/types/chartType/pivotTable/zPivotTable.ts","webpack://VSeed/./src/types/chartType/line/zLine.ts","webpack://VSeed/./src/types/chartType/column/zColumn.ts","webpack://VSeed/./src/types/chartType/columnParallel/zColumnParallel.ts","webpack://VSeed/./src/types/chartType/columnPercent/zColumnPercent.ts","webpack://VSeed/./src/types/chartType/bar/zBar.ts","webpack://VSeed/./src/types/chartType/barParallel/zBarParallel.ts","webpack://VSeed/./src/types/chartType/barPercent/zBarPercent.ts","webpack://VSeed/./src/types/chartType/area/zArea.ts","webpack://VSeed/./src/types/chartType/areaPercent/zAreaPercent.ts","webpack://VSeed/./src/types/chartType/scatter/zScatter.ts","webpack://VSeed/./src/types/chartType/dualAxis/zDualAxis.ts","webpack://VSeed/./src/types/chartType/rose/zRose.ts","webpack://VSeed/./src/types/chartType/roseParallel/zRoseParallel.ts","webpack://VSeed/./src/types/chartType/pie/zPie.ts","webpack://VSeed/./src/types/chartType/donut/zDonut.ts","webpack://VSeed/./src/types/chartType/radar/zRadar.ts","webpack://VSeed/./src/types/chartType/funnel/zFunnel.ts","webpack://VSeed/./src/types/chartType/heatmap/zHeatmap.ts","webpack://VSeed/./src/types/zVseed.ts","webpack://VSeed/./src/types/advancedVSeed.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { ExecPipelineType, Pipe } from 'src/types'\n\n/**\n * 执行pipeline, 每个pipe负责构建结果的一部分, 构建完成后得到完整的目标结果\n * @param pipeline pipeline数组, 每个pipe负责构建结果的一部分\n * @param initialValue 初始值\n * @param context 上下文\n * @returns 执行后的结果\n */\nexport const execPipeline: ExecPipelineType = <T, U>(\n pipeline: Array<Pipe<T, U>>,\n context: U,\n initialValue: Partial<T> = {},\n): T => {\n const result = pipeline.reduce((prev, cur) => {\n return cur(prev, context)\n }, initialValue)\n return result as T\n}\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\n const start = typeof performance !== 'undefined' ? performance.now() : Date.now()\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildAdvanced')\n }\n\n const pipeline = Builder.getAdvancedPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no advanced pipeline for chartType ${chartType}`)\n }\n\n const context: AdvancedPipelineContext = {\n vseed: builder.vseed,\n customTheme: Builder.getThemeMap(),\n }\n\n try {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildAdvanced error, see error info in console`)\n } finally {\n const end = typeof performance !== 'undefined' ? performance.now() : Date.now()\n builder.performance['buildAdvanced'] = `${(end - start).toFixed(4)}ms`\n }\n}\n","import type { Spec } from 'src/types'\nimport { Builder } from './builder'\nimport type { AdvancedVSeed, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../pipeline'\n\nexport const buildSpec = (builder: Builder, advancedVSeed: AdvancedVSeed): Spec => {\n const start = typeof performance !== 'undefined' ? performance.now() : Date.now()\n\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildSpec')\n }\n\n const pipeline = Builder.getSpecPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no spec pipeline for chartType ${chartType}`)\n }\n\n const context: SpecPipelineContext = {\n vseed: builder.vseed,\n advancedVSeed,\n }\n try {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildSpec error, see error info in console`)\n } finally {\n const end = typeof performance !== 'undefined' ? performance.now() : Date.now()\n builder.performance['buildSpec'] = `${(end - start).toFixed(4)}ms`\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\n\nexport const build = (builder: Builder): Spec => {\n // console.log('debug vseed', builder.vseed)\n const advancedVSeed = builder.buildAdvanced()\n builder.advancedVSeed = advancedVSeed\n // console.log('debug advancedVSeed', advancedVSeed)\n if (!advancedVSeed) {\n throw new Error('advancedVSeed is null')\n }\n const spec = builder.buildSpec(advancedVSeed)\n builder.spec = spec\n // console.log('debug spec', spec)\n return spec\n}\n","function n(e){return e==null}export{n as a};\n","import { isNullish } from 'remeda'\nimport translateMap from './i18n.json'\nimport type { Locale, TranslateRecordType } from '../types'\n\nclass Intl {\n private static instance: Intl\n\n private translateMap: TranslateRecordType = translateMap as unknown as TranslateRecordType\n private locale: Locale = 'zh-CN'\n\n canTranslate = (value: string) => !!this.translateMap[value]\n\n /**\n * @example i18n`指标名称`\n */\n i18n = (segments: TemplateStringsArray, ...values: Array<number | string>) => {\n const text = segments.map((segment, index) => segment + (values[index] || '')).join('')\n\n const translatedText = this.translateMap?.[text]?.[this.locale]\n if (isNullish(translatedText)) {\n console.warn(`i18n ${this.locale} no translate: ${text}`)\n return text\n }\n return translatedText\n }\n\n setLocale = (locale: Locale): void => {\n this.locale = locale\n }\n\n getLocale: () => Locale = () => this.locale\n\n public static getInstance() {\n if (!Intl.instance) {\n Intl.instance = new Intl()\n }\n\n return Intl.instance\n }\n}\n\nconst intl = Intl.getInstance()\n\nconst i18n = intl.i18n\n\nexport { intl, i18n }\n","var e={done:!0,hasNext:!1},s={done:!1,hasNext:!1},a=()=>e,o=t=>({hasNext:!0,next:t,done:!1});export{s as a,a as b,o as c};\n","import{a as A}from\"./chunk-ANXBDSUI.js\";function C(t,...o){let n=t,u=o.map(e=>\"lazy\"in e?y(e):void 0),p=0;for(;p<o.length;){if(u[p]===void 0||!B(n)){let i=o[p];n=i(n),p+=1;continue}let r=[];for(let i=p;i<o.length;i++){let l=u[i];if(l===void 0||(r.push(l),l.isSingle))break}let a=[];for(let i of n)if(f(i,a,r))break;let{isSingle:s}=r.at(-1);n=s?a[0]:a,p+=r.length}return n}function f(t,o,n){if(n.length===0)return o.push(t),!1;let u=t,p=A,e=!1;for(let[r,a]of n.entries()){let{index:s,items:i}=a;if(i.push(u),p=a(u,s,i),a.index+=1,p.hasNext){if(p.hasMany??!1){for(let l of p.next)if(f(l,o,n.slice(r+1)))return!0;return e}u=p.next}if(!p.hasNext)break;p.done&&(e=!0)}return p.hasNext&&o.push(u),e}function y(t){let{lazy:o,lazyArgs:n}=t,u=o(...n);return Object.assign(u,{isSingle:o.single??!1,index:0,items:[]})}function B(t){return typeof t==\"string\"||typeof t==\"object\"&&t!==null&&Symbol.iterator in t}export{C as a};\n","import{a as o}from\"./chunk-3GOCSNFN.js\";function y(t,i){let a=i.length-t.length;if(a===1){let[n,...r]=i;return o(n,{lazy:t,lazyArgs:r})}if(a===0){let n={lazy:t,lazyArgs:i};return Object.assign(e=>o(e,n),n)}throw new Error(\"Wrong number of arguments\")}export{y as a};\n","import{a as r}from\"./chunk-LFJW7BOT.js\";import{a as n}from\"./chunk-ANXBDSUI.js\";function i(...e){return r(a,e)}function a(){let e=new Set;return t=>e.has(t)?n:(e.add(t),{done:!1,hasNext:!0,next:t})}export{i as a};\n","import { unique } from 'remeda'\nimport type { Builder } from '../builder'\n\nexport const getColorItems = (builder: Builder): string[] => {\n const advancedVSeed = builder.advancedVSeed\n if (!advancedVSeed) {\n return []\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n return colorItems.map((d) => colorIdMap[d])\n}\n\nexport const getColorIdMap = (builder: Builder): Record<string, string> => {\n const advancedVSeed = builder.advancedVSeed\n if (!advancedVSeed) {\n return {}\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n return colorIdMap\n}\n","import type {\n AdvancedPipe,\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n Spec,\n SpecPipe,\n SpecPipeline,\n VSeed,\n VSeedBuilder,\n} from 'src/types'\nimport { buildAdvanced } from './buildAdvanced'\nimport { buildSpec } from './buildSpec'\nimport { build } from './build'\nimport { intl } from 'src/i18n'\nimport { getColorIdMap, getColorItems } from './advanced'\n\nexport class Builder implements VSeedBuilder {\n private _vseed: VSeed\n private _advancedVSeed: AdvancedVSeed | null = null\n private _spec: Spec | null = null\n private _performance: Record<string, string | number> = {}\n\n constructor(vseed: VSeed) {\n this._vseed = vseed\n this._vseed.locale = vseed.locale || intl.getLocale()\n }\n\n /**\n * @description 构建spec\n * @returns spec\n */\n build = <T extends Spec>(): T => build(this) as T\n\n /**\n * @description 构建spec\n * @param advanced 高级配置\n * @returns spec\n */\n buildSpec = (advanced: AdvancedVSeed): Spec => buildSpec(this, advanced)\n\n /**\n * @description 构建spec\n * @returns AdvancedVSeed | null\n */\n buildAdvanced = (): AdvancedVSeed | null => buildAdvanced(this)\n\n /**\n * @description 获取颜色项, 颜色项可以重复,\n * @returns 颜色项\n */\n getColorItems = () => getColorItems(this)\n\n /**\n * @description 获取颜色id映射\n * @returns 颜色id映射\n */\n getColorIdMap = () => getColorIdMap(this)\n\n /**\n * @description 获取vseed\n * @returns vseed\n */\n get vseed() {\n return this._vseed\n }\n\n /**\n * @description 设置vseed\n * @param value vseed\n */\n set vseed(value) {\n this._vseed = value\n }\n\n /**\n * @description 获取advancedVSeed\n * @returns advancedVSeed\n */\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n /**\n *\n * @description 设置advancedVSeed\n * @param value advancedVSeed\n */\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n /**\n * @description 获取spec\n * @returns spec\n */\n get spec() {\n return this._spec\n }\n\n /**\n * @description 设置spec\n * @param value spec\n */\n set spec(value) {\n this._spec = value\n }\n\n /**\n * @description 获取performance, 统计了构建spec和advancedVSeed的时间\n * @returns performance\n */\n get performance() {\n return this._performance\n }\n\n /**\n * @description 设置performance\n * @param value performance\n */\n set performance(value) {\n this._performance = value\n }\n\n /**\n * @description 获取advancedPipeline\n * @param chartType 图表类型\n * @returns advancedPipeline\n */\n static getAdvancedPipeline = (chartType: ChartType) => {\n const customPipe = Builder._customAdvancedPipe[chartType] as AdvancedPipe\n const pipeline = Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n if (customPipe) {\n pipeline.push(customPipe)\n }\n return pipeline\n }\n\n /**\n * @description 获取specPipeline\n * @param chartType 图表类型\n * @returns specPipeline\n */\n\n static getSpecPipeline = (chartType: ChartType) => {\n const customPipe = Builder._customSpecPipe[chartType] as SpecPipe\n const pipeline = Builder._specPipelineMap[chartType] as SpecPipeline\n if (customPipe) {\n pipeline.push(customPipe)\n }\n return pipeline\n }\n\n /**\n * @description 根据主题key获取主题配置\n * @param themeKey 主题key\n * @example Builder.getTheme('light'), 获取浅色主题\n * @returns 主题配置\n */\n static getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n\n /**\n * @description 获取主题配置映射表\n * @example Builder.getThemeMap()\n * @returns 主题配置映射表\n */\n static getThemeMap = () => Builder._themeMap\n\n /**\n * @description 从vseed创建builder\n * @param vseed 完整的vseed DSL\n * @returns builder\n */\n static from = (vseed: VSeed) => new Builder(vseed)\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _customAdvancedPipe: Partial<Record<ChartType, AdvancedPipe>> = {}\n static _customSpecPipe: Partial<Record<ChartType, SpecPipe>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n}\n","import type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType, locale } = vseed\n return {\n ...advancedVSeed,\n chartType,\n locale: locale || 'zh-CN',\n } as AdvancedVSeed\n}\n","import type { AdvancedPipe, Datum, MeasureTree } from 'src/types'\n\nexport const autoMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { measures, dataset } = vseed\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (measures) {\n result.measures = measures as MeasureTree\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return result\n}\n","/**\n * 支持泛型的非递归前序遍历\n * @param tree 根节点数组\n * @param callback 遍历时对每个节点执行的回调,返回 true 时停止遍历\n */\nexport const preorderTraverse = <T extends { id: string }, U extends { id: string; children?: (T | U)[] }>(\n tree: (T | U)[],\n callback: (node: T | U) => boolean,\n) => {\n if (!tree || tree.length === 0) return\n\n const stack: (T | U)[] = [...tree].reverse()\n\n while (stack.length > 0) {\n const node = stack.pop()!\n const stop = callback(node)\n if (stop === true) {\n return\n }\n if (!('children' in node)) {\n continue\n }\n const children = node.children\n if (children && children.length > 0) {\n for (let i = children.length - 1; i >= 0; i--) {\n const child = children[i]\n stack.push(child)\n }\n }\n }\n}\n","import type { Measure, MeasureGroup, MeasureTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\nexport const findMeasureById = (measures: MeasureTree = [], id: string): Measure | undefined => {\n if (!measures) return undefined\n let result: Measure | undefined\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n if (node.id === id) {\n result = node as Measure\n return true\n }\n }\n return false\n })\n return result\n}\n\nexport const findFirstMeasure = (measures: MeasureTree = []): Measure | undefined => {\n if (!measures) return undefined\n let result: Measure | undefined\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n result = node as Measure\n return true\n }\n return false\n })\n return result\n}\n\nexport const findAllMeasures = (measures: MeasureTree = []): Measure[] => {\n if (!measures) return []\n const result: Measure[] = []\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n result.push(node as Measure)\n }\n return false\n })\n return result\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum } from 'src/types'\n\nexport const autoDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const measures = findAllMeasures(advancedVSeed.measures)\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n result.dimensions = dimensions.map((dim) => ({\n location: 'dimension',\n ...dim,\n }))\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: 'dimension',\n }))\n\n return result\n}\n","import type { AdvancedPipe } from 'src/types'\n\nexport const records: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { dataset } = vseed\n return {\n ...advancedVSeed,\n dataset,\n }\n}\n","function u(o,n,a){let t=r=>o(r,...n);return a===void 0?t:Object.assign(t,{lazy:a,lazyArgs:n})}export{u as a};\n","import{a as t}from\"./chunk-D6FCK2GA.js\";function u(r,n,o){let a=r.length-n.length;if(a===0)return r(...n);if(a===1)return t(r,n,o);throw new Error(\"Wrong number of arguments\")}export{u as a};\n","import{a as t}from\"./chunk-WIMGWYZL.js\";function i(...e){return t(o,e)}function o(e,s){let r={};for(let n of s)n in e&&(r[n]=e[n]);return r}export{i as a};\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, Config } from 'src/types'\n\nexport const tableConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'bodyFontSize',\n 'bodyFontColor',\n 'bodyBackgroundColor',\n 'headerFontSize',\n 'headerFontColor',\n 'headerBackgroundColor',\n 'hoverHeaderBackgroundColor',\n 'hoverHeaderInlineBackgroundColor',\n 'selectedBorderColor',\n 'selectedBackgroundColor',\n ]) as Config['pivotTable']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result\n}\n","function r(o){if(typeof o!=\"object\"||o===null)return!1;let e=Object.getPrototypeOf(o);return e===null||e===Object.prototype}export{r as a};\n","import{a as o}from\"./chunk-BZNENX2T.js\";import{a as u}from\"./chunk-WIMGWYZL.js\";function D(...e){return u(s,e)}function s(e,t){let r={...e,...t};for(let n in t){if(!(n in e))continue;let{[n]:i}=e;if(!o(i))continue;let{[n]:c}=t;o(c)&&(r[n]=s(i,c))}return r}export{D as a};\n","import{a as y}from\"./chunk-WIMGWYZL.js\";function d(...n){return y(u,n)}function u(n,o=[],t=[]){if(typeof n==\"function\")return n;if(typeof n!=\"object\"||n===null)return structuredClone(n);let r=Object.getPrototypeOf(n);if(!Array.isArray(n)&&r!==null&&r!==Object.prototype)return structuredClone(n);let e=o.indexOf(n);return e!==-1?t[e]:(o.push(n),Array.isArray(n)?p(n,o,t):i(n,o,t))}function i(n,o,t){let r={};t.push(r);for(let[e,c]of Object.entries(n))r[e]=u(c,o,t);return r}function p(n,o,t){let r=[];t.push(r);for(let[e,c]of n.entries())r[e]=u(c,o,t);return r}export{d as a};\n","function t(r){return typeof r==\"string\"}export{t as a};\n","function e(r){return typeof r==\"number\"&&!Number.isNaN(r)}export{e as a};\n","function o(e){return typeof e==\"object\"&&e!==null}export{o as a};\n","import{a as r}from\"./chunk-WIMGWYZL.js\";function t(...e){return r(u,e)}var u=(e,o)=>({...e,...o});export{t as a};\n","import { clone, isNullish, isNumber, isObjectType, isString, merge, mergeDeep } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const theme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light', chartType } = vseed\n const result = {\n ...advancedVSeed,\n } as AdvancedVSeed\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n\n const chartConfigTheme = customTheme?.[theme].config?.[chartType]\n if (chartConfigTheme) {\n const chartConfig = result.config?.[chartType] || {}\n const mergedConfig = mergeDeep(chartConfigTheme, clone(chartConfig))\n\n // 数组项不会被Merge, 需要将1个主题配置, 合并到数组的每一项\n for (const _k in mergedConfig) {\n const key = _k as keyof typeof mergedConfig\n // 配置的第一层, 如果是数组, 则数组的每一项目和主题配置合并\n if (Array.isArray(mergedConfig[key])) {\n mergedConfig[key] = mergeArray(mergedConfig[key], chartConfigTheme[key])\n }\n }\n\n result.config = {\n [chartType]: mergedConfig,\n }\n }\n\n const chartCustomTheme = customTheme?.[theme]?.config?.[chartType]\n\n result.customTheme = {\n config: {\n [chartType]: chartCustomTheme,\n },\n }\n\n return result\n}\n\nconst mergeArray = <Destination extends Array<object>, Source extends object | number | string | undefined | null>(\n arr: Destination,\n themeItem: Source,\n): Destination => {\n if (isNullish(themeItem) || isString(themeItem) || isNumber(themeItem)) {\n return arr\n }\n\n if (!Array.isArray(arr)) {\n return arr\n }\n\n if (arr.some((d) => !isObjectType(d))) {\n return arr\n }\n\n return arr.map((item) => {\n return merge(themeItem, item)\n }) as Destination\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport { initAdvancedVSeed, autoDimensions, autoMeasures, records, tableConfig } from '../pipes'\nimport { theme } from '../../chart/pipes'\n\nexport const tableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n records,\n tableConfig,\n theme,\n]\n","import type { ListTableConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initTable: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const { config } = advancedVSeed\n const { backgroundColor = 'transparent' } = config.table || {}\n\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n showHeader: true,\n tooltip: {\n isShowOverflowTextTooltip: true,\n },\n animationAppear: {\n duration: 300,\n delay: 250,\n type: 'one-by-one',\n direction: 'row',\n },\n hover: {\n highlightMode: 'row',\n },\n theme: {\n underlayBackgroundColor: backgroundColor,\n },\n } as ListTableConstructorOptions\n}\n","import type { Measure, MeasureGroup } from 'src/types'\n\nexport const isMeasure = (measure: Measure | MeasureGroup): measure is Measure => {\n return !('children' in measure)\n}\n\nexport const isMeasureGroup = (measure: Measure | MeasureGroup): measure is MeasureGroup => {\n return 'children' in measure\n}\n\nexport const isMeasures = (measures: Measure[] | MeasureGroup[]): measures is Measure[] => {\n return measures.every(isMeasure)\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport { isMeasure } from 'src/pipeline/utils'\nimport type { Dimension, DimensionGroup, DimensionTree, SpecPipe } from 'src/types'\n\nexport const dimensionTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: DimensionTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const eachNode = (node: Dimension | DimensionGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Dimension, DimensionGroup>(dimensions, eachNode)\n\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n","function n(e){return e===void 0?!0:typeof e==\"string\"||Array.isArray(e)?e.length===0:Object.keys(e).length===0}export{n as a};\n","import { isNumber } from 'remeda'\nimport { intl } from '../../../i18n'\nimport type { Formatter, Locale, NumFormat } from 'src/types'\n\nexport const createNumFormatter = (format: NumFormat, locale: Locale = intl.getLocale()): Formatter => {\n const {\n type = 'number',\n ratio = 1,\n symbol = '',\n thousandSeparator = true,\n prefix = '',\n suffix = '',\n\n fractionDigits = 2,\n significantDigits,\n roundingMode = 'halfExpand',\n roundingPriority = 'auto',\n } = format || {}\n\n const numFormatterOptions: Intl.NumberFormatOptions = {\n style: 'decimal',\n notation: type === 'scientific' ? 'scientific' : 'standard',\n // @ts-expect-error roundingMode is not in NumberFormatOptions\n roundingMode,\n roundingPriority,\n }\n\n if (isNumber(fractionDigits)) {\n if (fractionDigits >= 0) {\n numFormatterOptions.minimumFractionDigits = fractionDigits\n numFormatterOptions.maximumFractionDigits = fractionDigits\n }\n }\n if (isNumber(significantDigits) && significantDigits > 0) {\n if (significantDigits > 0) {\n numFormatterOptions.minimumSignificantDigits = significantDigits\n numFormatterOptions.maximumSignificantDigits = significantDigits\n }\n }\n\n const numFormatter = new Intl.NumberFormat(locale, numFormatterOptions)\n\n return (value?: number | string) => {\n let num = Number(value)\n let typeSymbol = ''\n if (Number.isNaN(num)) {\n return String(value)\n }\n\n // apply ratio for percent/permille\n if (type === 'percent') {\n num *= 100\n typeSymbol = '%'\n } else if (type === 'permille') {\n num *= 1000\n typeSymbol = '‰'\n } else if (type === 'number') {\n num = num / (ratio || 1)\n }\n\n // format value\n let numStr = numFormatter.format(num)\n\n // add thousand separator\n if (thousandSeparator) {\n const parts = numStr.split('.')\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n numStr = parts.join('.')\n }\n\n // add symbol, typeSymbol, prefix and suffix\n return `${prefix}${numStr}${typeSymbol}${symbol}${suffix}`\n }\n}\n\nexport const autoNumFormatter = (value?: number | string, locale: Locale = intl.getLocale()): string => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const numFormatterOptions: Intl.NumberFormatOptions = {\n style: 'decimal',\n notation: 'compact',\n }\n numFormatterOptions.minimumFractionDigits = 0\n numFormatterOptions.maximumFractionDigits = 2\n\n const numFormatter = new Intl.NumberFormat(locale, { ...numFormatterOptions })\n\n return numFormatter.format(Number(value))\n}\n","import type { Formatter, Locale, NumFormat } from 'src/types'\nimport { autoNumFormatter, createNumFormatter } from './createNumFormatter'\n\nexport const createFormatter = (format: Partial<NumFormat>): Formatter => {\n return createNumFormatter(format)\n}\n\nexport const autoFormatter = (value?: number | string, locale?: Locale): string => {\n return autoNumFormatter(value, locale)\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport type { FieldFormat } from '@visactor/vtable/es/ts-types'\nimport { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, isMeasure } from 'src/pipeline/utils'\nimport type { MeasureGroup, Measure, MeasureTree, SpecPipe, Datum, Locale } from 'src/types'\n\nexport const measureTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { locale } = advancedVSeed\n const measures = (advancedVSeed as unknown as { measures: MeasureTree }).measures\n const result = { ...spec } as ListTableConstructorOptions\n\n const eachNode = (node: Measure | MeasureGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n fieldFormat: fieldFormat(node, locale),\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Measure, MeasureGroup>(measures, eachNode)\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst fieldFormat =\n (node: Measure, locale: Locale): FieldFormat =>\n (datum: Datum) => {\n const { format = {}, autoFormat = true, id } = node\n const value = datum[id] as number | string | undefined\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n\n return\n }\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const bodyStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\n const { advancedVSeed } = context\n const { chartType, config } = advancedVSeed\n const themeConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themeConfig) return result\n\n // basic\n const borderColor = themeConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themeConfig.bodyBackgroundColor || '#fff'\n const fontColor = themeConfig.bodyFontColor || '#1B1F23'\n const fontSize = themeConfig.bodyFontSize || 12\n // Interaction\n const hoverCellBgColor = themeConfig.hoverBodyBackgroundColor || '#bedaff'\n const hoverInlineColor = themeConfig.hoverBodyInlineBackgroundColor || '#bedaff'\n\n result.theme.bodyStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8.6, 12, 8.6, 12],\n textAlign: 'right',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n color: fontColor,\n fontSize: fontSize,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const headerStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n result.theme.headerStyle = {\n borderColor: 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: [null, null, borderColor, null],\n borderLineWidth: 1,\n },\n fontSize: 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","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const frameStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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\n result.theme.frameStyle = {\n borderColor,\n borderLineWidth: 0,\n cornerRadius: 4,\n }\n\n return result\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const selectionStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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.selectedBorderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.selectedBackgroundColor || 'rgb(224, 224, 224, 0.5)'\n\n result.theme.selectionStyle = {\n cellBorderColor: borderColor,\n cellBorderLineWidth: 2,\n cellBgColor: backgroundColor,\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport { initTable, dimensionTreeToColumns, measureTreeToColumns, bodyStyle, headerStyle, frameStyle, selectionStyle } from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n]\n","import { tableAdvancedPipeline, tableSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerTable = () => {\n Builder._advancedPipelineMap['table'] = tableAdvancedPipeline\n Builder._specPipelineMap['table'] = tableSpecPipeline\n}","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Measures } from 'src/types'\n\nexport const autoPivotMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const measures = findAllMeasures(vseed.measures as Measures)\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (vseed.measures) {\n result.measures = findAllMeasures(measures)\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return result\n}\n","import type { Dimension, DimensionGroup, DimensionTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\n// TODO: 未来可能有用的函数, 需要时再取消注释\n// export const findDimensionById = (dimensions: DimensionTree = [], id: string): Dimension | undefined => {\n// if (!dimensions) return undefined\n// let result: Dimension | undefined\n// preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n// if (!('children' in node)) {\n// if (node.id === id) {\n// result = node as Dimension\n// return true\n// }\n// }\n// return false\n// })\n// return result\n// }\n\n// TODO: 未来可能有用的函数, 需要时再取消注释\n// export const findFirstDimension = (dimensions: DimensionTree = []): Dimension | undefined => {\n// if (!dimensions) return undefined\n// let result: Dimension | undefined\n// preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n// if (!('children' in node)) {\n// result = node as Dimension\n// return true\n// }\n// return false\n// })\n// return result\n// }\n\nexport const findAllDimensions = (dimensions: DimensionTree = []): Dimension[] => {\n if (!dimensions) return []\n const result: Dimension[] = []\n preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n if (!('children' in node)) {\n result.push(node as Dimension)\n }\n return false\n })\n return result\n}\n","import { findAllDimensions, findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Dimensions, Measures } from 'src/types'\n\nexport const autoPivotDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const measures = findAllMeasures(advancedVSeed.measures as Measures)\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n const newDimensions = findAllDimensions(dimensions) as Dimensions\n result.dimensions = newDimensions.map((item, index) => {\n if (item.location === 'rowDimension' || item.location === 'columnDimension') {\n return item\n }\n return {\n ...item,\n location: index % 2 === 0 ? 'columnDimension' : 'rowDimension',\n }\n }) as Dimensions\n\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n let i = 0\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: i++ % 2 === 0 ? 'columnDimension' : 'rowDimension',\n })) as Dimensions\n\n return result\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, Config } from 'src/types'\n\nexport const pivotTableConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'bodyFontSize',\n 'bodyFontColor',\n 'bodyBackgroundColor',\n 'headerFontSize',\n 'headerFontColor',\n 'headerBackgroundColor',\n 'hoverHeaderBackgroundColor',\n 'hoverHeaderInlineBackgroundColor',\n 'selectedBorderColor',\n 'selectedBackgroundColor',\n ]) as Config['table']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport { autoPivotDimensions, autoPivotMeasures, initAdvancedVSeed, pivotTableConfig, records } from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoPivotMeasures,\n autoPivotDimensions,\n records,\n pivotTableConfig,\n theme,\n]\n","import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivotTable: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const { config } = advancedVSeed\n const { backgroundColor = 'transparent' } = config.pivotTable || {}\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n columnResizeType: 'column',\n showColumnHeader: true,\n showRowHeader: true,\n select: {\n highlightMode: 'cell',\n headerSelectMode: 'inline',\n },\n hover: {\n highlightMode: 'cross',\n },\n tooltip: {\n isShowOverflowTextTooltip: true,\n },\n corner: {\n titleOnDimension: 'all',\n },\n widthAdaptiveMode: 'all',\n animationAppear: {\n duration: 300,\n delay: 250,\n type: 'one-by-one',\n direction: 'row',\n },\n theme: {\n underlayBackgroundColor: backgroundColor,\n },\n } as PivotTableConstructorOptions\n}\n","import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const columns = dimensions.filter((item) => item['location'] === 'columnDimension')\n\n return {\n ...spec,\n columns: columns.map((item) => {\n return {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }),\n } as PivotTableConstructorOptions\n}\n","import type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRows: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const rows = dimensions.filter((item) => item['location'] === 'rowDimension')\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","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { FieldFormat } from '@visactor/vtable/es/ts-types'\nimport { isEmpty } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { autoFormatter, createFormatter, isMeasure } from 'src/pipeline/utils'\nimport type { Locale, Measure, Measures, SpecPipe } from 'src/types'\n\nexport const pivotIndicators: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { locale } = advancedVSeed\n const measures = (advancedVSeed as unknown as { measures: Measures }).measures\n\n return {\n ...spec,\n indicatorsAsCol: true,\n indicatorTitle: intl.i18n`指标名称`,\n indicators: measures.map((item) => {\n if (isMeasure(item)) {\n return {\n cellType: 'text',\n indicatorKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n format: fieldFormat(item, locale),\n }\n }\n return {}\n }) as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat =\n (node: Measure, locale: Locale): FieldFormat =>\n (value: number | string) => {\n const { format = {}, autoFormat = true } = node\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n\n return\n }\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const rowHeaderStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n result.theme.rowHeaderStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8.6, 12, 8.6, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n frameStyle: {\n borderColor: [null, borderColor, null, null],\n borderLineWidth: 1,\n },\n fontSize: 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","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const cornerHeaderStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor\n const hoverCellColor = themConfig.hoverHeaderBackgroundColor\n\n result.theme.cornerHeaderStyle = {\n borderColor: [borderColor, borderColor],\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellColor || undefined,\n inlineRowBgColor: hoverInlineColor || undefined,\n inlineColumnBgColor: hoverInlineColor || undefined,\n },\n frameStyle: {\n borderColor: [null, borderColor, borderColor, null],\n borderLineWidth: 1,\n },\n fontSize: 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","export var AggregationType;\n\n!function(AggregationType) {\n AggregationType.RECORD = \"RECORD\", AggregationType.NONE = \"NONE\", AggregationType.SUM = \"SUM\", \n AggregationType.MIN = \"MIN\", AggregationType.MAX = \"MAX\", AggregationType.AVG = \"AVG\", \n AggregationType.COUNT = \"COUNT\", AggregationType.CUSTOM = \"CUSTOM\", AggregationType.RECALCULATE = \"RECALCULATE\";\n}(AggregationType || (AggregationType = {}));\n\nexport var SortType;\n\n!function(SortType) {\n SortType.ASC = \"ASC\", SortType.DESC = \"DESC\", SortType.NORMAL = \"NORMAL\", SortType.desc = \"desc\", \n SortType.asc = \"asc\", SortType.normal = \"normal\";\n}(SortType || (SortType = {}));\n//# sourceMappingURL=new-data-set.js.map\n","import { AggregationType } from '@visactor/vtable/es/ts-types'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataConfig: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const measures = findAllMeasures(advancedVSeed.measures)\n\n const aggregationRules = measures.map((measure) => ({\n field: measure.id,\n aggregationType: AggregationType.NONE,\n indicatorKey: measure.id,\n }))\n\n return {\n ...spec,\n dataConfig: {\n aggregationRules,\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n dataConfig,\n]\n","import { pivotTableAdvancedPipeline, pivotTableSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerPivotTable = () => {\n Builder._advancedPipelineMap['pivotTable'] = pivotTableAdvancedPipeline\n Builder._specPipelineMap['pivotTable'] = pivotTableSpecPipeline\n}","import type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType, locale } = vseed\n return {\n ...advancedVSeed,\n chartType,\n locale: locale || 'zh-CN',\n } as AdvancedVSeed\n}\n","// Reshape\nexport const ORIGINAL_DATA = '__OriginalData__'\nexport const Separator = '-'\n\n// Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureId = '__MeaId__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const MeasureName = FoldMeasureName\n\n// Measures For DualAxis\nexport const FoldPrimaryMeasureValue = '__MeaPrimaryValue__'\nexport const FoldSecondaryMeasureValue = '__MeaSecondaryValue__'\n\n// Measures For Scatter\nexport const FoldXMeasureValue = '__MeaXValue__'\nexport const FoldYMeasureValue = '__MeaYValue__'\n\n// Encoding\nexport const XEncoding = '__Dim_X__'\nexport const YEncoding = '__Dim_Y__'\nexport const AngleEncoding = '__Dim_Angle__'\nexport const DetailEncoding = '__Dim_Detail__'\nexport const ColorEncoding = '__Dim_Color__'\nexport const ColorIdEncoding = '__Dim_ColorId__'\n","import { MeasureName } from 'src/dataReshape'\nimport { intl } from 'src/i18n'\nimport type { Datum, Dimension, Dimensions, VSeed } from 'src/types'\n\nexport const getBasicDimensions = (vseed: VSeed): Dimensions => {\n const { dimensions, dataset } = vseed\n\n const MeaName: Dimension = {\n id: MeasureName,\n alias: intl.i18n`指标名称`,\n encoding: 'detail',\n }\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return []\n }\n\n if (dimensions) {\n const basicDimensions = dimensions.map((dim) => ({\n location: 'dimension',\n ...dim,\n })) as Dimensions\n\n if (basicDimensions.some((dim) => dim.id === MeasureName)) {\n return basicDimensions\n }\n\n basicDimensions.push(MeaName)\n\n return basicDimensions\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n const basicDimensions = Object.keys(sample)\n .filter(\n (key) => top100dataset.some((item) => typeof item[key] === 'string') && !['', null, undefined].includes(key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: 'dimension',\n })) as Dimensions\n\n basicDimensions.push(MeaName)\n\n return basicDimensions\n}\n","import type { Dataset, Datum, Measures, VSeed } from 'src/types'\n\n/**\n * @description 获取指标, 无指标时, 自动生成指标\n * @param vseed vseed\n * @returns 指标\n */\nexport const getBasicMeasures = (vseed: VSeed): Measures => {\n const { dataset, measures } = vseed\n\n // 无指标时, 自动生成指标\n if (!measures || measures.length === 0) {\n return generateMeasuresByDataset(dataset)\n }\n\n return measures\n}\n\n/**\n * @description 自动根据数据集生成指标\n * @param dataset 数据集\n * @returns \n */\nexport const generateMeasuresByDataset = (dataset: Dataset) => {\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return []\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n const basicMeasures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return basicMeasures\n}\n\n/**\n * @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithChildren = (vseed: VSeed) => {\n const { measures } = vseed\n\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'children' in measure)\n}\n\n/**\n * @description 检查是否为指标树, 指标树存在parentId. 如果存在一个指标有parentId, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithParentId = (vseed: VSeed) => {\n const { measures } = vseed\n\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'parentId' in measure)\n}\n","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForLine: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { Measure, MeasureGroup, MeasureTree } from \"src/types\"\nimport { preorderTraverse } from \"../tree/traverse\"\n\n/**\n * 获取measures的深度\n * @param measures\n * @param id\n * @returns\n */\nexport const measureDepth = (measures: MeasureTree = []): number => {\n if (!measures) return 0\n let depth = 1\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if ('children' in node) {\n depth = Math.max(depth, 1 + measureDepth(node.children))\n }\n return false\n })\n return depth\n}\n","import type { Dimensions, DimensionGroup, DimensionTree, VSeed, Measure } from 'src/types'\nimport { measureDepth } from './measures'\nimport { isMeasureTreeWithChildren, isMeasureTreeWithParentId } from '../advanced/chart/pipes/measures/utils'\nimport { unique } from 'remeda'\n\nexport const isTable = (vseed: VSeed) => {\n return vseed.chartType === 'table'\n}\nexport const isPivotTable = (vseed: VSeed) => {\n return vseed.chartType === 'pivotTable'\n}\nexport const isVTable = (vseed: VSeed) => {\n return ['table', 'pivotTable'].includes(vseed.chartType)\n}\nexport const isVChart = (vseed: VSeed): boolean => {\n return !isVTable(vseed)\n}\nexport const isPivotChart = (vseed: VSeed) => {\n if (isVTable(vseed)) {\n return false\n }\n\n if (isMeasureTreeWithParentId(vseed)) {\n const parentIds = vseed.measures?.map((measure: Measure) => measure.parentId)\n return parentIds && unique(parentIds).length > 1\n }\n\n if (vseed.chartType === 'dualAxis' || vseed.chartType === 'scatter') {\n const { dimensions = [] } = vseed as {\n dimensions: Dimensions\n }\n const hasRowOrColumnDimension =\n dimensions &&\n dimensions.some((dimension) => dimension.location === 'rowDimension' || dimension.location === 'columnDimension')\n\n if (hasRowOrColumnDimension) {\n return true\n }\n\n if (vseed.chartType === 'scatter') {\n if (isMeasureTreeWithChildren(vseed)) {\n const depth = measureDepth(vseed.measures)\n return depth === 3\n }\n\n if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) {\n return true\n }\n return false\n }\n if (vseed.chartType === 'dualAxis') {\n if (isMeasureTreeWithChildren(vseed)) {\n const depth = measureDepth(vseed.measures)\n return depth === 3\n }\n\n if (vseed.dualMeasures && vseed.dualMeasures.length > 1) {\n return true\n }\n }\n\n return false\n }\n\n const { measures = [], dimensions = [] } = vseed as {\n measures: DimensionTree\n dimensions: Dimensions\n }\n\n const hasRowOrColumnDimension =\n dimensions &&\n dimensions.some((dimension) => dimension.location === 'rowDimension' || dimension.location === 'columnDimension')\n\n const hasMeasureGroup = measures && measures.some((measure: DimensionGroup) => measure && measure.children)\n\n return hasRowOrColumnDimension || hasMeasureGroup\n}\n","import type { AdvancedPipe, Column, MeasureGroup, Measures, MeasureTree } from 'src/types'\nimport { getBasicMeasures, isMeasureTreeWithChildren, isMeasureTreeWithParentId } from './utils'\nimport { isPivotChart } from 'src/pipeline/utils'\n\nexport const buildMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: Column\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n const basicMeasures = getBasicMeasures(vseed)\n\n if (isPivotChart(vseed)) {\n advancedVSeed.measures = basicMeasuresToMeasureTree(basicMeasures)\n } else {\n advancedVSeed.measures = basicMeasures\n }\n\n return advancedVSeed\n}\n\nconst generateMeasuresByParentId = (measures: Measures): MeasureTree => {\n const measureTree: MeasureGroup[] = []\n\n measures.forEach((measure) => {\n if (!measure.parentId) {\n return\n }\n\n const parent = measureTree.find((item) => item.id === measure.parentId)\n\n if (parent && 'children' in parent) {\n parent.children = parent.children || []\n parent.children.push(measure)\n } else {\n measureTree.push({\n id: measure.parentId,\n children: [measure],\n })\n }\n })\n\n return measureTree\n}\n\nconst basicMeasuresToMeasureTree = (measures: Measures): MeasureTree => {\n const id = measures.map((item) => item.id).join('-')\n const alias = measures.map((item) => item.alias || item.id).join('-')\n return [\n {\n id,\n alias,\n children: measures,\n },\n ]\n}\n","import { MeasureName } from 'src/dataReshape'\nimport { intl } from 'src/i18n'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Dimension, Dimensions, DimensionTree, VSeed } from 'src/types'\n\nexport const autoDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const measures = findAllMeasures(advancedVSeed.measures as DimensionTree)\n\n const MeaName: Dimension = {\n id: MeasureName,\n alias: intl.i18n`指标名称`,\n }\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n result.dimensions = dimensions.map((dim) => ({\n location: 'dimension',\n ...dim,\n }))\n\n if (result.dimensions.some((dim) => dim.id === MeasureName)) {\n return result\n }\n\n result.dimensions.push(MeaName)\n\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: 'dimension',\n }))\n result.dimensions.push(MeaName)\n\n return result\n}\n","import type { AdvancedPipe, AdvancedPipeline, AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline, isPivotChart } from 'src/pipeline/utils'\n\nexport const pivotAdapter = (pipeline: AdvancedPipeline, pivotPipeline: AdvancedPipeline): AdvancedPipe => {\n return (advancedVSeed, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pivotPipeline, context, advancedVSeed)\n }\n\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context, advancedVSeed)\n }\n}\n","import{a as o}from\"./chunk-LFJW7BOT.js\";import{a}from\"./chunk-ANXBDSUI.js\";function T(...e){return o(y,e)}function y(e){let u=e,n=new Set;return(t,i,d)=>{let r=u(t,i,d);return n.has(r)?a:(n.add(r),{done:!1,hasNext:!0,next:t})}}export{T as a};\n","import{a as t}from\"./chunk-WIMGWYZL.js\";function i(...e){return t(n,e)}var n=(e,r)=>e.length>=r;export{i as a};\n","import{a as n}from\"./chunk-AIG3BDKO.js\";import{a as i}from\"./chunk-WIMGWYZL.js\";function y(...t){return i(f,t)}function f(t,e){if(!n(e,1))return{...t};if(!n(e,2)){let{[e[0]]:r,...m}=t;return m}let o={...t};for(let r of e)delete o[r];return o}export{y as a};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Dataset, FoldInfo, Measures } from 'src/types'\nimport { ColorEncoding, ColorIdEncoding, ORIGINAL_DATA } from './constant'\nimport { omit } from 'remeda'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measures,\n options: {\n measureId: string\n measureName: string\n measureValue: string\n colorMeasureId?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const { measureId, measureName, measureValue, colorMeasureId } = options || {}\n\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n colorRange: [0, 1],\n measureRange: [0, 1],\n foldMap: {},\n }\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n const ids = measures.map((d) => d.id)\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = omit({ ...dataset[i] }, ids)\n\n datum[ORIGINAL_DATA] = dataset[i]\n\n const measure = measures[j]\n const { id, alias } = measure\n\n datum[id] = dataset[i][id] as unknown\n datum[measureId] = id\n datum[measureName] = alias || id\n datum[measureValue] = dataset[i][id] as unknown\n\n if (colorMeasureId) {\n const value = (datum[ORIGINAL_DATA] as Record<string, string | number>)[colorMeasureId]\n datum[ColorEncoding] = value\n datum[ColorIdEncoding] = colorMeasureId\n\n foldInfo.colorRange = [\n Math.min(foldInfo.colorRange[0] || Infinity, Number(value)),\n Math.max(foldInfo.colorRange[1] || -Infinity, Number(value)),\n ]\n }\n\n foldInfo.measureRange = [\n Math.min(foldInfo.measureRange[0] || Infinity, Number(datum[id])),\n Math.max(foldInfo.measureRange[1] || -Infinity, Number(datum[id])),\n ]\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n","import type { Dataset, Datum, Dimension, Encoding, UnfoldInfo } from 'src/types'\nimport { AngleEncoding, XEncoding, YEncoding, ColorEncoding, DetailEncoding, ColorIdEncoding } from './constant'\n\n/**\n * @description 展开并合并视觉通道的维度, 在foldMeasures后合并维度, 所以不需要进行笛卡尔积\n * @param dataset 原始数据集\n * @param dimensions 维度\n * @param encoding 编码\n * @param options\n * @returns\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n encoding: Encoding,\n options: {\n foldMeasureId: string\n separator: string\n colorItemAsId: boolean\n },\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n const { foldMeasureId, separator, colorItemAsId } = options\n\n const unfoldInfo: UnfoldInfo = {\n encodingAngle: AngleEncoding,\n encodingX: XEncoding,\n encodingY: YEncoding,\n encodingDetail: DetailEncoding,\n encodingColor: ColorEncoding,\n encodingColorId: ColorIdEncoding,\n\n colorItems: [],\n colorIdMap: {},\n }\n\n // 每个通道对应的维度\n const { color, x, y, detail, angle } = encoding\n const angleDimensions = angle ? dimensions.filter((dim) => angle.includes(dim.id)) : []\n const xDimensions = x ? dimensions.filter((dim) => x.includes(dim.id)) : []\n const yDimensions = y ? dimensions.filter((dim) => y.includes(dim.id)) : []\n const colorDimensions = color ? dimensions.filter((dim) => color.includes(dim.id)) : []\n const detailDimensions = detail ? dimensions.filter((dim) => detail.includes(dim.id)) : []\n\n // 离散图例项\n const colorItems = new Set<string>()\n const colorIdMap: Record<string, string> = {}\n\n // 遍历数据集, 按通道合并维度\n for (let i = 0; i < dataset.length; i++) {\n // 应用编码至Datum上\n const datum = dataset[i]\n\n /**\n * !important 这是全仓库, 最最最重要的五行代码, 贯穿VSeed整个生命周期, 是化繁为简的绝对核心\n * 1. 点睛之笔: 呼应foldMeasures, 此时此刻的datum一定是单点数据, 维度合并不可能造成任何冲突.\n * 2. 数据即通道\n * 3. 利用需要合并的维度, 直接进行join, 即可生成新的维度, 与指标彻底解耦;\n * 4. 以下通道均在一次遍历中完成, 不存在性能问题\n * 5. 以下通道均可放入多个维度\n */\n applyEncoding(AngleEncoding, angleDimensions, datum, separator)\n applyEncoding(XEncoding, xDimensions, datum, separator)\n applyEncoding(YEncoding, yDimensions, datum, separator)\n applyEncoding(ColorEncoding, colorDimensions, datum, separator)\n applyEncoding(DetailEncoding, detailDimensions, datum, separator)\n\n // 处理离散的颜色图例\n if (!colorDimensions.length || !datum[ColorEncoding]) {\n // 无颜色通道, 则跳过\n continue\n }\n const measureId = String(datum[foldMeasureId])\n const colorItem = String(datum[ColorEncoding])\n const colorId = colorItemAsId ? colorItem : measureId ? [colorItem, measureId].join(separator) : colorItem\n datum[ColorIdEncoding] = colorId\n colorIdMap[colorId] = colorItem\n colorItems.add(colorId)\n }\n\n unfoldInfo.colorItems = Array.from(colorItems)\n unfoldInfo.colorIdMap = colorIdMap\n\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * @description 应用编码至数据中, 此方法会原地修改数据\n * @param encoding 编码\n * @param dimensions 维度\n * @param datum 数据\n * @param separator 分隔符\n * @returns undefined\n */\nconst applyEncoding = (encoding: string, dimensions: Dimension[], datum: Datum, separator: string) => {\n if (encoding && dimensions.length) {\n datum[encoding] = dimensions.map((dim) => String(datum[dim.id])).join(separator)\n }\n}\n","import type { Dataset, Dimension, Encoding, FoldInfo, Measure, Measures, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, Separator } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nexport const dataReshapeByEncoding = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n encoding: Encoding,\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n colorItemAsId?: boolean\n colorMeasureId?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n colorItemAsId = false,\n colorMeasureId,\n } = options || {}\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures as Measures, {\n measureId: foldMeasureId,\n measureName: foldMeasureName,\n measureValue: foldMeasureValue,\n colorMeasureId,\n })\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {\n foldMeasureId,\n separator: Separator,\n colorItemAsId,\n })\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedVSeed, SpecPipe } from 'src/types'\n\nexport const colorAdapter = (ordinalPipe: SpecPipe, linearPipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const { advancedVSeed } = context\n if (isLinearColor(advancedVSeed)) {\n return linearPipe(spec, context)\n }\n return ordinalPipe(spec, context)\n }\n}\n\nexport const isLinearColor = <T extends AdvancedVSeed>(advancedVSeed: T) => {\n const { encoding, measures } = advancedVSeed\n const measureIdList = findAllMeasures(measures).map((measure) => measure.id)\n const { color } = encoding\n return color?.length === 1 && measureIdList.includes(color[0])\n}\n\nexport const getColorMeasureId = <T extends AdvancedVSeed>(advancedVSeed: T): string | undefined => {\n if (isLinearColor(advancedVSeed)) {\n const { encoding } = advancedVSeed\n const { color } = encoding\n return color?.[0]\n }\n return undefined\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, ColumnParallel, Encoding } from 'src/types'\n\nexport const reshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { dimensions, measures, encoding } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const {\n dataset: newDatasets,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(findAllMeasures(measures), (item) => item.id),\n encoding as Encoding,\n {\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(measures, (item) => item.id),\n encoding as Encoding,\n {\n foldMeasureValue: `${FoldMeasureValue}${groupId}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n const reshapeInfo = {\n id: groupId,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import{a as n}from\"./chunk-WIMGWYZL.js\";function m(...r){return n(o,r)}function o(r,t){let e=[...r];return e.sort(t),e}export{m as a};\n","import { sort, unique } from 'remeda'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Datum, Line, Sort } from 'src/types'\n\nexport const sortXBandAxis: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sort: sortAxis } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed as { datasetReshapeInfo: DatasetReshapeInfo; dataset: Dataset }\n const { unfoldInfo } = datasetReshapeInfo[0]\n const xField = unfoldInfo.encodingX\n if (!sortAxis || !xField) {\n return advancedVSeed\n }\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2))\n\n result.analysis.orderMapping[xField] = axisOrderResult\n\n return result\n}\n\nexport const calcOrder = (sortConfig: Sort, id: string, dataset: Dataset): string[] => {\n if (sortConfig.customOrder) {\n return sortConfig.customOrder\n }\n\n const order = sortConfig.order || 'asc'\n const orderBy = sortConfig.orderBy\n\n const res = sort(dataset, (a, b) => {\n const aValue = a[orderBy || id] as string | number\n const bValue = b[orderBy || id] as string | number\n\n if (order === 'asc') {\n if (aValue < bValue) {\n return -1\n }\n if (aValue > bValue) {\n return 1\n }\n return 0\n }\n if (aValue > bValue) {\n return -1\n }\n if (aValue < bValue) {\n return 1\n }\n return 0\n })\n\n return unique(res.map((item: Datum) => item[id] as string))\n}\n","import { sort, unique } from 'remeda'\nimport type { AdvancedPipe, Dataset, Datum, Line, SortLegend } from 'src/types'\n\nexport const sortLegend: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sortLegend } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed\n const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId\n const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap\n const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems\n if (!sortLegend || !colorId || !colorIdMap || !colorItems) {\n return advancedVSeed\n }\n\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n if (sortLegend.customOrder) {\n const nameMap = Object.keys(colorIdMap).reduce<Record<string, string>>((pre, cur) => {\n pre[colorIdMap[cur]] = cur\n return pre\n }, {})\n\n // 先根据名称匹配, 若名称不存在, 则根据id匹配, 从而兼容名称和id的两种情况\n const orderRes = sortLegend.customOrder.map((itemNameOrId) =>\n nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId,\n )\n result.analysis.orderMapping[colorId] = orderRes\n return result\n }\n\n const orderRes = calcOrder(sortLegend, colorId, dataset?.flat(2) || [])\n result.analysis.orderMapping[colorId] = orderRes\n\n return result\n}\n\nconst calcOrder = (sortConfig: SortLegend, id: string, dataset: Dataset): string[] => {\n if (sortConfig.customOrder) {\n return sortConfig.customOrder\n }\n\n const order = sortConfig.order || 'asc'\n const orderBy = sortConfig.orderBy\n\n const res = sort(dataset, (a, b) => {\n const aValue = a[orderBy || id] as string | number\n const bValue = b[orderBy || id] as string | number\n\n if (order === 'asc') {\n if (aValue < bValue) {\n return -1\n }\n if (aValue > bValue) {\n return 1\n }\n return 0\n }\n if (aValue > bValue) {\n return -1\n }\n if (aValue < bValue) {\n return 1\n }\n return 0\n })\n\n return unique(res.map((item: Datum) => item[id] as string))\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairLine',\n ]) as Config['line']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const columnConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'stackCornerRadius',\n ]) as Config['column']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const pieConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip']) as Config['pie']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const areaConfig: AdvancedPipe = lineConfig\nexport const areaPercentConfig: AdvancedPipe = lineConfig\nexport const scatterConfig: AdvancedPipe = lineConfig\n\nexport const barConfig: AdvancedPipe = columnConfig\nexport const barParallelConfig: AdvancedPipe = columnConfig\nexport const barPercentConfig: AdvancedPipe = columnConfig\nexport const columnParallelConfig: AdvancedPipe = columnConfig\nexport const columnPercentConfig: AdvancedPipe = columnConfig\n\nexport const donutConfig: AdvancedPipe = pieConfig\nexport const roseConfig: AdvancedPipe = pieConfig\nexport const roseParallelConfig: AdvancedPipe = pieConfig\nexport const funnelConfig: AdvancedPipe = pieConfig\nexport const heatmapConfig: AdvancedPipe = pieConfig\nexport const radarConfig: AdvancedPipe = pieConfig","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const markStyle: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n\n const markStyle = pick(vseed, ['barStyle', 'pointStyle', 'lineStyle', 'areaStyle']) as AdvancedVSeed['markStyle']\n\n return { ...advancedVSeed, markStyle }\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const annotation: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const annotation = pick(vseed, [\n 'annotationPoint',\n 'annotationHorizontalLine',\n 'annotationVerticalLine',\n 'annotationArea',\n ]) as AdvancedVSeed['annotation']\n\n return { ...advancedVSeed, annotation }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n lineConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForLine,\n buildMeasures,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForLine,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n lineConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = foldInfo.measureValue\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const color: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const colorItems = unfoldInfo.colorItems\n const colorIdMap = unfoldInfo.colorIdMap\n\n const { color } = baseConfig\n const { colorScheme, colorMapping } = color\n\n result.color = {\n type: 'ordinal',\n domain: colorItems,\n range: colorScheme,\n specified: createSpecifiedForColorMapping(colorMapping, colorIdMap, colorItems),\n } as ILineChartSpec['color']\n return result\n}\n\nexport const createSpecifiedForColorMapping = (\n colorMapping?: Record<string, string>,\n colorIdMap?: Record<string, string>,\n colorItems?: string[],\n) => {\n if (!colorMapping || !colorIdMap || !colorItems) {\n return undefined\n }\n\n const matchedList: string[] = []\n\n // 名称越长优先级越高: 按名称长度降, 优先匹配名称长的, 避免一个短的名称匹配到了超多个长的\n const colors = Object.entries(colorMapping).sort((a, b) => b[0].length - a[0].length)\n // 准确匹配\n const accurateMap = colors.reduce(\n (prev, cur) => {\n const name = cur[0]\n const colorValue = cur[1]\n\n const accurateMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias]) => {\n return colorKey === name || colorAlias === name\n })\n accurateMatchedList.forEach((item) => {\n prev[item[0]] = colorValue\n matchedList.push(name)\n })\n\n return prev\n },\n {} as Record<string, string>,\n )\n\n // 模糊匹配\n const fuzzyMap = colors.reduce(\n (prev, cur) => {\n const name = cur[0]\n const colorValue = cur[1]\n if (matchedList.includes(name)) {\n return prev\n }\n\n const fuzzyMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias]) => {\n return colorKey.includes(name) || colorAlias.includes(name)\n })\n fuzzyMatchedList.forEach((item) => {\n // 已经匹配有值, 则不重复匹配\n if (prev[item[0]]) {\n return\n }\n prev[item[0]] = colorValue\n })\n\n return prev\n },\n {} as Record<string, string>,\n )\n\n // 合并, 准确匹配的优先级高\n return {\n ...fuzzyMap,\n ...accurateMap,\n }\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const linearColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo, id } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n result.color = {\n type: 'linear',\n range: linearColorScheme || colorScheme || [],\n domain: [\n {\n dataId: id,\n fields: [unfoldInfo.encodingColor],\n },\n ],\n }\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { BackgroundColor, SpecPipe } from 'src/types'\n\nexport const backgroundColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { backgroundColor: BackgroundColor }\n\n const { backgroundColor } = baseConfig\n\n return {\n ...result,\n background: backgroundColor,\n }\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetXY: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const orderMapping = analysis?.orderMapping || {}\n const angle = unfoldInfo.encodingAngle\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ILineSeriesSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const progressive: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineSeriesSpec\n const { advancedVSeed } = context\n const { dataset = [] } = advancedVSeed\n const size = dataset.length\n\n if (size < 5000) {\n return result\n }\n\n result.large = true\n result.largeThreshold = 5000\n result.progressiveStep = 400\n result.progressiveThreshold = 8000\n\n return result\n}\n","import type { ICartesianBandAxisSpec, ISpec } from '@visactor/vchart'\nimport type { SpecPipe, XBandAxis } from 'src/types'\n\nexport const xBand: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const config = advancedVSeed.config?.[chartType as 'column']?.xAxis as XBandAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n labelAutoHide,\n labelAutoHideGap,\n labelAutoLimit,\n labelAutoLimitLength = 80,\n labelAutoRotate,\n labelAutoRotateAngleRange,\n } = config\n\n const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit)\n\n const bandAxis = {\n visible,\n type: 'band',\n orient: 'bottom',\n maxHeight: labelAutoLimitLength + 60,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n space: 8,\n style: {\n maxLineWidth: labelAutoLimitLength,\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n\n // 防重叠相关\n minGap: labelAutoHideGap,\n autoHide: labelAutoHide,\n autoHideMethod: 'greedy',\n autoHideSeparation: labelAutoHideGap,\n autoLimit: labelAutoLimit,\n autoRotate: labelAutoRotate,\n autoRotateAngle: labelAutoRotateAngleRange,\n lastVisible: true,\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n paddingInner: [0.15, 0.1],\n paddingOuter: [0.075, 0.1],\n } as ICartesianBandAxisSpec\n\n result.axes = [...result.axes, bandAxis] as ISpec['axes']\n return result\n}\n","// 标注层 z-index \nexport const ANNOTATION_Z_INDEX = 1000\n// 线性轴 顶部空隙 预留5px\nexport const LINEAR_AXIS_INNER_OFFSET_TOP = 7\n// 双轴图 柱图 ZIndex\nexport const DUAL_AXIS_CHART_COLUMN_Z_INDEX = 1000\n// 双轴图 非柱图 ZIndex\nexport const DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX = 1001\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\n\nexport const yLinear: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale } = advancedVSeed\n const config = advancedVSeed.config?.[chartType as 'column']?.yAxis as YLinearAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = config\n\n const linearAxis = {\n visible,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'left',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { ILineLikeLabelSpec } from '@visactor/vchart/esm/series/mixin/interface'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, Label, SpecPipe } from 'src/types'\nimport { isEmpty } from 'remeda'\n\nexport const label: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n","import { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, SpecPipe, Tooltip } from 'src/types'\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const { measureId, measureValue, measureName } = datasetReshapeInfo[0].foldInfo\n const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const verticalCrosshairLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'line']?.crosshairLine\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const lineColor = config.lineColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || undefined\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.xField = {\n visible,\n line: {\n type: 'line',\n style: {\n lineWidth: 1,\n opacity: 1,\n stroke: lineColor,\n lineDash: [4, 2],\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nexport const discreteLegend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight,\n maxSize = 1,\n border,\n shapeType = 'rectRound',\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'discrete',\n visible: enable,\n maxCol: Math.max(1, maxSize),\n maxRow: Math.max(1, maxSize),\n autoPage: true,\n orient,\n position: legendPosition,\n data: border\n ? (items) => {\n return items.map((item) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n item.shape.outerBorder = {\n stroke: item.shape.fill,\n distance: 3,\n lineWidth: 1,\n }\n return item\n })\n }\n : undefined,\n item: {\n focus: true,\n maxWidth: '30%',\n focusIconStyle: {\n size: labelFontSize + 2,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n shape: {\n space: border ? 6 : 4,\n style: {\n symbolType: shapeType,\n size: border ? 8 : 10,\n },\n },\n label: {\n formatMethod: (value) => {\n return unfoldInfo.colorIdMap[String(value)] ?? value\n },\n style: {\n fontSize: labelFontSize,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n },\n background: {\n state: {\n selectedHover: {\n fill: labelFontColor,\n fillOpacity: 0.05,\n },\n },\n },\n },\n padding: 0,\n }\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nexport const colorLegend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'color',\n visible: enable,\n orient,\n position: legendPosition,\n padding: 0,\n field: unfoldInfo.encodingColor,\n maxWidth: '30%',\n startText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n endText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n }\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorPointStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as ILineChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.point?.style) {\n result.point.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { Datum } from 'src/types'\nimport type {\n DimensionSelector,\n MeasureSelector,\n PartialDatumSelector,\n Selector,\n Selectors,\n ValueSelector,\n} from '../types/dataSelector'\nimport { omit } from 'remeda'\n\nexport const selector = (vchartDatum: Datum, selector: Selector | Selectors | undefined | null) => {\n // 无有效选择器, 则认为全部匹配成功\n if (!selector) {\n return true\n }\n\n const selectorMode = 'And'\n\n // 过滤掉 vchart 相关字段\n const vchartKeys = Object.keys(vchartDatum).filter((k) => k.toLocaleLowerCase().startsWith('__vchart'))\n const datum = omit(vchartDatum, vchartKeys) as Datum\n\n // 统一处理选择器为数组\n const selectors = (Array.isArray(selector) ? selector : [selector]) as Selectors\n\n return selectors[selectorMode === 'And' ? 'every' : 'some']((selector) => {\n // 1. 字符串或数字\n if (isValueSelector(selector)) {\n if (Object.values(datum).find((v) => v === selector)) {\n return true\n }\n }\n\n // 2. 指标选择器\n else if (isMeasureSelector(selector)) {\n const op = selector.operator || selector.op\n const selectorValueArr = Array.isArray(selector.value) ? selector.value : [selector.value]\n\n switch (op) {\n case '=':\n case '==':\n if (datum[selector.field] === selectorValueArr[0]) {\n return true\n }\n break\n case '!=':\n if (datum[selector.field] !== selectorValueArr[0]) {\n return true\n }\n break\n case '>':\n if (datum[selector.field] > selectorValueArr[0]) {\n return true\n }\n break\n case '<':\n if (datum[selector.field] < selectorValueArr[0]) {\n return true\n }\n break\n case '>=':\n if (datum[selector.field] >= selectorValueArr[0]) {\n return true\n }\n break\n case '<=':\n if (datum[selector.field] <= selectorValueArr[0]) {\n return true\n }\n break\n case 'between':\n if (\n Array.isArray(selector.value) &&\n datum[selector.field] >= selectorValueArr[0] &&\n datum[selector.field] <= selectorValueArr[1]\n ) {\n return true\n }\n break\n default:\n break\n }\n }\n // 3. 维度选择器\n else if (isDimensionSelector(selector)) {\n const op = selector.operator || selector.op\n const selectorValueArr = Array.isArray(selector.value) ? selector.value : [selector.value]\n switch (op) {\n case 'in':\n if (selectorValueArr.includes(datum[selector.field] as string | number)) {\n return true\n }\n break\n case 'not in':\n if (!selectorValueArr.includes(datum[selector.field] as string | number)) {\n return true\n }\n break\n default:\n break\n }\n }\n // 4. 部分数据对象选择器\n else if (isPartialDatumSelector(selector)) {\n if (Object.keys(selector).every((key) => datum[key] === selector[key])) {\n return true\n }\n }\n\n return false\n })\n}\n\nexport const isValueSelector = (selector: Selector): selector is ValueSelector => {\n return typeof selector === 'string' || typeof selector === 'number'\n}\n\nexport const isPartialDatumSelector = (selector: Selector): selector is PartialDatumSelector => {\n return typeof selector === 'object' && selector !== null\n}\n\nexport const isMeasureSelector = (selector: Selector): selector is MeasureSelector => {\n return (\n typeof selector === 'object' &&\n selector !== null &&\n 'field' in selector &&\n ('operator' in selector || 'op' in selector) &&\n 'value' in selector &&\n (['=', '==', '!=', '>', '<', '>=', '<=', 'between'].includes(selector.operator as string) ||\n ['=', '==', '!=', '>', '<', '>=', '<=', 'between'].includes(selector.op as string))\n )\n}\n\nexport const isDimensionSelector = (selector: Selector): selector is DimensionSelector => {\n return (\n typeof selector === 'object' &&\n selector !== null &&\n 'field' in selector &&\n ('operator' in selector || 'op' in selector) &&\n 'value' in selector &&\n (['in', 'not in'].includes(selector.operator as string) || ['in', 'not in'].includes(selector.op as string))\n )\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, PointStyle, SpecPipe } from 'src/types'\n\nexport const pointStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle } = advancedVSeed\n const { pointStyle } = markStyle\n const result = {\n ...spec,\n point: {\n style: {},\n },\n } as IAreaChartSpec\n\n if (!pointStyle) {\n return result\n }\n const pointStyles = (Array.isArray(pointStyle) ? pointStyle : [pointStyle]) as PointStyle[]\n\n const customMap = pointStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n innerBorder: {\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n distance: (pointBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n point: {\n ...result.point,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { ISeriesMarkAttributeContext } from '@visactor/vchart/esm/compile/mark'\nimport type { SpecPipe } from 'src/types'\n\nexport const pointStateDimensionHover: SpecPipe = (spec) => {\n const point = (spec as IScatterChartSpec).point || {}\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n dimension_hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n outerBorder: {\n lineWidth: 4,\n strokeOpacity: 0.25,\n distance: 2,\n },\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n\nexport const pointStateHover: SpecPipe = (spec, context) => {\n const point = (spec as IScatterChartSpec).point || {}\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n stroke: (datum, context: ISeriesMarkAttributeContext) => {\n const field = unfoldInfo.encodingColorId\n const color = context.seriesColor(datum[field] as string)\n return color\n },\n fillOpacity: 0.6,\n lineWidth: 1,\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorLineStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as ILineChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.line?.style) {\n result.line.style.stroke = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import{a}from\"./chunk-WIMGWYZL.js\";function i(...e){return a(p,e)}var p=(e,d)=>{let r=Object.create(null);for(let n=0;n<e.length;n++){let t=e[n],y=d(t,n,e);if(y!==void 0){let o=r[y];o===void 0?r[y]=[t]:o.push(t)}}return Object.setPrototypeOf(r,Object.prototype),r};export{i as a};\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, LineStyle, SpecPipe } from 'src/types'\nimport { groupBy } from 'remeda'\n\nexport const lineStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { lineStyle } = markStyle\n const result = {\n ...spec,\n line: {\n style: {},\n },\n } as IAreaChartSpec\n if (!lineStyle) {\n return result\n }\n\n const lineStyles = (Array.isArray(lineStyle) ? lineStyle : [lineStyle]) as LineStyle[]\n\n const colorId = unfoldInfo.encodingColorId\n const lineGroups = groupBy(dataset, (d) => d[colorId ?? ''] as string)\n\n const customMap = lineStyles.reduce<object>((result, style, index) => {\n const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth = 2, lineVisible = true } = style\n\n const dashSegment = lineWidth * 2\n const dashGap = lineWidth\n\n const lineDash =\n lineStyle === 'dashed' ? [dashSegment, dashSegment] : lineStyle === 'dotted' ? [dashGap / 2, dashGap * 2] : [0, 0]\n\n const curveType = lineSmooth ? 'monotone' : 'linear'\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = lineGroups[datum[colorId ?? ''] as string]\n for (const d of lineData) {\n if (selector(d, style.selector)) {\n return true\n }\n }\n return false\n },\n style: {\n visible: lineVisible,\n curveType: curveType,\n strokeOpacity: lineColorOpacity,\n stroke: lineColor,\n lineWidth: lineWidth,\n lineDash: lineDash,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n line: {\n ...result.line,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { Datum } from \"src/types\"\n\nexport const isSubset = (sub: Datum, obj: Datum) => {\n return Object.entries(sub).every(([key, value]) => {\n if (typeof value === 'string') {\n return obj[key] === value\n }\n if (typeof value === 'number') {\n return obj[key] === value\n }\n return true\n })\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationPoint: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationPoint) {\n return spec\n }\n\n const { annotationPoint } = annotation\n const annotationPointList = Array.isArray(annotationPoint) ? annotationPoint : [annotationPoint]\n\n const markPoint = annotationPointList.flatMap((annotationPoint) => {\n const {\n selector: selectorPoint,\n text = '',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n textBackgroundBorderColor,\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundColor = '#212121',\n textBackgroundPadding = 2,\n textBackgroundVisible = true,\n offsetX = 0,\n offsetY = 0,\n } = annotationPoint\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n position: (data: Datum[], context: ICartesianSeries) => {\n const targetDatum = data.find((item) => isSubset(datum, item))\n if (targetDatum) {\n const { x, y } = context.dataToPosition(targetDatum) as { x: number; y: number }\n return {\n x,\n y,\n }\n }\n },\n\n itemLine: {\n visible: false,\n },\n itemContent: {\n offsetY,\n offsetX,\n text: {\n text: text,\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n dy: textFontSize,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n dy: textFontSize,\n },\n },\n },\n },\n }\n })\n }) as ILineChartSpec['markPoint']\n\n return {\n ...spec,\n markPoint,\n }\n}\n","function o(r){return Array.isArray(r)}export{o as a};\n","import type { ILineChartSpec, IMarkLineSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { SpecPipe } from 'src/types'\nimport { isArray, isNumber, isString } from 'remeda'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationVerticalLine: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation, datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!annotation || !annotation.annotationVerticalLine) {\n return spec\n }\n\n const { annotationVerticalLine } = annotation\n const annotationVerticalLineList = Array.isArray(annotationVerticalLine)\n ? annotationVerticalLine\n : [annotationVerticalLine]\n\n const positionMap = {\n outsideStart: 'start',\n outsideEnd: 'end',\n outsideMiddle: 'middle',\n insideStart: 'insideStartTop',\n insideMiddle: 'insideMiddleTop',\n insideEnd: 'insideEndTop',\n }\n const markLine = annotationVerticalLineList.flatMap((annotationVerticalLine) => {\n const {\n selector: selectorPoint,\n xValue,\n text = '',\n textPosition = 'insideEnd',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'right',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundBorderColor = '#212121',\n textBackgroundColor = '#212121',\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundPadding = 2,\n\n lineVisible = true,\n lineColor = '#212121',\n lineWidth = 1,\n lineStyle = 'dashed',\n } = annotationVerticalLine\n\n const dataset = advancedVSeed.dataset.flat()\n\n const generateOneMarkLine = (x: number | string) => ({\n x: x as string,\n zIndex: ANNOTATION_Z_INDEX,\n line: {\n style: {\n visible: lineVisible,\n stroke: lineColor,\n lineStyle: lineStyle,\n lineWidth: lineWidth,\n lineDash: lineStyle === 'dashed' ? [5, 2] : lineStyle === 'dotted' ? [2, 5] : [0],\n },\n },\n label: {\n text: text,\n position: positionMap[textPosition || 'insideEnd'],\n style: {\n visible: true,\n stroke: textBackgroundColor,\n lineWidth: 1,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n dy: textFontSize,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n size: 10 + (lineWidth || 1),\n style: {\n dy: 4,\n fill: lineColor,\n },\n },\n })\n\n if ((!selectorPoint && isArray(xValue)) || isString(xValue) || isNumber(xValue)) {\n const xValueArr = Array.isArray(xValue) ? xValue : [xValue]\n return xValueArr.map(generateOneMarkLine)\n }\n\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n const x = unfoldInfo.encodingX\n if (!x) {\n return {}\n }\n return generateOneMarkLine(datum[x] as string)\n })\n }) as IMarkLineSpec[]\n\n const specMarkLine = ((spec as ILineChartSpec).markLine as IMarkLineSpec[]) || []\n const newMarkLine = [...specMarkLine, ...(markLine || [])]\n\n return {\n ...spec,\n markLine: newMarkLine,\n }\n}\n","import type { ILineChartSpec, IMarkLineSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { SpecPipe } from 'src/types'\nimport { isArray, isNumber, isString } from 'remeda'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationHorizontalLine: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!annotation || !annotation.annotationHorizontalLine) {\n return spec\n }\n\n const { annotationHorizontalLine } = annotation\n const annotationVerticalLineList = Array.isArray(annotationHorizontalLine)\n ? annotationHorizontalLine\n : [annotationHorizontalLine]\n\n const positionMap = {\n outsideStart: 'start',\n outsideEnd: 'end',\n outsideMiddle: 'middle',\n insideStart: 'insideStartTop',\n insideMiddle: 'insideMiddleTop',\n insideEnd: 'insideEndTop',\n }\n\n const markLine = annotationVerticalLineList.flatMap((annotationVerticalLine) => {\n const {\n selector: selectorPoint,\n yValue,\n text = '',\n textPosition = 'insideEnd',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'right',\n textBaseline = 'top',\n\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\n\n textBackgroundVisible = true,\n textBackgroundColor = '#212121',\n textBackgroundBorderColor = '#212121',\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundPadding = 2,\n } = annotationVerticalLine\n\n const dataset = advancedVSeed.dataset.flat()\n\n const generateOneMarkLine = (y: string | number) => {\n return {\n y,\n zIndex: ANNOTATION_Z_INDEX,\n line: {\n style: {\n visible: lineVisible,\n stroke: lineColor,\n lineStyle: lineStyle,\n lineWidth: lineWidth,\n lineDash: lineStyle === 'dashed' ? [5, 2] : lineStyle === 'dotted' ? [2, 5] : [0],\n },\n },\n label: {\n text: text,\n position: positionMap[textPosition || 'insideEnd'],\n style: {\n visible: true,\n dy: textFontSize,\n stroke: textBackgroundColor,\n lineWidth: 1,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n size: 10 + (lineWidth || 1),\n style: {\n dx: -4,\n fill: lineColor,\n },\n },\n }\n }\n\n if ((!selectorPoint && isArray(yValue)) || isString(yValue) || isNumber(yValue)) {\n const yValueArr = Array.isArray(yValue) ? yValue : [yValue]\n return yValueArr.map(generateOneMarkLine)\n }\n\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n const y = unfoldInfo.encodingY\n if (!y) {\n return {}\n }\n return generateOneMarkLine(datum[y] as string)\n })\n }) as IMarkLineSpec[]\n const specMarkLine = ((spec as ILineChartSpec).markLine as IMarkLineSpec[]) || []\n const newMarkLine = [...specMarkLine, ...(markLine || [])]\n return {\n ...spec,\n markLine: newMarkLine,\n }\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationArea: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationArea) {\n return spec\n }\n\n const { annotationArea } = annotation\n const annotationAreaList = Array.isArray(annotationArea) ? annotationArea : [annotationArea]\n\n const positionMap = {\n top: 'insideTop',\n topRight: 'insideTopRight',\n topLeft: 'insideTopLeft',\n bottom: 'insideBottom',\n bottomLeft: 'insideBottomLeft',\n bottomRight: 'insideBottomRight',\n left: 'insideLeft',\n right: 'insideRight',\n }\n\n const markArea = annotationAreaList.flatMap((annotationArea) => {\n const {\n selector: selectorPoint,\n text = '',\n textPosition = 'top',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundColor = '#191d24',\n textBackgroundBorderColor = '#191d24',\n textBackgroundBorderWidth = 1,\n textBackgroundBorderRadius = 4,\n textBackgroundPadding = 4,\n\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor = '#888888',\n areaBorderRadius = 4,\n areaBorderWidth = 1,\n\n outerPadding = 4,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n const labelPosition = positionMap[textPosition || 'top']\n const isBottom = labelPosition.toLocaleLowerCase().includes('bottom')\n\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n positions: (data: Datum[], context: ICartesianSeries) => {\n const positionData = data.filter((item) => selectedData.some((datum) => isSubset(datum, item)))\n const xyList = positionData.map((datum) => context.dataToPosition(datum) as { x: number; y: number })\n\n const yAxisHelper = context.getYAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n const xAxisHelper = context.getXAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n\n if (typeof xAxisHelper?.getBandwidth === 'function') {\n const yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - (outerPadding || 4)\n const maxX = Math.max(...xyList.map((item) => item.x)) + (outerPadding || 4)\n const minY = Math.min(...yScale.range())\n const maxY = Math.max(...yScale.range())\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n if (typeof yAxisHelper?.getBandwidth === 'function') {\n const xScale = xAxisHelper.getScale()\n\n const minY = Math.min(...xyList.map((item) => item.y)) - (outerPadding || 4)\n const maxY = Math.max(...xyList.map((item) => item.y)) + (outerPadding || 4)\n const minX = Math.min(...xScale.range())\n const maxX = Math.max(...xScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n return []\n },\n label: {\n position: labelPosition,\n visible: true,\n text: text,\n style: {\n dy: isBottom ? -(textFontSize || 12) * 2 : textFontSize,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: isBottom ? -(textFontSize || 12) * 2 : textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n lineWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivot: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n animation: true,\n rows: [],\n columns: [],\n indicators: [],\n records: [],\n widthMode: 'adaptive',\n heightMode: 'adaptive',\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const hoverBackgroundColor = 'rgba(178,186,207, 0.2)'\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: [0, 0, 2, 0],\n bgColor: transparent,\n padding: [0, 0, 1, 0],\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n textAlign: 'center',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n rowHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n textAlign: 'center',\n fontSize: 12,\n color: '#333333',\n fontWeight: 'bold',\n borderLineWidth: [0, 0, 0, 0],\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n bottomFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderLineWidth: 0,\n bgColor: transparent,\n },\n },\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPivot: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const records = dataset.reduce((pre, cur, index) => {\n const id = datasetReshapeInfo[index].id\n pre[id] = cur\n return pre\n }, {})\n return {\n ...result,\n records: records,\n } as PivotChartConstructorOptions\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.location === 'rowDimension')\n const rows: IBasicDimension[] = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.location === 'columnDimension')\n const columns: IBasicDimension[] = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n columns: columns,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IDiscreteTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport { unique } from 'remeda'\nimport type { Color, Legend, SpecPipe } from 'src/types'\nimport { createSpecifiedForColorMapping } from '../color/color'\n\nexport const pivotDiscreteLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n\n const colorItems = unique(\n datasetReshapeInfo.flatMap((d) => {\n return d.unfoldInfo.colorItems\n }),\n )\n\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n const { legend, color } = baseConfig\n const { colorScheme, colorMapping } = color\n\n const colorSpecified = createSpecifiedForColorMapping(colorMapping, colorIdMap, colorItems)\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight = 400,\n maxSize = 1,\n border,\n shapeType = 'rectRound',\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends: IDiscreteTableLegendOption = {\n visible: enable,\n type: 'discrete',\n orient,\n position: legendPosition,\n maxCol: Math.max(1, maxSize),\n maxRow: Math.max(1, maxSize),\n data: colorItems.map((d, index) => {\n const color = colorSpecified?.[d] ?? colorScheme?.[index % colorScheme.length]\n return {\n label: d,\n shape: {\n outerBorder: border\n ? {\n stroke: color,\n distance: 3,\n lineWidth: 1,\n }\n : undefined,\n fill: color,\n },\n }\n }),\n\n item: {\n focus: true,\n maxWidth: '30%',\n focusIconStyle: {\n size: labelFontSize + 2,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n shape: {\n space: border ? 6 : 4,\n style: {\n symbolType: shapeType,\n size: border ? 8 : 10,\n },\n },\n label: {\n formatMethod: (value: string) => {\n return colorIdMap[value] ?? value\n },\n style: {\n fontSize: labelFontSize,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n },\n background: {\n state: {\n selectedHover: {\n fill: labelFontColor,\n fillOpacity: 0.05,\n },\n },\n },\n },\n } as unknown as IDiscreteTableLegendOption\n return { ...result, legends }\n}\n","import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline, isPivotChart } from '../../../../utils'\n\nexport const pivotAdapter = (pipeline: SpecPipeline, pivotPipeline: SpecPipeline): SpecPipe => {\n return (spec, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<Spec, SpecPipelineContext>(pivotPipeline, context, spec)\n }\n\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, spec)\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorLineStyleFill,\n colorPointStyleFill,\n} from '../pipes'\n\nconst line: SpecPipeline = [\n initLine,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n colorAdapter(discreteLegend, colorLegend),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotLine: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initLine,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const lineSpecPipeline: SpecPipeline = [pivotAdapter(line, pivotLine)]\n","import { lineAdvancedPipeline, lineSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForColumn: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n columnConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForColumn,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n columnConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumn: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n return {\n ...spec,\n stackCornerRadius: (_, datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n","import type { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const stackInverse: SpecPipe = (spec) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.stackInverse = true\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const verticalCrosshairRect: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'column']?.crosshairRect\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const rectColor = config.rectColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || false\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.xField = {\n visible,\n line: {\n type: 'rect',\n style: {\n lineWidth: 0,\n opacity: 0.2,\n fill: rectColor,\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorBarStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IBarChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.bar?.style) {\n result.bar.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { BarStyle, Datum, SpecPipe } from 'src/types'\n\nexport const barStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, dataset = [] } = advancedVSeed\n const { barStyle } = markStyle\n\n const showStroke = dataset.length <= 100\n\n const result = {\n ...spec,\n bar: {\n style: {\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n fillOpacity: 0.6,\n },\n },\n },\n } as IBarChartSpec\n\n if (!barStyle) {\n return result\n }\n\n const barStyles = (Array.isArray(barStyle) ? barStyle : [barStyle]) as BarStyle[]\n\n const customMap = barStyles.reduce<object>((result, style, index) => {\n const {\n barBorderColor,\n barBorderStyle,\n barBorderWidth = 1,\n barColor,\n barColorOpacity,\n barRadius,\n barVisible = true,\n } = style\n\n const lineDash = barBorderStyle === 'dashed' ? [5, 2] : barBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: barVisible,\n fill: barColor,\n fillOpacity: barColorOpacity,\n cornerRadius: barRadius,\n innerBorder: {\n stroke: barBorderColor,\n lineWidth: barBorderWidth,\n distance: (barBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n bar: {\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationAreaBand: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationArea) {\n return spec\n }\n\n const { annotationArea } = annotation\n const annotationAreaList = Array.isArray(annotationArea) ? annotationArea : [annotationArea]\n\n const positionMap = {\n top: 'insideTop',\n topRight: 'insideTopRight',\n topLeft: 'insideTopLeft',\n bottom: 'insideBottom',\n bottomLeft: 'insideBottomLeft',\n bottomRight: 'insideBottomRight',\n left: 'insideLeft',\n right: 'insideRight',\n }\n\n const markArea = annotationAreaList.flatMap((annotationArea) => {\n const {\n selector: selectorPoint,\n text = '',\n textPosition = 'top',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundColor = '#191d24',\n textBackgroundBorderColor = '#191d24',\n textBackgroundBorderWidth = 1,\n textBackgroundBorderRadius = 4,\n textBackgroundPadding = 4,\n\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor = '#888888',\n areaBorderRadius = 4,\n areaBorderWidth = 1,\n\n outerPadding = 4,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n positions: (data: Datum[], context: ICartesianSeries) => {\n const positionData = data.filter((item) => selectedData.some((datum) => isSubset(datum, item)))\n const xyList = positionData.map((datum) => context.dataToPosition(datum) as { x: number; y: number })\n\n const yAxisHelper = context.getYAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n const xAxisHelper = context.getXAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n\n if (typeof xAxisHelper?.getBandwidth === 'function') {\n const depth = context.fieldX.length ?? 0\n const xBandWidth = xAxisHelper?.getBandwidth?.(depth - 1)\n const yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - (outerPadding || 4)\n const maxX = Math.max(...xyList.map((item) => item.x)) + xBandWidth + (outerPadding || 4)\n const minY = Math.min(...yScale.range())\n const maxY = Math.max(...yScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n if (typeof yAxisHelper?.getBandwidth === 'function') {\n const depth = context.fieldY.length ?? 0\n const yBandWidth = yAxisHelper?.getBandwidth?.(depth - 1)\n const xScale = xAxisHelper.getScale()\n\n const minY = Math.min(...xyList.map((item) => item.y)) - (outerPadding || 4)\n const maxY = Math.max(...xyList.map((item) => item.y)) + yBandWidth + (outerPadding || 4)\n const minX = Math.min(...xScale.range())\n const maxX = Math.max(...xScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n return []\n },\n label: {\n position: positionMap[textPosition || 'top'],\n visible: true,\n text: text,\n style: {\n dy: textFontSize,\n textAlign: textAlign,\n textBaseline: textBaseline,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n lineWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IColorTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport type { Color, Legend, SpecPipe } from 'src/types'\n\nexport const pivotColorLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const max = Math.max(...datasetReshapeInfo.map((d) => d.foldInfo.colorRange[1]))\n const min = Math.min(...datasetReshapeInfo.map((d) => d.foldInfo.colorRange[0]))\n const { legend, color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends: IColorTableLegendOption = {\n visible: enable,\n type: 'color',\n orient,\n position: legendPosition,\n\n colors: linearColorScheme || colorScheme || [],\n value: [min, max],\n min: min,\n max: max,\n\n maxWidth: '30%',\n startText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n endText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n }\n return { ...result, legends }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n datasetXY,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst column: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorAdapter(discreteLegend, colorLegend),\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumn: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import { columnAdvancedPipeline, columnSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n columnParallelConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n buildMeasures,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForColumn,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n columnParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumnParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = sameDimensionsMode ? [unfoldInfo.encodingX] : [unfoldInfo.encodingX, unfoldInfo.encodingDetail]\n result.yField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n xBand,\n yLinear,\n initColumnParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumnParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumnParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import { columnParallelAdvancedPipeline, columnParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n columnPercentConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForColumn,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n columnPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const percent: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n datasetXY,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumnPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n percent,\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import { columnPercentAdvancedPipeline, columnPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForBar: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.y = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.y.length === 0) {\n encoding.y = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.y?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.y?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, Dataset, DatasetReshapeInfo, Line } from 'src/types'\nimport { calcOrder } from './sortXBand'\n\nexport const sortYBandAxis: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sort: sortAxis } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed as { datasetReshapeInfo: DatasetReshapeInfo; dataset: Dataset }\n const { unfoldInfo } = datasetReshapeInfo[0]\n const yField = unfoldInfo?.encodingY\n if (!sortAxis || !yField) {\n return advancedVSeed\n }\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n const axisOrderResult = calcOrder(sortAxis, yField, dataset.flat(2))\n\n result.analysis.orderMapping[yField] = axisOrderResult\n\n return result\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n buildMeasures,\n autoDimensions,\n pivotAdapter,\n barConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForBar,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortYBandAxis,\n sortLegend,\n barConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = unfoldInfo.encodingY\n result.xField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetYX: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const orderMapping = analysis?.orderMapping || {}\n\n const angle = unfoldInfo.encodingAngle\n const y = unfoldInfo.encodingY\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (y) {\n const order = orderMapping[y]\n if (order) {\n fields[y] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[y] = {\n sortIndex: 0,\n }\n }\n }\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport type { SpecPipe, XLinearAxis } from 'src/types'\nimport { autoFormatter } from '../../../../utils'\n\nexport const xLinear: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale } = advancedVSeed\n const config = advancedVSeed.config?.[chartType as 'bar']?.xAxis as XLinearAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = config\n\n const linearAxis = {\n visible,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'bottom',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n right: LINEAR_AXIS_INNER_OFFSET_TOP,\n // left: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ICartesianBandAxisSpec, ISpec } from '@visactor/vchart'\nimport type { SpecPipe, XBandAxis } from 'src/types'\n\nexport const yBand: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const config = advancedVSeed.config?.[chartType as 'bar']?.yAxis as XBandAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n labelAutoHide,\n labelAutoHideGap,\n labelAutoLimit,\n labelAutoLimitLength = 80,\n labelAutoRotate,\n labelAutoRotateAngleRange,\n } = config\n\n const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit)\n\n const bandAxis = {\n visible,\n type: 'band',\n orient: 'left',\n maxWidth: labelAutoLimitLength + 60,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n containerAlign: 'right',\n space: 8,\n style: {\n maxLineWidth: labelAutoLimitLength,\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n // 防重叠相关\n minGap: labelAutoHideGap,\n autoHide: labelAutoHide,\n autoHideMethod: 'greedy',\n autoHideSeparation: labelAutoHideGap,\n autoLimit: labelAutoLimit,\n autoRotate: labelAutoRotate,\n autoRotateAngle: labelAutoRotateAngleRange,\n lastVisible: true,\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n paddingInner: [0.15, 0.1],\n paddingOuter: [0.075, 0.1],\n } as ICartesianBandAxisSpec\n\n result.axes = [...result.axes, bandAxis] as ISpec['axes']\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const horizontalCrosshairRect: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'column']?.crosshairRect\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const rectColor = config.rectColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || false\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.yField = {\n visible,\n line: {\n type: 'rect',\n style: {\n lineWidth: 0,\n opacity: 0.2,\n fill: rectColor,\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n datasetYX,\n xLinear,\n yBand,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst bar: SpecPipeline = [\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBar: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import { barAdvancedPipeline, barSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n buildMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n barParallelConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n buildMeasures,\n autoDimensions,\n encodingForBar,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortYBandAxis,\n sortLegend,\n barParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBarParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'bar'\n result.direction = 'horizontal'\n\n result.yField = sameDimensionsMode\n ? [unfoldInfo.encodingY]\n : ([unfoldInfo.encodingY, unfoldInfo.encodingDetail] as string[])\n result.xField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetYX,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBarParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBarParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n xLinear,\n yBand,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import { barParallelAdvancedPipeline, barParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n buildMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n barPercentConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n buildMeasures,\n autoDimensions,\n encodingForBar,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortYBandAxis,\n sortLegend,\n barPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n datasetYX,\n xLinear,\n yBand,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBarPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetYX,\n yBand,\n xLinear,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import { barPercentAdvancedPipeline, barPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n areaConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForColumn,\n buildMeasures,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForColumn,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n areaConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'area'\n result.direction = 'vertical'\n result.yField = foldInfo.measureValue\n \n result.xField = unfoldInfo.encodingX\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorAreaStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IAreaChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.area?.style) {\n result.area.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { AreaStyle, Datum, SpecPipe } from 'src/types'\nimport { groupBy } from 'remeda'\n\nexport const areaStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed\n const { areaStyle } = markStyle\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n area: {\n visible: true,\n style: {},\n },\n } as IAreaChartSpec\n\n if (!areaStyle) {\n return result\n }\n\n const areaStyles = (Array.isArray(areaStyle) ? areaStyle : [areaStyle]) as AreaStyle[]\n\n const group = unfoldInfo.encodingColorId\n\n const areaGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = areaStyles.reduce<object>((result, style, index) => {\n const { areaColor, areaColorOpacity, areaVisible = true } = style\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = areaGroups[datum[group ?? ''] as string]\n for (const d of lineData) {\n if (selector(d, style.selector)) {\n return true\n }\n }\n return false\n },\n style: {\n visible: areaVisible,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n area: {\n ...result.area,\n visible: true,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n xBand,\n yLinear,\n initArea,\n stackInverse,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n areaStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n datasetXY,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst area: SpecPipeline = [\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotArea: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initArea,\n colorAdapter(color, linearColor),\n backgroundColor,\n stackInverse,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import { areaAdvancedPipeline, areaSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n areaPercentConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForColumn,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n sortLegend,\n areaPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n datasetXY,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n areaStyle,\n verticalCrosshairLine,\n progressive,\n colorLegend,\n colorAdapter,\n linearColor,\n pivotColorLegend,\n pointStateDimensionHover,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotAreaPercent: SpecPipeline = [\n initPivot,\n\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import { areaPercentAdvancedPipeline, areaPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForScatter: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const dimensionsWithoutMeasureName = dimensions.filter((item) => item.id !== MeasureName)\n const uniqueDimIds = unique(dimensionsWithoutMeasureName.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0)\n encoding.detail = uniqueDimIds.slice(0)\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, MeasureGroup, Measures, MeasureTree, Scatter, ScatterMeasures } from 'src/types'\nimport { getBasicMeasures, isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\n\nexport const buildMeasuresForScatter: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: Scatter\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n const basicMeasures = getBasicMeasures(vseed)\n\n const scatterMeasures = vseed.scatterMeasures ? vseed.scatterMeasures : basicMeasuresToScatterMeasures(basicMeasures)\n advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToScatterMeasures = (basicMeasures: Measures): ScatterMeasures => {\n const yMeasures: Measures = []\n const xMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isYAxis = encoding.includes('yAxis')\n const isXAxis = encoding.includes('xAxis')\n\n if (isYAxis) {\n yMeasures.push(item)\n } else if (isXAxis) {\n xMeasures.push(item)\n } else {\n if (index === 0) {\n yMeasures.push(item)\n } else {\n xMeasures.push(item)\n }\n }\n }\n\n return [{ id: 'scatterMeasures', xMeasures, yMeasures }]\n}\n\nconst scatterMeasuresToMeasureTree = (scatterMeasures: ScatterMeasures): MeasureTree => {\n const measureTree = scatterMeasures.map((item, index): MeasureGroup => {\n const { id, xMeasures, yMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (xMeasures) {\n const arrPrimaryMeasures = Array.isArray(xMeasures) ? xMeasures : [xMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-x`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (yMeasures) {\n const arrSecondaryMeasures = Array.isArray(yMeasures) ? yMeasures : [yMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-y`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个散点图, 仅返回2层, vchart 绘制散点图\n if (scatterMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个散点图, 返回3层, pivot chart 绘制组合散点图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const scatterMeasures: ScatterMeasures = []\n\n measures.forEach((item) => {\n if (!item.parentId) {\n return\n }\n\n if (!scatterMeasures.find((d) => d.id === item.parentId)) {\n scatterMeasures.push({\n id: item.parentId,\n yMeasures: [],\n xMeasures: [],\n })\n }\n\n const scatterChart = scatterMeasures.find((d) => d.id === item.parentId)\n if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isX = encoding.includes('xAxis')\n const isY = encoding.includes('yAxis')\n const isEmpty = !encoding.length\n if (isY) {\n scatterChart.yMeasures.push(item)\n } else if (isX) {\n scatterChart.xMeasures.push(item)\n } else if (isEmpty) {\n if (scatterChart.yMeasures.length === 0) {\n scatterChart.yMeasures.push(item)\n } else {\n scatterChart.xMeasures.push(item)\n }\n }\n })\n\n return scatterMeasuresToMeasureTree(scatterMeasures)\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0] as MeasureGroup\n const yMeasures = (measures[1] || xMeasures) as MeasureGroup\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(xMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldXMeasureValue,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n datasets[0],\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(yMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldYMeasureValue,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n datasets[0] = newDataset\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets[0],\n\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures)\n }\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0]\n const yMeasures = measures[1] || xMeasures\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldXMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldYMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets[0].map((d, index) => ({ ...d, ...(datasets[1]?.[index] || {}) })))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n} from '../pipes'\nimport { reshapeWithScatterEncoding } from '../pipes/reshape/reshapeWithScatterEncoding'\nimport { pivotReshapeWithScatterEncoding } from '../pipes/reshape/pivotReshapeWithScatterEncoding'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForScatter,\n buildMeasuresForScatter,\n autoDimensions,\n pivotAdapter([reshapeWithScatterEncoding], [pivotReshapeWithScatterEncoding]),\n scatterConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initScatter: SpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList } = datasetReshapeInfo[0]\n\n result.type = 'scatter'\n result.direction = 'vertical'\n result.xField = foldInfoList?.[0].measureValue\n if (foldInfoList?.[1]) {\n result.yField = foldInfoList[1].measureValue\n }\n\n result.seriesField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetScatter: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset.flat(),\n fields: fields,\n },\n } as ISpec\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const horizontalCrosshairLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'line']?.crosshairLine\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const lineColor = config.lineColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || undefined\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.yField = {\n visible,\n line: {\n type: 'line',\n style: {\n lineWidth: 1,\n opacity: 1,\n stroke: lineColor,\n lineDash: [4, 2],\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n verticalCrosshairLine,\n xLinear,\n horizontalCrosshairLine,\n pointStateHover,\n initScatter,\n progressive,\n datasetScatter,\n linearColor,\n colorAdapter,\n colorPointStyleFill,\n colorLegend,\n} from '../pipes'\n\nconst scatter: SpecPipeline = [\n initScatter,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetScatter,\n progressive,\n xLinear,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n horizontalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateHover,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotScatter: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initScatter,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetScatter,\n progressive,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateHover,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const scatterSpecPipeline: SpecPipeline = [pivotAdapter(scatter, pivotScatter)]\n","import { scatterAdvancedPipeline, scatterSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerScatter = () => {\n Builder._advancedPipelineMap['scatter'] = scatterAdvancedPipeline\n Builder._specPipelineMap['scatter'] = scatterSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForDualAxis: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, DualAxis, DualMeasures, MeasureGroup, Measures, MeasureTree } from 'src/types'\nimport { getBasicMeasures, isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\n\nexport const buildMeasuresForDualAxis: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: DualAxis\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n const basicMeasures = getBasicMeasures(vseed)\n\n const dualMeasures = vseed.dualMeasures ? vseed.dualMeasures : basicMeasuresToDualMeasures(basicMeasures)\n advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToDualMeasures = (basicMeasures: Measures): DualMeasures => {\n const primaryMeasures: Measures = []\n const secondaryMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isPrimaryYAxis = encoding.includes('primaryYAxis')\n const isSecondaryYAxis = encoding.includes('secondaryYAxis')\n\n if (isPrimaryYAxis) {\n primaryMeasures.push(item)\n } else if (isSecondaryYAxis) {\n secondaryMeasures.push(item)\n } else {\n if (index === 0) {\n primaryMeasures.push(item)\n } else {\n secondaryMeasures.push(item)\n }\n }\n }\n\n return [{ id: 'dualMeasures', primaryMeasures, secondaryMeasures }]\n}\n\nconst dualMeasuresToMeasureTree = (dualMeasures: DualMeasures): MeasureTree => {\n const measureTree = dualMeasures.map((item, index): MeasureGroup => {\n const { id, primaryMeasures, secondaryMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (primaryMeasures) {\n const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [primaryMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-primary`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (secondaryMeasures) {\n const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [secondaryMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-secondary`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个双轴图, 仅返回2层, vchart 绘制双轴图\n if (dualMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个双轴图, 返回3层, pivot chart 绘制组合双轴图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const dualMeasures: DualMeasures = []\n\n measures.forEach((item) => {\n if (!item.parentId) {\n return\n }\n\n if (!dualMeasures.find((d) => d.id === item.parentId)) {\n dualMeasures.push({\n id: item.parentId,\n primaryMeasures: [],\n secondaryMeasures: [],\n })\n }\n\n const dualChart = dualMeasures.find((d) => d.id === item.parentId)\n if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isPrimary = encoding.includes('primaryYAxis')\n const isSecondary = encoding.includes('secondaryYAxis')\n const isEmpty = !item.encoding\n\n if (isPrimary) {\n dualChart.primaryMeasures.push(item)\n } else if (isSecondary) {\n dualChart.secondaryMeasures.push(item)\n } else if (isEmpty) {\n if (dualChart.primaryMeasures.length === 0) {\n dualChart.primaryMeasures.push(item)\n } else {\n dualChart.secondaryMeasures.push(item)\n }\n }\n })\n\n return dualMeasuresToMeasureTree(dualMeasures)\n}\n","import { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0] as MeasureGroup\n const secondaryMeasures = (measures[1] || []) as MeasureGroup\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: FoldPrimaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: FoldSecondaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures as unknown as MeasureGroup[])\n }\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0]\n const secondaryMeasures = measures[1] || []\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets.flat(2))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const dualAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n // common\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n\n // only for dualAxis\n 'dualChartType',\n 'alignTicks',\n 'primaryYAxis',\n 'secondaryYAxis',\n 'crosshairLine',\n ]) as Config['dualAxis']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n dualAxisConfig,\n encodingForDualAxis,\n autoDimensions,\n reshapeWithDualEncoding,\n pivotReshapeWithDualEncoding,\n buildMeasuresForDualAxis,\n} from '../pipes'\n\nexport const dualAxisAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForDualAxis,\n buildMeasuresForDualAxis,\n autoDimensions,\n pivotAdapter([reshapeWithDualEncoding], [pivotReshapeWithDualEncoding]),\n sortXBandAxis,\n sortLegend,\n dualAxisConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../../../utils'\nimport type { ICommonChartSpec, ILineSeriesSpec } from '@visactor/vchart'\n\nexport const series = (...args: SpecPipeline[]): SpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n return (_, context) => {\n result.series = args.map((pipeline) => {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n\n/**\n * @description 双轴图的透视场景, 不能使用此pipe, 请使用series\n * 因为VTable.PivotVChart会自行解析数据, 而非VChart解析.\n */\nexport const seriesDualAxis = (...args: SpecPipeline[]): SpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n const createDualContext = <T extends SpecPipelineContext>(context: T, index: number): T => {\n const { advancedVSeed } = context\n const dataset = advancedVSeed.dataset[index]\n return {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n dataset: dataset,\n },\n }\n }\n\n return (_, context) => {\n result.series = args.map((pipeline, index) => {\n const seriesContext = createDualContext(context, index)\n return execPipeline<Spec, SpecPipelineContext>(pipeline, seriesContext, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n","import type { IBarSeriesSpec, ILineSeriesSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initDualAxisPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarSeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-primary-series`\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.seriesField = unfoldInfo.encodingColorId\n\n result.yField = foldInfoList?.[0].measureValue\n result.animation = true\n\n return result\n}\n\nexport const initDualAxisSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineSeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-secondary-series`\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n if (foldInfoList?.[1]) {\n result.yField = foldInfoList[1].measureValue\n }\n\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.animation = true\n\n return result\n}\n","import type { IBarSeriesSpec, ISeriesSpec } from '@visactor/vchart'\nimport { DUAL_AXIS_CHART_COLUMN_Z_INDEX, DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } from 'src/pipeline/utils/constant'\nimport type { DualChartType, SpecPipe } from 'src/types'\n\nexport const dualChartTypePrimary: SpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const index = datasetReshapeInfo[0].index\n\n const config =\n advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType ||\n ({\n primary: 'column',\n secondary: 'line',\n } as DualChartType)\n\n const primary = Array.isArray(config) ? config[index].primary || config[0].primary : config.primary\n const secondary = Array.isArray(config) ? config[index].secondary || config[0].secondary : config.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : primary\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = primary\n }\n\n return result\n}\n\nexport const dualChartTypeSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const config =\n advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType ||\n ({\n primary: 'column',\n secondary: 'line',\n } as DualChartType)\n\n const index = datasetReshapeInfo[0].index\n const primary = Array.isArray(config) ? config[index].primary || config[0].primary : config.primary\n const secondary = Array.isArray(config) ? config[index].secondary || config[0].secondary : config.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : secondary\n\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = secondary\n }\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPrimary: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const orderMapping = analysis?.orderMapping || {}\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id: `${id}-primary-dataset`,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n\nexport const datasetSecondary: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const orderMapping = analysis?.orderMapping || {}\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id: `${id}-secondary-dataset`,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { ILineLikeLabelSpec } from '@visactor/vchart/esm/series/mixin/interface'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, FoldInfo, Label, SpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const labelPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const { measureId, measureValue } = foldInfoList[0]\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n\nexport const labelSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { measureId, measureValue } = foldInfoList[1]\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n","import { isEmpty, isNullish } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, FoldInfo, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\n\nexport const tooltipPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n const { measureId, measureValue, measureName } = foldInfoList[0]\n const { encodingColor: colorName } = unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n\nexport const tooltipSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n const { measureId, measureValue, measureName } = foldInfoList[1]\n const { encodingColorId } = unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || encodingColorId] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[encodingColorId] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\nimport { isEmpty } from 'remeda'\n\nexport const yLinearPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale, datasetReshapeInfo } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n\n // TODO: default config missing\n\n const primaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.primaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (foldInfoList?.[0] && isEmpty(foldInfoList[0].foldMap)) {\n return result\n }\n const id = `${reshapeInfoId}-primary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[0]\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!yAxisConfig) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n id,\n seriesId,\n type: 'linear',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = yAxisConfig\n\n const linearAxis = {\n visible,\n id,\n seriesId,\n\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'left',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const yLinearSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale, datasetReshapeInfo } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n // TODO: default config missing\n\n const secondaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.secondaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (isNullish(foldInfoList?.[1])) {\n return result\n }\n\n const sync = {\n axisId: `${reshapeInfoId}-primary-axis`,\n zeroAlign: true,\n }\n\n const id = `${reshapeInfoId}-secondary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[1]\n if (!result.axes) {\n result.axes = []\n }\n\n if (!yAxisConfig) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n id,\n seriesId,\n type: 'linear',\n orient: 'right',\n sync,\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = yAxisConfig\n\n const linearAxis = {\n visible,\n id,\n seriesId,\n sync,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'right',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const linearColorForDualAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo, id } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n result.color = {\n type: 'linear',\n range: linearColorScheme || colorScheme || [],\n domain: [\n {\n dataId: `${id}-primary-dataset`,\n fields: [unfoldInfo.encodingColor],\n },\n {\n dataId: `${id}-secondary-dataset`,\n fields: [unfoldInfo.encodingColor],\n },\n ],\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n xBand,\n backgroundColor,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n pointStateDimensionHover,\n progressive,\n datasetPrimary,\n datasetSecondary,\n areaStyle,\n barStyle,\n verticalCrosshairRect,\n yLinearSecondary,\n initDualAxisPrimary,\n initDualAxisSecondary,\n labelPrimary,\n labelSecondary,\n tooltipPrimary,\n tooltipSecondary,\n yLinearPrimary,\n dualChartTypePrimary,\n dualChartTypeSecondary,\n seriesDualAxis,\n series,\n colorBarStyleFill,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n linearColor,\n colorAdapter,\n colorLegend,\n pivotColorLegend,\n linearColorForDualAxis,\n} from '../pipes'\n\nconst dualAxis: SpecPipeline = [\n seriesDualAxis(\n [\n initDualAxisPrimary,\n dualChartTypePrimary,\n datasetPrimary,\n labelPrimary,\n tooltipPrimary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n [\n initDualAxisSecondary,\n dualChartTypeSecondary,\n datasetSecondary,\n labelSecondary,\n tooltipSecondary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n ),\n xBand,\n yLinearPrimary,\n yLinearSecondary,\n\n colorAdapter(color, linearColorForDualAxis),\n colorAdapter(discreteLegend, colorLegend),\n\n backgroundColor,\n\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotDualAxis: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n series(\n [\n initDualAxisPrimary,\n dualChartTypePrimary,\n datasetPrimary,\n labelPrimary,\n tooltipPrimary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n [\n initDualAxisSecondary,\n dualChartTypeSecondary,\n datasetSecondary,\n labelSecondary,\n tooltipSecondary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n ),\n xBand,\n yLinearPrimary,\n yLinearSecondary,\n colorAdapter(color, linearColor),\n backgroundColor,\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const dualAxisSpecPipeline: SpecPipeline = [pivotAdapter(dualAxis, pivotDualAxis)]\n","import { dualAxisAdvancedPipeline, dualAxisSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerDualAxis = () => {\n Builder._advancedPipelineMap['dualAxis'] = dualAxisAdvancedPipeline\n Builder._specPipelineMap['dualAxis'] = dualAxisSpecPipeline\n}\n","import { unique } from 'remeda'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForPie: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.angle = unique(measures.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0) // 第1个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(0) // 第1个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.angle = unique(measures.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = dimensions.map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n pieConfig,\n annotation,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForPie,\n buildMeasures,\n} from '../pipes'\n\nexport const pieAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForPie,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n pieConfig,\n theme,\n annotation,\n]\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPie: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const showStroke = dataset.length <= 30\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = 0\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n centerOffset: 0,\n },\n state: {\n hover: {\n outerRadius: result.outerRadius * 1.1,\n },\n },\n }\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n datasetXY,\n datasetPivot,\n initPie,\n initPivot,\n label,\n discreteLegend,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotDiscreteLegend,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n progressive,\n} from '../pipes'\n\nconst pie: SpecPipeline = [\n initPie,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n label,\n tooltip,\n discreteLegend,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotPie: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initPie,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const pieSpecPipeline: SpecPipeline = [pivotAdapter(pie, pivotPie)]\n","import { pieAdvancedPipeline, pieSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerPie = () => {\n Builder._advancedPipelineMap['pie'] = pieAdvancedPipeline\n Builder._specPipelineMap['pie'] = pieSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n donutConfig,\n encodingForPie,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\n\nexport const donutAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n buildMeasures,\n autoDimensions,\n encodingForPie,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n donutConfig,\n theme,\n annotation,\n]\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initDonut: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n const showStroke = dataset.length <= 30\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = result.outerRadius * 0.8\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n outerRadius: result.outerRadius * 1.1,\n },\n },\n }\n\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n datasetXY,\n datasetPivot,\n initDonut,\n initPivot,\n label,\n discreteLegend,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotDiscreteLegend,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n progressive,\n} from '../pipes'\n\nconst donut: SpecPipeline = [\n initDonut,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n label,\n tooltip,\n discreteLegend,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotDonut: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initDonut,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const donutSpecPipeline: SpecPipeline = [pivotAdapter(donut, pivotDonut)]\n","import { donutAdvancedPipeline, donutSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerDonut = () => {\n Builder._advancedPipelineMap['donut'] = donutAdvancedPipeline\n Builder._specPipelineMap['donut'] = donutSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForRose: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.angle = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.angle = unique(\n dimensions.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id),\n )\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.angle.length === 0) {\n encoding.angle = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.angle?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.angle?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\nimport { encodingForRose } from '../pipes/encoding/rose'\n\nexport const roseAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForRose,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n roseConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initRose: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'rose'\n\n result.angleField = unfoldInfo.encodingAngle\n result.seriesField = unfoldInfo.encodingColorId\n\n result.valueField = foldInfo.measureValue\n result.padding = 0\n result.outerRadius = 0.9\n result.innerRadius = 0\n\n const hasNegativeValue = dataset.flat().find((d) => d[foldInfo.measureValue] < 0)\n if (hasNegativeValue) {\n result.innerRadius = 0.05\n }\n\n result.rose = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n }\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radiusAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n const is0D = dimensions.length === 0\n const is1M1D = dimensions.length === 1 && measures.length === 1\n const showAxis = !(is0D || is1M1D)\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'radius',\n visible: showAxis,\n zero: true,\n nice: showAxis ? true : false,\n grid: {\n visible: showAxis,\n },\n tick: {\n visible: showAxis,\n },\n label: {\n visible: showAxis,\n },\n domainLine: {\n visible: showAxis,\n },\n })\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const angleAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n const is0D = dimensions.length === 0\n const is1M1D = dimensions.length === 1 && measures.length === 1\n const showAxis = !(is0D || is1M1D)\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'angle',\n visible: showAxis,\n zero: true,\n nice: showAxis ? true : false,\n paddingInner: showAxis ? [0.15, 0.1] : [0, 0],\n paddingOuter: showAxis ? [0.075, 0.1] : [0, 0],\n grid: {\n visible: showAxis,\n },\n domainLine: {\n visible: showAxis,\n },\n tick: {\n visible: showAxis,\n },\n })\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n verticalCrosshairRect,\n stackCornerRadius,\n initRose,\n radiusAxis,\n angleAxis,\n progressive,\n} from '../pipes'\n\nconst rose: SpecPipeline = [\n initRose,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n label,\n tooltip,\n verticalCrosshairRect,\n discreteLegend,\n]\n\nconst pivotRose: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRose,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n label,\n tooltip,\n verticalCrosshairRect,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const roseSpecPipeline = [pivotAdapter(rose, pivotRose)]\n","import { roseAdvancedPipeline, roseSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRose = () => {\n Builder._advancedPipelineMap['rose'] = roseAdvancedPipeline\n Builder._specPipelineMap['rose'] = roseSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseParallelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\nimport { encodingForRose } from '../pipes/encoding/rose'\n\nexport const roseParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForRose,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n roseParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initRoseParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'rose'\n result.angleField = sameDimensionsMode\n ? [unfoldInfo.encodingAngle]\n : [unfoldInfo.encodingAngle, unfoldInfo.encodingDetail]\n result.valueField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n\n result.outerRadius = 0.9\n result.innerRadius = 0\n\n const hasNegativeValue = dataset.flat().find((d) => d[foldInfo.measureValue] < 0)\n if (hasNegativeValue) {\n result.innerRadius = 0.05\n }\n\n result.rose = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n }\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n initRoseParallel,\n radiusAxis,\n angleAxis,\n progressive,\n} from '../pipes'\n\nconst roseParallel: SpecPipeline = [\n initRoseParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n label,\n tooltip,\n discreteLegend,\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotRoseParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRoseParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n label,\n tooltip,\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const roseParallelSpecPipeline: SpecPipeline = [pivotAdapter(roseParallel, pivotRoseParallel)]\n","import { roseParallelAdvancedPipeline, roseParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRoseParallel = () => {\n Builder._advancedPipelineMap['roseParallel'] = roseParallelAdvancedPipeline\n Builder._specPipelineMap['roseParallel'] = roseParallelSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForRadar: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.angle = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.angle = unique(\n dimensions.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id),\n )\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.angle.length === 0) {\n encoding.angle = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.angle?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.angle?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortLegend,\n radarConfig,\n encodingForRadar,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n} from '../pipes'\n\nexport const radarAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForRadar,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n // sortXBandAxis,\n sortLegend,\n radarConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRadarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initRadar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRadarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'radar'\n result.angleField = unfoldInfo.encodingAngle\n result.radiusField = foldInfo.measureValue\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radarAngleAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'angle',\n visible: true,\n zero: true,\n nice: true,\n grid: {\n visible: true,\n },\n domainLine: {\n visible: true,\n },\n tick: {\n visible: true,\n },\n })\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radarRadiusAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'radius',\n visible: true,\n zero: true,\n nice: true,\n grid: {\n visible: true,\n },\n tick: {\n visible: true,\n },\n label: {\n visible: true,\n },\n domainLine: {\n visible: true,\n },\n })\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n pointStyle,\n lineStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n initRadar,\n areaStyle,\n radarAngleAxis,\n radarRadiusAxis,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst radar: SpecPipeline = [\n initRadar,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radarAngleAxis,\n radarRadiusAxis,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n // annotationPoint,\n // annotationVerticalLine,\n // annotationHorizontalLine,\n // annotationArea,\n]\n\nconst pivotRadar: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRadar,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radarAngleAxis,\n radarRadiusAxis,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n // annotationPoint,\n // annotationVerticalLine,\n // annotationHorizontalLine,\n // annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const radarSpecPipeline: SpecPipeline = [pivotAdapter(radar, pivotRadar)]\n","import { radarAdvancedPipeline, radarSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRadar = () => {\n Builder._advancedPipelineMap['radar'] = radarAdvancedPipeline\n Builder._specPipelineMap['radar'] = radarSpecPipeline\n}","import { unique } from 'remeda'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForFunnel: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0) // 第1个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(0) // 第1个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = dimensions.map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n funnelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForFunnel,\n buildMeasures,\n} from '../pipes'\n\nexport const funnelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForFunnel,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n funnelConfig,\n theme,\n annotation,\n]\n","import type { IFunnelChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initFunnel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IFunnelChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'funnel'\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.isTransform = true\n result.shape = 'rect'\n result.maxSize = '75%'\n result.minSize = '10%'\n result.region = [\n {\n clip: true,\n },\n ]\n result.funnel = {\n style: {\n cornerRadius: 4,\n fill: {\n field: unfoldInfo.encodingColorId,\n scale: 'color',\n },\n },\n state: {\n hover: {\n fillOpacity: 0.6,\n },\n },\n }\n result.transformLabel = {\n visible: true,\n }\n\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n datasetXY,\n datasetPivot,\n initPivot,\n label,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n initFunnel,\n discreteLegend,\n color,\n} from '../pipes'\n\nconst funnel: SpecPipeline = [\n initFunnel,\n backgroundColor,\n datasetXY,\n color,\n label,\n tooltip,\n discreteLegend,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotFunnel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initFunnel,\n backgroundColor,\n datasetXY,\n color,\n label,\n tooltip,\n discreteLegend,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n]\n\nexport const funnelSpecPipeline: SpecPipeline = [pivotAdapter(funnel, pivotFunnel)]\n","import { funnelAdvancedPipeline, funnelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerFunnel = () => {\n Builder._advancedPipelineMap['funnel'] = funnelAdvancedPipeline\n Builder._specPipelineMap['funnel'] = funnelSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { getBasicDimensions } from '../init'\nimport { getBasicMeasures } from '../measures'\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures: vseedMeasures = [] } = vseed\n // prepare measures and dimensions\n const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed)\n const dimensions = getBasicDimensions(vseed)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.color = unique(measures.filter((item) => item.encoding === 'color' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.y.length === 0) {\n if (dimensions.length > 1) {\n encoding.y = dimensions.slice(1).map((item) => item.id)\n } else {\n encoding.y = dimensions.slice(0).map((item) => item.id)\n }\n }\n if (encoding.color.length === 0) {\n encoding.color = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortXBandAxis,\n heatmapConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForHeatmap,\n buildMeasures,\n} from '../pipes'\n\nexport const heatmapAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n encodingForHeatmap,\n buildMeasures,\n autoDimensions,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n sortXBandAxis,\n heatmapConfig,\n theme,\n markStyle,\n annotation\n]\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const labelColorInversion: SpecPipe = (spec) => {\n const result = { ...spec } as IHeatmapChartSpec\n if (result.label) {\n result.label.smartInvert = true\n } else {\n result.label = {\n smartInvert: true,\n }\n }\n return result\n}\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initHeatmap: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHeatmapChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'heatmap'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = unfoldInfo.encodingY\n result.seriesField = unfoldInfo.encodingColorId\n result.valueField = foldInfo.measureValue\n result.padding = 0\n result.cell = {\n style: {\n shape: 'rect',\n stroke: '#ffffff',\n lineWidth: 1,\n // fill: {\n // field: encoding[0].color[0],\n // scale: 'color',\n // },\n },\n }\n result.axes = [\n {\n type: 'band',\n orient: 'left',\n bandPadding: 0,\n },\n {\n type: 'band',\n orient: 'bottom',\n bandPadding: 0,\n },\n ]\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n pointStateDimensionHover,\n labelColorInversion,\n discreteLegend,\n color,\n} from '../pipes'\nimport { initHeatmap } from '../pipes/init/heatmap'\n\nconst heatmap: SpecPipeline = [\n initHeatmap,\n backgroundColor,\n datasetXY,\n color,\n label,\n labelColorInversion,\n discreteLegend,\n tooltip,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotHeatmap: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initHeatmap,\n backgroundColor,\n datasetXY,\n color,\n label,\n labelColorInversion,\n discreteLegend,\n tooltip,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n]\n\nexport const heatmapSpecPipeline: SpecPipeline = [pivotAdapter(heatmap, pivotHeatmap)]\n","import { heatmapAdvancedPipeline, heatmapSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerHeatmap = () => {\n Builder._advancedPipelineMap['heatmap'] = heatmapAdvancedPipeline\n Builder._specPipelineMap['heatmap'] = heatmapSpecPipeline\n}","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\n TableConfig,\n Tooltip,\n YBandAxis,\n YLinearAxis,\n} from 'src/types'\n\nexport const lightTheme = (): CustomThemeConfig => {\n const linearAxis: YLinearAxis = {\n nice: true,\n zero: true,\n inverse: false,\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#797B85',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#646A73',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: true,\n gridColor: '#36415926',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#3641594d',\n },\n line: {\n visible: false,\n lineColor: '#3641594d',\n lineWidth: 1,\n },\n }\n const bandAxis: YBandAxis = {\n labelAutoHide: true,\n labelAutoHideGap: 4,\n labelAutoLimit: true,\n labelAutoLimitLength: 80,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#797B85',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#646A73',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: false,\n gridColor: '#36415926',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#3641594d',\n },\n line: {\n visible: true,\n lineColor: '#3641594d',\n lineWidth: 1,\n },\n }\n const barBandAxis: YBandAxis = {\n ...bandAxis,\n labelAutoHide: false,\n labelAutoHideGap: 1,\n labelAutoLimit: false,\n labelAutoLimitLength: undefined,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n }\n\n const crosshairLine = {\n visible: true,\n labelVisible: true,\n lineColor: '#3641594d',\n labelColor: '#ffffff',\n labelBackgroundColor: '#364159',\n }\n const crosshairRect = {\n visible: true,\n labelVisible: true,\n rectColor: '#3641594d',\n labelColor: '#ffffff',\n labelBackgroundColor: '#364159',\n }\n\n const baseConfig: {\n backgroundColor?: BackgroundColor\n color?: Color\n label?: Label\n tooltip?: Tooltip\n legend?: Legend\n } = {\n backgroundColor: 'transparent',\n color: {\n linearColorScheme: ['#C2CEFF', '#5766EC'],\n colorScheme: [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n border: true,\n maxSize: 1,\n shapeType: 'rectRound',\n position: 'rt',\n labelFontColor: '#646A73',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n }\n const tableConfig: TableConfig = {\n borderColor: '#e3e5eb',\n\n bodyFontSize: 12,\n bodyFontColor: '#141414',\n bodyBackgroundColor: 'transparent',\n\n headerFontSize: 12,\n headerFontColor: '#21252c',\n headerBackgroundColor: '#f6f7f9',\n\n hoverBodyBackgroundColor: '#bedaff',\n hoverBodyInlineBackgroundColor: '#bedaff33',\n hoverHeaderBackgroundColor: '#D9DDE4',\n hoverHeaderInlineBackgroundColor: '#D9DDE455',\n\n selectedBorderColor: '#4080ff',\n selectedBackgroundColor: '#bedaff33',\n\n backgroundColor: 'transparent',\n }\n\n return {\n config: {\n // table\n table: tableConfig,\n pivotTable: tableConfig,\n // cartesian\n line: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n column: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnParallel: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnPercent: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n bar: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barParallel: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barPercent: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n area: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n areaPercent: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n scatter: {\n ...baseConfig,\n xAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n yAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n crosshairLine,\n },\n dualAxis: {\n ...baseConfig,\n xAxis: bandAxis,\n primaryYAxis: linearAxis,\n secondaryYAxis: { ...linearAxis, grid: { visible: false } },\n dualChartType: {\n primary: 'column',\n secondary: 'line',\n },\n crosshairRect,\n },\n // polar\n pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n radar: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n // other\n funnel: {\n ...baseConfig,\n },\n heatmap: {\n ...baseConfig,\n },\n },\n }\n}\n","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\n TableConfig,\n Tooltip,\n YBandAxis,\n YLinearAxis,\n} from 'src/types'\n\nexport const darkTheme = (): CustomThemeConfig => {\n const linearAxis: YLinearAxis = {\n nice: true,\n zero: true,\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#E2E3E6',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#FDFDFD',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: true,\n gridColor: '#404349',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#4B4F54',\n },\n line: {\n visible: false,\n lineColor: '#4B4F54',\n lineWidth: 1,\n },\n }\n const bandAxis: YBandAxis = {\n labelAutoHide: true,\n labelAutoHideGap: 4,\n labelAutoLimit: true,\n labelAutoLimitLength: 80,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#E2E3E6',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#FDFDFD',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: false,\n gridColor: '#404349',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#4B4F54',\n },\n line: {\n visible: true,\n lineColor: '#4B4F54',\n lineWidth: 1,\n },\n }\n const barBandAxis: YBandAxis = {\n ...bandAxis,\n labelAutoHide: false,\n labelAutoHideGap: 1,\n labelAutoLimit: false,\n labelAutoLimitLength: undefined,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n }\n const crosshairLine = {\n visible: true,\n labelVisible: true,\n lineColor: '#E2E3E6',\n labelColor: '#4B4F54',\n labelBackgroundColor: '#ffffff',\n }\n const crosshairRect = {\n visible: true,\n labelVisible: true,\n lineColor: '#E2E3E6',\n labelColor: '#4B4F54',\n labelBackgroundColor: '#ffffff',\n }\n\n const baseConfig: {\n backgroundColor?: BackgroundColor\n color?: Color\n label?: Label\n tooltip?: Tooltip\n legend?: Legend\n } = {\n backgroundColor: 'transparent',\n color: {\n linearColorScheme: ['#A0CEFF', '#2E62F1'],\n colorScheme: [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n border: true,\n maxSize: 1,\n position: 'rt',\n shapeType: 'rectRound',\n labelFontColor: '#FDFDFD',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n }\n\n const tableConfig: TableConfig = {\n borderColor: '#4b4e53',\n\n bodyFontSize: 12,\n bodyFontColor: '#fdfdfd',\n bodyBackgroundColor: 'transparent',\n\n headerFontSize: 12,\n headerFontColor: '#fdfdfd',\n headerBackgroundColor: '#36393e',\n\n hoverBodyBackgroundColor: '#4284ff66',\n hoverBodyInlineBackgroundColor: '#4284ff10',\n hoverHeaderBackgroundColor: '#6f7984cc',\n hoverHeaderInlineBackgroundColor: '#4b4f54',\n\n selectedBorderColor: '#3073f2',\n selectedBackgroundColor: '#4284ff33',\n }\n\n return {\n config: {\n table: tableConfig,\n pivotTable: tableConfig,\n\n // cartesian\n line: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n column: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnParallel: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnPercent: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n bar: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barParallel: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barPercent: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n area: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n areaPercent: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n scatter: {\n ...baseConfig,\n\n xAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n yAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n crosshairLine,\n },\n dualAxis: {\n ...baseConfig,\n xAxis: bandAxis,\n primaryYAxis: linearAxis,\n secondaryYAxis: { ...linearAxis, grid: { visible: false } },\n dualChartType: {\n primary: 'column',\n secondary: 'line',\n },\n crosshairRect,\n },\n // polar\n pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n radar: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n // other\n funnel: {\n ...baseConfig,\n },\n heatmap: {\n ...baseConfig,\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\nimport { Builder } from '../../builder'\nimport { darkTheme, lightTheme } from '../../../theme'\n\nexport const registerCustomTheme = (\n key: string,\n themeConfig:\n | CustomThemeConfig\n | ((props: { lightTheme: CustomThemeConfig; darkTheme: CustomThemeConfig }) => CustomThemeConfig),\n) => {\n const customTheme =\n typeof themeConfig === 'function' ? themeConfig({ lightTheme: lightTheme(), darkTheme: darkTheme() }) : themeConfig\n Builder._themeMap[key] = customTheme\n}\n","import { registerCustomTheme } from './custom'\nimport { lightTheme } from '../../../theme'\n\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\n","import { darkTheme } from '../../../theme'\nimport { registerCustomTheme } from './custom'\n\nexport const registerDarkTheme = () => {\n registerCustomTheme('dark', darkTheme())\n}\n","import {\n registerArea,\n registerAreaPercent,\n registerBar,\n registerBarParallel,\n registerBarPercent,\n registerColumn,\n registerColumnParallel,\n registerColumnPercent,\n registerLine,\n registerPie,\n registerDonut,\n registerRose,\n registerRoseParallel,\n registerFunnel,\n registerScatter,\n registerTable,\n registerPivotTable,\n registerHeatmap,\n registerRadar,\n registerDualAxis,\n} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // table\n registerTable()\n registerPivotTable()\n // cartesian\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n registerScatter()\n registerDualAxis()\n // polar\n registerPie()\n registerDonut()\n registerRose()\n registerRoseParallel()\n registerRadar()\n // other\n registerFunnel()\n registerHeatmap()\n // theme\n registerLightTheme()\n registerDarkTheme()\n}\n","import type { AdvancedPipe, ChartType, SpecPipe } from 'src/types'\nimport { Builder } from '../builder'\n\nexport const updateAdvanced = (chartType: ChartType, advancedPipe: AdvancedPipe) => {\n Builder._customAdvancedPipe[chartType] = advancedPipe\n}\nexport const updateSpec = (chartType: ChartType, specPipe: SpecPipe) => {\n Builder._customSpecPipe[chartType] = specPipe\n}\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","export const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\nexport const e164 = /^\\+(?:[0-9]){6,14}[0-9]$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^\\d+n?$/;\nexport const integer = /^\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?/i;\nexport const boolean = /true|false/i;\nconst _null = /null/i;\nexport { _null as null };\nconst _undefined = /undefined/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\n","export const version = {\n major: 4,\n minor: 0,\n patch: 14,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n //\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n inst._zod.run = (payload, ctx) => {\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n inst[\"~standard\"] = {\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n };\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: regexes.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv4`;\n });\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv6`;\n });\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const [address, prefix] = payload.value.split(\"/\");\n try {\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64url\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checksp\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n const _normalized = util.cached(() => {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!(def.shape[k] instanceof $ZodType)) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n shape: def.shape,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n });\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {}`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n doc.write(`const ${id} = ${parseStr(key)};`);\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n `);\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n }\n else {\n payload.value = {};\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n const unrecognized = [];\n // iterate over input keys\n const keySet = value.keySet;\n const _catchall = catchall._zod;\n const t = _catchall.def.type;\n for (const key of Object.keys(input)) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n if (left.issues.length) {\n result.issues.push(...left.issues);\n }\n if (right.issues.length) {\n result.issues.push(...right.issues);\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig ? { code: \"too_big\", maximum: items.length } : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (def.keyType._zod.values) {\n const values = def.keyType._zod.values;\n payload.value = {};\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!values.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n payload.value[keyResult.value] = keyResult.value;\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n inst._zod.values = new Set(def.values);\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (inst._zod.values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const _out = def.transform(payload.value, payload);\n if (_ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault always returns the default value immediately.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def, ctx));\n }\n return handlePipeResult(left, def, ctx);\n };\n});\nfunction handlePipeResult(left, def, ctx) {\n if (left.issues.length) {\n return left;\n }\n return def.out._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (part instanceof $ZodType) {\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"template_literal\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType._zod.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType._zod.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType._zod.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","export const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new Map();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n if (this._idmap.has(meta.id)) {\n throw new Error(`ID ${meta.id} already exists in the registry`);\n }\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new Map();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\nexport const globalRegistry = /*@__PURE__*/ registry();\n","import * as checks from \"./checks.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort);\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Pipe = Classes.Pipe ?? schemas.$ZodPipe;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const _Transform = Classes.Transform ?? schemas.$ZodTransform;\n const tx = new _Transform({\n type: \"transform\",\n transform: (input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: tx,\n continue: false,\n });\n return {};\n }\n },\n error: params.error,\n });\n // params.error;\n const innerPipe = new _Pipe({\n type: \"pipe\",\n in: new _String({ type: \"string\", error: params.error }),\n out: tx,\n error: params.error,\n });\n const outerPipe = new _Pipe({\n type: \"pipe\",\n in: innerPipe,\n out: new _Boolean({\n type: \"boolean\",\n error: params.error,\n }),\n error: params.error,\n });\n return outerPipe;\n}\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n inst.def = def;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone({\n ...def,\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }\n // { parent: true }\n );\n };\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return literal(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObject.init(inst, def);\n ZodType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => def.shape);\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Pipe: ZodPipe,\n Boolean: ZodBoolean,\n String: ZodString,\n Transform: ZodTransform,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n","import { z } from 'zod'\n\nexport type ChartType =\n | 'table'\n | 'pivotTable'\n // cartesian\n | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'scatter'\n | 'dualAxis'\n // polar\n | 'rose'\n | 'roseParallel'\n | 'pie'\n | 'donut'\n | 'radar'\n // other\n | 'heatmap'\n | 'funnel'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\n // cartesian\n Line = 'line',\n Column = 'column',\n ColumnPercent = 'columnPercent',\n ColumnParallel = 'columnParallel',\n Bar = 'bar',\n BarPercent = 'barPercent',\n BarParallel = 'barParallel',\n Area = 'area',\n AreaPercent = 'areaPercent',\n DualAxis = 'dualAxis',\n Scatter = 'scatter',\n // polar\n Rose = 'rose',\n RoseParallel = 'roseParallel',\n Pie = 'pie',\n Donut = 'donut',\n Radar = 'radar',\n // other\n Funnel = 'funnel',\n Heatmap = 'heatmap',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n // cartesian\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'scatter',\n 'dualAxis',\n // polar\n 'rose',\n 'roseParallel',\n 'pie',\n 'donut',\n 'radar',\n // other\n 'funnel',\n 'heatmap',\n])\n","import { z } from 'zod'\n\n// 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\nexport const zDualChartType = z.object({\n primary: z.enum(['line', 'column', 'columnParallel', 'area', 'scatter']).default('column'),\n secondary: z.enum(['line', 'column', 'columnParallel', 'area', 'scatter']).default('line'),\n})\n\nexport type DualChartType = z.infer<typeof zDualChartType>\n","import { z } from 'zod'\n\n/**\n * example dataset link:\n * [\n * { date: '2019', 20001:'type', profit:10, sales: null, },\n * { date: '2020', 20001:'type', profit:30, sales: -1.1, },\n * { date: '2021', 20001:'type', profit:30, sales: 1, },\n * { date: '2023', 20001:'type', profit:40, sales: undefined, },\n * { date: '2022', 20001:'type', profit:50, sales: 100, },\n * ]\n */\nexport const zDatum = z.record(z.string().or(z.number()), z.any())\nexport const zDataset = z.array(zDatum)\n\nexport type Datum = z.infer<typeof zDatum>\nexport type Dataset = z.infer<typeof zDataset>\n","import { z } from 'zod'\nimport type { DimensionGroup } from './dimensions'\n\nexport const zDimension = z.object({\n id: z.string(),\n alias: z.string().optional(),\n location: z.enum(['dimension', 'rowDimension', 'columnDimension']).default('dimension'),\n encoding: z.enum(['xAxis', 'yAxis', 'angle', 'color', 'detail', 'tooltip', 'label', 'row', 'column']).optional(),\n})\nexport const zDimensionGroup: z.ZodType<DimensionGroup> = z.object({\n id: z.string(),\n alias: z.string().optional(),\n get children() {\n return z.array(zDimensionGroup.or(zDimension)).optional()\n },\n})\nexport const zDimensions = z.array(zDimension)\nexport const zDimensionTree = z.array(zDimensionGroup.or(zDimension))\n","import { z } from 'zod'\n\nexport interface NumFormat {\n /**\n * @description 数字格式化类型, 支持数值(十进制)、百分比(%)、千分比(‰)、科学计数法\n * @default 'number'\n */\n type?: 'number' | 'percent' | 'permille' | 'scientific'\n\n /**\n * @description 数值格式化比例, 百分比和千分比需要设置比例\n * @default 1\n * @example\n * - 100000 转换为 10万, ratio:10000, symbol:\"万\"\n * - 100000 转换为 10K, ratio:1000, symbol:\"K\"\n * - 100000 转换为 100%, ratio:100, symbol:\"%\"\n * - 100000 转换为 100‰, ratio:1000, symbol:\"‰\"\n */\n ratio?: number\n\n /**\n * @description 数值格式化符号, 例如%、‰\n * @default ''\n * @example\n * - 100000 转换为 10万, ratio:10000, symbol:\"万\"\n * - 100000 转换为 10K, ratio:1000, symbol:\"K\"\n * - 100000 转换为 100%, ratio:100, symbol:\"%\"\n * - 100000 转换为 100‰, ratio:1000, symbol:\"‰\"\n */\n symbol?: string\n\n /**\n * @description 数值格式化千分位分隔符\n * @default true\n */\n thousandSeparator?: boolean\n\n /**\n * @description 数值格式化后缀\n * @default ''\n */\n suffix?: string\n /**\n * @description 数值格式化前缀\n * @default ''\n */\n prefix?: string\n\n /**\n * @description 数值格式化小数位, 使用浏览器提供的 Intl.NumberFormat 中的 minimumFractionDigits 和 maximumFractionDigits 进行格式化, 优先级低于 significantDigits\n * @default 2\n * @example\n * - 1234.5678 转换为 1235, fractionDigits:0 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.6, fractionDigits:1 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.57, fractionDigits:2 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1230.568, fractionDigits:3 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.5678, fractionDigits:4 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.56780, fractionDigits:5 (roundingMode:halfCeil)\n */\n fractionDigits?: number\n\n /**\n * @description 数值格式化有效位, 使用浏览器提供的 Intl.NumberFormat 中的 minimumSignificantDigits 和 maximumSignificantDigits 进行格式化, 优先级高于 fractionDigits\n * @default undefined\n * @example\n * - 1234.5678 转换为 1000, significantDigits:1\n * - 1234.5678 转换为 1200, significantDigits:2\n * - 1234.5678 转换为 1230, significantDigits:3\n * - 1234.5678 转换为 1234, significantDigits:4\n * - 1234.5678 转换为 1234.6, significantDigits:5 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.57, significantDigits:6 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.568, significantDigits:7 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.5678, significantDigits:8 (roundingMode:halfCeil)\n */\n significantDigits?: number\n\n /**\n * @description 数值格式化舍入优先级, 处理同时设置了 significantDigits 和 fractionDigits 时的舍入优先级, 使用浏览器提供的 Intl.NumberFormat 进行格式化, 规则同 Intl.NumberFormat 中的 roundingPriority\n * @default 'morePrecision'\n * @example\n * - 1234.5678 转换为 1230, significantDigits:3 (roundingPriority:lessPrecision)\n * - 1234.5678 转换为 1234.5678, significantDigits:3 (roundingPriority:morePrecision)\n */\n roundingPriority?: 'morePrecision' | 'lessPrecision'\n\n /**\n * @description 数值格式化舍入模式, 使用浏览器提供的 Intl.NumberFormat 进行格式化, 规则同 Intl.NumberFormat 中的 roundingMode\n * @default 'halfExpand'\n * @example\n */\n roundingMode?:\n | 'floor'\n | 'ceil'\n | 'expand'\n | 'trunc'\n | 'halfCeil'\n | 'halfFloor'\n | 'halfExpand'\n | 'halfTrunc'\n | 'halfEven'\n}\n\nexport const zNumFormat = z\n .object({\n type: z.enum(['number', 'percent', 'permille', 'scientific']).default('number').optional(),\n ratio: z.number().default(1).optional(),\n symbol: z.string().default('').optional(),\n thousandSeparator: z.boolean().default(false).optional(),\n prefix: z.string().default('').optional(),\n suffix: z.string().default('').optional(),\n\n fractionDigits: z.number().default(2).optional(),\n significantDigits: z.number().default(0).optional(),\n roundingPriority: z.enum(['morePrecision', 'lessPrecision']).default('morePrecision').optional(),\n roundingMode: z\n .enum(['floor', 'ceil', 'halfEven', 'expand', 'trunc', 'halfFloor', 'halfCeil', 'halfExpand', 'halfTrunc'])\n .default('halfCeil')\n .optional(),\n })\n .optional()\n","import { z } from 'zod'\nimport { zNumFormat } from './format/numFormat'\nimport type { MeasureGroup } from './measures'\n\nexport const zMeasure = z.object({\n id: z.string(),\n alias: z.string().optional(),\n autoFormat: z.boolean().default(true),\n format: zNumFormat.default({}),\n encoding: z\n .enum(['primaryYAxis', 'secondaryYAxis', 'xAxis', 'yAxis', 'angle', 'radius', 'size', 'color', 'label', 'tooltip'])\n .optional(),\n parentId: z.string().optional(),\n})\n\nexport const zMeasureGroup: z.ZodType<MeasureGroup> = z.object({\n id: z.string(),\n alias: z.string().optional(),\n get children() {\n return z.array(zMeasureGroup.or(zMeasure)).optional()\n },\n})\n\nexport const zMeasures = z.array(zMeasure)\nexport const zMeasureTree = z.array(zMeasureGroup.or(zMeasure))\n","import { z } from 'zod'\nimport { zMeasure } from './zMeasures'\n\nexport const zDualMeasure = z.object({\n id: z.string(),\n\n primaryMeasures: z.array(zMeasure).or(zMeasure).optional(),\n\n secondaryMeasures: z.array(zMeasure).or(zMeasure).optional(),\n})\n\nexport const zDualMeasures = z.array(zDualMeasure)\n","import { z } from 'zod'\nimport { zMeasure } from './zMeasures'\n\nexport const zScatterMeasure = z.object({\n id: z.string(),\n\n xMeasures: z.array(zMeasure).or(zMeasure).optional(),\n\n yMeasures: z.array(zMeasure).or(zMeasure).optional(),\n})\n\nexport const zScatterMeasures = z.array(zScatterMeasure)\n","import { z } from 'zod'\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n colorRange: z.array(z.number()),\n measureRange: z.array(z.number()),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n encodingX: z.string(),\n encodingY: z.string(),\n encodingColor: z.string(),\n encodingColorId: z.string(),\n encodingDetail: z.string(),\n encodingAngle: z.string(),\n colorItems: z.array(z.string()),\n colorIdMap: z.record(z.string(), z.string()),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n index: z.number(),\n foldInfo: zFoldInfo,\n foldInfoList: z.array(zFoldInfo).nullish(),\n unfoldInfo: zUnfoldInfo,\n }),\n)\n","import { z } from 'zod'\n\nexport const zEncoding = z.object({\n x: z.array(z.string()).nullish(),\n y: z.array(z.string()).nullish(),\n angle: z.array(z.string()).nullish(),\n radius: z.array(z.string()).nullish(),\n detail: z.array(z.string()).nullish(),\n\n color: z.array(z.string()).nullish(),\n size: z.array(z.string()).nullish(),\n tooltip: z.array(z.string()).nullish(),\n label: z.array(z.string()).nullish(),\n\n row: z.array(z.string()).nullish(),\n column: z.array(z.string()).nullish(),\n\n group: z.array(z.string()).nullish().describe('已弃用, 请使用颜色替代'),\n})\n","import { z } from 'zod'\nimport type { Axis } from './axis'\n\nexport type XBandAxis = Omit<Axis, 'min' | 'max' | 'nice' | 'zero' | 'log' | 'logBase'>\nexport type YBandAxis = Omit<Axis, 'min' | 'max' | 'nice' | 'zero' | 'log' | 'logBase'>\n\nexport const zXBandAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n labelAutoHide: z.boolean().default(true).nullish(),\n labelAutoHideGap: z.number().default(0).nullish(),\n labelAutoRotate: z.boolean().default(true).nullish(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).nullish(),\n labelAutoLimit: z.boolean().default(true).nullish(),\n labelAutoLimitLength: z.number().default(100).nullish(),\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\nexport const zYBandAxis = zXBandAxis\n","import { z } from 'zod'\nimport { type Axis } from './axis'\n\nexport type XLinearAxis = Omit<\n Axis,\n | 'labelAutoHide'\n | 'labelAutoHideGap'\n | 'labelAutoRotate'\n | 'labelAutoRotateAngleRange'\n | 'labelAutoLimit'\n | 'labelAutoLimitLength'\n>\nexport type YLinearAxis = Omit<\n Axis,\n | 'labelAutoHide'\n | 'labelAutoHideGap'\n | 'labelAutoRotate'\n | 'labelAutoRotateAngleRange'\n | 'labelAutoLimit'\n | 'labelAutoLimitLength'\n>\n\nexport const zXLinearAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n min: z.number().nullish(),\n max: z.number().nullish(),\n nice: z.boolean().default(true).nullish(),\n zero: z.boolean().default(true).nullish(),\n log: z.boolean().default(false).nullish(),\n logBase: z.number().default(10).nullish(),\n inverse: z.boolean().default(false).nullish(),\n\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\n\nexport const zYLinearAxis = zXLinearAxis\n","import { z } from 'zod'\n\nexport const zCrosshairLine = z.object({\n visible: z.boolean().nullish(),\n lineColor: z.string().nullish(),\n labelColor: z.string().nullish(),\n labelVisible: z.boolean().nullish(),\n labelBackgroundColor: z.string().nullish(),\n})\n\nexport const zCrosshairRect = z.object({\n visible: z.boolean().nullish(),\n rectColor: z.string().nullish(),\n labelColor: z.string().nullish(),\n labelVisible: z.boolean().nullish(),\n labelBackgroundColor: z.string().nullish(),\n})\n","import { z } from 'zod'\n\nexport const zStackCornerRadius = z.number().or(z.array(z.number())).default([3, 3, 0, 0])\n\nexport type StackCornerRadius = z.infer<typeof zStackCornerRadius>\n","import { z } from 'zod'\nexport const zBackgroundColor = z.string().default('transparent').nullish()\n\n/**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\nexport type BackgroundColor = string | undefined\n","import { z } from 'zod'\n\nexport const zColor = z.object({\n colorScheme: z.array(z.string()).nullish(),\n linearColorScheme: z.array(z.string()).nullish(),\n colorMapping: z.record(z.string(), z.string()).nullish(),\n})\n\nexport const zLinearColor = z.object({\n linearColorScheme: z.array(z.string()).nullish(),\n})\n\nexport type Color = {\n /**\n * @description 离散颜色配色方案, 颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme?: string[]\n /**\n * @description 线性渐变颜色配色方案, 线性渐变颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2, #F8BBD0]\n */\n linearColorScheme?: string[]\n /**\n * @description 颜色映射, 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping?: Record<string, string>\n}\n\nexport type LinearColor = {\n /**\n *\n * @description 线性渐变颜色配色方案, 线性渐变颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme?: string[]\n}\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).nullish(),\n})\n\nexport type Label = {\n /**\n * 标签功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport type Legend = {\n /**\n * 图例功能是否开启\n * @default true\n * @example enable: true\n */\n enable?: boolean\n /**\n * @description 图例边框是否开启\n * @warning 仅离散图例生效\n * @default true\n * @example border: true\n */\n border?: boolean\n /**\n * @description 图例字体大小\n * @example labelFontSize: 10\n */\n labelFontSize?: number\n /**\n * @description 图例字体颜色\n * @example labelFontColor: '#212121'\n */\n labelFontColor?: string\n /**\n * @description 图例字体粗细\n * @example labelFontWeight: 400\n */\n labelFontWeight?: number | string\n /**\n * @description 图例形状\n * @warning 仅离散图例生效\n * @example shapeType: 'circle'\n */\n shapeType?:\n | 'circle'\n | 'cross'\n | 'diamond'\n | 'square'\n | 'arrow'\n | 'arrow2Left'\n | 'arrow2Right'\n | 'wedge'\n | 'thinTriangle'\n | 'triangle'\n | 'triangleUp'\n | 'triangleDown'\n | 'triangleRight'\n | 'triangleLeft'\n | 'stroke'\n | 'star'\n | 'wye'\n | 'rect'\n | 'arrowLeft'\n | 'arrowRight'\n | 'rectRound'\n | 'roundLine'\n /**\n * 图例位置\n * @default 'right'\n * @example position: 'rightTop'\n */\n position?:\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'lt'\n | 'lb'\n | 'top'\n | 'topLeft'\n | 'topRight'\n | 'tl'\n | 'tr'\n | 'right'\n | 'rightTop'\n | 'rightBottom'\n | 'rt'\n | 'rb'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomRight'\n | 'bl'\n | 'br'\n\n /**\n * @description 存在大量图例时, 最大列数 或 图例最大行数\n * 如果position为水平方向(bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize控制显示的列数\n * 如果position为垂直方向(left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize控制显示的行数\n * \n * @warning 仅离散图例生效\n * @example maxSize: 2\n * @default 1\n */\n maxSize?: number\n}\n\nexport const zLegend = z.object({\n enable: z.boolean().default(true).nullish(),\n border: z.boolean().default(true).nullish(),\n maxSize: z.number().default(1).nullish(),\n shapeType: z\n .enum([\n 'circle',\n 'cross',\n 'diamond',\n 'square',\n 'arrow',\n 'arrow2Left',\n 'arrow2Right',\n 'wedge',\n 'thinTriangle',\n 'triangle',\n 'triangleUp',\n 'triangleDown',\n 'triangleRight',\n 'triangleLeft',\n 'stroke',\n 'star',\n 'wye',\n 'rect',\n 'arrowLeft',\n 'arrowRight',\n 'rectRound',\n 'roundLine',\n ])\n .default('rectRound')\n .nullish(),\n position: z\n .enum([\n 'left',\n 'leftTop',\n 'leftBottom',\n 'lt',\n 'lb',\n 'top',\n 'topLeft',\n 'topRight',\n 'tl',\n 'tr',\n 'right',\n 'rightTop',\n 'rightBottom',\n 'rt',\n 'rb',\n 'bottom',\n 'bottomLeft',\n 'bottomRight',\n 'bl',\n 'br',\n ])\n .default('bottom')\n .nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontColor: z.string().default('#fff').nullish(),\n labelFontWeight: z.number().or(z.string()).default(400).nullish(),\n})\n\nexport type ColorLegend = Pick<Legend, 'position' | 'enable'>\nexport const zColorLegend = z.object({\n position: z\n .enum([\n 'left',\n 'leftTop',\n 'leftBottom',\n 'lt',\n 'lb',\n 'top',\n 'topLeft',\n 'topRight',\n 'tl',\n 'tr',\n 'right',\n 'rightTop',\n 'rightBottom',\n 'rt',\n 'rb',\n 'bottom',\n 'bottomLeft',\n 'bottomRight',\n 'bl',\n 'br',\n ])\n .default('bottom')\n .nullish(),\n enable: z.boolean().default(true).nullish(),\n})\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).nullish(),\n})\n\nexport type Tooltip = {\n /**\n * 提示信息功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\nimport { zXBandAxis, zYBandAxis } from './axes/bandAxis'\nimport { zXLinearAxis, zYLinearAxis } from './axes/linearAxis'\nimport { zCrosshairLine, zCrosshairRect } from './crosshair'\nimport { zStackCornerRadius } from './stackCornerRadius/stackCornerRadius'\nimport { zBackgroundColor } from './backgroundColor/backgroundColor'\nimport { zColor } from './color/color'\nimport { zLabel } from './label/label'\nimport { zLegend } from './legend/legend'\nimport { zTooltip } from './tooltip/tooltip'\nimport { zDualChartType } from '../chartType'\n\n/**\n * ---\n * zConfig by 图表类型\n */\nexport const zTableConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n\n // Border\n borderColor: z.string().nullish(),\n\n // Body\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n // Body interaction\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n\n // Header\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n // Header interaction\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n\n // Interaction\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n})\nexport const zPivotTableConfig = zTableConfig\n\nexport const zLineConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\nexport const zColumnConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n})\nexport const zColumnParallelConfig = zColumnConfig\nexport const zColumnPercentConfig = zColumnConfig\nexport const zBarConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n})\nexport const zBarParallelConfig = zBarConfig\nexport const zBarPercentConfig = zBarConfig\nexport const zAreaConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\nexport const zAreaPercentConfig = zAreaConfig\n\nexport const zDualAxisConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n dualChartType: z.array(zDualChartType).or(zDualChartType).nullish(),\n alignTicks: z.array(z.boolean()).or(z.boolean()).nullish(),\n primaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n secondaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n\n xAxis: zXBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n})\nexport const zScatterConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\n\n// polar\nexport const zRoseConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n})\nexport const zRoseParallelConfig = zRoseConfig\nexport const zPieConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n})\nexport const zDonutConfig = zPieConfig\nexport const zRadarConfig = zPieConfig\n// other\nexport const zFunnelConfig = zPieConfig\nexport const zHeatmapConfig = zPieConfig\n\n/**\n * ---\n * Type config by chart type\n */\nexport type TableConfig = z.infer<typeof zTableConfig>\nexport type PivotTableConfig = z.infer<typeof zPivotTableConfig>\n// cartesian\nexport type LineConfig = z.infer<typeof zLineConfig>\nexport type ColumnConfig = z.infer<typeof zColumnConfig>\nexport type ColumnParallelConfig = z.infer<typeof zColumnParallelConfig>\nexport type ColumnPercentConfig = z.infer<typeof zColumnPercentConfig>\nexport type BarConfig = z.infer<typeof zBarConfig>\nexport type BarParallelConfig = z.infer<typeof zBarParallelConfig>\nexport type BarPercentConfig = z.infer<typeof zBarPercentConfig>\nexport type AreaConfig = z.infer<typeof zAreaConfig>\nexport type AreaPercentConfig = z.infer<typeof zAreaPercentConfig>\n\nexport type ScatterConfig = z.infer<typeof zScatterConfig>\nexport type DualAxisConfig = z.infer<typeof zDualAxisConfig>\n// polar\nexport type RoseConfig = z.infer<typeof zRoseConfig>\nexport type RoseParallelConfig = z.infer<typeof zRoseParallelConfig>\nexport type PieConfig = z.infer<typeof zPieConfig>\nexport type DonutConfig = z.infer<typeof zDonutConfig>\nexport type RadarConfig = z.infer<typeof zRadarConfig>\n// other\nexport type FunnelConfig = z.infer<typeof zFunnelConfig>\nexport type HeatmapConfig = z.infer<typeof zHeatmapConfig>\n\n/**\n * config and type\n */\nexport type Config = z.infer<typeof zConfig>\nexport const zConfig = z.object({\n table: zTableConfig.nullish(),\n pivotTable: zPivotTableConfig.nullish(),\n\n // cartesian\n line: zLineConfig.nullish(),\n column: zColumnConfig.nullish(),\n columnParallel: zColumnParallelConfig.nullish(),\n columnPercent: zColumnPercentConfig.nullish(),\n bar: zBarConfig.nullish(),\n barParallel: zBarParallelConfig.nullish(),\n barPercent: zBarPercentConfig.nullish(),\n area: zAreaConfig.nullish(),\n areaPercent: zAreaPercentConfig.nullish(),\n\n scatter: zScatterConfig.nullish(),\n dualAxis: zDualAxisConfig.nullish(),\n\n // polar\n rose: zRoseConfig.nullish(),\n roseParallel: zRoseParallelConfig.nullish(),\n pie: zPieConfig.nullish(),\n donut: zDonutConfig.nullish(),\n radar: zRadarConfig.nullish(),\n // other\n funnel: zFunnelConfig.nullish(),\n heatmap: zHeatmapConfig.nullish(),\n})\n","import { z } from 'zod'\n\nexport type Axis = {\n /**\n * 轴是否可见\n * @default true\n * @example true\n */\n visible?: boolean\n\n /**\n * 轴的最小值\n * @description 优先级高于 nice 与 zero\n * @default undefined\n * @example 100\n */\n min?: number\n\n /**\n * 轴的最大值\n * @description 优先级高于 nice 与 zero\n * @default undefined\n * @example 10000\n */\n max?: number\n\n /**\n * @description 是否使用对数轴, 仅对数值轴生效\n * @default false\n */\n log?: boolean\n\n /**\n * @description 对数轴的底数, 仅对数值轴生效\n * @default 10\n */\n logBase?: number\n\n /**\n * 是否自动调整轴的刻度间隔,使刻度标签更易读\n * @description 当配置了 min 和 max, 该配置项失效, 仅对数值轴生效\n * @default true\n * @example true\n */\n nice?: boolean\n\n /**\n * 轴是否反向展示\n * @description 仅对数值轴生效\n * @default false\n * @example false\n */\n inverse?: boolean\n\n /**\n * 是否在坐标轴上强制显示 0 值,\n * @description 当配置了 min 和 max, 该配置项失效, 仅对数值轴生效\n * @default true\n * @example true\n */\n zero?: boolean\n\n /**\n * 轴标签, 自动隐藏\n * @description 2个标签若重叠(间隔小于autoHideGap), 则自动隐藏导致重叠的标签. 仅对类目轴生效.\n * @default true\n */\n labelAutoHide?: boolean\n /**\n * 轴标签, 自动隐藏间隔\n * @description 若2个文本标签的间隔小于autoHideGap, 则自动隐藏导致重叠的标签. 仅对类目轴生效.\n * autoHide开启时, 使用autoHide, 设置在autoHideSeparation上\n * autoHide关闭时, 使用sampling采样, 设置在minGap上\n * @default 4\n */\n labelAutoHideGap?: number\n /**\n * 轴标签, 自动旋转\n * @description 当标签宽度超过轴长度时, 自动旋转标签. 仅对类目轴生效.\n * @default true\n */\n labelAutoRotate?: boolean\n /**\n * 轴标签, 自动旋转角度范围\n * @description 当自动旋转开启时, 标签旋转角度范围. 仅对类目轴生效.\n * @default [0, -45, -90]\n */\n labelAutoRotateAngleRange?: number[]\n /**\n * 轴标签, 自动限制长度,\n * @description 当标签宽度超过轴长度时, 超出部分省略号表示, 鼠标悬浮后可见标签, 自动限制标签宽度. 仅对类目轴生效.\n * @default true\n */\n labelAutoLimit?: boolean\n /**\n * 轴标签, 自动限制长度的最大长度\n * @description 当标签文本长度超过最大长度时, 超出部分省略号表示, 鼠标悬浮后可见标签. 仅对类目轴生效.\n */\n labelAutoLimitLength?: number\n\n /**\n * X轴刻度标签\n * @default true\n */\n label?: {\n /**\n * 标签是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 标签颜色\n */\n labelColor?: string\n /**\n * 标签字体大小\n */\n labelFontSize?: number\n /**\n * 标签字体粗细\n */\n labelFontWeight?: number\n /**\n * 标签旋转角度\n */\n labelAngle?: number\n }\n\n /**\n * X轴线\n * @example\n * {\n * visible: true,\n * lineColor: '#ffeecc',\n * lineWidth: 2,\n * }\n */\n line?: {\n /**\n * 轴线是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 轴线颜色\n */\n lineColor?: string\n /**\n * 轴线宽度\n * @default 1\n */\n lineWidth?: number\n }\n\n /**\n * X轴刻度\n * @default true\n */\n tick?: {\n /**\n * 刻度是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 刻度是否朝内\n * @default false\n */\n tickInside?: boolean\n /**\n * 刻度颜色\n */\n tickColor?: string\n /**\n * 刻度尺寸\n */\n tickSize?: number\n }\n\n /**\n * X轴标题\n * @default false\n */\n title?: {\n /**\n * 标题是否可见\n * @default false\n */\n visible?: boolean\n /**\n * 标题文本, 默认跟随字段配置\n */\n titleText?: string\n /**\n * 标题颜色\n */\n titleColor?: string\n /**\n * 标题字体大小\n */\n titleFontSize?: number\n /**\n * 标题字体粗细\n */\n titleFontWeight?: number\n }\n\n /**\n * X轴网格线\n * @default false\n */\n grid?: {\n visible?: boolean\n /**\n * 网格线颜色\n */\n gridColor?: string\n /**\n * 网格线宽度\n */\n gridWidth?: number\n }\n}\n\nexport const zAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n min: z.number().nullish(),\n max: z.number().nullish(),\n nice: z.boolean().default(true).nullish(),\n zero: z.boolean().default(true).nullish(),\n inverse: z.boolean().default(false).nullish(),\n log: z.boolean().default(false).nullish(),\n logBase: z.number().default(10).nullish(),\n\n labelAutoHide: z.boolean().default(true).nullish(),\n labelAutoHideGap: z.number().default(4).nullish(),\n labelAutoRotate: z.boolean().default(true).nullish(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).nullish(),\n labelAutoLimit: z.boolean().default(true).nullish(),\n labelAutoLimitLength: z.number().default(100).nullish(),\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\n","import { z } from 'zod'\nimport { zConfig } from '../config'\n\nexport const zCustomThemeConfig = z.object({\n config: zConfig.nullish(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).nullish()\n\nexport type CustomTheme = z.infer<typeof zCustomTheme>\nexport type CustomThemeConfig = z.infer<typeof zCustomThemeConfig>\n","import { z } from 'zod'\n\nexport const zTheme = z.string()\n\ntype Light = 'light' & { readonly brand: unique symbol }\ntype Dark = 'dark' & { readonly brand: unique symbol }\n\n/**\n * 主题\n * @default light\n * @description 内置 light、dark 两种主题, 新的主题可以通过registerTheme自定义主题.\n */\nexport type Theme = Light | Dark | string\n","import { z } from 'zod'\nimport type { Datum } from '../properties'\n\nexport type ValueSelector = string | number\n\nexport type PartialDatumSelector = Datum\n\n/**\n * @description 指标选择器, 用于选择数据项中指标字段的值\n */\nexport type MeasureSelector = {\n /**\n * @description 指标字段, measures 某一项的 id\n */\n field: string\n /**\n * @description 操作符\n * - =: 选择数据项中指标字段的值等于 value 的数据项\n * - ==: 选择数据项中指标字段的值等于 value 的数据项\n * - !=: 选择数据项中指标字段的值不等于 value 的数据项\n * - >: 选择数据项中指标字段的值大于 value 的数据项\n * - <: 选择数据项中指标字段的值小于 value 的数据项\n * - >=: 选择数据项中指标字段的值大于等于 value 的数据项\n * - <=: 选择数据项中指标字段的值小于等于 value 的数据项\n * - between: 选择数据项中指标字段的值在 value 之间的 data item\n */\n operator?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n /**\n * @description 操作符\n * - =: 选择数据项中指标字段的值等于 value 的数据项\n * - ==: 选择数据项中指标字段的值等于 value 的数据项\n * - !=: 选择数据项中指标字段的值不等于 value 的数据项\n * - >: 选择数据项中指标字段的值大于 value 的数据项\n * - <: 选择数据项中指标字段的值小于 value 的数据项\n * - >=: 选择数据项中指标字段的值大于等于 value 的数据项\n * - <=: 选择数据项中指标字段的值小于等于 value 的数据项\n * - between: 选择数据项中指标字段的值在 value 之间的 data item\n * same as operator\n */\n op?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n /**\n * @description 选择数据项中指标字段的值\n * - 仅 op 为 between 时, value 为长度为2的数组, 数组中的元素为指标字段的最小值和最大值\n * - 其他情况, value 为指标字段的单个值\n */\n value: string | number | Array<string | number>\n // /**\n // * @description 是否使用原始数据进行数据匹配, 开启后会有更多的数据被匹配到\n // * 若下述数据, measures 仅设置了 value, field 为 isHigh 或 isLow, op 为 =, value 为 1,\n // * 关闭useOrigin时, 数据项并不会考虑measures之外的字段, 因此field为isHigh或isLow的字段会被忽略\n // * 开启useOrigin时, 会直接使用整个数据项进行匹配\n // * [\n // * {value: 100, isHigh: 1, isLow: 0},\n // * {value: 200, isHigh: 0, isLow: 1},\n // * {value: 300, isHigh: 1, isLow: 0},\n // * ]\n // * @default false\n // */\n // useOrigin?: boolean\n}\n\n/**\n * @description 维度选择器, 用于选择数据项中维度字段的值\n */\nexport type DimensionSelector = {\n /**\n * @description 维度字段, dimensions 某一项的 id\n */\n field: string\n /**\n * @description 操作符\n * - in: 选择数据项中维度字段的值在 value 中的数据项\n * - not in: 选择数据项中维度字段的值不在 value 中的数据项\n */\n operator?: 'in' | 'not in'\n /**\n * @description 操作符\n * - in: 选择数据项中维度字段的值在 value 中的数据项\n * - not in: 选择数据项中维度字段的值不在 value 中的数据项\n * same as operator\n */\n op?: 'in' | 'not in'\n /**\n * @description 选择数据项中维度字段的值, 支持数组\n */\n value: string | number | Array<string | number>\n // /**\n // * @description 是否使用原始数据进行数据匹配, 开启后会有更多的数据被匹配到\n // * 若下述数据, dimensions 仅设置了 name, field 为 name, op 为 =, value 为 \"high\",\n // * 关闭useOrigin时, 数据项并不会考虑dimensions之外的字段, 因此field为name的字段会被忽略\n // * 开启useOrigin时, 会直接使用整个数据项进行匹配\n // * [\n // * {name: \"low\", isHigh: \"false\", isLow: \"true\"},\n // * {name: \"low\", isHigh: \"false\", isLow: \"true\"},\n // * {name: \"high\", isHigh: \"true\", isLow: \"false\"},\n // * ]\n // * @default false\n // */\n // useOrigin?: boolean\n}\n\nexport type Selector = ValueSelector | PartialDatumSelector | MeasureSelector | DimensionSelector\n\nexport type Selectors = Array<Selector>\n\nexport const zSelector = z.union([\n z.string(),\n z.number(),\n z.object({\n field: z.string(),\n operator: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).nullish(),\n op: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).nullish(),\n value: z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()]))]),\n }),\n z.object({\n field: z.string(),\n operator: z.enum(['in', 'not in']).nullish(),\n op: z.enum(['in', 'not in']).nullish(),\n value: z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()]))]),\n }),\n])\n\nexport const zSelectors = z.array(zSelector)\n","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 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","import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type PointStyle = {\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 pointVisible?: boolean\n /**\n * 点大小\n * @description 点大小\n */\n pointSize?: number\n /**\n * 点图元颜色\n * @description 点图元颜色\n */\n pointColor?: string\n /**\n * 点图元颜色透明度\n * @description 点图元颜色透明度\n */\n pointColorOpacity?: number\n /**\n * 点图元边框颜色\n * @description 点图元边框颜色\n */\n pointBorderColor?: string\n /**\n * 点图元边框宽度\n * @description 点图元边框宽度\n */\n pointBorderWidth?: number\n /**\n * 点图元边框样式\n * @description 点图元边框样式\n * @example solid\n * @example dashed\n * @example dotted\n */\n pointBorderStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zPointStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n pointVisible: z.boolean().nullish(),\n pointSize: z.number().nullish(),\n pointColor: z.string().nullish(),\n pointColorOpacity: z.number().nullish(),\n pointBorderColor: z.string().nullish(),\n pointBorderWidth: z.number().nullish(),\n pointBorderStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).nullish(),\n})\n","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","import { z } from 'zod'\nimport { zSelector, zSelectors } from '../../dataSelector'\n\nexport const zAreaStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n areaVisible: z.boolean().nullish(),\n areaColor: z.string().nullish(),\n areaColorOpacity: z.number().nullish(),\n})\n","import { z } from 'zod'\nimport { zBarStyle } from './barStyle'\nimport { zPointStyle } from './pointStyle'\nimport { zLineStyle } from './lineStyle'\nimport { zAreaStyle } from './zAreaStyle'\n\nexport const zMarkStyle = z.object({\n barStyle: zBarStyle.or(z.array(zBarStyle)).nullish(),\n pointStyle: zPointStyle.or(z.array(zPointStyle)).nullish(),\n lineStyle: zLineStyle.or(z.array(zLineStyle)).nullish(),\n areaStyle: zAreaStyle.or(z.array(zAreaStyle)).nullish(),\n})\n\nexport type MarkStyle = z.infer<typeof zMarkStyle>\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationPoint = z.object({\n selector: z.union([zSelector, zSelectors]),\n text: z.string().or(z.array(z.string())).nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').nullish(),\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundPadding: z.number().nullish(),\n\n offsetY: z.number().default(0).nullish(),\n offsetX: z.number().default(0).nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationVerticalLine = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n xValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().default('#212121').nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundPadding: z.number().default(2).nullish(),\n\n lineVisible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('#212121').nullish(),\n lineWidth: z.number().default(1).nullish(),\n lineStyle: z\n .union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')])\n .default('dashed')\n .nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationHorizontalLine = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n yValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n lineVisible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('#212121').nullish(),\n lineWidth: z.number().default(1).nullish(),\n lineStyle: z\n .union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')])\n .default('dashed')\n .nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().default('#212121').nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundPadding: z.number().default(2).nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationArea = z.object({\n selector: z.union([zSelector, zSelectors]),\n textPosition: z\n .enum(['top', 'topRight', 'topLeft', 'bottom', 'bottomLeft', 'bottomRight', 'left', 'right'])\n .default('top')\n .nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#191d24').nullish(),\n textBackgroundBorderColor: z.string().default('#191d24').nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundPadding: z.number().default(4).nullish(),\n\n areaColor: z.string().default('#888888').nullish(),\n areaColorOpacity: z.number().default(0.15).nullish(),\n areaBorderColor: z.string().default('#888888').nullish(),\n areaBorderWidth: z.number().default(1).nullish(),\n areaBorderRadius: z.number().default(4).nullish(),\n\n outerPadding: z.number().default(4).nullish(),\n})\n","import { z } from 'zod'\nimport { zAnnotationPoint } from './zAnnotationPoint'\nimport { zAnnotationVerticalLine } from './zAnnotationVerticalLine'\nimport { zAnnotationHorizontalLine } from './zAnnotationHorizontalLine'\nimport { zAnnotationArea } from './zAnnotationArea'\n\n\nexport const zAnnotation = z.object({\n annotationPoint: zAnnotationPoint.or(z.array(zAnnotationPoint)).nullish(),\n annotationVerticalLine: zAnnotationVerticalLine.or(z.array(zAnnotationVerticalLine)).nullish(),\n annotationHorizontalLine: zAnnotationHorizontalLine.or(z.array(zAnnotationHorizontalLine)).nullish(),\n annotationArea: zAnnotationArea.or(z.array(zAnnotationArea)).nullish(),\n})\n\nexport type Annotation = z.infer<typeof zAnnotation>\n","import { z } from 'zod'\n\nexport const zSort = z.object({\n order: z.enum(['asc', 'desc']).default('asc'),\n orderBy: z.string().nullish(),\n customOrder: z.array(z.any()).nullish(),\n})\n\n/**\n * @description 类目轴排序配置, 支持根据维度或指标排序, 以及自定义排序顺序\n * @default {}\n * @example \n * - order:'asc'\n * - orderBy:'date'\n * 或\n * - customOrder:['2019', '2020', '2021']\n */\nexport type Sort = {\n /**\n * @description 排序顺序, 可选值为 'asc' 或 'desc'\n * @enum ['asc', 'desc']\n * @example order:'asc'\n */\n order?: 'asc' | 'desc'\n\n /**\n * @description 排序依赖的字段, 可以是维度id或指标id\n * @example \n * - orderBy:'date'\n * - orderBy:'profit'\n */\n orderBy?: string\n\n /**\n * @description 自定义排序顺序, 该顺序将直接应用至类目轴\n */\n customOrder?: string[]\n}\n","import { z } from 'zod'\n\nexport const zSortLegend = z.object({\n order: z.enum(['asc', 'desc']).default('asc'),\n orderBy: z.string().nullish(),\n customOrder: z.array(z.any()).nullish(),\n})\n\n/**\n * @description 图例排序配置, 支持根据维度或指标排序, 以及自定义排序顺序; 排序数组遵循从左到右或从上到下的顺序\n * @default {}\n * @example \n * - order:'asc'\n * - orderBy:'date'\n * 或\n * - customOrder:['2019', '2020', '2021']\n */\nexport type SortLegend = {\n /**\n * @description 排序顺序, 可选值为 'asc' 或 'desc'\n * @default 'asc'\n * @enum ['asc', 'desc']\n * @example order:'asc'\n */\n order?: 'asc' | 'desc'\n /**\n * @description 排序依赖的字段, 可以是维度id或指标id\n * @example \n * - orderBy:'date'\n * - orderBy:'profit'\n */\n orderBy?: string\n /**\n * @description 自定义排序顺序, 该顺序将直接应用至图例, 升序从左到右或从上到下, 降序从右到左或从下到上\n */\n customOrder?: string[]\n}\n","import { z } from 'zod'\n\nexport const zAnalysis = z.object({\n orderMapping: z.record(z.string(), z.array(z.string())).nullish(),\n})\n","import { z } from 'zod'\n\nexport type Locale = 'zh-CN' | 'en-US'\n\nexport type TranslateRecordType = Record<string, { [local in Locale]: string }>\n\nexport const zLocale = z.enum(['zh-CN', 'en-US']).default('zh-CN')\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport { zBackgroundColor, zDataset, zDimensions, zMeasureTree, zTheme } from '../../properties'\n\nexport const zTable = z.object({\n chartType: z.literal('table'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport { zBackgroundColor, zDataset, zDimensions, zTheme, zMeasures } from '../../properties'\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasures.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zSort,\n zSortLegend,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zLine = z.object({\n chartType: z.literal('line'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n sort: zSort.nullish(),\n sortLegend: zSortLegend.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zColumn = z.object({\n chartType: z.literal('column'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zColumnParallel = z.object({\n chartType: z.literal('columnParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zColumnPercent = z.object({\n chartType: z.literal('columnPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zBar = z.object({\n chartType: z.literal('bar'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nexport const zBarParallel = z.object({\n chartType: z.literal('barParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nexport const zBarPercent = z.object({\n chartType: z.literal('barPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zArea = z.object({\n chartType: z.literal('area'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zAreaPercent = z.object({\n chartType: z.literal('areaPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zPointStyle,\n zScatterMeasures,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zScatter = z.object({\n chartType: z.literal('scatter'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n scatterMeasures: zScatterMeasures.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from 'src/types/i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zDualChartType,\n zDualMeasures,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zSort,\n zSortLegend,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from 'src/types/properties'\n\nexport const zDualAxis = z.object({\n chartType: z.literal('dualAxis'),\n\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n dualMeasures: zDualMeasures.nullish(),\n\n dualChartType: z.array(zDualChartType).or(zDualChartType).nullish(),\n alignTicks: z.array(z.boolean()).or(z.boolean()).nullish(),\n \n primaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n secondaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n xAxis: zXBandAxis.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n\n crosshairRect: zCrosshairRect.nullish(),\n sort: zSort.nullish(),\n sortLegend: zSortLegend.nullish(),\n theme: zTheme.nullish(),\n\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRose = z.object({\n chartType: z.literal('rose'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRoseParallel = z.object({\n chartType: z.literal('roseParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zPie = z.object({\n chartType: z.literal('pie'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zDonut = z.object({\n chartType: z.literal('donut'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRadar = z.object({\n chartType: z.literal('radar'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zColorLegend,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zFunnel = z.object({\n chartType: z.literal('funnel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zColorLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zColorLegend,\n zDataset,\n zDimensions,\n zLabel,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zHeatmap = z.object({\n chartType: z.literal('heatmap'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zColorLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\n\nimport { zBar } from './chartType/bar'\nimport { zBarParallel } from './chartType/barParallel'\nimport { zColumn } from './chartType/column'\nimport { zColumnParallel } from './chartType/columnParallel'\nimport { zColumnPercent } from './chartType/columnPercent'\nimport { zLine } from './chartType/line'\nimport { zRose } from './chartType/rose'\nimport { zBarPercent } from './chartType/barPercent'\nimport { zPie } from './chartType/pie'\nimport { zDonut } from './chartType/donut'\nimport { zArea } from './chartType/area'\nimport { zAreaPercent } from './chartType/areaPercent'\nimport {\n zDualAxis,\n zFunnel,\n zHeatmap,\n zPivotTable,\n zRadar,\n zRoseParallel,\n zScatter,\n zTable,\n} from './chartType'\n\nexport const zVSeed = z.discriminatedUnion('chartType', [\n zTable,\n zPivotTable,\n // cartesian\n zLine,\n zColumn,\n zColumnParallel,\n zColumnPercent,\n zBar,\n zBarParallel,\n zBarPercent,\n zArea,\n zAreaPercent,\n zScatter,\n zDualAxis,\n // polar\n zPie,\n zDonut,\n zRose,\n zRoseParallel,\n zRadar,\n // other\n zFunnel,\n zHeatmap,\n])\n","import { z } from 'zod'\nimport { zChartType } from './properties/chartType'\nimport { zDataset } from './properties/dataset'\nimport { zDimensionTree } from './properties/dimensions'\nimport { zMeasureTree } from './properties/measures'\nimport { zEncoding } from './properties/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig } from './properties/config'\nimport { zAnalysis, zAnnotation, zMarkStyle } from './properties'\nimport { zLocale } from './i18n'\n\nexport const zAdvancedVSeed = z.object({\n chartType: zChartType,\n dataset: zDataset,\n datasetReshapeInfo: zDatasetReshapeInfo,\n dimensions: zDimensionTree,\n measures: zMeasureTree,\n encoding: zEncoding,\n config: zConfig,\n analysis: zAnalysis,\n theme: zTheme,\n markStyle: zMarkStyle,\n customTheme: zCustomThemeConfig,\n annotation: zAnnotation,\n locale: zLocale,\n})\n\nexport type AdvancedVSeed = z.infer<typeof zAdvancedVSeed>\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","execPipeline","pipeline","context","initialValue","result","prev","cur","buildAdvanced","builder","start","performance","Date","chartType","Error","Builder","e","console","end","buildSpec","advancedVSeed","build","spec","Intl","translateMap","value","segments","values","text","segment","index","translatedText","isNullish","locale","intl","i18n","C","t","o","n","u","p","B","i","r","l","a","s","Set","getColorItems","datasetReshapeInfo","colorItems","unique","d","colorIdMap","getColorIdMap","vseed","advanced","customPipe","themeKey","initAdvancedVSeed","autoMeasures","measures","dataset","top100dataset","sample","item","undefined","measure","preorderTraverse","tree","callback","stack","node","stop","children","child","findMeasureById","id","findFirstMeasure","findAllMeasures","autoDimensions","dimensions","dim","records","tableConfig","config","pick","D","c","structuredClone","Array","Number","theme","customTheme","chartConfigTheme","chartConfig","mergedConfig","mergeDeep","clone","_k","mergeArray","chartCustomTheme","arr","themeItem","isString","isNumber","isObjectType","merge","tableAdvancedPipeline","initTable","backgroundColor","isMeasure","isMeasureGroup","isMeasures","dimensionTreeToColumns","eachNode","columns","treeTreeToColumns","groupNode","field","title","props","createNumFormatter","format","type","ratio","symbol","thousandSeparator","prefix","suffix","fractionDigits","significantDigits","roundingMode","roundingPriority","numFormatterOptions","numFormatter","num","typeSymbol","String","numStr","parts","autoNumFormatter","createFormatter","autoFormatter","measureTreeToColumns","fieldFormat","datum","autoFormat","isEmpty","formatter","bodyStyle","themeConfig","borderColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor","headerStyle","themConfig","frameStyle","selectionStyle","tableSpecPipeline","registerTable","autoPivotMeasures","findAllDimensions","autoPivotDimensions","newDimensions","pivotTableConfig","pivotTableAdvancedPipeline","initPivotTable","pivotColumns","pivotRows","rows","pivotIndicators","rowHeaderStyle","cornerHeaderStyle","hoverCellColor","AggregationType","SortType","dataConfig","aggregationRules","pivotTableSpecPipeline","registerPivotTable","ORIGINAL_DATA","Separator","FoldMeasureName","FoldMeasureId","FoldMeasureValue","MeasureName","FoldPrimaryMeasureValue","FoldSecondaryMeasureValue","FoldXMeasureValue","FoldYMeasureValue","XEncoding","YEncoding","AngleEncoding","DetailEncoding","ColorEncoding","ColorIdEncoding","getBasicDimensions","MeaName","basicDimensions","getBasicMeasures","generateMeasuresByDataset","basicMeasures","isMeasureTreeWithChildren","isMeasureTreeWithParentId","encodingForLine","vseedMeasures","hasDimensionEncoding","hasMeasureEncoding","encoding","generateDimensionEncoding","generateDefaultDimensionEncoding","generateMeasureEncoding","generateDefaultMeasureEncoding","onlyMeasureName","uniqueDimIds","color","measureDepth","depth","Math","isTable","isPivotTable","isVTable","isVChart","isPivotChart","parentIds","hasRowOrColumnDimension","dimension","hasMeasureGroup","buildMeasures","generateMeasuresByParentId","basicMeasuresToMeasureTree","measureTree","parent","alias","pivotAdapter","pivotPipeline","usePivotChart","T","m","foldMeasures","options","measureId","measureName","measureValue","colorMeasureId","foldInfo","ids","j","omit","Infinity","unfoldDimensions","foldMeasureId","separator","colorItemAsId","unfoldInfo","x","y","detail","angle","angleDimensions","xDimensions","yDimensions","colorDimensions","detailDimensions","applyEncoding","colorItem","colorId","dataReshapeByEncoding","foldMeasureName","foldMeasureValue","foldedDataset","finalDataset","colorAdapter","ordinalPipe","linearPipe","isLinearColor","measureIdList","getColorMeasureId","reshapeWithEncoding","newDatasets","uniqueBy","pivotReshapeWithEncoding","measureGroups","datasets","measureGroup","groupId","newSubDataset","reshapeInfo","sortXBandAxis","sortAxis","xField","axisOrderResult","calcOrder","sortConfig","order","orderBy","res","sort","b","aValue","bValue","sortLegend","nameMap","pre","orderRes","itemNameOrId","lineConfig","columnConfig","pieConfig","areaConfig","areaPercentConfig","scatterConfig","barConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","roseConfig","roseParallelConfig","funnelConfig","heatmapConfig","radarConfig","markStyle","annotation","lineAdvancedPipeline","initLine","baseConfig","colorScheme","colorMapping","createSpecifiedForColorMapping","matchedList","colors","accurateMap","name","colorValue","accurateMatchedList","colorKey","colorAlias","fuzzyMap","fuzzyMatchedList","linearColor","linearColorScheme","datasetXY","analysis","orderMapping","fields","progressive","size","xBand","visible","label","tick","grid","line","labelAutoHide","labelAutoHideGap","labelAutoLimit","labelAutoLimitLength","labelAutoRotate","labelAutoRotateAngleRange","sampling","bandAxis","ANNOTATION_Z_INDEX","LINEAR_AXIS_INNER_OFFSET_TOP","DUAL_AXIS_CHART_COLUMN_Z_INDEX","DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX","yLinear","zero","nice","inverse","max","min","log","logBase","linearAxis","enable","formatValue","tooltip","colorName","verticalCrosshairLine","lineColor","labelColor","labelVisible","labelBackgroundColor","crosshair","discreteLegend","legend","position","labelFontColor","labelFontSize","labelFontWeight","maxSize","border","shapeType","orient","legendPosition","items","colorLegend","colorPointStyleFill","stylePipe","selector","vchartDatum","selectorMode","vchartKeys","k","selectors","isValueSelector","v","isMeasureSelector","op","selectorValueArr","isDimensionSelector","isPartialDatumSelector","pointStyle","pointStyles","customMap","style","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointVisible","lineDash","pointStateDimensionHover","point","pointStateHover","colorLineStyleFill","lineStyle","lineStyles","lineGroups","groupBy","lineColorOpacity","lineSmooth","lineWidth","lineVisible","dashSegment","dashGap","curveType","lineData","isSubset","sub","annotationPoint","annotationPointList","markPoint","selectorPoint","textColor","textFontSize","textFontWeight","textAlign","textBaseline","textBackgroundBorderColor","textBackgroundBorderRadius","textBackgroundBorderWidth","textBackgroundColor","textBackgroundPadding","textBackgroundVisible","offsetX","offsetY","selectedData","data","targetDatum","annotationVerticalLine","annotationVerticalLineList","positionMap","markLine","xValue","textPosition","generateOneMarkLine","isArray","xValueArr","specMarkLine","newMarkLine","annotationHorizontalLine","yValue","yValueArr","annotationArea","annotationAreaList","markArea","areaColor","areaColorOpacity","areaBorderColor","areaBorderRadius","areaBorderWidth","outerPadding","labelPosition","isBottom","positionData","xyList","yAxisHelper","xAxisHelper","yScale","minX","maxX","minY","maxY","xScale","initPivot","pivotGridStyle","transparent","hoverBackgroundColor","chartPipeline","indicators","newDataset","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","datasetPivot","pivotRowDimensions","rowDimensions","pivotColumnDimensions","columnDimensions","pivotDiscreteLegend","colorSpecified","legends","pivotLine","lineSpecPipeline","registerLine","encodingForColumn","columnAdvancedPipeline","initColumn","stackCornerRadius","_","stackInverse","verticalCrosshairRect","rectColor","colorBarStyleFill","barStyle","showStroke","barStyles","barBorderColor","barBorderStyle","barBorderWidth","barColor","barColorOpacity","barRadius","barVisible","annotationAreaBand","xBandWidth","yBandWidth","pivotColorLegend","column","pivotColumn","columnSpecPipeline","registerColumn","columnParallelAdvancedPipeline","initColumnParallel","sameDimensionsMode","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","registerColumnParallel","columnPercentAdvancedPipeline","percent","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","registerColumnPercent","encodingForBar","sortYBandAxis","yField","barAdvancedPipeline","initBar","datasetYX","xLinear","yBand","horizontalCrosshairRect","bar","pivotBar","barSpecPipeline","registerBar","barParallelAdvancedPipeline","initBarParallel","barParallel","pivotBarParallel","barParallelSpecPipeline","registerBarParallel","barPercentAdvancedPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","registerBarPercent","areaAdvancedPipeline","initArea","colorAreaStyleFill","areaStyle","areaStyles","group","areaGroups","areaVisible","area","pivotArea","areaSpecPipeline","registerArea","areaPercentAdvancedPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","registerAreaPercent","encodingForScatter","dimensionsWithoutMeasureName","buildMeasuresForScatter","scatterMeasures","basicMeasuresToScatterMeasures","scatterMeasuresToMeasureTree","yMeasures","xMeasures","isYAxis","isXAxis","groupChildren","arrPrimaryMeasures","arrSecondaryMeasures","scatterChart","isX","isY","reshapeWithScatterEncoding","foldInfoList","unfoldInfoList","pivotReshapeWithScatterEncoding","datasetList","scatterAdvancedPipeline","initScatter","datasetScatter","horizontalCrosshairLine","scatter","pivotScatter","scatterSpecPipeline","registerScatter","encodingForDualAxis","buildMeasuresForDualAxis","dualMeasures","basicMeasuresToDualMeasures","dualMeasuresToMeasureTree","primaryMeasures","secondaryMeasures","isPrimaryYAxis","isSecondaryYAxis","dualChart","isPrimary","isSecondary","reshapeWithDualEncoding","pivotReshapeWithDualEncoding","dualAxisConfig","dualAxisAdvancedPipeline","series","args","seriesDualAxis","createDualContext","seriesContext","initDualAxisPrimary","initDualAxisSecondary","dualChartTypePrimary","primary","secondary","bothColumn","columnSpec","dualChartTypeSecondary","datasetPrimary","datasetSecondary","labelPrimary","labelSecondary","tooltipPrimary","tooltipSecondary","encodingColorId","yLinearPrimary","reshapeInfoId","primaryYAxis","yAxisConfig","alignTicks","alignTicksConfig","seriesIds","seriesId","yLinearSecondary","secondaryYAxis","sync","linearColorForDualAxis","dualAxis","pivotDualAxis","dualAxisSpecPipeline","registerDualAxis","encodingForPie","pieAdvancedPipeline","initPie","pie","pivotPie","pieSpecPipeline","registerPie","donutAdvancedPipeline","initDonut","donut","pivotDonut","donutSpecPipeline","registerDonut","encodingForRose","roseAdvancedPipeline","initRose","hasNegativeValue","radiusAxis","is0D","is1M1D","showAxis","angleAxis","rose","pivotRose","roseSpecPipeline","registerRose","roseParallelAdvancedPipeline","initRoseParallel","roseParallel","pivotRoseParallel","roseParallelSpecPipeline","registerRoseParallel","encodingForRadar","radarAdvancedPipeline","initRadar","radarAngleAxis","radarRadiusAxis","radar","pivotRadar","radarSpecPipeline","registerRadar","encodingForFunnel","funnelAdvancedPipeline","initFunnel","funnel","pivotFunnel","funnelSpecPipeline","registerFunnel","encodingForHeatmap","heatmapAdvancedPipeline","labelColorInversion","initHeatmap","heatmap","pivotHeatmap","heatmapSpecPipeline","registerHeatmap","lightTheme","barBandAxis","crosshairLine","crosshairRect","darkTheme","registerCustomTheme","registerLightTheme","registerDarkTheme","registerAll","updateAdvanced","advancedPipe","updateSpec","specPipe","$constructor","initializer","params","init","inst","def","_a","Parent","Definition","fn","$ZodAsyncError","globalConfig","newConfig","cuid","cuid2","ulid","xid","ksuid","nanoid","duration","guid","uuid","version","RegExp","email","_emoji","emoji","ipv4","ipv6","cidrv4","cidrv6","base64url","hostname","e164","dateSource","date","timeSource","hhmm","regex","datetime","time","opts","timeRegex","string","integer","number","_undefined","lowercase","uppercase","getEnumValues","entries","numericValues","jsonStringifyReplacer","cached","getter","set","nullish","input","cleanRegex","source","floatSafeRemainder","val","step","valDecCount","stepString","stepDecCount","match","decCount","valInt","stepInt","EVALUATING","defineLazy","object","assignProp","target","mergeDefs","defs","mergedDescriptors","descriptors","esc","str","JSON","captureStackTrace","_args","navigator","F","Function","isPlainObject","ctor","prot","propertyKeyTypes","escapeRegex","cl","normalizeParams","_params","optionalKeys","shape","NUMBER_FORMAT_RANGES","schema","mask","currDef","newShape","extend","_shape","partial","Class","oldShape","required","aborted","startIndex","prefixIssues","path","issues","iss","unwrapMessage","message","finalizeIssue","ctx","full","getLengthableOrigin","$ZodCheck","numericOriginMap","$ZodCheckLessThan","origin","bag","curr","payload","$ZodCheckGreaterThan","$ZodCheckMultipleOf","isMultiple","BigInt","$ZodCheckNumberFormat","isInt","minimum","maximum","$ZodCheckMaxLength","length","$ZodCheckMinLength","$ZodCheckLengthEquals","tooBig","$ZodCheckStringFormat","_b","$ZodCheckRegex","$ZodCheckLowerCase","$ZodCheckUpperCase","$ZodCheckIncludes","escapedRegex","pattern","$ZodCheckStartsWith","$ZodCheckEndsWith","$ZodCheckOverwrite","Doc","arg","content","lines","minIndent","dedented","$ZodError","$ZodRealError","flattenError","error","mapper","issue","fieldErrors","formErrors","formatError","_mapper","processError","el","terminal","_parse","_Err","_ctx","Promise","_parseAsync","_safeParse","safeParse","_safeParseAsync","safeParseAsync","$ZodType","checks","ch","runChecks","isAborted","asyncResult","shouldRun","currLen","nextLen","$ZodString","$ZodStringFormat","$ZodGUID","$ZodUUID","versionMap","$ZodEmail","$ZodURL","trimmed","url","URL","$ZodEmoji","$ZodNanoID","$ZodCUID","$ZodCUID2","$ZodULID","$ZodXID","$ZodKSUID","$ZodISODateTime","$ZodISODate","$ZodISOTime","$ZodISODuration","$ZodIPv4","$ZodIPv6","$ZodCIDRv4","$ZodCIDRv6","address","prefixNum","isValidBase64","atob","$ZodBase64","isValidBase64URL","base64","padded","$ZodBase64URL","$ZodE164","isValidJWT","token","algorithm","tokensParts","header","parsedHeader","$ZodJWT","$ZodNumber","received","$ZodNumberFormat","$ZodBoolean","Boolean","$ZodUndefined","$ZodAny","$ZodUnknown","$ZodNever","handleArrayResult","final","$ZodArray","proms","handlePropertyResult","$ZodObject","_normalized","keys","okeys","propValues","generateFastpass","doc","normalized","parseStr","counter","fastpass","isObject","jit","allowsEval","fastEnabled","catchall","unrecognized","keySet","_catchall","handleUnionResults","results","nonaborted","$ZodUnion","option","patterns","single","first","async","$ZodDiscriminatedUnion","_super","pv","disc","map","Map","opt","$ZodIntersection","left","right","handleIntersectionResults","mergeValues","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","merged","$ZodRecord","Reflect","keyResult","$ZodEnum","valuesSet","$ZodLiteral","$ZodTransform","_out","output","handleOptionalResult","$ZodOptional","$ZodNullable","$ZodDefault","handleDefaultResult","$ZodPrefault","$ZodNonOptional","handleNonOptionalResult","$ZodCatch","$ZodPipe","handlePipeResult","$ZodReadonly","handleReadonlyResult","$ZodCustom","handleRefineResult","_iss","$ZodRegistry","_meta","meta","pm","f","registry","globalRegistry","_string","_email","_guid","_uuid","_uuidv4","_uuidv6","_uuidv7","_url","_nanoid","_cuid","_cuid2","_ulid","_xid","_ksuid","_ipv4","_ipv6","_cidrv4","_cidrv6","_base64","_base64url","_e164","_jwt","_isoDateTime","_isoDate","_isoTime","_isoDuration","_number","_int","_boolean","_any","_unknown","_never","_lt","_lte","_gt","_gte","_multipleOf","_maxLength","_minLength","_length","_regex","_lowercase","_uppercase","_includes","includes","_startsWith","_endsWith","_overwrite","tx","_normalize","form","_trim","_toLowerCase","_toUpperCase","_array","element","_refine","_superRefine","_check","_issue","ZodISODateTime","ZodISODate","ZodISOTime","ZodISODuration","ZodRealError","ZodType","reg","check","refine","refinement","superRefine","optional","nullable","nonoptional","union","intersection","pipe","transform","prefault","readonly","description","_ZodString","ZodString","ZodEmail","ZodURL","ZodJWT","ZodEmoji","ZodGUID","ZodUUID","ZodNanoID","ZodCUID","ZodCUID2","ZodULID","ZodBase64","ZodBase64URL","ZodXID","ZodKSUID","ZodIPv4","ZodIPv6","ZodCIDRv4","ZodCIDRv6","ZodE164","ZodStringFormat","ZodNumber","ZodNumberFormat","ZodBoolean","ZodUndefined","ZodAny","any","ZodUnknown","unknown","ZodNever","never","ZodArray","minLength","maxLength","len","ZodObject","incoming","other","ZodOptional","ZodNonOptional","ZodUnion","ZodDiscriminatedUnion","discriminatedUnion","discriminator","ZodIntersection","ZodRecord","record","keyType","valueType","ZodEnum","newEntries","ZodLiteral","literal","ZodTransform","innerType","ZodNullable","ZodDefault","defaultValue","ZodPrefault","ZodCatch","catchValue","ZodPipe","in_","out","ZodReadonly","ZodCustom","zChartType","z","zDualChartType","zDatum","zDataset","zDimension","zDimensionGroup","zDimensions","zDimensionTree","zNumFormat","zMeasure","zMeasureGroup","zMeasures","zMeasureTree","zDualMeasure","zDualMeasures","zScatterMeasure","zScatterMeasures","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zXBandAxis","zYBandAxis","zXLinearAxis","zYLinearAxis","zCrosshairLine","zCrosshairRect","zStackCornerRadius","zBackgroundColor","zColor","zLinearColor","zLabel","zLegend","zColorLegend","zTooltip","zTableConfig","zPivotTableConfig","zLineConfig","zColumnConfig","zColumnParallelConfig","zColumnPercentConfig","zBarConfig","zBarParallelConfig","zBarPercentConfig","zAreaConfig","zAreaPercentConfig","zDualAxisConfig","zScatterConfig","zRoseConfig","zRoseParallelConfig","zPieConfig","zDonutConfig","zRadarConfig","zFunnelConfig","zHeatmapConfig","zConfig","zAxis","zCustomThemeConfig","zCustomTheme","zTheme","zSelector","zSelectors","zBarStyle","zPointStyle","zLineStyle","zAreaStyle","zMarkStyle","zAnnotationPoint","zAnnotationVerticalLine","zAnnotationHorizontalLine","zAnnotationArea","zAnnotation","zSort","zSortLegend","zAnalysis","zLocale","zTable","zPivotTable","zLine","zColumn","zColumnParallel","zColumnPercent","zBar","zBarParallel","zBarPercent","zArea","zAreaPercent","zScatter","zDualAxis","zRose","zRoseParallel","zPie","zDonut","zRadar","zFunnel","zHeatmap","zVSeed","zAdvancedVSeed"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["webpack://VSeed/webpack/runtime/define_property_getters","webpack://VSeed/webpack/runtime/has_own_property","webpack://VSeed/webpack/runtime/make_namespace_object","webpack://VSeed/./src/pipeline/utils/pipeline.ts","webpack://VSeed/./src/builder/builder/buildAdvanced.ts","webpack://VSeed/./src/builder/builder/buildSpec.ts","webpack://VSeed/./src/builder/builder/build.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-JK3VNB42.js","webpack://VSeed/./src/i18n/i18n.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-ANXBDSUI.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-3GOCSNFN.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-LFJW7BOT.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-QJLMYOTX.js","webpack://VSeed/./src/builder/builder/advanced/colorItems.ts","webpack://VSeed/./src/builder/builder/builder.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/utils/tree/traverse.ts","webpack://VSeed/./src/pipeline/utils/measures/find.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/records/records.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-D6FCK2GA.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-WIMGWYZL.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-2T7K3PFL.js","webpack://VSeed/./src/pipeline/advanced/table/pipes/config/tableConfig.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BZNENX2T.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-PDQFB3TV.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BCBB46UE.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-SFZGYJFI.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-6GTAPB47.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-NMC53JVB.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-5S4PYKVY.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/theme/theme.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/table.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/table.ts","webpack://VSeed/./src/pipeline/utils/measures/typeGuard.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/dimensionsToColumns.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-VCYTMP4D.js","webpack://VSeed/./src/pipeline/utils/format/createNumFormatter.ts","webpack://VSeed/./src/pipeline/utils/format/createFormatter.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/measuresToColumns.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/bodyStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/headerStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/frameStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/selectionStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipeline/table.ts","webpack://VSeed/./src/builder/register/chartType/table.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotMeasures.ts","webpack://VSeed/./src/dataReshape/constant.ts","webpack://VSeed/./src/pipeline/utils/dimensions/find.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/config/pivotTableConfig.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-AIG3BDKO.js","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-KI5X74E2.js","webpack://VSeed/./src/dataReshape/foldMeasures.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/reshape/reshapePivotTable.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/pivotTable.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/pivotTable.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/pivotColumns.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/rowHeaderStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/cornerHeaderStyle.ts","webpack://VSeed/../../node_modules/.pnpm/@visactor+vtable@1.19.8/node_modules/@visactor/vtable/es/ts-types/new-data-set.js","webpack://VSeed/./src/pipeline/spec/table/pipes/indicators/pivotDataConfig.ts","webpack://VSeed/./src/pipeline/spec/table/pipeline/pivotTable.ts","webpack://VSeed/./src/builder/register/chartType/pivotTable.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/default/defaultMeasures.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/default/defaultDimensions.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/default/defaultMeasureName.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/line.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/utils.ts","webpack://VSeed/./src/pipeline/utils/measures/depth.ts","webpack://VSeed/./src/pipeline/utils/chatType.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasures.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/pivot/pivotAdapter.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-7ZI6JRPB.js","webpack://VSeed/./src/dataReshape/unfoldDimensions.ts","webpack://VSeed/./src/dataReshape/dataReshapeByEncoding.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorAdapter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-NFFV4IQT.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortXBand.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortLegend.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/config.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/markStyle/markStyle.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/annotation/annotation.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/color.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/linearColor.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/backgroundColor/background.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetXY.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/progressive.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/xBand.ts","webpack://VSeed/./src/pipeline/utils/constant.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/discreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/colorLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorPointStyleFill.ts","webpack://VSeed/./src/dataSelector/selector.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointState.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorLineStyleFill.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-HVPVHFDT.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/lineStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/label.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/utils.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationPoint.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-BO3LQZNF.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationArea.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetPivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotColorLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/line.ts","webpack://VSeed/./src/builder/register/chartType/line.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stack.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorBarStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/barStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/annotation/annotationAreaBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/column.ts","webpack://VSeed/./src/builder/register/chartType/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/builder/register/chartType/columnParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/percent/percent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/builder/register/chartType/columnPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/analysis/sortYBand.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetYX.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/xLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/bar.ts","webpack://VSeed/./src/builder/register/chartType/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barParallel.ts","webpack://VSeed/./src/builder/register/chartType/barParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barPercent.ts","webpack://VSeed/./src/builder/register/chartType/barPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorAreaStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/areaStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/area.ts","webpack://VSeed/./src/builder/register/chartType/area.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/builder/register/chartType/areaPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/scatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/scatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetScatter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/scatter.ts","webpack://VSeed/./src/builder/register/chartType/scatter.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/dualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/series/series.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/dualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dual/dualChartType.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinearPrimary.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinearSecondary.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/linearColorForDualAxis.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/dualAxis.ts","webpack://VSeed/./src/builder/register/chartType/dualAxis.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorPieStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pieStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/pie.ts","webpack://VSeed/./src/builder/register/chartType/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/donut.ts","webpack://VSeed/./src/builder/register/chartType/donut.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/angle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorRoseStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/roseStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/rose.ts","webpack://VSeed/./src/builder/register/chartType/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/builder/register/chartType/roseParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/radar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/radar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/radar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radarAngle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/radarRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/radar.ts","webpack://VSeed/./src/builder/register/chartType/radar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/funnelStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/funnel.ts","webpack://VSeed/./src/builder/register/chartType/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/heatmap.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/labelColorInversion.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/colorCellStyleFill.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/cellStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/heatmap.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/heatmap.ts","webpack://VSeed/./src/builder/register/chartType/heatmap.ts","webpack://VSeed/./src/theme/light.ts","webpack://VSeed/./src/theme/dark.ts","webpack://VSeed/./src/builder/register/theme/custom.ts","webpack://VSeed/./src/builder/register/theme/light.ts","webpack://VSeed/./src/builder/register/theme/dark.ts","webpack://VSeed/./src/builder/register/all.ts","webpack://VSeed/./src/builder/register/custom.ts","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/core.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/regexes.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/util.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/checks.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/doc.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/errors.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/parse.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/versions.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/schemas.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/registries.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/api.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/iso.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/errors.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/parse.js","webpack://VSeed/../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/schemas.js","webpack://VSeed/./src/types/properties/chartType/chartType.ts","webpack://VSeed/./src/types/properties/chartType/dualChartType.ts","webpack://VSeed/./src/types/properties/dataset/dataset.ts","webpack://VSeed/./src/types/properties/dimensions/zDimensions.ts","webpack://VSeed/./src/types/properties/measures/format/numFormat.ts","webpack://VSeed/./src/types/properties/measures/zMeasures.ts","webpack://VSeed/./src/types/properties/measures/zDualMeasures.ts","webpack://VSeed/./src/types/properties/measures/zScatterMeasures.ts","webpack://VSeed/./src/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.ts","webpack://VSeed/./src/types/properties/encoding/zEncoding.ts","webpack://VSeed/./src/types/properties/config/axes/bandAxis.ts","webpack://VSeed/./src/types/properties/config/axes/linearAxis.ts","webpack://VSeed/./src/types/properties/config/crosshair/zCrosshair.ts","webpack://VSeed/./src/types/properties/config/stackCornerRadius/stackCornerRadius.ts","webpack://VSeed/./src/types/properties/config/backgroundColor/backgroundColor.ts","webpack://VSeed/./src/types/properties/config/color/color.ts","webpack://VSeed/./src/types/properties/config/label/label.ts","webpack://VSeed/./src/types/properties/config/legend/legend.ts","webpack://VSeed/./src/types/properties/config/tooltip/tooltip.ts","webpack://VSeed/./src/types/properties/config/config.ts","webpack://VSeed/./src/types/properties/config/axes/axis.ts","webpack://VSeed/./src/types/properties/theme/customTheme.ts","webpack://VSeed/./src/types/properties/theme/theme.ts","webpack://VSeed/./src/types/dataSelector/selector.ts","webpack://VSeed/./src/types/properties/markStyle/barStyle.ts","webpack://VSeed/./src/types/properties/markStyle/pointStyle.ts","webpack://VSeed/./src/types/properties/markStyle/lineStyle.ts","webpack://VSeed/./src/types/properties/markStyle/zAreaStyle.ts","webpack://VSeed/./src/types/properties/markStyle/markStyle.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationPoint.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationVerticalLine.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationHorizontalLine.ts","webpack://VSeed/./src/types/properties/annotation/zAnnotationArea.ts","webpack://VSeed/./src/types/properties/annotation/annotation.ts","webpack://VSeed/./src/types/properties/analysis/sort.ts","webpack://VSeed/./src/types/properties/analysis/sortLegend.ts","webpack://VSeed/./src/types/properties/analysis/analysis.ts","webpack://VSeed/./src/types/i18n/i18n.ts","webpack://VSeed/./src/types/chartType/table/zTable.ts","webpack://VSeed/./src/types/chartType/pivotTable/zPivotTable.ts","webpack://VSeed/./src/types/chartType/line/zLine.ts","webpack://VSeed/./src/types/chartType/column/zColumn.ts","webpack://VSeed/./src/types/chartType/columnParallel/zColumnParallel.ts","webpack://VSeed/./src/types/chartType/columnPercent/zColumnPercent.ts","webpack://VSeed/./src/types/chartType/bar/zBar.ts","webpack://VSeed/./src/types/chartType/barParallel/zBarParallel.ts","webpack://VSeed/./src/types/chartType/barPercent/zBarPercent.ts","webpack://VSeed/./src/types/chartType/area/zArea.ts","webpack://VSeed/./src/types/chartType/areaPercent/zAreaPercent.ts","webpack://VSeed/./src/types/chartType/scatter/zScatter.ts","webpack://VSeed/./src/types/chartType/dualAxis/zDualAxis.ts","webpack://VSeed/./src/types/chartType/rose/zRose.ts","webpack://VSeed/./src/types/chartType/roseParallel/zRoseParallel.ts","webpack://VSeed/./src/types/chartType/pie/zPie.ts","webpack://VSeed/./src/types/chartType/donut/zDonut.ts","webpack://VSeed/./src/types/chartType/radar/zRadar.ts","webpack://VSeed/./src/types/chartType/funnel/zFunnel.ts","webpack://VSeed/./src/types/chartType/heatmap/zHeatmap.ts","webpack://VSeed/./src/types/zVseed.ts","webpack://VSeed/./src/types/advancedVSeed.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { ExecPipelineType, Pipe } from 'src/types'\n\n/**\n * 执行pipeline, 每个pipe负责构建结果的一部分, 构建完成后得到完整的目标结果\n * @param pipeline pipeline数组, 每个pipe负责构建结果的一部分\n * @param initialValue 初始值\n * @param context 上下文\n * @returns 执行后的结果\n */\nexport const execPipeline: ExecPipelineType = <T, U>(\n pipeline: Array<Pipe<T, U>>,\n context: U,\n initialValue: Partial<T> = {},\n): T => {\n const result = pipeline.reduce((prev, cur) => {\n return cur(prev, context)\n }, initialValue)\n return result as T\n}\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\n const start = typeof performance !== 'undefined' ? performance.now() : Date.now()\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildAdvanced')\n }\n\n const pipeline = Builder.getAdvancedPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no advanced pipeline for chartType ${chartType}`)\n }\n\n const context: AdvancedPipelineContext = {\n vseed: builder.vseed,\n customTheme: Builder.getThemeMap(),\n }\n\n try {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildAdvanced error, see error info in console`)\n } finally {\n const end = typeof performance !== 'undefined' ? performance.now() : Date.now()\n builder.performance['buildAdvanced'] = `${(end - start).toFixed(4)}ms`\n }\n}\n","import type { Spec } from 'src/types'\nimport { Builder } from './builder'\nimport type { AdvancedVSeed, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../pipeline'\n\nexport const buildSpec = (builder: Builder, advancedVSeed: AdvancedVSeed): Spec => {\n const start = typeof performance !== 'undefined' ? performance.now() : Date.now()\n\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildSpec')\n }\n\n const pipeline = Builder.getSpecPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no spec pipeline for chartType ${chartType}`)\n }\n\n const context: SpecPipelineContext = {\n vseed: builder.vseed,\n advancedVSeed,\n }\n try {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildSpec error, see error info in console`)\n } finally {\n const end = typeof performance !== 'undefined' ? performance.now() : Date.now()\n builder.performance['buildSpec'] = `${(end - start).toFixed(4)}ms`\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\n\nexport const build = (builder: Builder): Spec => {\n // console.log('debug vseed', builder.vseed)\n const advancedVSeed = builder.buildAdvanced()\n builder.advancedVSeed = advancedVSeed\n // console.log('debug advancedVSeed', advancedVSeed)\n if (!advancedVSeed) {\n throw new Error('advancedVSeed is null')\n }\n const spec = builder.buildSpec(advancedVSeed)\n builder.spec = spec\n // console.log('debug spec', spec)\n return spec\n}\n","function n(e){return e==null}export{n as a};\n","import { isNullish } from 'remeda'\nimport translateMap from './i18n.json'\nimport type { Locale, TranslateRecordType } from '../types'\n\nclass Intl {\n private static instance: Intl\n\n private translateMap: TranslateRecordType = translateMap as unknown as TranslateRecordType\n private locale: Locale = 'zh-CN'\n\n canTranslate = (value: string) => !!this.translateMap[value]\n\n /**\n * @example i18n`指标名称`\n */\n i18n = (segments: TemplateStringsArray, ...values: Array<number | string>) => {\n const text = segments.map((segment, index) => segment + (values[index] || '')).join('')\n\n const translatedText = this.translateMap?.[text]?.[this.locale]\n if (isNullish(translatedText)) {\n console.warn(`i18n ${this.locale} no translate: ${text}`)\n return text\n }\n return translatedText\n }\n\n setLocale = (locale: Locale): void => {\n this.locale = locale\n }\n\n getLocale: () => Locale = () => this.locale\n\n public static getInstance() {\n if (!Intl.instance) {\n Intl.instance = new Intl()\n }\n\n return Intl.instance\n }\n}\n\nconst intl = Intl.getInstance()\n\nconst i18n = intl.i18n\n\nexport { intl, i18n }\n","var e={done:!0,hasNext:!1},s={done:!1,hasNext:!1},a=()=>e,o=t=>({hasNext:!0,next:t,done:!1});export{s as a,a as b,o as c};\n","import{a as A}from\"./chunk-ANXBDSUI.js\";function C(t,...o){let n=t,u=o.map(e=>\"lazy\"in e?y(e):void 0),p=0;for(;p<o.length;){if(u[p]===void 0||!B(n)){let i=o[p];n=i(n),p+=1;continue}let r=[];for(let i=p;i<o.length;i++){let l=u[i];if(l===void 0||(r.push(l),l.isSingle))break}let a=[];for(let i of n)if(f(i,a,r))break;let{isSingle:s}=r.at(-1);n=s?a[0]:a,p+=r.length}return n}function f(t,o,n){if(n.length===0)return o.push(t),!1;let u=t,p=A,e=!1;for(let[r,a]of n.entries()){let{index:s,items:i}=a;if(i.push(u),p=a(u,s,i),a.index+=1,p.hasNext){if(p.hasMany??!1){for(let l of p.next)if(f(l,o,n.slice(r+1)))return!0;return e}u=p.next}if(!p.hasNext)break;p.done&&(e=!0)}return p.hasNext&&o.push(u),e}function y(t){let{lazy:o,lazyArgs:n}=t,u=o(...n);return Object.assign(u,{isSingle:o.single??!1,index:0,items:[]})}function B(t){return typeof t==\"string\"||typeof t==\"object\"&&t!==null&&Symbol.iterator in t}export{C as a};\n","import{a as o}from\"./chunk-3GOCSNFN.js\";function y(t,i){let a=i.length-t.length;if(a===1){let[n,...r]=i;return o(n,{lazy:t,lazyArgs:r})}if(a===0){let n={lazy:t,lazyArgs:i};return Object.assign(e=>o(e,n),n)}throw new Error(\"Wrong number of arguments\")}export{y as a};\n","import{a as r}from\"./chunk-LFJW7BOT.js\";import{a as n}from\"./chunk-ANXBDSUI.js\";function i(...e){return r(a,e)}function a(){let e=new Set;return t=>e.has(t)?n:(e.add(t),{done:!1,hasNext:!0,next:t})}export{i as a};\n","import { unique } from 'remeda'\nimport type { Builder } from '../builder'\n\nexport const getColorItems = (builder: Builder): string[] => {\n const advancedVSeed = builder.advancedVSeed\n if (!advancedVSeed) {\n return []\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n return colorItems.map((d) => colorIdMap[d])\n}\n\nexport const getColorIdMap = (builder: Builder): Record<string, string> => {\n const advancedVSeed = builder.advancedVSeed\n if (!advancedVSeed) {\n return {}\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n return colorIdMap\n}\n","import type {\n AdvancedPipe,\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n Spec,\n SpecPipe,\n SpecPipeline,\n VSeed,\n VSeedBuilder,\n} from 'src/types'\nimport { buildAdvanced } from './buildAdvanced'\nimport { buildSpec } from './buildSpec'\nimport { build } from './build'\nimport { intl } from 'src/i18n'\nimport { getColorIdMap, getColorItems } from './advanced'\n\nexport class Builder implements VSeedBuilder {\n private _vseed: VSeed\n private _advancedVSeed: AdvancedVSeed | null = null\n private _spec: Spec | null = null\n private _performance: Record<string, string | number> = {}\n\n constructor(vseed: VSeed) {\n this._vseed = vseed\n this._vseed.locale = vseed.locale || intl.getLocale()\n }\n\n /**\n * @description 构建spec\n * @returns spec\n */\n build = <T extends Spec>(): T => build(this) as T\n\n /**\n * @description 构建spec\n * @param advanced 高级配置\n * @returns spec\n */\n buildSpec = (advanced: AdvancedVSeed): Spec => buildSpec(this, advanced)\n\n /**\n * @description 构建spec\n * @returns AdvancedVSeed | null\n */\n buildAdvanced = (): AdvancedVSeed | null => buildAdvanced(this)\n\n /**\n * @description 获取颜色项, 颜色项可以重复,\n * @returns 颜色项\n */\n getColorItems = () => getColorItems(this)\n\n /**\n * @description 获取颜色id映射\n * @returns 颜色id映射\n */\n getColorIdMap = () => getColorIdMap(this)\n\n /**\n * @description 获取vseed\n * @returns vseed\n */\n get vseed() {\n return this._vseed\n }\n\n /**\n * @description 设置vseed\n * @param value vseed\n */\n set vseed(value) {\n this._vseed = value\n }\n\n /**\n * @description 获取advancedVSeed\n * @returns advancedVSeed\n */\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n /**\n *\n * @description 设置advancedVSeed\n * @param value advancedVSeed\n */\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n /**\n * @description 获取spec\n * @returns spec\n */\n get spec() {\n return this._spec\n }\n\n /**\n * @description 设置spec\n * @param value spec\n */\n set spec(value) {\n this._spec = value\n }\n\n /**\n * @description 获取performance, 统计了构建spec和advancedVSeed的时间\n * @returns performance\n */\n get performance() {\n return this._performance\n }\n\n /**\n * @description 设置performance\n * @param value performance\n */\n set performance(value) {\n this._performance = value\n }\n\n /**\n * @description 获取advancedPipeline\n * @param chartType 图表类型\n * @returns advancedPipeline\n */\n static getAdvancedPipeline = (chartType: ChartType) => {\n const customPipe = Builder._customAdvancedPipe[chartType] as AdvancedPipe\n const pipeline = Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n if (customPipe) {\n pipeline.push(customPipe)\n }\n return pipeline\n }\n\n /**\n * @description 获取specPipeline\n * @param chartType 图表类型\n * @returns specPipeline\n */\n\n static getSpecPipeline = (chartType: ChartType) => {\n const customPipe = Builder._customSpecPipe[chartType] as SpecPipe\n const pipeline = Builder._specPipelineMap[chartType] as SpecPipeline\n if (customPipe) {\n pipeline.push(customPipe)\n }\n return pipeline\n }\n\n /**\n * @description 根据主题key获取主题配置\n * @param themeKey 主题key\n * @example Builder.getTheme('light'), 获取浅色主题\n * @returns 主题配置\n */\n static getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n\n /**\n * @description 获取主题配置映射表\n * @example Builder.getThemeMap()\n * @returns 主题配置映射表\n */\n static getThemeMap = () => Builder._themeMap\n\n /**\n * @description 从vseed创建builder\n * @param vseed 完整的vseed DSL\n * @returns builder\n */\n static from = (vseed: VSeed) => new Builder(vseed)\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _customAdvancedPipe: Partial<Record<ChartType, AdvancedPipe>> = {}\n static _customSpecPipe: Partial<Record<ChartType, SpecPipe>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n}\n","import type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType, locale } = vseed\n return {\n ...advancedVSeed,\n chartType,\n locale: locale || 'zh-CN',\n } as AdvancedVSeed\n}\n","import type { AdvancedPipe, Datum, MeasureTree } from 'src/types'\n\nexport const autoMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { measures, dataset } = vseed\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (measures) {\n result.measures = measures as MeasureTree\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n encoding: 'column',\n }))\n\n return result\n}\n","/**\n * 支持泛型的非递归前序遍历\n * @param tree 根节点数组\n * @param callback 遍历时对每个节点执行的回调,返回 true 时停止遍历\n */\nexport const preorderTraverse = <T extends { id: string }, U extends { id: string; children?: (T | U)[] }>(\n tree: (T | U)[],\n callback: (node: T | U) => boolean,\n) => {\n if (!tree || tree.length === 0) return\n\n const stack: (T | U)[] = [...tree].reverse()\n\n while (stack.length > 0) {\n const node = stack.pop()!\n const stop = callback(node)\n if (stop === true) {\n return\n }\n if (!('children' in node)) {\n continue\n }\n const children = node.children\n if (children && children.length > 0) {\n for (let i = children.length - 1; i >= 0; i--) {\n const child = children[i]\n stack.push(child)\n }\n }\n }\n}\n","import type { Measure, MeasureGroup, MeasureTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\nexport const findMeasureById = (measures: MeasureTree = [], id: string): Measure | undefined => {\n if (!measures) return undefined\n let result: Measure | undefined\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n if (node.id === id) {\n result = node as Measure\n return true\n }\n }\n return false\n })\n return result\n}\n\nexport const findFirstMeasure = (measures: MeasureTree = []): Measure | undefined => {\n if (!measures) return undefined\n let result: Measure | undefined\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n result = node as Measure\n return true\n }\n return false\n })\n return result\n}\n\nexport const findAllMeasures = (measures: MeasureTree = []): Measure[] => {\n if (!measures) return []\n const result: Measure[] = []\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if (!('children' in node)) {\n result.push(node as Measure)\n }\n return false\n })\n return result\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum } from 'src/types'\n\nexport const autoDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const measures = findAllMeasures(advancedVSeed.measures)\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n result.dimensions = dimensions.map((dim) => ({\n location: 'dimension',\n ...dim,\n }))\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n encoding: 'column',\n }))\n\n return result\n}\n","import type { AdvancedPipe } from 'src/types'\n\nexport const records: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { dataset } = vseed\n return {\n ...advancedVSeed,\n dataset,\n }\n}\n","function u(o,n,a){let t=r=>o(r,...n);return a===void 0?t:Object.assign(t,{lazy:a,lazyArgs:n})}export{u as a};\n","import{a as t}from\"./chunk-D6FCK2GA.js\";function u(r,n,o){let a=r.length-n.length;if(a===0)return r(...n);if(a===1)return t(r,n,o);throw new Error(\"Wrong number of arguments\")}export{u as a};\n","import{a as t}from\"./chunk-WIMGWYZL.js\";function i(...e){return t(o,e)}function o(e,s){let r={};for(let n of s)n in e&&(r[n]=e[n]);return r}export{i as a};\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, Config } from 'src/types'\n\nexport const tableConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'bodyFontSize',\n 'bodyFontColor',\n 'bodyBackgroundColor',\n 'headerFontSize',\n 'headerFontColor',\n 'headerBackgroundColor',\n 'hoverHeaderBackgroundColor',\n 'hoverHeaderInlineBackgroundColor',\n 'selectedBorderColor',\n 'selectedBackgroundColor',\n ]) as Config['pivotTable']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result\n}\n","function r(o){if(typeof o!=\"object\"||o===null)return!1;let e=Object.getPrototypeOf(o);return e===null||e===Object.prototype}export{r as a};\n","import{a as o}from\"./chunk-BZNENX2T.js\";import{a as u}from\"./chunk-WIMGWYZL.js\";function D(...e){return u(s,e)}function s(e,t){let r={...e,...t};for(let n in t){if(!(n in e))continue;let{[n]:i}=e;if(!o(i))continue;let{[n]:c}=t;o(c)&&(r[n]=s(i,c))}return r}export{D as a};\n","import{a as y}from\"./chunk-WIMGWYZL.js\";function d(...n){return y(u,n)}function u(n,o=[],t=[]){if(typeof n==\"function\")return n;if(typeof n!=\"object\"||n===null)return structuredClone(n);let r=Object.getPrototypeOf(n);if(!Array.isArray(n)&&r!==null&&r!==Object.prototype)return structuredClone(n);let e=o.indexOf(n);return e!==-1?t[e]:(o.push(n),Array.isArray(n)?p(n,o,t):i(n,o,t))}function i(n,o,t){let r={};t.push(r);for(let[e,c]of Object.entries(n))r[e]=u(c,o,t);return r}function p(n,o,t){let r=[];t.push(r);for(let[e,c]of n.entries())r[e]=u(c,o,t);return r}export{d as a};\n","function t(r){return typeof r==\"string\"}export{t as a};\n","function e(r){return typeof r==\"number\"&&!Number.isNaN(r)}export{e as a};\n","function o(e){return typeof e==\"object\"&&e!==null}export{o as a};\n","import{a as r}from\"./chunk-WIMGWYZL.js\";function t(...e){return r(u,e)}var u=(e,o)=>({...e,...o});export{t as a};\n","import { clone, isNullish, isNumber, isObjectType, isString, merge, mergeDeep } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const theme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light', chartType } = vseed\n const result = {\n ...advancedVSeed,\n } as AdvancedVSeed\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n\n const chartConfigTheme = customTheme?.[theme].config?.[chartType]\n if (chartConfigTheme) {\n const chartConfig = result.config?.[chartType] || {}\n const mergedConfig = mergeDeep(chartConfigTheme, clone(chartConfig))\n\n // 数组项不会被Merge, 需要将1个主题配置, 合并到数组的每一项\n for (const _k in mergedConfig) {\n const key = _k as keyof typeof mergedConfig\n // 配置的第一层, 如果是数组, 则数组的每一项目和主题配置合并\n if (Array.isArray(mergedConfig[key])) {\n mergedConfig[key] = mergeArray(mergedConfig[key], chartConfigTheme[key])\n }\n }\n\n result.config = {\n [chartType]: mergedConfig,\n }\n }\n\n const chartCustomTheme = customTheme?.[theme]?.config?.[chartType]\n\n result.customTheme = {\n config: {\n [chartType]: chartCustomTheme,\n },\n }\n\n return result\n}\n\nconst mergeArray = <Destination extends Array<object>, Source extends object | number | string | undefined | null>(\n arr: Destination,\n themeItem: Source,\n): Destination => {\n if (isNullish(themeItem) || isString(themeItem) || isNumber(themeItem)) {\n return arr\n }\n\n if (!Array.isArray(arr)) {\n return arr\n }\n\n if (arr.some((d) => !isObjectType(d))) {\n return arr\n }\n\n return arr.map((item) => {\n return merge(themeItem, item)\n }) as Destination\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport { initAdvancedVSeed, autoDimensions, autoMeasures, records, tableConfig } from '../pipes'\nimport { theme } from '../../chart/pipes'\n\nexport const tableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n records,\n tableConfig,\n theme,\n]\n","import type { ListTableConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initTable: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const { config } = advancedVSeed\n const { backgroundColor = 'transparent' } = config.table || {}\n\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n showHeader: true,\n tooltip: {\n isShowOverflowTextTooltip: true,\n },\n animationAppear: {\n duration: 300,\n delay: 250,\n type: 'one-by-one',\n direction: 'row',\n },\n hover: {\n highlightMode: 'row',\n },\n theme: {\n underlayBackgroundColor: backgroundColor,\n },\n } as ListTableConstructorOptions\n}\n","import type { Measure, MeasureGroup } from 'src/types'\n\nexport const isMeasure = (measure: Measure | MeasureGroup): measure is Measure => {\n return !('children' in measure)\n}\n\nexport const isMeasureGroup = (measure: Measure | MeasureGroup): measure is MeasureGroup => {\n return 'children' in measure\n}\n\nexport const isMeasures = (measures: Measure[] | MeasureGroup[]): measures is Measure[] => {\n return measures.every(isMeasure)\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport { isMeasure } from 'src/pipeline/utils'\nimport type { Dimension, DimensionGroup, DimensionTree, SpecPipe } from 'src/types'\n\nexport const dimensionTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: DimensionTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const eachNode = (node: Dimension | DimensionGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Dimension, DimensionGroup>(dimensions, eachNode)\n\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n","function n(e){return e===void 0?!0:typeof e==\"string\"||Array.isArray(e)?e.length===0:Object.keys(e).length===0}export{n as a};\n","import { isNumber } from 'remeda'\nimport { intl } from '../../../i18n'\nimport type { Formatter, Locale, NumFormat } from 'src/types'\n\nexport const createNumFormatter = (format: NumFormat, locale: Locale = intl.getLocale()): Formatter => {\n const {\n type = 'number',\n ratio = 1,\n symbol = '',\n thousandSeparator = true,\n prefix = '',\n suffix = '',\n\n fractionDigits = 2,\n significantDigits,\n roundingMode = 'halfExpand',\n roundingPriority = 'auto',\n } = format || {}\n\n const numFormatterOptions: Intl.NumberFormatOptions = {\n style: 'decimal',\n notation: type === 'scientific' ? 'scientific' : 'standard',\n // @ts-expect-error roundingMode is not in NumberFormatOptions\n roundingMode,\n roundingPriority,\n }\n\n if (isNumber(fractionDigits)) {\n if (fractionDigits >= 0) {\n numFormatterOptions.minimumFractionDigits = fractionDigits\n numFormatterOptions.maximumFractionDigits = fractionDigits\n }\n }\n if (isNumber(significantDigits) && significantDigits > 0) {\n if (significantDigits > 0) {\n numFormatterOptions.minimumSignificantDigits = significantDigits\n numFormatterOptions.maximumSignificantDigits = significantDigits\n }\n }\n\n const numFormatter = new Intl.NumberFormat(locale, numFormatterOptions)\n\n return (value?: number | string) => {\n let num = Number(value)\n let typeSymbol = ''\n if (Number.isNaN(num)) {\n return String(value)\n }\n\n // apply ratio for percent/permille\n if (type === 'percent') {\n num *= 100\n typeSymbol = '%'\n } else if (type === 'permille') {\n num *= 1000\n typeSymbol = '‰'\n } else if (type === 'number') {\n num = num / (ratio || 1)\n }\n\n // format value\n let numStr = numFormatter.format(num)\n\n // add thousand separator\n if (thousandSeparator) {\n const parts = numStr.split('.')\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n numStr = parts.join('.')\n }\n\n // add symbol, typeSymbol, prefix and suffix\n return `${prefix}${numStr}${typeSymbol}${symbol}${suffix}`\n }\n}\n\nexport const autoNumFormatter = (value?: number | string, locale: Locale = intl.getLocale()): string => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const numFormatterOptions: Intl.NumberFormatOptions = {\n style: 'decimal',\n notation: 'compact',\n }\n numFormatterOptions.minimumFractionDigits = 0\n numFormatterOptions.maximumFractionDigits = 2\n\n const numFormatter = new Intl.NumberFormat(locale, { ...numFormatterOptions })\n\n return numFormatter.format(Number(value))\n}\n","import type { Formatter, Locale, NumFormat } from 'src/types'\nimport { autoNumFormatter, createNumFormatter } from './createNumFormatter'\n\nexport const createFormatter = (format: Partial<NumFormat>): Formatter => {\n return createNumFormatter(format)\n}\n\nexport const autoFormatter = (value?: number | string, locale?: Locale): string => {\n return autoNumFormatter(value, locale)\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport type { FieldFormat } from '@visactor/vtable/es/ts-types'\nimport { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, isMeasure } from 'src/pipeline/utils'\nimport type { MeasureGroup, Measure, MeasureTree, SpecPipe, Datum, Locale } from 'src/types'\n\nexport const measureTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { locale } = advancedVSeed\n const measures = (advancedVSeed as unknown as { measures: MeasureTree }).measures\n const result = { ...spec } as ListTableConstructorOptions\n\n const eachNode = (node: Measure | MeasureGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n fieldFormat: fieldFormat(node, locale),\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Measure, MeasureGroup>(measures, eachNode)\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst fieldFormat =\n (node: Measure, locale: Locale): FieldFormat =>\n (datum: Datum) => {\n const { format = {}, autoFormat = true, id } = node\n const value = datum[id] as number | string | undefined\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n\n return\n }\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const bodyStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\n const { advancedVSeed } = context\n const { chartType, config } = advancedVSeed\n const themeConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themeConfig) return result\n\n // basic\n const borderColor = themeConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themeConfig.bodyBackgroundColor || '#fff'\n const fontColor = themeConfig.bodyFontColor || '#1B1F23'\n const fontSize = themeConfig.bodyFontSize || 12\n // Interaction\n const hoverCellBgColor = themeConfig.hoverBodyBackgroundColor || '#bedaff'\n const hoverInlineColor = themeConfig.hoverBodyInlineBackgroundColor || '#bedaff'\n\n result.theme.bodyStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8.6, 12, 8.6, 12],\n textAlign: 'right',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n color: fontColor,\n fontSize: fontSize,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const headerStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n result.theme.headerStyle = {\n borderColor: 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: [null, null, borderColor, null],\n borderLineWidth: 1,\n },\n fontSize: 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","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const frameStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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\n result.theme.frameStyle = {\n borderColor,\n borderLineWidth: 0,\n cornerRadius: 4,\n }\n\n return result\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const selectionStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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.selectedBorderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.selectedBackgroundColor || 'rgb(224, 224, 224, 0.5)'\n\n result.theme.selectionStyle = {\n cellBorderColor: borderColor,\n cellBorderLineWidth: 2,\n cellBgColor: backgroundColor,\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport { initTable, dimensionTreeToColumns, measureTreeToColumns, bodyStyle, headerStyle, frameStyle, selectionStyle } from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n]\n","import { tableAdvancedPipeline, tableSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerTable = () => {\n Builder._advancedPipelineMap['table'] = tableAdvancedPipeline\n Builder._specPipelineMap['table'] = tableSpecPipeline\n}","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Measures } from 'src/types'\n\nexport const autoPivotMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const measures = findAllMeasures(vseed.measures as Measures)\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (vseed.measures) {\n result.measures = findAllMeasures(measures)\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n encoding: 'detail',\n }))\n\n return result\n}\n","// Reshape\nexport const ORIGINAL_DATA = '__OriginalData__'\nexport const Separator = '-'\n\n// Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureId = '__MeaId__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const MeasureName = FoldMeasureName\n\n// Measures For DualAxis\nexport const FoldPrimaryMeasureValue = '__MeaPrimaryValue__'\nexport const FoldSecondaryMeasureValue = '__MeaSecondaryValue__'\n\n// Measures For Scatter\nexport const FoldXMeasureValue = '__MeaXValue__'\nexport const FoldYMeasureValue = '__MeaYValue__'\n\n// Encoding\nexport const XEncoding = '__Dim_X__'\nexport const YEncoding = '__Dim_Y__'\nexport const AngleEncoding = '__Dim_Angle__'\nexport const DetailEncoding = '__Dim_Detail__'\nexport const ColorEncoding = '__Dim_Color__'\nexport const ColorIdEncoding = '__Dim_ColorId__'\n","import type { Dimension, DimensionGroup, DimensionTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\n// TODO: 未来可能有用的函数, 需要时再取消注释\n// export const findDimensionById = (dimensions: DimensionTree = [], id: string): Dimension | undefined => {\n// if (!dimensions) return undefined\n// let result: Dimension | undefined\n// preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n// if (!('children' in node)) {\n// if (node.id === id) {\n// result = node as Dimension\n// return true\n// }\n// }\n// return false\n// })\n// return result\n// }\n\n// TODO: 未来可能有用的函数, 需要时再取消注释\n// export const findFirstDimension = (dimensions: DimensionTree = []): Dimension | undefined => {\n// if (!dimensions) return undefined\n// let result: Dimension | undefined\n// preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n// if (!('children' in node)) {\n// result = node as Dimension\n// return true\n// }\n// return false\n// })\n// return result\n// }\n\nexport const findAllDimensions = (dimensions: DimensionTree = []): Dimension[] => {\n if (!dimensions) return []\n const result: Dimension[] = []\n preorderTraverse<Dimension, DimensionGroup>(dimensions, (node) => {\n if (!('children' in node)) {\n result.push(node as Dimension)\n }\n return false\n })\n return result\n}\n","import { MeasureName } from 'src/dataReshape'\nimport { intl } from 'src/i18n'\nimport { findAllDimensions, findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Dimension, Dimensions, Measures } from 'src/types'\n\nexport const autoPivotDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const measures = findAllMeasures(advancedVSeed.measures as Measures)\n\n const MeaName: Dimension = {\n id: MeasureName,\n alias: intl.i18n`指标名称`,\n }\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n const newDimensions = findAllDimensions(dimensions) as Dimensions\n if (!newDimensions.some((dim) => dim.id === MeasureName)) {\n newDimensions.push(MeaName)\n }\n\n result.dimensions = newDimensions.map((item, index) => {\n if (item.encoding === 'row' || item.encoding === 'column') {\n return item\n }\n if (item.location === 'rowDimension' || item.location === 'columnDimension') {\n return item\n }\n return {\n ...item,\n encoding: index % 2 === 0 ? 'column' : 'row',\n }\n }) as Dimensions\n\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n const newDimensions = Object.keys(sample).filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n ) as unknown as Dimensions\n\n result.dimensions = newDimensions.map((dim) => ({\n id: dim,\n alias: dim,\n })) as unknown as Dimensions\n result.dimensions.push(MeaName)\n result.dimensions = result.dimensions.map((dim, index) => ({\n ...dim,\n encoding: index % 2 === 0 ? 'column' : 'row',\n }))\n return result\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, Config } from 'src/types'\n\nexport const pivotTableConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'bodyFontSize',\n 'bodyFontColor',\n 'bodyBackgroundColor',\n 'headerFontSize',\n 'headerFontColor',\n 'headerBackgroundColor',\n 'hoverHeaderBackgroundColor',\n 'hoverHeaderInlineBackgroundColor',\n 'selectedBorderColor',\n 'selectedBackgroundColor',\n ]) as Config['table']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result\n}\n","import{a as t}from\"./chunk-WIMGWYZL.js\";function i(...e){return t(n,e)}var n=(e,r)=>e.length>=r;export{i as a};\n","import{a as n}from\"./chunk-AIG3BDKO.js\";import{a as i}from\"./chunk-WIMGWYZL.js\";function y(...t){return i(f,t)}function f(t,e){if(!n(e,1))return{...t};if(!n(e,2)){let{[e[0]]:r,...m}=t;return m}let o={...t};for(let r of e)delete o[r];return o}export{y as a};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Dataset, FoldInfo, Measures } from 'src/types'\nimport { ColorEncoding, ColorIdEncoding, ORIGINAL_DATA } from './constant'\nimport { omit } from 'remeda'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measures,\n options: {\n measureId: string\n measureName: string\n measureValue: string\n colorMeasureId?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const { measureId, measureName, measureValue, colorMeasureId } = options || {}\n\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n colorRange: [0, 1],\n measureRange: [0, 1],\n foldMap: {},\n }\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n const ids = measures.map((d) => d.id)\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = omit({ ...dataset[i] }, ids)\n\n datum[ORIGINAL_DATA] = dataset[i]\n\n const measure = measures[j]\n const { id, alias } = measure\n\n datum[id] = dataset[i][id] as unknown\n datum[measureId] = id\n datum[measureName] = alias || id\n datum[measureValue] = dataset[i][id] as unknown\n\n if (colorMeasureId) {\n const value = (datum[ORIGINAL_DATA] as Record<string, string | number>)[colorMeasureId]\n datum[ColorEncoding] = value\n datum[ColorIdEncoding] = colorMeasureId\n\n foldInfo.colorRange = [\n Math.min(foldInfo.colorRange[0] || Infinity, Number(value)),\n Math.max(foldInfo.colorRange[1] || -Infinity, Number(value)),\n ]\n }\n\n foldInfo.measureRange = [\n Math.min(foldInfo.measureRange[0] || Infinity, Number(datum[id])),\n Math.max(foldInfo.measureRange[1] || -Infinity, Number(datum[id])),\n ]\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, foldMeasures, FoldMeasureValue } from 'src/dataReshape'\nimport {} from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, DatasetReshapeInfo, PivotTable } from 'src/types'\n\nexport const reshapePivotTable: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as PivotTable\n const { dimensions, measures } = advancedVSeed\n const { dataset: newDatasets, foldInfo } = foldMeasures(dataset, findAllMeasures(measures), {\n measureId: FoldMeasureId,\n measureName: FoldMeasureName,\n measureValue: FoldMeasureValue,\n })\n\n const datasetReshapeInfo = [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n },\n ] as unknown as DatasetReshapeInfo\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n dimensions,\n measures,\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport { autoPivotDimensions, autoPivotMeasures, initAdvancedVSeed, pivotTableConfig } from '../pipes'\nimport { reshapePivotTable } from '../pipes/reshape'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoPivotMeasures,\n autoPivotDimensions,\n reshapePivotTable,\n pivotTableConfig,\n theme,\n]\n","import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivotTable: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const { config } = advancedVSeed\n const { backgroundColor = 'transparent' } = config.pivotTable || {}\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n columnResizeType: 'column',\n showColumnHeader: true,\n showRowHeader: true,\n select: {\n highlightMode: 'cell',\n headerSelectMode: 'inline',\n },\n hover: {\n highlightMode: 'cross',\n },\n tooltip: {\n isShowOverflowTextTooltip: true,\n },\n corner: {\n titleOnDimension: 'all',\n },\n widthAdaptiveMode: 'all',\n animationAppear: {\n duration: 300,\n delay: 250,\n type: 'one-by-one',\n direction: 'row',\n },\n theme: {\n underlayBackgroundColor: backgroundColor,\n },\n } as PivotTableConstructorOptions\n}\n","import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const columns = dimensions.filter((item) => item['location'] === 'columnDimension' || item['encoding'] === 'column')\n\n return {\n ...spec,\n columns: columns.map((item) => {\n return {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }),\n } as PivotTableConstructorOptions\n}\n","import type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRows: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const rows = dimensions.filter((item) => item['location'] === 'rowDimension' || item['encoding'] === 'row')\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","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { BaseTableAPI, FieldFormat } from '@visactor/vtable/es/ts-types'\nimport { isEmpty, isNumber } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { autoFormatter, createFormatter, findMeasureById } from 'src/pipeline/utils'\nimport type { Datum, FoldInfo, Locale, MeasureTree, SpecPipe } from 'src/types'\n\nexport const pivotIndicators: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { locale, measures, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n\n return {\n ...spec,\n indicatorsAsCol: true,\n indicatorTitle: intl.i18n`指标名称`,\n hideIndicatorName: true,\n indicators: [\n {\n cellType: 'text',\n indicatorKey: foldInfo.measureValue,\n title: 'indicator',\n width: 'auto',\n format: fieldFormat(measures, foldInfo as FoldInfo, locale),\n },\n ] as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat =\n (measures: MeasureTree, foldInfo: FoldInfo, locale: Locale): FieldFormat =>\n (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\n const { measureId: foldMeasureId } = foldInfo\n const measureId = datum[0][foldMeasureId] as string\n const node = findMeasureById(measures, measureId)\n if (!node) {\n return value\n }\n const { format = {}, autoFormat = true } = node\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n\n return\n }\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const rowHeaderStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n result.theme.rowHeaderStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8.6, 12, 8.6, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n frameStyle: {\n borderColor: [null, borderColor, null, null],\n borderLineWidth: 1,\n },\n fontSize: 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","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport type { SpecPipe, TableConfig } from 'src/types'\n\nexport const cornerHeaderStyle: SpecPipe = (spec, context) => {\n const result = { ...spec } as BaseTableConstructorOptions\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 // basic\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 // Interaction\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor\n const hoverCellColor = themConfig.hoverHeaderBackgroundColor\n\n result.theme.cornerHeaderStyle = {\n borderColor: [borderColor, borderColor],\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellColor || undefined,\n inlineRowBgColor: hoverInlineColor || undefined,\n inlineColumnBgColor: hoverInlineColor || undefined,\n },\n frameStyle: {\n borderColor: [null, borderColor, borderColor, null],\n borderLineWidth: 1,\n },\n fontSize: 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","export var AggregationType;\n\n!function(AggregationType) {\n AggregationType.RECORD = \"RECORD\", AggregationType.NONE = \"NONE\", AggregationType.SUM = \"SUM\", \n AggregationType.MIN = \"MIN\", AggregationType.MAX = \"MAX\", AggregationType.AVG = \"AVG\", \n AggregationType.COUNT = \"COUNT\", AggregationType.CUSTOM = \"CUSTOM\", AggregationType.RECALCULATE = \"RECALCULATE\";\n}(AggregationType || (AggregationType = {}));\n\nexport var SortType;\n\n!function(SortType) {\n SortType.ASC = \"ASC\", SortType.DESC = \"DESC\", SortType.NORMAL = \"NORMAL\", SortType.desc = \"desc\", \n SortType.asc = \"asc\", SortType.normal = \"normal\";\n}(SortType || (SortType = {}));\n//# sourceMappingURL=new-data-set.js.map\n","import { AggregationType } from '@visactor/vtable/es/ts-types'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataConfig: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const measures = findAllMeasures(advancedVSeed.measures)\n\n const aggregationRules = measures.map((measure) => ({\n field: measure.id,\n aggregationType: AggregationType.NONE,\n indicatorKey: measure.id,\n }))\n\n return {\n ...spec,\n dataConfig: {\n aggregationRules,\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n dataConfig,\n]\n","import { pivotTableAdvancedPipeline, pivotTableSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerPivotTable = () => {\n Builder._advancedPipelineMap['pivotTable'] = pivotTableAdvancedPipeline\n Builder._specPipelineMap['pivotTable'] = pivotTableSpecPipeline\n}","import type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType, locale } = vseed\n return {\n ...advancedVSeed,\n chartType,\n locale: locale || 'zh-CN',\n } as AdvancedVSeed\n}\n","import type { AdvancedPipe, Datum } from 'src/types'\n\n/**\n * @description 如果用户没有配置 measures, 则基于 dataset 构建默认的 measures\n */\nexport const defaultMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures, dataset } = vseed\n\n if (measures && measures.length > 0) {\n return {\n ...advancedVSeed,\n measures,\n }\n }\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return {\n ...advancedVSeed,\n measures: [],\n }\n }\n\n const top100dataset = dataset.slice(0, 100)\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n const defaultMeasures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return {\n ...advancedVSeed,\n measures: defaultMeasures,\n }\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, Dimensions, DimensionTree } from 'src/types'\n\nexport const defaultDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n if (dimensions && dimensions.length > 0) {\n return {\n ...result,\n dimensions,\n }\n }\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n const measures = findAllMeasures(advancedVSeed.measures as DimensionTree)\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n const newDimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n })) as Dimensions\n\n return {\n ...result,\n dimensions: newDimensions,\n }\n}\n","import { MeasureName } from 'src/dataReshape'\nimport { intl } from 'src/i18n'\nimport type { AdvancedPipe, Dimension } from 'src/types'\n\nexport const defaultMeasureName: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n\n const MeaName: Dimension = {\n id: MeasureName,\n alias: intl.i18n`指标名称`,\n }\n\n // 如果没有指标名称维度,则默认添加指标名称维度\n if (!result.dimensions?.some((dim) => dim.id === MeasureName)) {\n result.dimensions?.push(MeaName)\n }\n\n return result\n}\n","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\n/**\n * @description 折线图、堆叠面积图、百分比面积图\n * 维度未包含任何encoding, 则使用默认映射规则:\n * 1. x: 第一个维度映射至X轴\n * 2. color: 其余所有维度与指标名称, 合并映射至颜色通道, 作为图例展示\n * 指标未包含任何encoding, 则使用默认映射规则:\n * 1. y: 全部指标映射至Y轴\n * 2. tooltip: 全部指标映射至Tooltip\n * \n * 维度映射规则:\n * 1. 用户指定的xAxis维度映射至X轴, 支持多个维度; 若未指定, 则默认映射第一个维度\n * 2. 用户指定的color维度映射至颜色通道, 支持多个维度; 若未指定, 则默认映射指标名称\n * 指标映射规则:\n * 1. 指标未配置encoding, 则默认映射至Y轴;\n * 2. 用户指定的yAxis指标映射至Y轴, 支持多个指标;\n * 3. 所有指标均映射到Tooltip\n */\nexport const encodingForLine: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1)\n encoding.color = uniqueDimIds.slice(1)\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.detail = [] // 折线图暂不支持细分\n encoding.label = []\n encoding.row = []\n encoding.column = []\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n","import type { AdvancedVSeed, VSeed } from 'src/types'\n\n/**\n * @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithChildren = (vseed: VSeed | AdvancedVSeed) => {\n const { measures } = vseed\n\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'children' in measure)\n}\n\n/**\n * @description 检查是否为指标树, 指标树存在parentId. 如果存在一个指标有parentId, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithParentId = (vseed: VSeed | AdvancedVSeed) => {\n const { measures } = vseed\n\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'parentId' in measure)\n}\n","import type { Measure, MeasureGroup, MeasureTree } from \"src/types\"\nimport { preorderTraverse } from \"../tree/traverse\"\n\n/**\n * 获取measures的深度\n * @param measures\n * @param id\n * @returns\n */\nexport const measureDepth = (measures: MeasureTree = []): number => {\n if (!measures) return 0\n let depth = 1\n preorderTraverse<Measure, MeasureGroup>(measures, (node) => {\n if ('children' in node) {\n depth = Math.max(depth, 1 + measureDepth(node.children))\n }\n return false\n })\n return depth\n}\n","import type { Dimensions, DimensionGroup, DimensionTree, VSeed, Measure } from 'src/types'\nimport { measureDepth } from './measures'\nimport { isMeasureTreeWithChildren, isMeasureTreeWithParentId } from '../advanced/chart/pipes/measures/utils'\nimport { unique } from 'remeda'\n\nexport const isTable = (vseed: VSeed) => {\n return vseed.chartType === 'table'\n}\nexport const isPivotTable = (vseed: VSeed) => {\n return vseed.chartType === 'pivotTable'\n}\nexport const isVTable = (vseed: VSeed) => {\n return ['table', 'pivotTable'].includes(vseed.chartType)\n}\nexport const isVChart = (vseed: VSeed): boolean => {\n return !isVTable(vseed)\n}\nexport const isPivotChart = (vseed: VSeed) => {\n if (isVTable(vseed)) {\n return false\n }\n\n if (isMeasureTreeWithParentId(vseed)) {\n const parentIds = vseed.measures?.map((measure: Measure) => measure.parentId)\n return parentIds && unique(parentIds).length > 1\n }\n\n if (vseed.chartType === 'dualAxis' || vseed.chartType === 'scatter') {\n const { dimensions = [] } = vseed as {\n dimensions: Dimensions\n }\n const hasRowOrColumnDimension =\n dimensions &&\n dimensions.some((dimension) => dimension.location === 'rowDimension' || dimension.location === 'columnDimension')\n\n if (hasRowOrColumnDimension) {\n return true\n }\n\n if (vseed.chartType === 'scatter') {\n if (isMeasureTreeWithChildren(vseed)) {\n const depth = measureDepth(vseed.measures)\n return depth === 3\n }\n\n if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) {\n return true\n }\n return false\n }\n if (vseed.chartType === 'dualAxis') {\n if (isMeasureTreeWithChildren(vseed)) {\n const depth = measureDepth(vseed.measures)\n return depth === 3\n }\n\n if (vseed.dualMeasures && vseed.dualMeasures.length > 1) {\n return true\n }\n }\n\n return false\n }\n\n const { measures = [], dimensions = [] } = vseed as {\n measures: DimensionTree\n dimensions: Dimensions\n }\n\n const hasRowOrColumnDimension =\n dimensions &&\n dimensions.some((dimension) => dimension.location === 'rowDimension' || dimension.location === 'columnDimension')\n\n const hasMeasureGroup = measures && measures.some((measure: DimensionGroup) => measure && measure.children)\n\n return hasRowOrColumnDimension || hasMeasureGroup\n}\n","import type { AdvancedPipe, Column, MeasureGroup, Measures, MeasureTree } from 'src/types'\nimport { isMeasureTreeWithChildren, isMeasureTreeWithParentId } from './utils'\nimport { isPivotChart } from 'src/pipeline/utils'\n\nexport const buildMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: Column\n }\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 透视图表, 自动生成指标树\n */\n if (isPivotChart(vseed)) {\n advancedVSeed.measures = basicMeasuresToMeasureTree(advancedVSeed.measures as Measures)\n }\n\n return advancedVSeed\n}\n\nconst generateMeasuresByParentId = (measures: Measures): MeasureTree => {\n const measureTree: MeasureGroup[] = []\n\n measures.forEach((measure) => {\n if (!measure.parentId) {\n return\n }\n\n const parent = measureTree.find((item) => item.id === measure.parentId)\n\n if (parent && 'children' in parent) {\n parent.children = parent.children || []\n parent.children.push(measure)\n } else {\n measureTree.push({\n id: measure.parentId,\n children: [measure],\n })\n }\n })\n\n return measureTree\n}\n\nconst basicMeasuresToMeasureTree = (measures: Measures): MeasureTree => {\n const id = measures.map((item) => item.id).join('-')\n const alias = measures.map((item) => item.alias || item.id).join('-')\n return [\n {\n id,\n alias,\n children: measures,\n },\n ]\n}\n","import type { AdvancedPipe, AdvancedPipeline, AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline, isPivotChart } from 'src/pipeline/utils'\n\nexport const pivotAdapter = (pipeline: AdvancedPipeline, pivotPipeline: AdvancedPipeline): AdvancedPipe => {\n return (advancedVSeed, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pivotPipeline, context, advancedVSeed)\n }\n\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context, advancedVSeed)\n }\n}\n","import{a as o}from\"./chunk-LFJW7BOT.js\";import{a}from\"./chunk-ANXBDSUI.js\";function T(...e){return o(y,e)}function y(e){let u=e,n=new Set;return(t,i,d)=>{let r=u(t,i,d);return n.has(r)?a:(n.add(r),{done:!1,hasNext:!0,next:t})}}export{T as a};\n","import type { Dataset, Datum, Dimension, Encoding, UnfoldInfo } from 'src/types'\nimport { AngleEncoding, XEncoding, YEncoding, ColorEncoding, DetailEncoding, ColorIdEncoding } from './constant'\n\n/**\n * @description 展开并合并视觉通道的维度, 在foldMeasures后合并维度, 所以不需要进行笛卡尔积\n * @param dataset 原始数据集\n * @param dimensions 维度\n * @param encoding 编码\n * @param options\n * @returns\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n encoding: Encoding,\n options: {\n foldMeasureId: string\n separator: string\n colorItemAsId: boolean\n },\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n const { foldMeasureId, separator, colorItemAsId } = options\n\n const unfoldInfo: UnfoldInfo = {\n encodingAngle: AngleEncoding,\n encodingX: XEncoding,\n encodingY: YEncoding,\n encodingDetail: DetailEncoding,\n encodingColor: ColorEncoding,\n encodingColorId: ColorIdEncoding,\n\n colorItems: [],\n colorIdMap: {},\n }\n\n // 每个通道对应的维度\n const { color, x, y, detail, angle } = encoding\n const angleDimensions = angle ? dimensions.filter((dim) => angle.includes(dim.id)) : []\n const xDimensions = x ? dimensions.filter((dim) => x.includes(dim.id)) : []\n const yDimensions = y ? dimensions.filter((dim) => y.includes(dim.id)) : []\n const colorDimensions = color ? dimensions.filter((dim) => color.includes(dim.id)) : []\n const detailDimensions = detail ? dimensions.filter((dim) => detail.includes(dim.id)) : []\n\n // 离散图例项\n const colorItems = new Set<string>()\n const colorIdMap: Record<string, string> = {}\n\n // 遍历数据集, 按通道合并维度\n for (let i = 0; i < dataset.length; i++) {\n // 应用编码至Datum上\n const datum = dataset[i]\n\n /**\n * !important 这是全仓库, 最最最重要的五行代码, 贯穿VSeed整个生命周期, 是化繁为简的绝对核心\n * 1. 点睛之笔: 呼应foldMeasures, 此时此刻的datum一定是单点数据, 维度合并不可能造成任何冲突.\n * 2. 数据即通道\n * 3. 利用需要合并的维度, 直接进行join, 即可生成新的维度, 与指标彻底解耦;\n * 4. 以下通道均在一次遍历中完成, 不存在性能问题\n * 5. 以下通道均可放入多个维度\n */\n applyEncoding(AngleEncoding, angleDimensions, datum, separator)\n applyEncoding(XEncoding, xDimensions, datum, separator)\n applyEncoding(YEncoding, yDimensions, datum, separator)\n applyEncoding(ColorEncoding, colorDimensions, datum, separator)\n applyEncoding(DetailEncoding, detailDimensions, datum, separator)\n\n // 处理离散的颜色图例\n if (!colorDimensions.length || !datum[ColorEncoding]) {\n // 无颜色通道, 则跳过\n continue\n }\n const measureId = String(datum[foldMeasureId])\n const colorItem = String(datum[ColorEncoding])\n const colorId = colorItemAsId ? colorItem : measureId ? [colorItem, measureId].join(separator) : colorItem\n datum[ColorIdEncoding] = colorId\n colorIdMap[colorId] = colorItem\n colorItems.add(colorId)\n }\n\n unfoldInfo.colorItems = Array.from(colorItems)\n unfoldInfo.colorIdMap = colorIdMap\n\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * @description 应用编码至数据中, 此方法会原地修改数据\n * @param encoding 编码\n * @param dimensions 维度\n * @param datum 数据\n * @param separator 分隔符\n * @returns undefined\n */\nconst applyEncoding = (encoding: string, dimensions: Dimension[], datum: Datum, separator: string) => {\n if (encoding && dimensions.length) {\n datum[encoding] = dimensions.map((dim) => String(datum[dim.id])).join(separator)\n }\n}\n","import type { Dataset, Dimension, Encoding, FoldInfo, Measure, Measures, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, Separator } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nexport const dataReshapeByEncoding = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n encoding: Encoding,\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n colorItemAsId?: boolean\n colorMeasureId?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n colorItemAsId = false,\n colorMeasureId,\n } = options || {}\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures as Measures, {\n measureId: foldMeasureId,\n measureName: foldMeasureName,\n measureValue: foldMeasureValue,\n colorMeasureId,\n })\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {\n foldMeasureId,\n separator: Separator,\n colorItemAsId,\n })\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedVSeed, SpecPipe } from 'src/types'\n\nexport const colorAdapter = (ordinalPipe: SpecPipe, linearPipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const { advancedVSeed } = context\n if (isLinearColor(advancedVSeed)) {\n return linearPipe(spec, context)\n }\n return ordinalPipe(spec, context)\n }\n}\n\nexport const isLinearColor = <T extends AdvancedVSeed>(advancedVSeed: T) => {\n const { encoding, measures } = advancedVSeed\n const measureIdList = findAllMeasures(measures).map((measure) => measure.id)\n const { color } = encoding\n return color?.length === 1 && measureIdList.includes(color[0])\n}\n\nexport const getColorMeasureId = <T extends AdvancedVSeed>(advancedVSeed: T): string | undefined => {\n if (isLinearColor(advancedVSeed)) {\n const { encoding } = advancedVSeed\n const { color } = encoding\n return color?.[0]\n }\n return undefined\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, ColumnParallel, Dimension, Encoding } from 'src/types'\n\nexport const reshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { dimensions, measures, encoding } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const hasEncoding = (vseed.dimensions || []).some((item: Dimension) => item.encoding)\n\n const {\n dataset: newDatasets,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(findAllMeasures(measures), (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: hasEncoding,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Dimension,\n Encoding,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding } = advancedVSeed\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const hasEncoding = (vseed.dimensions || []).some((item: Dimension) => item.encoding)\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(measures, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: hasEncoding,\n foldMeasureValue: `${FoldMeasureValue}${groupId}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n const reshapeInfo = {\n id: groupId,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import{a as n}from\"./chunk-WIMGWYZL.js\";function m(...r){return n(o,r)}function o(r,t){let e=[...r];return e.sort(t),e}export{m as a};\n","import { sort, unique } from 'remeda'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Datum, Line, Sort } from 'src/types'\n\nexport const sortXBandAxis: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sort: sortAxis } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed as { datasetReshapeInfo: DatasetReshapeInfo; dataset: Dataset }\n const { unfoldInfo } = datasetReshapeInfo[0]\n const xField = unfoldInfo.encodingX\n if (!sortAxis || !xField) {\n return advancedVSeed\n }\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2))\n\n result.analysis.orderMapping[xField] = axisOrderResult\n\n return result\n}\n\nexport const calcOrder = (sortConfig: Sort, id: string, dataset: Dataset): string[] => {\n if (sortConfig.customOrder) {\n return sortConfig.customOrder\n }\n\n const order = sortConfig.order || 'asc'\n const orderBy = sortConfig.orderBy\n\n const res = sort(dataset, (a, b) => {\n const aValue = a[orderBy || id] as string | number\n const bValue = b[orderBy || id] as string | number\n\n if (order === 'asc') {\n if (aValue < bValue) {\n return -1\n }\n if (aValue > bValue) {\n return 1\n }\n return 0\n }\n if (aValue > bValue) {\n return -1\n }\n if (aValue < bValue) {\n return 1\n }\n return 0\n })\n\n return unique(res.map((item: Datum) => item[id] as string))\n}\n","import { sort, unique } from 'remeda'\nimport type { AdvancedPipe, Dataset, Datum, Line, SortLegend } from 'src/types'\n\nexport const sortLegend: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sortLegend } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed\n const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId\n const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap\n const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems\n if (!sortLegend || !colorId || !colorIdMap || !colorItems) {\n return advancedVSeed\n }\n\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n if (sortLegend.customOrder) {\n const nameMap = Object.keys(colorIdMap).reduce<Record<string, string>>((pre, cur) => {\n pre[colorIdMap[cur]] = cur\n return pre\n }, {})\n\n // 先根据名称匹配, 若名称不存在, 则根据id匹配, 从而兼容名称和id的两种情况\n const orderRes = sortLegend.customOrder.map((itemNameOrId) =>\n nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId,\n )\n result.analysis.orderMapping[colorId] = orderRes\n return result\n }\n\n const orderRes = calcOrder(sortLegend, colorId, dataset?.flat(2) || [])\n result.analysis.orderMapping[colorId] = orderRes\n\n return result\n}\n\nconst calcOrder = (sortConfig: SortLegend, id: string, dataset: Dataset): string[] => {\n if (sortConfig.customOrder) {\n return sortConfig.customOrder\n }\n\n const order = sortConfig.order || 'asc'\n const orderBy = sortConfig.orderBy\n\n const res = sort(dataset, (a, b) => {\n const aValue = a[orderBy || id] as string | number\n const bValue = b[orderBy || id] as string | number\n\n if (order === 'asc') {\n if (aValue < bValue) {\n return -1\n }\n if (aValue > bValue) {\n return 1\n }\n return 0\n }\n if (aValue > bValue) {\n return -1\n }\n if (aValue < bValue) {\n return 1\n }\n return 0\n })\n\n return unique(res.map((item: Datum) => item[id] as string))\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairLine',\n ]) as Config['line']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const columnConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'stackCornerRadius',\n ]) as Config['column']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const pieConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip']) as Config['pie']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const areaConfig: AdvancedPipe = lineConfig\nexport const areaPercentConfig: AdvancedPipe = lineConfig\nexport const scatterConfig: AdvancedPipe = lineConfig\n\nexport const barConfig: AdvancedPipe = columnConfig\nexport const barParallelConfig: AdvancedPipe = columnConfig\nexport const barPercentConfig: AdvancedPipe = columnConfig\nexport const columnParallelConfig: AdvancedPipe = columnConfig\nexport const columnPercentConfig: AdvancedPipe = columnConfig\n\nexport const donutConfig: AdvancedPipe = pieConfig\nexport const roseConfig: AdvancedPipe = pieConfig\nexport const roseParallelConfig: AdvancedPipe = pieConfig\nexport const funnelConfig: AdvancedPipe = pieConfig\nexport const heatmapConfig: AdvancedPipe = pieConfig\nexport const radarConfig: AdvancedPipe = pieConfig","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const markStyle: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n\n const markStyle = pick(vseed, ['barStyle', 'pointStyle', 'lineStyle', 'areaStyle']) as AdvancedVSeed['markStyle']\n\n return { ...advancedVSeed, markStyle }\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const annotation: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const annotation = pick(vseed, [\n 'annotationPoint',\n 'annotationHorizontalLine',\n 'annotationVerticalLine',\n 'annotationArea',\n ]) as AdvancedVSeed['annotation']\n\n return { ...advancedVSeed, annotation }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n lineConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForLine,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForLine,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n lineConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = foldInfo.measureValue\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const color: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const colorItems = unfoldInfo.colorItems\n const colorIdMap = unfoldInfo.colorIdMap\n\n const { color } = baseConfig\n const { colorScheme, colorMapping } = color\n\n result.color = {\n type: 'ordinal',\n domain: colorItems,\n range: colorScheme,\n specified: createSpecifiedForColorMapping(colorMapping, colorIdMap, colorItems),\n } as ILineChartSpec['color']\n return result\n}\n\nexport const createSpecifiedForColorMapping = (\n colorMapping?: Record<string, string>,\n colorIdMap?: Record<string, string>,\n colorItems?: string[],\n) => {\n if (!colorMapping || !colorIdMap || !colorItems) {\n return undefined\n }\n\n const matchedList: string[] = []\n\n // 名称越长优先级越高: 按名称长度降, 优先匹配名称长的, 避免一个短的名称匹配到了超多个长的\n const colors = Object.entries(colorMapping).sort((a, b) => b[0].length - a[0].length)\n // 准确匹配\n const accurateMap = colors.reduce(\n (prev, cur) => {\n const name = cur[0]\n const colorValue = cur[1]\n\n const accurateMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias]) => {\n return colorKey === name || colorAlias === name\n })\n accurateMatchedList.forEach((item) => {\n prev[item[0]] = colorValue\n matchedList.push(name)\n })\n\n return prev\n },\n {} as Record<string, string>,\n )\n\n // 模糊匹配\n const fuzzyMap = colors.reduce(\n (prev, cur) => {\n const name = cur[0]\n const colorValue = cur[1]\n if (matchedList.includes(name)) {\n return prev\n }\n\n const fuzzyMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias]) => {\n return colorKey.includes(name) || colorAlias.includes(name)\n })\n fuzzyMatchedList.forEach((item) => {\n // 已经匹配有值, 则不重复匹配\n if (prev[item[0]]) {\n return\n }\n prev[item[0]] = colorValue\n })\n\n return prev\n },\n {} as Record<string, string>,\n )\n\n // 合并, 准确匹配的优先级高\n return {\n ...fuzzyMap,\n ...accurateMap,\n }\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const linearColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo, id } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n result.color = {\n type: 'linear',\n range: linearColorScheme || colorScheme || [],\n domain: [\n {\n dataId: id,\n fields: [unfoldInfo.encodingColor],\n },\n ],\n }\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { BackgroundColor, SpecPipe } from 'src/types'\n\nexport const backgroundColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { backgroundColor: BackgroundColor }\n\n const { backgroundColor } = baseConfig\n\n return {\n ...result,\n background: backgroundColor,\n }\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetXY: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const orderMapping = analysis?.orderMapping || {}\n const angle = unfoldInfo.encodingAngle\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ILineSeriesSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const progressive: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineSeriesSpec\n const { advancedVSeed } = context\n const { dataset = [] } = advancedVSeed\n const size = dataset.length\n\n if (size < 5000) {\n return result\n }\n\n result.large = true\n result.largeThreshold = 5000\n result.progressiveStep = 400\n result.progressiveThreshold = 8000\n\n return result\n}\n","import type { ICartesianBandAxisSpec, ISpec } from '@visactor/vchart'\nimport type { SpecPipe, XBandAxis } from 'src/types'\n\nexport const xBand: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const config = advancedVSeed.config?.[chartType as 'column']?.xAxis as XBandAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n labelAutoHide,\n labelAutoHideGap,\n labelAutoLimit,\n labelAutoLimitLength = 80,\n labelAutoRotate,\n labelAutoRotateAngleRange,\n } = config\n\n const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit)\n\n const bandAxis = {\n visible,\n type: 'band',\n orient: 'bottom',\n maxHeight: labelAutoLimitLength + 60,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n space: 8,\n style: {\n maxLineWidth: labelAutoLimitLength,\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n\n // 防重叠相关\n minGap: labelAutoHideGap,\n autoHide: labelAutoHide,\n autoHideMethod: 'greedy',\n autoHideSeparation: labelAutoHideGap,\n autoLimit: labelAutoLimit,\n autoRotate: labelAutoRotate,\n autoRotateAngle: labelAutoRotateAngleRange,\n lastVisible: true,\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n paddingInner: [0.15, 0.1],\n paddingOuter: [0.075, 0.1],\n } as ICartesianBandAxisSpec\n\n result.axes = [...result.axes, bandAxis] as ISpec['axes']\n return result\n}\n","// 标注层 z-index \nexport const ANNOTATION_Z_INDEX = 1000\n// 线性轴 顶部空隙 预留5px\nexport const LINEAR_AXIS_INNER_OFFSET_TOP = 7\n// 双轴图 柱图 ZIndex\nexport const DUAL_AXIS_CHART_COLUMN_Z_INDEX = 1000\n// 双轴图 非柱图 ZIndex\nexport const DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX = 1001\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\n\nexport const yLinear: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale } = advancedVSeed\n const config = advancedVSeed.config?.[chartType as 'column']?.yAxis as YLinearAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = config\n\n const linearAxis = {\n visible,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'left',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const verticalCrosshairLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'line']?.crosshairLine\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const lineColor = config.lineColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || undefined\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.xField = {\n visible,\n line: {\n type: 'line',\n style: {\n lineWidth: 1,\n opacity: 1,\n stroke: lineColor,\n lineDash: [4, 2],\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nexport const discreteLegend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight,\n maxSize = 1,\n border,\n shapeType = 'rectRound',\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'discrete',\n visible: enable,\n maxCol: Math.max(1, maxSize),\n maxRow: Math.max(1, maxSize),\n autoPage: true,\n orient,\n position: legendPosition,\n data: border\n ? (items) => {\n return items.map((item) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n item.shape.outerBorder = {\n stroke: item.shape.fill,\n distance: 3,\n lineWidth: 1,\n }\n return item\n })\n }\n : undefined,\n item: {\n focus: true,\n maxWidth: '30%',\n focusIconStyle: {\n size: labelFontSize + 2,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n shape: {\n space: border ? 6 : 4,\n style: {\n symbolType: shapeType,\n size: border ? 8 : 10,\n },\n },\n label: {\n formatMethod: (value) => {\n return unfoldInfo.colorIdMap[String(value)] ?? value\n },\n style: {\n fontSize: labelFontSize,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n },\n background: {\n state: {\n selectedHover: {\n fill: labelFontColor,\n fillOpacity: 0.05,\n },\n },\n },\n },\n padding: 0,\n }\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nexport const colorLegend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'color',\n visible: enable,\n orient,\n position: legendPosition,\n padding: 0,\n field: unfoldInfo.encodingColor,\n maxWidth: '30%',\n startText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n endText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n }\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorPointStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as ILineChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.point?.style) {\n result.point.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { Datum } from 'src/types'\nimport type {\n DimensionSelector,\n MeasureSelector,\n PartialDatumSelector,\n Selector,\n Selectors,\n ValueSelector,\n} from '../types/dataSelector'\nimport { omit } from 'remeda'\n\nexport const selector = (vchartDatum: Datum, selector: Selector | Selectors | undefined | null) => {\n // 无有效选择器, 则认为全部匹配成功\n if (!selector) {\n return true\n }\n\n const selectorMode = 'And'\n\n // 过滤掉 vchart 相关字段\n const vchartKeys = Object.keys(vchartDatum).filter((k) => k.toLocaleLowerCase().startsWith('__vchart'))\n const datum = omit(vchartDatum, vchartKeys) as Datum\n\n // 统一处理选择器为数组\n const selectors = (Array.isArray(selector) ? selector : [selector]) as Selectors\n\n return selectors[selectorMode === 'And' ? 'every' : 'some']((selector) => {\n // 1. 字符串或数字\n if (isValueSelector(selector)) {\n if (Object.values(datum).find((v) => v === selector)) {\n return true\n }\n }\n\n // 2. 指标选择器\n else if (isMeasureSelector(selector)) {\n const op = selector.operator || selector.op\n const selectorValueArr = Array.isArray(selector.value) ? selector.value : [selector.value]\n\n switch (op) {\n case '=':\n case '==':\n if (datum[selector.field] === selectorValueArr[0]) {\n return true\n }\n break\n case '!=':\n if (datum[selector.field] !== selectorValueArr[0]) {\n return true\n }\n break\n case '>':\n if (datum[selector.field] > selectorValueArr[0]) {\n return true\n }\n break\n case '<':\n if (datum[selector.field] < selectorValueArr[0]) {\n return true\n }\n break\n case '>=':\n if (datum[selector.field] >= selectorValueArr[0]) {\n return true\n }\n break\n case '<=':\n if (datum[selector.field] <= selectorValueArr[0]) {\n return true\n }\n break\n case 'between':\n if (\n Array.isArray(selector.value) &&\n datum[selector.field] >= selectorValueArr[0] &&\n datum[selector.field] <= selectorValueArr[1]\n ) {\n return true\n }\n break\n default:\n break\n }\n }\n // 3. 维度选择器\n else if (isDimensionSelector(selector)) {\n const op = selector.operator || selector.op\n const selectorValueArr = Array.isArray(selector.value) ? selector.value : [selector.value]\n switch (op) {\n case 'in':\n if (selectorValueArr.includes(datum[selector.field] as string | number)) {\n return true\n }\n break\n case 'not in':\n if (!selectorValueArr.includes(datum[selector.field] as string | number)) {\n return true\n }\n break\n default:\n break\n }\n }\n // 4. 部分数据对象选择器\n else if (isPartialDatumSelector(selector)) {\n if (Object.keys(selector).every((key) => datum[key] === selector[key])) {\n return true\n }\n }\n\n return false\n })\n}\n\nexport const isValueSelector = (selector: Selector): selector is ValueSelector => {\n return typeof selector === 'string' || typeof selector === 'number'\n}\n\nexport const isPartialDatumSelector = (selector: Selector): selector is PartialDatumSelector => {\n return typeof selector === 'object' && selector !== null\n}\n\nexport const isMeasureSelector = (selector: Selector): selector is MeasureSelector => {\n return (\n typeof selector === 'object' &&\n selector !== null &&\n 'field' in selector &&\n ('operator' in selector || 'op' in selector) &&\n 'value' in selector &&\n (['=', '==', '!=', '>', '<', '>=', '<=', 'between'].includes(selector.operator as string) ||\n ['=', '==', '!=', '>', '<', '>=', '<=', 'between'].includes(selector.op as string))\n )\n}\n\nexport const isDimensionSelector = (selector: Selector): selector is DimensionSelector => {\n return (\n typeof selector === 'object' &&\n selector !== null &&\n 'field' in selector &&\n ('operator' in selector || 'op' in selector) &&\n 'value' in selector &&\n (['in', 'not in'].includes(selector.operator as string) || ['in', 'not in'].includes(selector.op as string))\n )\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, PointStyle, SpecPipe } from 'src/types'\n\nexport const pointStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle } = advancedVSeed\n const { pointStyle } = markStyle\n const result = {\n ...spec,\n point: {\n style: {},\n },\n } as IAreaChartSpec\n\n if (!pointStyle) {\n return result\n }\n const pointStyles = (Array.isArray(pointStyle) ? pointStyle : [pointStyle]) as PointStyle[]\n\n const customMap = pointStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n innerBorder: {\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n distance: (pointBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n point: {\n ...result.point,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { ISeriesMarkAttributeContext } from '@visactor/vchart/esm/compile/mark'\nimport type { SpecPipe } from 'src/types'\n\nexport const pointStateDimensionHover: SpecPipe = (spec) => {\n const point = (spec as IScatterChartSpec).point || {}\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n dimension_hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n outerBorder: {\n lineWidth: 4,\n strokeOpacity: 0.25,\n distance: 2,\n },\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n\nexport const pointStateHover: SpecPipe = (spec, context) => {\n const point = (spec as IScatterChartSpec).point || {}\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n stroke: (datum, context: ISeriesMarkAttributeContext) => {\n const field = unfoldInfo.encodingColorId\n const color = context.seriesColor(datum[field] as string)\n return color\n },\n fillOpacity: 0.6,\n lineWidth: 1,\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorLineStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as ILineChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.line?.style) {\n result.line.style.stroke = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import{a}from\"./chunk-WIMGWYZL.js\";function i(...e){return a(p,e)}var p=(e,d)=>{let r=Object.create(null);for(let n=0;n<e.length;n++){let t=e[n],y=d(t,n,e);if(y!==void 0){let o=r[y];o===void 0?r[y]=[t]:o.push(t)}}return Object.setPrototypeOf(r,Object.prototype),r};export{i as a};\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, LineStyle, SpecPipe } from 'src/types'\nimport { groupBy } from 'remeda'\n\nexport const lineStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { lineStyle } = markStyle\n const result = {\n ...spec,\n line: {\n style: {},\n },\n } as IAreaChartSpec\n if (!lineStyle) {\n return result\n }\n\n const lineStyles = (Array.isArray(lineStyle) ? lineStyle : [lineStyle]) as LineStyle[]\n\n const colorId = unfoldInfo.encodingColorId\n const lineGroups = groupBy(dataset, (d) => d[colorId ?? ''] as string)\n\n const customMap = lineStyles.reduce<object>((result, style, index) => {\n const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth = 2, lineVisible = true } = style\n\n const dashSegment = lineWidth * 2\n const dashGap = lineWidth\n\n const lineDash =\n lineStyle === 'dashed' ? [dashSegment, dashSegment] : lineStyle === 'dotted' ? [dashGap / 2, dashGap * 2] : [0, 0]\n\n const curveType = lineSmooth ? 'monotone' : 'linear'\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = lineGroups[datum[colorId ?? ''] as string]\n for (const d of lineData) {\n if (selector(d, style.selector)) {\n return true\n }\n }\n return false\n },\n style: {\n visible: lineVisible,\n curveType: curveType,\n strokeOpacity: lineColorOpacity,\n stroke: lineColor,\n lineWidth: lineWidth,\n lineDash: lineDash,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n line: {\n ...result.line,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { ILineLikeLabelSpec } from '@visactor/vchart/esm/series/mixin/interface'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, Label, SpecPipe } from 'src/types'\nimport { isEmpty } from 'remeda'\n\nexport const label: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n","import { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, SpecPipe, Tooltip } from 'src/types'\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const { measureId, measureValue, measureName } = datasetReshapeInfo[0].foldInfo\n const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n","import type { Datum } from \"src/types\"\n\nexport const isSubset = (sub: Datum, obj: Datum) => {\n return Object.entries(sub).every(([key, value]) => {\n if (typeof value === 'string') {\n return obj[key] === value\n }\n if (typeof value === 'number') {\n return obj[key] === value\n }\n return true\n })\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationPoint: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationPoint) {\n return spec\n }\n\n const { annotationPoint } = annotation\n const annotationPointList = Array.isArray(annotationPoint) ? annotationPoint : [annotationPoint]\n\n const markPoint = annotationPointList.flatMap((annotationPoint) => {\n const {\n selector: selectorPoint,\n text = '',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n textBackgroundBorderColor,\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundColor = '#212121',\n textBackgroundPadding = 2,\n textBackgroundVisible = true,\n offsetX = 0,\n offsetY = 0,\n } = annotationPoint\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n position: (data: Datum[], context: ICartesianSeries) => {\n const targetDatum = data.find((item) => isSubset(datum, item))\n if (targetDatum) {\n const { x, y } = context.dataToPosition(targetDatum) as { x: number; y: number }\n return {\n x,\n y,\n }\n }\n },\n\n itemLine: {\n visible: false,\n },\n itemContent: {\n offsetY,\n offsetX,\n text: {\n text: text,\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n dy: textFontSize,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n dy: textFontSize,\n },\n },\n },\n },\n }\n })\n }) as ILineChartSpec['markPoint']\n\n return {\n ...spec,\n markPoint,\n }\n}\n","function o(r){return Array.isArray(r)}export{o as a};\n","import type { ILineChartSpec, IMarkLineSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { SpecPipe } from 'src/types'\nimport { isArray, isNumber, isString } from 'remeda'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationVerticalLine: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation, datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!annotation || !annotation.annotationVerticalLine) {\n return spec\n }\n\n const { annotationVerticalLine } = annotation\n const annotationVerticalLineList = Array.isArray(annotationVerticalLine)\n ? annotationVerticalLine\n : [annotationVerticalLine]\n\n const positionMap = {\n outsideStart: 'start',\n outsideEnd: 'end',\n outsideMiddle: 'middle',\n insideStart: 'insideStartTop',\n insideMiddle: 'insideMiddleTop',\n insideEnd: 'insideEndTop',\n }\n const markLine = annotationVerticalLineList.flatMap((annotationVerticalLine) => {\n const {\n selector: selectorPoint,\n xValue,\n text = '',\n textPosition = 'insideEnd',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'right',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundBorderColor = '#212121',\n textBackgroundColor = '#212121',\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundPadding = 2,\n\n lineVisible = true,\n lineColor = '#212121',\n lineWidth = 1,\n lineStyle = 'dashed',\n } = annotationVerticalLine\n\n const dataset = advancedVSeed.dataset.flat()\n\n const generateOneMarkLine = (x: number | string) => ({\n x: x as string,\n zIndex: ANNOTATION_Z_INDEX,\n line: {\n style: {\n visible: lineVisible,\n stroke: lineColor,\n lineStyle: lineStyle,\n lineWidth: lineWidth,\n lineDash: lineStyle === 'dashed' ? [5, 2] : lineStyle === 'dotted' ? [2, 5] : [0],\n },\n },\n label: {\n text: text,\n position: positionMap[textPosition || 'insideEnd'],\n style: {\n visible: true,\n stroke: textBackgroundColor,\n lineWidth: 1,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n dy: textFontSize,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n size: 10 + (lineWidth || 1),\n style: {\n dy: 4,\n fill: lineColor,\n },\n },\n })\n\n if ((!selectorPoint && isArray(xValue)) || isString(xValue) || isNumber(xValue)) {\n const xValueArr = Array.isArray(xValue) ? xValue : [xValue]\n return xValueArr.map(generateOneMarkLine)\n }\n\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n const x = unfoldInfo.encodingX\n if (!x) {\n return {}\n }\n return generateOneMarkLine(datum[x] as string)\n })\n }) as IMarkLineSpec[]\n\n const specMarkLine = ((spec as ILineChartSpec).markLine as IMarkLineSpec[]) || []\n const newMarkLine = [...specMarkLine, ...(markLine || [])]\n\n return {\n ...spec,\n markLine: newMarkLine,\n }\n}\n","import type { ILineChartSpec, IMarkLineSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { SpecPipe } from 'src/types'\nimport { isArray, isNumber, isString } from 'remeda'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationHorizontalLine: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!annotation || !annotation.annotationHorizontalLine) {\n return spec\n }\n\n const { annotationHorizontalLine } = annotation\n const annotationVerticalLineList = Array.isArray(annotationHorizontalLine)\n ? annotationHorizontalLine\n : [annotationHorizontalLine]\n\n const positionMap = {\n outsideStart: 'start',\n outsideEnd: 'end',\n outsideMiddle: 'middle',\n insideStart: 'insideStartTop',\n insideMiddle: 'insideMiddleTop',\n insideEnd: 'insideEndTop',\n }\n\n const markLine = annotationVerticalLineList.flatMap((annotationVerticalLine) => {\n const {\n selector: selectorPoint,\n yValue,\n text = '',\n textPosition = 'insideEnd',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'right',\n textBaseline = 'top',\n\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\n\n textBackgroundVisible = true,\n textBackgroundColor = '#212121',\n textBackgroundBorderColor = '#212121',\n textBackgroundBorderRadius = 4,\n textBackgroundBorderWidth = 1,\n textBackgroundPadding = 2,\n } = annotationVerticalLine\n\n const dataset = advancedVSeed.dataset.flat()\n\n const generateOneMarkLine = (y: string | number) => {\n return {\n y,\n zIndex: ANNOTATION_Z_INDEX,\n line: {\n style: {\n visible: lineVisible,\n stroke: lineColor,\n lineStyle: lineStyle,\n lineWidth: lineWidth,\n lineDash: lineStyle === 'dashed' ? [5, 2] : lineStyle === 'dotted' ? [2, 5] : [0],\n },\n },\n label: {\n text: text,\n position: positionMap[textPosition || 'insideEnd'],\n style: {\n visible: true,\n dy: textFontSize,\n stroke: textBackgroundColor,\n lineWidth: 1,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n size: 10 + (lineWidth || 1),\n style: {\n dx: -4,\n fill: lineColor,\n },\n },\n }\n }\n\n if ((!selectorPoint && isArray(yValue)) || isString(yValue) || isNumber(yValue)) {\n const yValueArr = Array.isArray(yValue) ? yValue : [yValue]\n return yValueArr.map(generateOneMarkLine)\n }\n\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return selectedData.map((datum) => {\n const y = unfoldInfo.encodingY\n if (!y) {\n return {}\n }\n return generateOneMarkLine(datum[y] as string)\n })\n }) as IMarkLineSpec[]\n const specMarkLine = ((spec as ILineChartSpec).markLine as IMarkLineSpec[]) || []\n const newMarkLine = [...specMarkLine, ...(markLine || [])]\n return {\n ...spec,\n markLine: newMarkLine,\n }\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationArea: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationArea) {\n return spec\n }\n\n const { annotationArea } = annotation\n const annotationAreaList = Array.isArray(annotationArea) ? annotationArea : [annotationArea]\n\n const positionMap = {\n top: 'insideTop',\n topRight: 'insideTopRight',\n topLeft: 'insideTopLeft',\n bottom: 'insideBottom',\n bottomLeft: 'insideBottomLeft',\n bottomRight: 'insideBottomRight',\n left: 'insideLeft',\n right: 'insideRight',\n }\n\n const markArea = annotationAreaList.flatMap((annotationArea) => {\n const {\n selector: selectorPoint,\n text = '',\n textPosition = 'top',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundColor = '#191d24',\n textBackgroundBorderColor = '#191d24',\n textBackgroundBorderWidth = 1,\n textBackgroundBorderRadius = 4,\n textBackgroundPadding = 4,\n\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor = '#888888',\n areaBorderRadius = 4,\n areaBorderWidth = 1,\n\n outerPadding = 4,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n const labelPosition = positionMap[textPosition || 'top']\n const isBottom = labelPosition.toLocaleLowerCase().includes('bottom')\n\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n positions: (data: Datum[], context: ICartesianSeries) => {\n const positionData = data.filter((item) => selectedData.some((datum) => isSubset(datum, item)))\n const xyList = positionData.map((datum) => context.dataToPosition(datum) as { x: number; y: number })\n\n const yAxisHelper = context.getYAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n const xAxisHelper = context.getXAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n\n if (typeof xAxisHelper?.getBandwidth === 'function') {\n const yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - (outerPadding || 4)\n const maxX = Math.max(...xyList.map((item) => item.x)) + (outerPadding || 4)\n const minY = Math.min(...yScale.range())\n const maxY = Math.max(...yScale.range())\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n if (typeof yAxisHelper?.getBandwidth === 'function') {\n const xScale = xAxisHelper.getScale()\n\n const minY = Math.min(...xyList.map((item) => item.y)) - (outerPadding || 4)\n const maxY = Math.max(...xyList.map((item) => item.y)) + (outerPadding || 4)\n const minX = Math.min(...xScale.range())\n const maxX = Math.max(...xScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n return []\n },\n label: {\n position: labelPosition,\n visible: true,\n text: text,\n style: {\n dy: isBottom ? -(textFontSize || 12) * 2 : textFontSize,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: isBottom ? -(textFontSize || 12) * 2 : textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n lineWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivot: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n animation: true,\n rows: [],\n columns: [],\n indicators: [],\n records: [],\n widthMode: 'adaptive',\n heightMode: 'adaptive',\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const hoverBackgroundColor = 'rgba(178,186,207, 0.2)'\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: [0, 0, 2, 0],\n bgColor: transparent,\n padding: [0, 0, 1, 0],\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n textAlign: 'center',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n rowHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n textAlign: 'center',\n fontSize: 12,\n color: '#333333',\n fontWeight: 'bold',\n borderLineWidth: [0, 0, 0, 0],\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n bottomFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: hoverBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderLineWidth: 0,\n bgColor: transparent,\n },\n },\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPivot: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const records = dataset.reduce((pre, cur, index) => {\n const id = datasetReshapeInfo[index].id\n pre[id] = cur\n return pre\n }, {})\n return {\n ...result,\n records: records,\n } as PivotChartConstructorOptions\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.location === 'rowDimension' || dim.encoding === 'row')\n const rows: IBasicDimension[] = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.location === 'columnDimension' || dim.encoding === 'column')\n const columns: IBasicDimension[] = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n columns: columns,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IDiscreteTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport { unique } from 'remeda'\nimport type { Color, Legend, SpecPipe } from 'src/types'\nimport { createSpecifiedForColorMapping } from '../color/color'\n\nexport const pivotDiscreteLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n\n const colorItems = unique(\n datasetReshapeInfo.flatMap((d) => {\n return d.unfoldInfo.colorItems\n }),\n )\n\n const colorIdMap = datasetReshapeInfo.reduce<Record<string, string>>((prev, cur) => {\n return { ...prev, ...cur.unfoldInfo.colorIdMap }\n }, {})\n\n const { legend, color } = baseConfig\n const { colorScheme, colorMapping } = color\n\n const colorSpecified = createSpecifiedForColorMapping(colorMapping, colorIdMap, colorItems)\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight = 400,\n maxSize = 1,\n border,\n shapeType = 'rectRound',\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends: IDiscreteTableLegendOption = {\n visible: enable,\n type: 'discrete',\n orient,\n position: legendPosition,\n maxCol: Math.max(1, maxSize),\n maxRow: Math.max(1, maxSize),\n data: colorItems.map((d, index) => {\n const color = colorSpecified?.[d] ?? colorScheme?.[index % colorScheme.length]\n return {\n label: d,\n shape: {\n outerBorder: border\n ? {\n stroke: color,\n distance: 3,\n lineWidth: 1,\n }\n : undefined,\n fill: color,\n },\n }\n }),\n\n item: {\n focus: true,\n maxWidth: '30%',\n focusIconStyle: {\n size: labelFontSize + 2,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n shape: {\n space: border ? 6 : 4,\n style: {\n symbolType: shapeType,\n size: border ? 8 : 10,\n },\n },\n label: {\n formatMethod: (value: string) => {\n return colorIdMap[value] ?? value\n },\n style: {\n fontSize: labelFontSize,\n fill: labelFontColor,\n fontWeight: labelFontWeight,\n },\n },\n background: {\n state: {\n selectedHover: {\n fill: labelFontColor,\n fillOpacity: 0.05,\n },\n },\n },\n },\n } as unknown as IDiscreteTableLegendOption\n return { ...result, legends }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IColorTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport type { Color, Legend, SpecPipe } from 'src/types'\n\nexport const pivotColorLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const max = Math.max(...datasetReshapeInfo.map((d) => d.foldInfo.colorRange[1]))\n const min = Math.min(...datasetReshapeInfo.map((d) => d.foldInfo.colorRange[0]))\n const { legend, color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends: IColorTableLegendOption = {\n visible: enable,\n type: 'color',\n orient,\n position: legendPosition,\n\n colors: linearColorScheme || colorScheme || [],\n value: [min, max],\n min: min,\n max: max,\n\n maxWidth: '30%',\n startText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n endText: {\n visible: true,\n style: {\n fill: labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n }\n return { ...result, legends }\n}\n","import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline, isPivotChart } from '../../../../utils'\n\nexport const pivotAdapter = (pipeline: SpecPipeline, pivotPipeline: SpecPipeline): SpecPipe => {\n return (spec, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<Spec, SpecPipelineContext>(pivotPipeline, context, spec)\n }\n\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, spec)\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorLineStyleFill,\n colorPointStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst line: SpecPipeline = [\n initLine,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n verticalCrosshairLine,\n colorAdapter(discreteLegend, colorLegend),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotLine: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initLine,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const lineSpecPipeline: SpecPipeline = [pivotAdapter(line, pivotLine)]\n","import { lineAdvancedPipeline, lineSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\n/**\n * @description 堆叠柱状图、并列柱状图、百分比柱状图\n * 维度未包含任何encoding, 则使用默认映射规则:\n * 1. x: 第一个维度映射至X轴\n * 2. color: 非X轴所有维度与指标名称, 合并映射至颜色通道, 作为图例展示\n * 3. detail: 其余所有维度映射至Detail通道\n * 指标未包含任何encoding, 则使用默认映射规则:\n * 1. y: 全部指标映射至Y轴\n * 2. tooltip: 全部指标映射至Tooltip\n *\n * 维度映射规则:\n * 1. 用户指定的xAxis维度映射至X轴, 支持多个维度; 若未指定, 则默认映射第一个维度\n * 2. 用户指定的color维度映射至颜色通道, 支持多个维度; 若未指定, 则默认映射指标名称\n * 3. 用户指定的detail维度映射至Detail通道, 支持多个维度; 若未指定, 则无detail\n * 指标映射规则:\n * 1. 指标未配置encoding, 则默认映射至Y轴;\n * 2. 用户指定的yAxis指标映射至Y轴, 支持多个指标;\n * 3. 所有指标均映射到Tooltip\n */\nexport const encodingForColumn: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n columnConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForColumn,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n columnConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumn: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n return {\n ...spec,\n stackCornerRadius: (_, datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n","import type { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const stackInverse: SpecPipe = (spec) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.stackInverse = true\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const verticalCrosshairRect: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'column']?.crosshairRect\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const rectColor = config.rectColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || false\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.xField = {\n visible,\n line: {\n type: 'rect',\n style: {\n lineWidth: 0,\n opacity: 0.2,\n fill: rectColor,\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorBarStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IBarChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.bar?.style) {\n result.bar.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { BarStyle, Datum, SpecPipe } from 'src/types'\n\nexport const barStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, dataset = [] } = advancedVSeed\n const { barStyle } = markStyle\n\n const showStroke = dataset.length <= 100\n\n const result = {\n ...spec,\n bar: {\n style: {\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n fillOpacity: 0.6,\n },\n },\n },\n } as IBarChartSpec\n\n if (!barStyle) {\n return result\n }\n\n const barStyles = (Array.isArray(barStyle) ? barStyle : [barStyle]) as BarStyle[]\n\n const customMap = barStyles.reduce<object>((result, style, index) => {\n const {\n barBorderColor,\n barBorderStyle,\n barBorderWidth = 1,\n barColor,\n barColorOpacity,\n barRadius,\n barVisible = true,\n } = style\n\n const lineDash = barBorderStyle === 'dashed' ? [5, 2] : barBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: barVisible,\n fill: barColor,\n fillOpacity: barColorOpacity,\n cornerRadius: barRadius,\n innerBorder: {\n stroke: barBorderColor,\n lineWidth: barBorderWidth,\n distance: (barBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n bar: {\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { ICartesianSeries, ILineChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, SpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { ANNOTATION_Z_INDEX } from '../../../../utils/constant'\n\nexport const annotationAreaBand: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { annotation } = advancedVSeed\n\n if (!annotation || !annotation.annotationArea) {\n return spec\n }\n\n const { annotationArea } = annotation\n const annotationAreaList = Array.isArray(annotationArea) ? annotationArea : [annotationArea]\n\n const positionMap = {\n top: 'insideTop',\n topRight: 'insideTopRight',\n topLeft: 'insideTopLeft',\n bottom: 'insideBottom',\n bottomLeft: 'insideBottomLeft',\n bottomRight: 'insideBottomRight',\n left: 'insideLeft',\n right: 'insideRight',\n }\n\n const markArea = annotationAreaList.flatMap((annotationArea) => {\n const {\n selector: selectorPoint,\n text = '',\n textPosition = 'top',\n textColor = '#ffffff',\n textFontSize = 12,\n textFontWeight = 400,\n textAlign = 'center',\n textBaseline = 'top',\n\n textBackgroundVisible = true,\n textBackgroundColor = '#191d24',\n textBackgroundBorderColor = '#191d24',\n textBackgroundBorderWidth = 1,\n textBackgroundBorderRadius = 4,\n textBackgroundPadding = 4,\n\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor = '#888888',\n areaBorderRadius = 4,\n areaBorderWidth = 1,\n\n outerPadding = 4,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = selectorPoint ? dataset.filter((datum) => selector(datum, selectorPoint)) : []\n\n return {\n zIndex: ANNOTATION_Z_INDEX,\n regionRelative: true,\n positions: (data: Datum[], context: ICartesianSeries) => {\n const positionData = data.filter((item) => selectedData.some((datum) => isSubset(datum, item)))\n const xyList = positionData.map((datum) => context.dataToPosition(datum) as { x: number; y: number })\n\n const yAxisHelper = context.getYAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n const xAxisHelper = context.getXAxisHelper() as unknown as {\n getBandwidth: (depth?: number) => number\n getScale: () => {\n range: () => number[]\n }\n }\n\n if (typeof xAxisHelper?.getBandwidth === 'function') {\n const depth = context.fieldX.length ?? 0\n const xBandWidth = xAxisHelper?.getBandwidth?.(depth - 1)\n const yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - (outerPadding || 4)\n const maxX = Math.max(...xyList.map((item) => item.x)) + xBandWidth + (outerPadding || 4)\n const minY = Math.min(...yScale.range())\n const maxY = Math.max(...yScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n if (typeof yAxisHelper?.getBandwidth === 'function') {\n const depth = context.fieldY.length ?? 0\n const yBandWidth = yAxisHelper?.getBandwidth?.(depth - 1)\n const xScale = xAxisHelper.getScale()\n\n const minY = Math.min(...xyList.map((item) => item.y)) - (outerPadding || 4)\n const maxY = Math.max(...xyList.map((item) => item.y)) + yBandWidth + (outerPadding || 4)\n const minX = Math.min(...xScale.range())\n const maxX = Math.max(...xScale.range())\n\n return [\n // 左上\n {\n x: minX,\n y: minY,\n },\n // 右上\n {\n x: maxX,\n y: minY,\n },\n // 右下\n {\n x: maxX,\n y: maxY,\n },\n // 左下\n {\n x: minX,\n y: maxY,\n },\n ]\n }\n\n return []\n },\n label: {\n position: positionMap[textPosition || 'top'],\n visible: true,\n text: text,\n style: {\n dy: textFontSize,\n textAlign: textAlign,\n textBaseline: textBaseline,\n stroke: textBackgroundColor,\n lineWidth: 1,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: textBackgroundVisible,\n padding: textBackgroundPadding,\n style: {\n dy: textFontSize,\n cornerRadius: textBackgroundBorderRadius ?? 4,\n fill: textBackgroundColor,\n stroke: textBackgroundBorderColor,\n lineWidth: textBackgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n lineWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n datasetXY,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst column: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorAdapter(discreteLegend, colorLegend),\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumn: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import { columnAdvancedPipeline, columnSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n columnParallelConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForColumn,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n columnParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumnParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = sameDimensionsMode ? [unfoldInfo.encodingX] : [unfoldInfo.encodingX, unfoldInfo.encodingDetail]\n result.yField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n xBand,\n yLinear,\n initColumnParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumnParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumnParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import { columnParallelAdvancedPipeline, columnParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n columnPercentConfig,\n markStyle,\n annotation,\n sortXBandAxis,\n sortLegend,\n encodingForColumn,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForColumn,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n columnPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const percent: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n datasetXY,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotColumnPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n percent,\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import { columnPercentAdvancedPipeline, columnPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForBar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.y = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.y.length === 0) {\n encoding.y = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.y?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, Dataset, DatasetReshapeInfo, Line } from 'src/types'\nimport { calcOrder } from './sortXBand'\n\nexport const sortYBandAxis: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { sort: sortAxis } = vseed as Line\n const { datasetReshapeInfo, dataset } = advancedVSeed as { datasetReshapeInfo: DatasetReshapeInfo; dataset: Dataset }\n const { unfoldInfo } = datasetReshapeInfo[0]\n const yField = unfoldInfo?.encodingY\n if (!sortAxis || !yField) {\n return advancedVSeed\n }\n if (!result.analysis) result.analysis = {}\n if (!result.analysis.orderMapping) result.analysis.orderMapping = {}\n\n const axisOrderResult = calcOrder(sortAxis, yField, dataset.flat(2))\n\n result.analysis.orderMapping[yField] = axisOrderResult\n\n return result\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n buildMeasures,\n pivotAdapter,\n barConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForBar,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortYBandAxis,\n sortLegend,\n barConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = unfoldInfo.encodingY\n result.xField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetYX: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const orderMapping = analysis?.orderMapping || {}\n\n const angle = unfoldInfo.encodingAngle\n const y = unfoldInfo.encodingY\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (y) {\n const order = orderMapping[y]\n if (order) {\n fields[y] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[y] = {\n sortIndex: 0,\n }\n }\n }\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport type { SpecPipe, XLinearAxis } from 'src/types'\nimport { autoFormatter } from '../../../../utils'\n\nexport const xLinear: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale } = advancedVSeed\n const config = advancedVSeed.config?.[chartType as 'bar']?.xAxis as XLinearAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = config\n\n const linearAxis = {\n visible,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'bottom',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n right: LINEAR_AXIS_INNER_OFFSET_TOP,\n // left: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ICartesianBandAxisSpec, ISpec } from '@visactor/vchart'\nimport type { SpecPipe, XBandAxis } from 'src/types'\n\nexport const yBand: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const config = advancedVSeed.config?.[chartType as 'bar']?.yAxis as XBandAxis\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!config) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n labelAutoHide,\n labelAutoHideGap,\n labelAutoLimit,\n labelAutoLimitLength = 80,\n labelAutoRotate,\n labelAutoRotateAngleRange,\n } = config\n\n const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit)\n\n const bandAxis = {\n visible,\n type: 'band',\n orient: 'left',\n maxWidth: labelAutoLimitLength + 60,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n containerAlign: 'right',\n space: 8,\n style: {\n maxLineWidth: labelAutoLimitLength,\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n // 防重叠相关\n minGap: labelAutoHideGap,\n autoHide: labelAutoHide,\n autoHideMethod: 'greedy',\n autoHideSeparation: labelAutoHideGap,\n autoLimit: labelAutoLimit,\n autoRotate: labelAutoRotate,\n autoRotateAngle: labelAutoRotateAngleRange,\n lastVisible: true,\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n paddingInner: [0.15, 0.1],\n paddingOuter: [0.075, 0.1],\n } as ICartesianBandAxisSpec\n\n result.axes = [...result.axes, bandAxis] as ISpec['axes']\n return result\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const horizontalCrosshairRect: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'column']?.crosshairRect\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const rectColor = config.rectColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || false\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.yField = {\n visible,\n line: {\n type: 'rect',\n style: {\n lineWidth: 0,\n opacity: 0.2,\n fill: rectColor,\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n datasetYX,\n xLinear,\n yBand,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst bar: SpecPipeline = [\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBar: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import { barAdvancedPipeline, barSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n buildMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n barParallelConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForBar,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortYBandAxis,\n sortLegend,\n barParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBarParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'bar'\n result.direction = 'horizontal'\n\n result.yField = sameDimensionsMode\n ? [unfoldInfo.encodingY]\n : ([unfoldInfo.encodingY, unfoldInfo.encodingDetail] as string[])\n result.xField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetYX,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBarParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBarParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetYX,\n xLinear,\n yBand,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import { barParallelAdvancedPipeline, barParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n buildMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n barPercentConfig,\n markStyle,\n annotation,\n sortYBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForBar,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForBar,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortYBandAxis,\n sortLegend,\n barPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n datasetYX,\n xLinear,\n yBand,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorBarStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetYX,\n progressive,\n xLinear,\n yBand,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n horizontalCrosshairRect,\n colorBarStyleFill(barStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotBarPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([\n initBar,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetYX,\n yBand,\n xLinear,\n label,\n tooltip,\n colorBarStyleFill(barStyle),\n horizontalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import { barPercentAdvancedPipeline, barPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n areaConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n encodingForLine,\n defaultMeasures,\n defaultMeasureName,\n defaultDimensions,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForLine,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n areaConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'area'\n result.direction = 'vertical'\n result.yField = foldInfo.measureValue\n \n result.xField = unfoldInfo.encodingX\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorAreaStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IAreaChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.area?.style) {\n result.area.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { AreaStyle, Datum, SpecPipe } from 'src/types'\nimport { groupBy } from 'remeda'\n\nexport const areaStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed\n const { areaStyle } = markStyle\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n area: {\n visible: true,\n style: {},\n },\n } as IAreaChartSpec\n\n if (!areaStyle) {\n return result\n }\n\n const areaStyles = (Array.isArray(areaStyle) ? areaStyle : [areaStyle]) as AreaStyle[]\n\n const group = unfoldInfo.encodingColorId\n\n const areaGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = areaStyles.reduce<object>((result, style, index) => {\n const { areaColor, areaColorOpacity, areaVisible = true } = style\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = areaGroups[datum[group ?? ''] as string]\n for (const d of lineData) {\n if (selector(d, style.selector)) {\n return true\n }\n }\n return false\n },\n style: {\n visible: areaVisible,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n area: {\n ...result.area,\n visible: true,\n state: {\n ...customMap,\n },\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n xBand,\n yLinear,\n initArea,\n stackInverse,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n areaStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n datasetXY,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst area: SpecPipeline = [\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotArea: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initArea,\n colorAdapter(color, linearColor),\n backgroundColor,\n stackInverse,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import { areaAdvancedPipeline, areaSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n areaPercentConfig,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n encodingForLine,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForLine,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n sortLegend,\n areaPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n datasetXY,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n areaStyle,\n verticalCrosshairLine,\n progressive,\n colorLegend,\n colorAdapter,\n linearColor,\n pivotColorLegend,\n pointStateDimensionHover,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotAreaPercent: SpecPipeline = [\n initPivot,\n\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initArea,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n percent,\n datasetXY,\n progressive,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import { areaPercentAdvancedPipeline, areaPercentSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n // prepare measures and dimensions\n const measures = findAllMeasures(vseedMeasures)\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const dimensionsWithoutMeasureName = dimensions.filter((item) => item.id !== MeasureName)\n const uniqueDimIds = unique(dimensionsWithoutMeasureName.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0)\n encoding.detail = uniqueDimIds.slice(0)\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, MeasureGroup, Measures, MeasureTree, Scatter, ScatterMeasures } from 'src/types'\nimport { isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\n\nexport const buildMeasuresForScatter: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: Scatter\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n\n const scatterMeasures = vseed.scatterMeasures\n ? vseed.scatterMeasures\n : basicMeasuresToScatterMeasures(advancedVSeed.measures || [])\n advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToScatterMeasures = (basicMeasures: Measures): ScatterMeasures => {\n const yMeasures: Measures = []\n const xMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isYAxis = encoding.includes('yAxis')\n const isXAxis = encoding.includes('xAxis')\n\n if (isYAxis) {\n yMeasures.push(item)\n } else if (isXAxis) {\n xMeasures.push(item)\n } else {\n if (index === 0) {\n yMeasures.push(item)\n } else {\n xMeasures.push(item)\n }\n }\n }\n\n return [{ id: 'scatterMeasures', xMeasures, yMeasures }]\n}\n\nconst scatterMeasuresToMeasureTree = (scatterMeasures: ScatterMeasures): MeasureTree => {\n const measureTree = scatterMeasures.map((item, index): MeasureGroup => {\n const { id, xMeasures, yMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (xMeasures) {\n const arrPrimaryMeasures = Array.isArray(xMeasures) ? xMeasures : [xMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-x`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (yMeasures) {\n const arrSecondaryMeasures = Array.isArray(yMeasures) ? yMeasures : [yMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-y`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个散点图, 仅返回2层, vchart 绘制散点图\n if (scatterMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个散点图, 返回3层, pivot chart 绘制组合散点图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const scatterMeasures: ScatterMeasures = []\n\n measures.forEach((item) => {\n if (!item.parentId) {\n return\n }\n\n if (!scatterMeasures.find((d) => d.id === item.parentId)) {\n scatterMeasures.push({\n id: item.parentId,\n yMeasures: [],\n xMeasures: [],\n })\n }\n\n const scatterChart = scatterMeasures.find((d) => d.id === item.parentId)\n if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isX = encoding.includes('xAxis')\n const isY = encoding.includes('yAxis')\n const isEmpty = !encoding.length\n if (isY) {\n scatterChart.yMeasures.push(item)\n } else if (isX) {\n scatterChart.xMeasures.push(item)\n } else if (isEmpty) {\n if (scatterChart.yMeasures.length === 0) {\n scatterChart.yMeasures.push(item)\n } else {\n scatterChart.xMeasures.push(item)\n }\n }\n })\n\n return scatterMeasuresToMeasureTree(scatterMeasures)\n}\n","import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0] as MeasureGroup\n const yMeasures = (measures[1] || xMeasures) as MeasureGroup\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(xMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldXMeasureValue,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n datasets[0],\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(yMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldYMeasureValue,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n },\n )\n\n datasets[0] = newDataset\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets[0],\n\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures)\n }\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0]\n const yMeasures = measures[1] || xMeasures\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldXMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldYMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets[0].map((d, index) => ({ ...d, ...(datasets[1]?.[index] || {}) })))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\nimport { reshapeWithScatterEncoding } from '../pipes/reshape/reshapeWithScatterEncoding'\nimport { pivotReshapeWithScatterEncoding } from '../pipes/reshape/pivotReshapeWithScatterEncoding'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForScatter,\n buildMeasuresForScatter,\n pivotAdapter([reshapeWithScatterEncoding], [pivotReshapeWithScatterEncoding]),\n\n scatterConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initScatter: SpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList } = datasetReshapeInfo[0]\n\n result.type = 'scatter'\n result.direction = 'vertical'\n result.xField = foldInfoList?.[0].measureValue\n if (foldInfoList?.[1]) {\n result.yField = foldInfoList[1].measureValue\n }\n\n result.seriesField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetScatter: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n return {\n ...spec,\n data: {\n id,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset.flat(),\n fields: fields,\n },\n } as ISpec\n}\n","import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const horizontalCrosshairLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = advancedVSeed.config?.[chartType as 'line']?.crosshairLine\n if (!config) {\n return result\n }\n\n if (!result.crosshair) {\n result.crosshair = {}\n }\n\n const visible = config.visible || true\n const lineColor = config.lineColor || undefined\n const labelColor = config.labelColor || undefined\n const labelVisible = config.labelVisible || undefined\n const labelBackgroundColor = config.labelBackgroundColor || undefined\n\n const crosshair = result.crosshair as ICartesianCrosshairSpec\n crosshair.yField = {\n visible,\n line: {\n type: 'line',\n style: {\n lineWidth: 1,\n opacity: 1,\n stroke: lineColor,\n lineDash: [4, 2],\n },\n },\n label: {\n visible: labelVisible,\n labelBackground: {\n visible: labelVisible,\n style: {\n fill: labelBackgroundColor,\n },\n },\n style: {\n fill: labelColor,\n },\n },\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n verticalCrosshairLine,\n xLinear,\n horizontalCrosshairLine,\n pointStateHover,\n initScatter,\n progressive,\n datasetScatter,\n linearColor,\n colorAdapter,\n colorPointStyleFill,\n colorLegend,\n pivotColorLegend,\n} from '../pipes'\n\nconst scatter: SpecPipeline = [\n initScatter,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetScatter,\n progressive,\n xLinear,\n yLinear,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n horizontalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateHover,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotScatter: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initScatter,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetScatter,\n progressive,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateHover,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const scatterSpecPipeline: SpecPipeline = [pivotAdapter(scatter, pivotScatter)]\n","import { scatterAdvancedPipeline, scatterSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerScatter = () => {\n Builder._advancedPipelineMap['scatter'] = scatterAdvancedPipeline\n Builder._specPipelineMap['scatter'] = scatterSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipe, DualAxis, DualMeasures, MeasureGroup, Measures, MeasureTree } from 'src/types'\nimport { isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\n\nexport const buildMeasuresForDualAxis: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: DualAxis\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(vseed)) {\n advancedVSeed.measures = vseed.measures\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(vseed)) {\n advancedVSeed.measures = generateMeasuresByParentId(vseed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n const dualMeasures = vseed.dualMeasures\n ? vseed.dualMeasures\n : basicMeasuresToDualMeasures(advancedVSeed.measures || [])\n advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToDualMeasures = (basicMeasures: Measures): DualMeasures => {\n const primaryMeasures: Measures = []\n const secondaryMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isPrimaryYAxis = encoding.includes('primaryYAxis')\n const isSecondaryYAxis = encoding.includes('secondaryYAxis')\n\n if (isPrimaryYAxis) {\n primaryMeasures.push(item)\n } else if (isSecondaryYAxis) {\n secondaryMeasures.push(item)\n } else {\n if (index === 0) {\n primaryMeasures.push(item)\n } else {\n secondaryMeasures.push(item)\n }\n }\n }\n\n return [{ id: 'dualMeasures', primaryMeasures, secondaryMeasures }]\n}\n\nconst dualMeasuresToMeasureTree = (dualMeasures: DualMeasures): MeasureTree => {\n const measureTree = dualMeasures.map((item, index): MeasureGroup => {\n const { id, primaryMeasures, secondaryMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (primaryMeasures) {\n const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [primaryMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-primary`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (secondaryMeasures) {\n const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [secondaryMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-secondary`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个双轴图, 仅返回2层, vchart 绘制双轴图\n if (dualMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个双轴图, 返回3层, pivot chart 绘制组合双轴图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const dualMeasures: DualMeasures = []\n\n measures.forEach((item) => {\n if (!item.parentId) {\n return\n }\n\n if (!dualMeasures.find((d) => d.id === item.parentId)) {\n dualMeasures.push({\n id: item.parentId,\n primaryMeasures: [],\n secondaryMeasures: [],\n })\n }\n\n const dualChart = dualMeasures.find((d) => d.id === item.parentId)\n if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isPrimary = encoding.includes('primaryYAxis')\n const isSecondary = encoding.includes('secondaryYAxis')\n const isEmpty = !item.encoding\n\n if (isPrimary) {\n dualChart.primaryMeasures.push(item)\n } else if (isSecondary) {\n dualChart.secondaryMeasures.push(item)\n } else if (isEmpty) {\n if (dualChart.primaryMeasures.length === 0) {\n dualChart.primaryMeasures.push(item)\n } else {\n dualChart.secondaryMeasures.push(item)\n }\n }\n })\n\n return dualMeasuresToMeasureTree(dualMeasures)\n}\n","import { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Dimension,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0] as MeasureGroup\n const secondaryMeasures = (measures[1] || []) as MeasureGroup\n const hasEncoding = (vseed.dimensions || []).some((item: Dimension) => item.encoding)\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding as Encoding, {\n colorItemAsId: hasEncoding,\n foldMeasureValue: FoldPrimaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: FoldSecondaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Dimension,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { dimensions, measures, encoding, chartType } = advancedVSeed\n\n if (!measures || !dimensions || !dataset || !encoding) {\n return result\n }\n const hasEncoding = (vseed.dimensions || []).some((item: Dimension) => item.encoding)\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures as unknown as MeasureGroup[])\n }\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0]\n const secondaryMeasures = measures[1] || []\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding as Encoding, {\n colorItemAsId: hasEncoding,\n foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets.flat(2))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const dualAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n // common\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n\n // only for dualAxis\n 'dualChartType',\n 'alignTicks',\n 'primaryYAxis',\n 'secondaryYAxis',\n 'crosshairLine',\n ]) as Config['dualAxis']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortXBandAxis,\n sortLegend,\n dualAxisConfig,\n encodingForDualAxis,\n reshapeWithDualEncoding,\n pivotReshapeWithDualEncoding,\n buildMeasuresForDualAxis,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const dualAxisAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForDualAxis,\n buildMeasuresForDualAxis,\n pivotAdapter([reshapeWithDualEncoding], [pivotReshapeWithDualEncoding]),\n\n sortXBandAxis,\n sortLegend,\n dualAxisConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../../../utils'\nimport type { ICommonChartSpec, ILineSeriesSpec } from '@visactor/vchart'\n\nexport const series = (...args: SpecPipeline[]): SpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n return (_, context) => {\n result.series = args.map((pipeline) => {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n\n/**\n * @description 双轴图的透视场景, 不能使用此pipe, 请使用series\n * 因为VTable.PivotVChart会自行解析数据, 而非VChart解析.\n */\nexport const seriesDualAxis = (...args: SpecPipeline[]): SpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n const createDualContext = <T extends SpecPipelineContext>(context: T, index: number): T => {\n const { advancedVSeed } = context\n const dataset = advancedVSeed.dataset[index]\n return {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n dataset: dataset,\n },\n }\n }\n\n return (_, context) => {\n result.series = args.map((pipeline, index) => {\n const seriesContext = createDualContext(context, index)\n return execPipeline<Spec, SpecPipelineContext>(pipeline, seriesContext, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n","import type { IBarSeriesSpec, ILineSeriesSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initDualAxisPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarSeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-primary-series`\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.seriesField = unfoldInfo.encodingColorId\n\n result.yField = foldInfoList?.[0].measureValue\n result.animation = true\n\n return result\n}\n\nexport const initDualAxisSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineSeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-secondary-series`\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n if (foldInfoList?.[1]) {\n result.yField = foldInfoList[1].measureValue\n }\n\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.animation = true\n\n return result\n}\n","import type { IBarSeriesSpec, ISeriesSpec } from '@visactor/vchart'\nimport { DUAL_AXIS_CHART_COLUMN_Z_INDEX, DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } from 'src/pipeline/utils/constant'\nimport type { DualChartType, SpecPipe } from 'src/types'\n\nexport const dualChartTypePrimary: SpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const index = datasetReshapeInfo[0].index\n\n const config =\n advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType ||\n ({\n primary: 'column',\n secondary: 'line',\n } as DualChartType)\n\n const primary = Array.isArray(config) ? config[index].primary || config[0].primary : config.primary\n const secondary = Array.isArray(config) ? config[index].secondary || config[0].secondary : config.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : primary\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = primary\n }\n\n return result\n}\n\nexport const dualChartTypeSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const config =\n advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType ||\n ({\n primary: 'column',\n secondary: 'line',\n } as DualChartType)\n\n const index = datasetReshapeInfo[0].index\n const primary = Array.isArray(config) ? config[index].primary || config[0].primary : config.primary\n const secondary = Array.isArray(config) ? config[index].secondary || config[0].secondary : config.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : secondary\n\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = secondary\n }\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPrimary: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const orderMapping = analysis?.orderMapping || {}\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id: `${id}-primary-dataset`,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n\nexport const datasetSecondary: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { analysis, datasetReshapeInfo } = advancedVSeed\n const orderMapping = analysis?.orderMapping || {}\n\n const { unfoldInfo } = datasetReshapeInfo[0]\n const x = unfoldInfo.encodingX\n const colorId = unfoldInfo.encodingColorId\n const id = datasetReshapeInfo[0].id\n\n const fields: Record<string, object> = {}\n\n if (x) {\n const order = orderMapping[x]\n if (order) {\n fields[x] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[x] = {\n sortIndex: 0,\n }\n }\n }\n\n if (colorId) {\n const order = orderMapping[colorId]\n if (order) {\n fields[colorId] = {\n sortIndex: 0,\n domain: order,\n lockStatisticsByDomain: true,\n }\n } else {\n fields[colorId] = {\n sortIndex: 0,\n }\n }\n }\n\n return {\n ...spec,\n data: {\n id: `${id}-secondary-dataset`,\n // 透视表不使用 dataValues\n values: isPivotChart(vseed) ? undefined : advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { ILineLikeLabelSpec } from '@visactor/vchart/esm/series/mixin/interface'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, FoldInfo, Label, SpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const labelPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const { measureId, measureValue } = foldInfoList[0]\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n\nexport const labelSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, locale } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { measureId, measureValue } = foldInfoList[1]\n const { label } = baseConfig\n const { enable } = label\n\n result.label = {\n visible: enable,\n formatMethod: (value: string, datum: Datum) => {\n const result = []\n\n const formatValue = (value: number) => {\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return value\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n }\n\n result.push(formatValue(datum[measureValue] as number))\n\n return result.join(' ')\n },\n } as ILineLikeLabelSpec\n return result\n}\n","import { isEmpty, isNullish } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { Datum, FoldInfo, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\n\nexport const tooltipPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n const { measureId, measureValue, measureName } = foldInfoList[0]\n const { encodingColor: colorName } = unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[colorName] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n\nexport const tooltipSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n const { measureId, measureValue, measureName } = foldInfoList[1]\n const { encodingColorId } = unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: true,\n },\n content: [\n ...dimensions.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: unknown) => {\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n value: (datum: unknown) => {\n return (datum as Datum) && ((datum as Datum)[item.id] as string)\n },\n })),\n {\n visible: true,\n hasShape: true,\n key: (datum) => (datum && (datum[measureName || encodingColorId] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[encodingColorId] as string)) || '',\n value: (datum) => {\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const { format = {}, autoFormat = true } = measure\n\n if (!isEmpty(format)) {\n const formatter = createFormatter(format)\n return formatter(value)\n }\n if (autoFormat) {\n return autoFormatter(value, locale)\n }\n return String(value)\n },\n shapeType: 'rectRound',\n },\n ],\n },\n }\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\nimport { isEmpty } from 'remeda'\n\nexport const yLinearPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale, datasetReshapeInfo } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n\n // TODO: default config missing\n\n const primaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.primaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (foldInfoList?.[0] && isEmpty(foldInfoList[0].foldMap)) {\n return result\n }\n const id = `${reshapeInfoId}-primary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[0]\n\n if (!result.axes) {\n result.axes = []\n }\n\n if (!yAxisConfig) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n id,\n seriesId,\n type: 'linear',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = yAxisConfig\n\n const linearAxis = {\n visible,\n id,\n seriesId,\n\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'left',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport { LINEAR_AXIS_INNER_OFFSET_TOP } from '../../../../utils/constant'\nimport { autoFormatter } from '../../../../utils'\nimport type { SpecPipe, YLinearAxis } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const yLinearSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { locale, datasetReshapeInfo } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n // TODO: default config missing\n\n const secondaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.secondaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (isNullish(foldInfoList?.[1])) {\n return result\n }\n\n const sync = {\n axisId: `${reshapeInfoId}-primary-axis`,\n zeroAlign: true,\n }\n\n const id = `${reshapeInfoId}-secondary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[1]\n if (!result.axes) {\n result.axes = []\n }\n\n if (!yAxisConfig) {\n result.axes = [\n ...result.axes,\n {\n visible: true,\n id,\n seriesId,\n type: 'linear',\n orient: 'right',\n sync,\n },\n ] as ISpec['axes']\n return result\n }\n\n const {\n visible = true,\n label,\n tick,\n title,\n grid,\n line,\n\n zero,\n nice,\n inverse,\n max,\n min,\n log,\n logBase = 10,\n } = yAxisConfig\n\n const linearAxis = {\n visible,\n id,\n seriesId,\n sync,\n type: log ? 'log' : 'linear',\n base: logBase,\n orient: 'right',\n nice,\n zero: log ? false : zero,\n inverse,\n max,\n min,\n label: {\n visible: label?.visible,\n formatMethod: (value: string) => {\n return autoFormatter(value, locale)\n },\n style: {\n fill: label?.labelColor,\n angle: label?.labelAngle,\n fontSize: label?.labelFontSize,\n fontWeight: label?.labelFontWeight,\n },\n },\n title: {\n visible: title?.visible,\n text: title?.titleText,\n style: {\n fill: title?.titleColor,\n fontSize: title?.titleFontSize,\n fontWeight: title?.titleFontWeight,\n },\n },\n tick: {\n visible: tick?.visible,\n tickSize: tick?.tickSize,\n inside: tick?.tickInside,\n style: {\n stroke: tick?.tickColor,\n },\n },\n grid: {\n visible: grid?.visible,\n style: {\n lineWidth: grid?.gridWidth,\n stroke: grid?.gridColor,\n },\n },\n domainLine: {\n visible: line?.visible,\n style: {\n lineWidth: line?.lineWidth,\n stroke: line?.lineColor,\n },\n },\n innerOffset: {\n top: LINEAR_AXIS_INNER_OFFSET_TOP,\n // bottom: LINEAR_AXIS_INNER_OFFSET_TOP,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const linearColorForDualAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const { unfoldInfo, id } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { color: Color }\n\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n result.color = {\n type: 'linear',\n range: linearColorScheme || colorScheme || [],\n domain: [\n {\n dataId: `${id}-primary-dataset`,\n fields: [unfoldInfo.encodingColor],\n },\n {\n dataId: `${id}-secondary-dataset`,\n fields: [unfoldInfo.encodingColor],\n },\n ],\n }\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n xBand,\n backgroundColor,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n pointStyle,\n lineStyle,\n pointStateDimensionHover,\n progressive,\n datasetPrimary,\n datasetSecondary,\n areaStyle,\n barStyle,\n verticalCrosshairRect,\n yLinearSecondary,\n initDualAxisPrimary,\n initDualAxisSecondary,\n labelPrimary,\n labelSecondary,\n tooltipPrimary,\n tooltipSecondary,\n yLinearPrimary,\n dualChartTypePrimary,\n dualChartTypeSecondary,\n seriesDualAxis,\n series,\n colorBarStyleFill,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n linearColor,\n colorAdapter,\n colorLegend,\n pivotColorLegend,\n linearColorForDualAxis,\n} from '../pipes'\n\nconst dualAxis: SpecPipeline = [\n seriesDualAxis(\n [\n initDualAxisPrimary,\n dualChartTypePrimary,\n datasetPrimary,\n labelPrimary,\n tooltipPrimary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n [\n initDualAxisSecondary,\n dualChartTypeSecondary,\n datasetSecondary,\n labelSecondary,\n tooltipSecondary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n ),\n xBand,\n yLinearPrimary,\n yLinearSecondary,\n\n colorAdapter(color, linearColorForDualAxis),\n colorAdapter(discreteLegend, colorLegend),\n\n backgroundColor,\n\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotDualAxis: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n series(\n [\n initDualAxisPrimary,\n dualChartTypePrimary,\n datasetPrimary,\n labelPrimary,\n tooltipPrimary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n [\n initDualAxisSecondary,\n dualChartTypeSecondary,\n datasetSecondary,\n labelSecondary,\n tooltipSecondary,\n progressive,\n\n colorBarStyleFill(barStyle),\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n ],\n ),\n xBand,\n yLinearPrimary,\n yLinearSecondary,\n colorAdapter(color, linearColor),\n backgroundColor,\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const dualAxisSpecPipeline: SpecPipeline = [pivotAdapter(dualAxis, pivotDualAxis)]\n","import { dualAxisAdvancedPipeline, dualAxisSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerDualAxis = () => {\n Builder._advancedPipelineMap['dualAxis'] = dualAxisAdvancedPipeline\n Builder._specPipelineMap['dualAxis'] = dualAxisSpecPipeline\n}\n","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForPie: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.angle = unique(measures.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0) // 第1个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(0) // 第1个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.angle = unique(measures.filter((item) => item.encoding === 'angle' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n pieConfig,\n annotation,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForPie,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const pieAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForPie,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n pieConfig,\n theme,\n annotation,\n]\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPie: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = 0\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.animation = true\n\n return result\n}\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorPieStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IPieChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.pie?.style) {\n result.pie.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const pieStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const showStroke = dataset.length <= 30\n\n const result = {\n ...spec,\n pie: {\n style: {},\n },\n } as Required<IPieChartSpec>\n\n return {\n ...result,\n pie: {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n outerRadius: result.outerRadius * 1.1,\n },\n },\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n datasetXY,\n datasetPivot,\n initPie,\n initPivot,\n label,\n discreteLegend,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotDiscreteLegend,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n progressive,\n pieStyle,\n colorPieStyleFill,\n linearColor,\n colorAdapter,\n colorLegend,\n pivotColorLegend,\n} from '../pipes'\n\nconst pie: SpecPipeline = [\n initPie,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n colorPieStyleFill(pieStyle),\n colorAdapter(discreteLegend, colorLegend),\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotPie: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initPie,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n colorPieStyleFill(pieStyle),\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const pieSpecPipeline: SpecPipeline = [pivotAdapter(pie, pivotPie)]\n","import { pieAdvancedPipeline, pieSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerPie = () => {\n Builder._advancedPipelineMap['pie'] = pieAdvancedPipeline\n Builder._specPipelineMap['pie'] = pieSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n donutConfig,\n encodingForPie,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const donutAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n buildMeasures,\n encodingForPie,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n donutConfig,\n theme,\n annotation,\n]\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initDonut: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = result.outerRadius * 0.8\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n datasetXY,\n datasetPivot,\n initDonut,\n initPivot,\n label,\n discreteLegend,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotDiscreteLegend,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n progressive,\n colorAdapter,\n linearColor,\n colorLegend,\n pivotColorLegend,\n pieStyle,\n colorPieStyleFill,\n} from '../pipes'\n\nconst donut: SpecPipeline = [\n initDonut,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n label,\n colorPieStyleFill(pieStyle),\n colorAdapter(discreteLegend, colorLegend),\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotDonut: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initDonut,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n label,\n colorPieStyleFill(pieStyle),\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const donutSpecPipeline: SpecPipeline = [pivotAdapter(donut, pivotDonut)]\n","import { donutAdvancedPipeline, donutSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerDonut = () => {\n Builder._advancedPipelineMap['donut'] = donutAdvancedPipeline\n Builder._specPipelineMap['donut'] = donutSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForRose: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.angle = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.angle = unique(dimensions.filter((item) => item.encoding === 'angle').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.angle.length === 0) {\n encoding.angle = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.angle?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\nimport { encodingForRose } from '../pipes/encoding/rose'\n\nexport const roseAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForRose,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n roseConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initRose: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'rose'\n\n result.angleField = unfoldInfo.encodingAngle\n result.seriesField = unfoldInfo.encodingColorId\n\n result.valueField = foldInfo.measureValue\n result.padding = 0\n result.outerRadius = 0.9\n result.innerRadius = 0\n\n const hasNegativeValue = dataset.flat().find((d) => d[foldInfo.measureValue] < 0)\n if (hasNegativeValue) {\n result.innerRadius = 0.05\n }\n\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const angleAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n const is0D = dimensions.length === 0\n const is1M1D = dimensions.length === 1 && measures.length === 1\n const showAxis = !(is0D || is1M1D)\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'angle',\n visible: showAxis,\n zero: true,\n nice: showAxis ? true : false,\n paddingInner: showAxis ? [0.15, 0.1] : [0, 0],\n paddingOuter: showAxis ? [0.075, 0.1] : [0, 0],\n grid: {\n visible: showAxis,\n },\n domainLine: {\n visible: showAxis,\n },\n tick: {\n visible: showAxis,\n },\n })\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radiusAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n const is0D = dimensions.length === 0\n const is1M1D = dimensions.length === 1 && measures.length === 1\n const showAxis = !(is0D || is1M1D)\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'radius',\n visible: showAxis,\n zero: true,\n nice: showAxis ? true : false,\n grid: {\n visible: showAxis,\n },\n tick: {\n visible: showAxis,\n },\n label: {\n visible: showAxis,\n },\n domainLine: {\n visible: showAxis,\n },\n })\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorRoseStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IRoseChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.rose?.style) {\n result.rose.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const roseStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const showStroke = dataset.length <= 30\n\n const result = {\n ...spec,\n rose: {\n style: {},\n },\n } as Required<IRoseChartSpec>\n\n return {\n ...result,\n rose: {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n stackInverse,\n verticalCrosshairRect,\n stackCornerRadius,\n initRose,\n radiusAxis,\n angleAxis,\n progressive,\n linearColor,\n colorAdapter,\n pivotColorLegend,\n colorLegend,\n roseStyle,\n colorRoseStyleFill,\n} from '../pipes'\n\nconst rose: SpecPipeline = [\n initRose,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n angleAxis,\n radiusAxis,\n verticalCrosshairRect,\n colorRoseStyleFill(roseStyle),\n colorAdapter(discreteLegend, colorLegend),\n label,\n tooltip,\n]\n\nconst pivotRose: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRose,\n stackCornerRadius,\n stackInverse,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n verticalCrosshairRect,\n colorRoseStyleFill(roseStyle),\n label,\n tooltip,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const roseSpecPipeline = [pivotAdapter(rose, pivotRose)]\n","import { roseAdvancedPipeline, roseSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRose = () => {\n Builder._advancedPipelineMap['rose'] = roseAdvancedPipeline\n Builder._specPipelineMap['rose'] = roseSpecPipeline\n}","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseParallelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\nimport { encodingForRose } from '../pipes/encoding/rose'\n\nexport const roseParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForRose,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n roseParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initRoseParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, dimensions } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim) => dim.id === dimensions[0].id)\n\n result.type = 'rose'\n result.angleField = sameDimensionsMode\n ? [unfoldInfo.encodingAngle]\n : [unfoldInfo.encodingAngle, unfoldInfo.encodingDetail]\n result.valueField = foldInfo.measureValue\n result.seriesField = unfoldInfo.encodingColorId\n result.padding = 0\n\n result.outerRadius = 0.9\n result.innerRadius = 0\n\n const hasNegativeValue = dataset.flat().find((d) => d[foldInfo.measureValue] < 0)\n if (hasNegativeValue) {\n result.innerRadius = 0.05\n }\n\n result.rose = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n }\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n pivotDiscreteLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n verticalCrosshairRect,\n stackCornerRadius,\n initRoseParallel,\n radiusAxis,\n angleAxis,\n progressive,\n pivotColorLegend,\n colorAdapter,\n linearColor,\n colorLegend,\n roseStyle,\n colorRoseStyleFill,\n} from '../pipes'\n\nconst roseParallel: SpecPipeline = [\n initRoseParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n colorRoseStyleFill(roseStyle),\n colorAdapter(discreteLegend, colorLegend),\n label,\n tooltip,\n verticalCrosshairRect,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n]\n\nconst pivotRoseParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRoseParallel,\n stackCornerRadius,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radiusAxis,\n angleAxis,\n verticalCrosshairRect,\n colorRoseStyleFill(roseStyle),\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const roseParallelSpecPipeline: SpecPipeline = [pivotAdapter(roseParallel, pivotRoseParallel)]\n","import { roseParallelAdvancedPipeline, roseParallelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRoseParallel = () => {\n Builder._advancedPipelineMap['roseParallel'] = roseParallelAdvancedPipeline\n Builder._specPipelineMap['roseParallel'] = roseParallelSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForRadar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.angle = uniqueDimIds.slice(0, 1)\n encoding.color = uniqueDimIds.slice(1)\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.detail = [] // 雷达图暂不支持细分\n encoding.label = []\n encoding.row = []\n encoding.column = []\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.radius = unique(\n measures.filter((item) => item.encoding === 'radius' || !item.encoding).map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.angle = unique(dimensions.filter((item) => item.encoding === 'angle').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = []\n\n if (encoding.angle.length === 0) {\n encoding.angle = [dimensions[0].id]\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortLegend,\n radarConfig,\n encodingForRadar,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const radarAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForRadar,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n // sortXBandAxis,\n sortLegend,\n radarConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IRadarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initRadar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRadarChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'radar'\n result.angleField = unfoldInfo.encodingAngle\n result.radiusField = foldInfo.measureValue\n result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radarAngleAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'angle',\n visible: true,\n zero: true,\n nice: true,\n grid: {\n visible: true,\n },\n domainLine: {\n visible: true,\n },\n tick: {\n visible: true,\n },\n })\n\n return result\n}\n","import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const radarRadiusAxis: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { dimensions, measures } = advancedVSeed\n\n if (!dimensions || !measures) {\n return result\n }\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes.push({\n orient: 'radius',\n visible: true,\n zero: true,\n nice: true,\n grid: {\n visible: true,\n },\n tick: {\n visible: true,\n },\n label: {\n visible: true,\n },\n domainLine: {\n visible: true,\n },\n })\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n pivotDiscreteLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n pointStyle,\n lineStyle,\n verticalCrosshairLine,\n pointStateDimensionHover,\n initRadar,\n areaStyle,\n radarAngleAxis,\n radarRadiusAxis,\n progressive,\n linearColor,\n colorAdapter,\n colorLegend,\n colorPointStyleFill,\n colorLineStyleFill,\n colorAreaStyleFill,\n pivotColorLegend,\n} from '../pipes'\n\nconst radar: SpecPipeline = [\n initRadar,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radarAngleAxis,\n radarRadiusAxis,\n label,\n tooltip,\n colorAdapter(discreteLegend, colorLegend),\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n // annotationPoint,\n // annotationVerticalLine,\n // annotationHorizontalLine,\n // annotationArea,\n]\n\nconst pivotRadar: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initRadar,\n colorAdapter(color, linearColor),\n backgroundColor,\n datasetXY,\n progressive,\n radarAngleAxis,\n radarRadiusAxis,\n label,\n tooltip,\n verticalCrosshairLine,\n colorPointStyleFill(pointStyle),\n pointStateDimensionHover,\n colorLineStyleFill(lineStyle),\n colorAreaStyleFill(areaStyle),\n // annotationPoint,\n // annotationVerticalLine,\n // annotationHorizontalLine,\n // annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const radarSpecPipeline: SpecPipeline = [pivotAdapter(radar, pivotRadar)]\n","import { radarAdvancedPipeline, radarSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerRadar = () => {\n Builder._advancedPipelineMap['radar'] = radarAdvancedPipeline\n Builder._specPipelineMap['radar'] = radarSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForFunnel: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.color = uniqueDimIds.slice(0) // 第1个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(0) // 第1个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n funnelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForFunnel,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const funnelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForFunnel,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n funnelConfig,\n theme,\n annotation,\n]\n","import type { IFunnelChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initFunnel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IFunnelChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n result.type = 'funnel'\n result.valueField = foldInfo.measureValue\n result.categoryField = unfoldInfo.encodingColorId\n\n result.padding = 0\n result.isTransform = true\n result.shape = 'rect'\n result.maxSize = '75%'\n result.minSize = '10%'\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.transformLabel = {\n visible: true,\n }\n\n result.animation = true\n\n return result\n}\n","import type { IFunnelChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorFunnelStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IFunnelChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.funnel?.style) {\n result.funnel.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IFunnelChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const funnelStyle: SpecPipe = (spec) => {\n const result = {\n ...spec,\n funnel: {\n style: {},\n },\n } as IFunnelChartSpec\n\n return {\n ...result,\n funnel: {\n style: {\n cornerRadius: 4,\n },\n state: {\n hover: {\n fillOpacity: 0.6,\n },\n },\n },\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n datasetXY,\n datasetPivot,\n initPivot,\n label,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotRowDimensions,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n initFunnel,\n discreteLegend,\n color,\n funnelStyle,\n linearColor,\n colorAdapter,\n colorLegend,\n colorFunnelStyleFill,\n pivotDiscreteLegend,\n pivotColorLegend,\n} from '../pipes'\n\nconst funnel: SpecPipeline = [\n initFunnel,\n backgroundColor,\n datasetXY,\n colorAdapter(color, linearColor),\n label,\n colorAdapter(discreteLegend, colorLegend),\n colorFunnelStyleFill(funnelStyle),\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotFunnel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initFunnel,\n backgroundColor,\n datasetXY,\n colorAdapter(color, linearColor),\n label,\n tooltip,\n colorFunnelStyleFill(funnelStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const funnelSpecPipeline: SpecPipeline = [pivotAdapter(funnel, pivotFunnel)]\n","import { funnelAdvancedPipeline, funnelSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerFunnel = () => {\n Builder._advancedPipelineMap['funnel'] = funnelAdvancedPipeline\n Builder._specPipelineMap['funnel'] = funnelSpecPipeline\n}","import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.color = unique(measures.filter((item) => item.encoding === 'color' || !item.encoding).map((item) => item.id))\n}\n\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于详情\n encoding.tooltip = uniqueDimIds // 展示所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\n\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n return encoding\n}\n\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n if (encoding.y.length === 0) {\n if (dimensions.length > 1) {\n encoding.y = dimensions.slice(1).map((item) => item.id)\n } else {\n encoding.y = dimensions.slice(0).map((item) => item.id)\n }\n }\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n if (encoding.detail.length === 0) {\n encoding.detail = dimensions.filter((item) => !encoding.x?.includes(item.id)).map((item) => item.id)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n sortXBandAxis,\n heatmapConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n encodingForHeatmap,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n} from '../pipes'\n\nexport const heatmapAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingForHeatmap,\n buildMeasures,\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n sortXBandAxis,\n heatmapConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const labelColorInversion: SpecPipe = (spec) => {\n const result = { ...spec } as IHeatmapChartSpec\n if (result.label) {\n result.label.smartInvert = true\n } else {\n result.label = {\n smartInvert: true,\n }\n }\n return result\n}\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\nimport { isLinearColor } from './colorAdapter'\n\nexport const colorCellStyleFill = (stylePipe: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = stylePipe(spec, context) as IHeatmapChartSpec\n\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (isLinearColor(advancedVSeed)) {\n if (result?.cell?.style) {\n result.cell.style.fill = {\n field: unfoldInfo.encodingColor,\n scale: 'color',\n }\n }\n }\n\n return result\n }\n}\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const cellStyle: SpecPipe = (spec) => {\n const result = {\n ...spec,\n cell: {\n style: {},\n },\n } as IHeatmapChartSpec\n\n return {\n ...result,\n cell: {\n style: {\n shape: 'rect',\n stroke: '#ffffff',\n lineWidth: 1,\n },\n },\n }\n}\n","import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initHeatmap: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHeatmapChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n result.type = 'heatmap'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.yField = unfoldInfo.encodingY\n result.seriesField = unfoldInfo.encodingColorId\n result.valueField = foldInfo.measureValue\n result.padding = 0\n result.axes = [\n {\n type: 'band',\n orient: 'left',\n bandPadding: 0,\n },\n {\n type: 'band',\n orient: 'bottom',\n bandPadding: 0,\n },\n ]\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n\n return result\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n datasetXY,\n backgroundColor,\n label,\n tooltip,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n labelColorInversion,\n discreteLegend,\n color,\n colorAdapter,\n linearColor,\n colorLegend,\n cellStyle,\n colorCellStyleFill,\n pivotDiscreteLegend,\n pivotColorLegend,\n} from '../pipes'\nimport { initHeatmap } from '../pipes/init/heatmap'\n\nconst heatmap: SpecPipeline = [\n initHeatmap,\n backgroundColor,\n datasetXY,\n colorAdapter(color, linearColor),\n label,\n labelColorInversion,\n colorAdapter(discreteLegend, colorLegend),\n colorCellStyleFill(cellStyle),\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n]\n\nconst pivotHeatmap: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initHeatmap,\n backgroundColor,\n datasetXY,\n colorAdapter(color, linearColor),\n label,\n labelColorInversion,\n discreteLegend,\n tooltip,\n colorCellStyleFill(cellStyle),\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n colorAdapter(pivotDiscreteLegend, pivotColorLegend),\n]\n\nexport const heatmapSpecPipeline: SpecPipeline = [pivotAdapter(heatmap, pivotHeatmap)]\n","import { heatmapAdvancedPipeline, heatmapSpecPipeline } from '../../../pipeline'\nimport { Builder } from '../../builder'\n\nexport const registerHeatmap = () => {\n Builder._advancedPipelineMap['heatmap'] = heatmapAdvancedPipeline\n Builder._specPipelineMap['heatmap'] = heatmapSpecPipeline\n}","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\n TableConfig,\n Tooltip,\n YBandAxis,\n YLinearAxis,\n} from 'src/types'\n\nexport const lightTheme = (): CustomThemeConfig => {\n const linearAxis: YLinearAxis = {\n nice: true,\n zero: true,\n inverse: false,\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#797B85',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#646A73',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: true,\n gridColor: '#36415926',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#3641594d',\n },\n line: {\n visible: false,\n lineColor: '#3641594d',\n lineWidth: 1,\n },\n }\n const bandAxis: YBandAxis = {\n labelAutoHide: true,\n labelAutoHideGap: 4,\n labelAutoLimit: true,\n labelAutoLimitLength: 80,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#797B85',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#646A73',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: false,\n gridColor: '#36415926',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#3641594d',\n },\n line: {\n visible: true,\n lineColor: '#3641594d',\n lineWidth: 1,\n },\n }\n const barBandAxis: YBandAxis = {\n ...bandAxis,\n labelAutoHide: false,\n labelAutoHideGap: 1,\n labelAutoLimit: false,\n labelAutoLimitLength: undefined,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n }\n\n const crosshairLine = {\n visible: true,\n labelVisible: true,\n lineColor: '#3641594d',\n labelColor: '#ffffff',\n labelBackgroundColor: '#364159',\n }\n const crosshairRect = {\n visible: true,\n labelVisible: true,\n rectColor: '#3641594d',\n labelColor: '#ffffff',\n labelBackgroundColor: '#364159',\n }\n\n const baseConfig: {\n backgroundColor?: BackgroundColor\n color?: Color\n label?: Label\n tooltip?: Tooltip\n legend?: Legend\n } = {\n backgroundColor: 'transparent',\n color: {\n linearColorScheme: ['#C2CEFF', '#5766EC'],\n colorScheme: [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n border: true,\n maxSize: 1,\n shapeType: 'rectRound',\n position: 'rt',\n labelFontColor: '#646A73',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n }\n const tableConfig: TableConfig = {\n borderColor: '#e3e5eb',\n\n bodyFontSize: 12,\n bodyFontColor: '#141414',\n bodyBackgroundColor: 'transparent',\n\n headerFontSize: 12,\n headerFontColor: '#21252c',\n headerBackgroundColor: '#f6f7f9',\n\n hoverBodyBackgroundColor: '#bedaff',\n hoverBodyInlineBackgroundColor: '#bedaff33',\n hoverHeaderBackgroundColor: '#D9DDE4',\n hoverHeaderInlineBackgroundColor: '#D9DDE455',\n\n selectedBorderColor: '#4080ff',\n selectedBackgroundColor: '#bedaff33',\n\n backgroundColor: 'transparent',\n }\n\n return {\n config: {\n // table\n table: tableConfig,\n pivotTable: tableConfig,\n // cartesian\n line: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n column: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnParallel: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnPercent: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n bar: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barParallel: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barPercent: {\n ...baseConfig,\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n area: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n areaPercent: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine,\n },\n scatter: {\n ...baseConfig,\n xAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n yAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n crosshairLine,\n },\n dualAxis: {\n ...baseConfig,\n xAxis: bandAxis,\n primaryYAxis: linearAxis,\n secondaryYAxis: { ...linearAxis, grid: { visible: false } },\n dualChartType: {\n primary: 'column',\n secondary: 'line',\n },\n crosshairRect,\n },\n // polar\n pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n radar: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n // other\n funnel: {\n ...baseConfig,\n },\n heatmap: {\n ...baseConfig,\n },\n },\n }\n}\n","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\n TableConfig,\n Tooltip,\n YBandAxis,\n YLinearAxis,\n} from 'src/types'\n\nexport const darkTheme = (): CustomThemeConfig => {\n const linearAxis: YLinearAxis = {\n nice: true,\n zero: true,\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#E2E3E6',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#FDFDFD',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: true,\n gridColor: '#404349',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#4B4F54',\n },\n line: {\n visible: false,\n lineColor: '#4B4F54',\n lineWidth: 1,\n },\n }\n const bandAxis: YBandAxis = {\n labelAutoHide: true,\n labelAutoHideGap: 4,\n labelAutoLimit: true,\n labelAutoLimitLength: 80,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n label: {\n visible: true,\n labelAngle: 0,\n labelColor: '#E2E3E6',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n title: {\n visible: false,\n titleText: '',\n titleColor: '#FDFDFD',\n titleFontSize: 12,\n titleFontWeight: 400,\n },\n grid: {\n visible: false,\n gridColor: '#404349',\n gridWidth: 0.5,\n },\n tick: {\n visible: false,\n tickInside: false,\n tickSize: 4,\n tickColor: '#4B4F54',\n },\n line: {\n visible: true,\n lineColor: '#4B4F54',\n lineWidth: 1,\n },\n }\n const barBandAxis: YBandAxis = {\n ...bandAxis,\n labelAutoHide: false,\n labelAutoHideGap: 1,\n labelAutoLimit: false,\n labelAutoLimitLength: undefined,\n labelAutoRotate: false,\n labelAutoRotateAngleRange: [0, -45, -90],\n }\n const crosshairLine = {\n visible: true,\n labelVisible: true,\n lineColor: '#E2E3E6',\n labelColor: '#4B4F54',\n labelBackgroundColor: '#ffffff',\n }\n const crosshairRect = {\n visible: true,\n labelVisible: true,\n lineColor: '#E2E3E6',\n labelColor: '#4B4F54',\n labelBackgroundColor: '#ffffff',\n }\n\n const baseConfig: {\n backgroundColor?: BackgroundColor\n color?: Color\n label?: Label\n tooltip?: Tooltip\n legend?: Legend\n } = {\n backgroundColor: 'transparent',\n color: {\n linearColorScheme: ['#A0CEFF', '#2E62F1'],\n colorScheme: [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n border: true,\n maxSize: 1,\n position: 'rt',\n shapeType: 'rectRound',\n labelFontColor: '#FDFDFD',\n labelFontSize: 12,\n labelFontWeight: 400,\n },\n }\n\n const tableConfig: TableConfig = {\n borderColor: '#4b4e53',\n\n bodyFontSize: 12,\n bodyFontColor: '#fdfdfd',\n bodyBackgroundColor: 'transparent',\n\n headerFontSize: 12,\n headerFontColor: '#fdfdfd',\n headerBackgroundColor: '#36393e',\n\n hoverBodyBackgroundColor: '#4284ff66',\n hoverBodyInlineBackgroundColor: '#4284ff10',\n hoverHeaderBackgroundColor: '#6f7984cc',\n hoverHeaderInlineBackgroundColor: '#4b4f54',\n\n selectedBorderColor: '#3073f2',\n selectedBackgroundColor: '#4284ff33',\n }\n\n return {\n config: {\n table: tableConfig,\n pivotTable: tableConfig,\n\n // cartesian\n line: {\n ...baseConfig,\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n column: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnParallel: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n columnPercent: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [4, 4, 0, 0],\n },\n bar: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barParallel: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n barPercent: {\n ...baseConfig,\n\n xAxis: linearAxis,\n yAxis: barBandAxis,\n crosshairRect: crosshairRect,\n stackCornerRadius: [0, 4, 4, 0],\n },\n area: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n areaPercent: {\n ...baseConfig,\n\n xAxis: bandAxis,\n yAxis: linearAxis,\n crosshairLine: crosshairLine,\n },\n scatter: {\n ...baseConfig,\n\n xAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n yAxis: {\n ...linearAxis,\n line: {\n ...linearAxis.line,\n visible: true,\n },\n },\n crosshairLine,\n },\n dualAxis: {\n ...baseConfig,\n xAxis: bandAxis,\n primaryYAxis: linearAxis,\n secondaryYAxis: { ...linearAxis, grid: { visible: false } },\n dualChartType: {\n primary: 'column',\n secondary: 'line',\n },\n crosshairRect,\n },\n // polar\n pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n radar: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n // other\n funnel: {\n ...baseConfig,\n },\n heatmap: {\n ...baseConfig,\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\nimport { Builder } from '../../builder'\nimport { darkTheme, lightTheme } from '../../../theme'\n\nexport const registerCustomTheme = (\n key: string,\n themeConfig:\n | CustomThemeConfig\n | ((props: { lightTheme: CustomThemeConfig; darkTheme: CustomThemeConfig }) => CustomThemeConfig),\n) => {\n const customTheme =\n typeof themeConfig === 'function' ? themeConfig({ lightTheme: lightTheme(), darkTheme: darkTheme() }) : themeConfig\n Builder._themeMap[key] = customTheme\n}\n","import { registerCustomTheme } from './custom'\nimport { lightTheme } from '../../../theme'\n\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\n","import { darkTheme } from '../../../theme'\nimport { registerCustomTheme } from './custom'\n\nexport const registerDarkTheme = () => {\n registerCustomTheme('dark', darkTheme())\n}\n","import {\n registerArea,\n registerAreaPercent,\n registerBar,\n registerBarParallel,\n registerBarPercent,\n registerColumn,\n registerColumnParallel,\n registerColumnPercent,\n registerLine,\n registerPie,\n registerDonut,\n registerRose,\n registerRoseParallel,\n registerFunnel,\n registerScatter,\n registerTable,\n registerPivotTable,\n registerHeatmap,\n registerRadar,\n registerDualAxis,\n} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // table\n registerTable()\n registerPivotTable()\n // cartesian\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n registerScatter()\n registerDualAxis()\n // polar\n registerPie()\n registerDonut()\n registerRose()\n registerRoseParallel()\n registerRadar()\n // other\n registerFunnel()\n registerHeatmap()\n // theme\n registerLightTheme()\n registerDarkTheme()\n}\n","import type { AdvancedPipe, ChartType, SpecPipe } from 'src/types'\nimport { Builder } from '../builder'\n\nexport const updateAdvanced = (chartType: ChartType, advancedPipe: AdvancedPipe) => {\n Builder._customAdvancedPipe[chartType] = advancedPipe\n}\nexport const updateSpec = (chartType: ChartType, specPipe: SpecPipe) => {\n Builder._customSpecPipe[chartType] = specPipe\n}\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","export const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\nexport const e164 = /^\\+(?:[0-9]){6,14}[0-9]$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^\\d+n?$/;\nexport const integer = /^\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?/i;\nexport const boolean = /true|false/i;\nconst _null = /null/i;\nexport { _null as null };\nconst _undefined = /undefined/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\n","export const version = {\n major: 4,\n minor: 0,\n patch: 14,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n //\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n inst._zod.run = (payload, ctx) => {\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n inst[\"~standard\"] = {\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n };\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: regexes.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv4`;\n });\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv6`;\n });\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const [address, prefix] = payload.value.split(\"/\");\n try {\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64url\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checksp\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n const _normalized = util.cached(() => {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!(def.shape[k] instanceof $ZodType)) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n shape: def.shape,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n });\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {}`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n doc.write(`const ${id} = ${parseStr(key)};`);\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n `);\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n }\n else {\n payload.value = {};\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n const unrecognized = [];\n // iterate over input keys\n const keySet = value.keySet;\n const _catchall = catchall._zod;\n const t = _catchall.def.type;\n for (const key of Object.keys(input)) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n if (left.issues.length) {\n result.issues.push(...left.issues);\n }\n if (right.issues.length) {\n result.issues.push(...right.issues);\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig ? { code: \"too_big\", maximum: items.length } : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (def.keyType._zod.values) {\n const values = def.keyType._zod.values;\n payload.value = {};\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!values.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n payload.value[keyResult.value] = keyResult.value;\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n inst._zod.values = new Set(def.values);\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (inst._zod.values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const _out = def.transform(payload.value, payload);\n if (_ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault always returns the default value immediately.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def, ctx));\n }\n return handlePipeResult(left, def, ctx);\n };\n});\nfunction handlePipeResult(left, def, ctx) {\n if (left.issues.length) {\n return left;\n }\n return def.out._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (part instanceof $ZodType) {\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"template_literal\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType._zod.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType._zod.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType._zod.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","export const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new Map();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n if (this._idmap.has(meta.id)) {\n throw new Error(`ID ${meta.id} already exists in the registry`);\n }\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new Map();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\nexport const globalRegistry = /*@__PURE__*/ registry();\n","import * as checks from \"./checks.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort);\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Pipe = Classes.Pipe ?? schemas.$ZodPipe;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const _Transform = Classes.Transform ?? schemas.$ZodTransform;\n const tx = new _Transform({\n type: \"transform\",\n transform: (input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: tx,\n continue: false,\n });\n return {};\n }\n },\n error: params.error,\n });\n // params.error;\n const innerPipe = new _Pipe({\n type: \"pipe\",\n in: new _String({ type: \"string\", error: params.error }),\n out: tx,\n error: params.error,\n });\n const outerPipe = new _Pipe({\n type: \"pipe\",\n in: innerPipe,\n out: new _Boolean({\n type: \"boolean\",\n error: params.error,\n }),\n error: params.error,\n });\n return outerPipe;\n}\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n inst.def = def;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone({\n ...def,\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }\n // { parent: true }\n );\n };\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return literal(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObject.init(inst, def);\n ZodType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => def.shape);\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Pipe: ZodPipe,\n Boolean: ZodBoolean,\n String: ZodString,\n Transform: ZodTransform,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n","import { z } from 'zod'\n\nexport type ChartType =\n | 'table'\n | 'pivotTable'\n // cartesian\n | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'scatter'\n | 'dualAxis'\n // polar\n | 'rose'\n | 'roseParallel'\n | 'pie'\n | 'donut'\n | 'radar'\n // other\n | 'heatmap'\n | 'funnel'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\n // cartesian\n Line = 'line',\n Column = 'column',\n ColumnPercent = 'columnPercent',\n ColumnParallel = 'columnParallel',\n Bar = 'bar',\n BarPercent = 'barPercent',\n BarParallel = 'barParallel',\n Area = 'area',\n AreaPercent = 'areaPercent',\n DualAxis = 'dualAxis',\n Scatter = 'scatter',\n // polar\n Rose = 'rose',\n RoseParallel = 'roseParallel',\n Pie = 'pie',\n Donut = 'donut',\n Radar = 'radar',\n // other\n Funnel = 'funnel',\n Heatmap = 'heatmap',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n // cartesian\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'scatter',\n 'dualAxis',\n // polar\n 'rose',\n 'roseParallel',\n 'pie',\n 'donut',\n 'radar',\n // other\n 'funnel',\n 'heatmap',\n])\n","import { z } from 'zod'\n\n// 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\nexport const zDualChartType = z.object({\n primary: z.enum(['line', 'column', 'columnParallel', 'area', 'scatter']).default('column'),\n secondary: z.enum(['line', 'column', 'columnParallel', 'area', 'scatter']).default('line'),\n})\n\nexport type DualChartType = z.infer<typeof zDualChartType>\n","import { z } from 'zod'\n\n/**\n * example dataset link:\n * [\n * { date: '2019', 20001:'type', profit:10, sales: null, },\n * { date: '2020', 20001:'type', profit:30, sales: -1.1, },\n * { date: '2021', 20001:'type', profit:30, sales: 1, },\n * { date: '2023', 20001:'type', profit:40, sales: undefined, },\n * { date: '2022', 20001:'type', profit:50, sales: 100, },\n * ]\n */\nexport const zDatum = z.record(z.string().or(z.number()), z.any())\nexport const zDataset = z.array(zDatum)\n\nexport type Datum = z.infer<typeof zDatum>\nexport type Dataset = z.infer<typeof zDataset>\n","import { z } from 'zod'\nimport type { DimensionGroup } from './dimensions'\n\nexport const zDimension = z.object({\n id: z.string(),\n alias: z.string().optional(),\n location: z.enum(['dimension', 'rowDimension', 'columnDimension']).default('dimension'),\n encoding: z.enum(['xAxis', 'yAxis', 'angle', 'color', 'detail', 'tooltip', 'label', 'row', 'column']).optional(),\n})\nexport const zDimensionGroup: z.ZodType<DimensionGroup> = z.object({\n id: z.string(),\n alias: z.string().optional(),\n get children() {\n return z.array(zDimensionGroup.or(zDimension)).optional()\n },\n})\nexport const zDimensions = z.array(zDimension)\nexport const zDimensionTree = z.array(zDimensionGroup.or(zDimension))\n","import { z } from 'zod'\n\nexport interface NumFormat {\n /**\n * @description 数字格式化类型, 支持数值(十进制)、百分比(%)、千分比(‰)、科学计数法\n * @default 'number'\n */\n type?: 'number' | 'percent' | 'permille' | 'scientific'\n\n /**\n * @description 数值格式化比例, 百分比和千分比需要设置比例\n * @default 1\n * @example\n * - 100000 转换为 10万, ratio:10000, symbol:\"万\"\n * - 100000 转换为 10K, ratio:1000, symbol:\"K\"\n * - 100000 转换为 100%, ratio:100, symbol:\"%\"\n * - 100000 转换为 100‰, ratio:1000, symbol:\"‰\"\n */\n ratio?: number\n\n /**\n * @description 数值格式化符号, 例如%、‰\n * @default ''\n * @example\n * - 100000 转换为 10万, ratio:10000, symbol:\"万\"\n * - 100000 转换为 10K, ratio:1000, symbol:\"K\"\n * - 100000 转换为 100%, ratio:100, symbol:\"%\"\n * - 100000 转换为 100‰, ratio:1000, symbol:\"‰\"\n */\n symbol?: string\n\n /**\n * @description 数值格式化千分位分隔符\n * @default true\n */\n thousandSeparator?: boolean\n\n /**\n * @description 数值格式化后缀\n * @default ''\n */\n suffix?: string\n /**\n * @description 数值格式化前缀\n * @default ''\n */\n prefix?: string\n\n /**\n * @description 数值格式化小数位, 使用浏览器提供的 Intl.NumberFormat 中的 minimumFractionDigits 和 maximumFractionDigits 进行格式化, 优先级低于 significantDigits\n * @default 2\n * @example\n * - 1234.5678 转换为 1235, fractionDigits:0 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.6, fractionDigits:1 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.57, fractionDigits:2 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1230.568, fractionDigits:3 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.5678, fractionDigits:4 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.56780, fractionDigits:5 (roundingMode:halfCeil)\n */\n fractionDigits?: number\n\n /**\n * @description 数值格式化有效位, 使用浏览器提供的 Intl.NumberFormat 中的 minimumSignificantDigits 和 maximumSignificantDigits 进行格式化, 优先级高于 fractionDigits\n * @default undefined\n * @example\n * - 1234.5678 转换为 1000, significantDigits:1\n * - 1234.5678 转换为 1200, significantDigits:2\n * - 1234.5678 转换为 1230, significantDigits:3\n * - 1234.5678 转换为 1234, significantDigits:4\n * - 1234.5678 转换为 1234.6, significantDigits:5 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.57, significantDigits:6 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.568, significantDigits:7 (roundingMode:halfCeil)\n * - 1234.5678 转换为 1234.5678, significantDigits:8 (roundingMode:halfCeil)\n */\n significantDigits?: number\n\n /**\n * @description 数值格式化舍入优先级, 处理同时设置了 significantDigits 和 fractionDigits 时的舍入优先级, 使用浏览器提供的 Intl.NumberFormat 进行格式化, 规则同 Intl.NumberFormat 中的 roundingPriority\n * @default 'morePrecision'\n * @example\n * - 1234.5678 转换为 1230, significantDigits:3 (roundingPriority:lessPrecision)\n * - 1234.5678 转换为 1234.5678, significantDigits:3 (roundingPriority:morePrecision)\n */\n roundingPriority?: 'morePrecision' | 'lessPrecision'\n\n /**\n * @description 数值格式化舍入模式, 使用浏览器提供的 Intl.NumberFormat 进行格式化, 规则同 Intl.NumberFormat 中的 roundingMode\n * @default 'halfExpand'\n * @example\n */\n roundingMode?:\n | 'floor'\n | 'ceil'\n | 'expand'\n | 'trunc'\n | 'halfCeil'\n | 'halfFloor'\n | 'halfExpand'\n | 'halfTrunc'\n | 'halfEven'\n}\n\nexport const zNumFormat = z\n .object({\n type: z.enum(['number', 'percent', 'permille', 'scientific']).default('number').optional(),\n ratio: z.number().default(1).optional(),\n symbol: z.string().default('').optional(),\n thousandSeparator: z.boolean().default(false).optional(),\n prefix: z.string().default('').optional(),\n suffix: z.string().default('').optional(),\n\n fractionDigits: z.number().default(2).optional(),\n significantDigits: z.number().default(0).optional(),\n roundingPriority: z.enum(['morePrecision', 'lessPrecision']).default('morePrecision').optional(),\n roundingMode: z\n .enum(['floor', 'ceil', 'halfEven', 'expand', 'trunc', 'halfFloor', 'halfCeil', 'halfExpand', 'halfTrunc'])\n .default('halfCeil')\n .optional(),\n })\n .optional()\n","import { z } from 'zod'\nimport { zNumFormat } from './format/numFormat'\nimport type { MeasureGroup } from './measures'\n\nexport const zMeasure = z.object({\n id: z.string(),\n alias: z.string().optional(),\n autoFormat: z.boolean().default(true),\n format: zNumFormat.default({}),\n encoding: z\n .enum([\n 'primaryYAxis',\n 'secondaryYAxis',\n 'xAxis',\n 'yAxis',\n 'angle',\n 'radius',\n 'size',\n 'color',\n 'label',\n 'tooltip',\n 'detail',\n 'column',\n ])\n .optional(),\n parentId: z.string().optional(),\n})\n\nexport const zMeasureGroup: z.ZodType<MeasureGroup> = z.object({\n id: z.string(),\n alias: z.string().optional(),\n get children() {\n return z.array(zMeasureGroup.or(zMeasure)).optional()\n },\n})\n\nexport const zMeasures = z.array(zMeasure)\nexport const zMeasureTree = z.array(zMeasureGroup.or(zMeasure))\n","import { z } from 'zod'\nimport { zMeasure } from './zMeasures'\n\nexport const zDualMeasure = z.object({\n id: z.string(),\n\n primaryMeasures: z.array(zMeasure).or(zMeasure).optional(),\n\n secondaryMeasures: z.array(zMeasure).or(zMeasure).optional(),\n})\n\nexport const zDualMeasures = z.array(zDualMeasure)\n","import { z } from 'zod'\nimport { zMeasure } from './zMeasures'\n\nexport const zScatterMeasure = z.object({\n id: z.string(),\n\n xMeasures: z.array(zMeasure).or(zMeasure).optional(),\n\n yMeasures: z.array(zMeasure).or(zMeasure).optional(),\n})\n\nexport const zScatterMeasures = z.array(zScatterMeasure)\n","import { z } from 'zod'\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n colorRange: z.array(z.number()),\n measureRange: z.array(z.number()),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n encodingX: z.string(),\n encodingY: z.string(),\n encodingColor: z.string(),\n encodingColorId: z.string(),\n encodingDetail: z.string(),\n encodingAngle: z.string(),\n colorItems: z.array(z.string()),\n colorIdMap: z.record(z.string(), z.string()),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n index: z.number(),\n foldInfo: zFoldInfo,\n foldInfoList: z.array(zFoldInfo).nullish(),\n unfoldInfo: zUnfoldInfo,\n }),\n)\n","import { z } from 'zod'\n\nexport const zEncoding = z.object({\n x: z.array(z.string()).nullish(),\n y: z.array(z.string()).nullish(),\n angle: z.array(z.string()).nullish(),\n radius: z.array(z.string()).nullish(),\n detail: z.array(z.string()).nullish(),\n\n color: z.array(z.string()).nullish(),\n size: z.array(z.string()).nullish(),\n tooltip: z.array(z.string()).nullish(),\n label: z.array(z.string()).nullish(),\n\n row: z.array(z.string()).nullish(),\n column: z.array(z.string()).nullish(),\n\n group: z.array(z.string()).nullish().describe('已弃用, 请使用颜色替代'),\n})\n","import { z } from 'zod'\nimport type { Axis } from './axis'\n\nexport type XBandAxis = Omit<Axis, 'min' | 'max' | 'nice' | 'zero' | 'log' | 'logBase'>\nexport type YBandAxis = Omit<Axis, 'min' | 'max' | 'nice' | 'zero' | 'log' | 'logBase'>\n\nexport const zXBandAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n labelAutoHide: z.boolean().default(true).nullish(),\n labelAutoHideGap: z.number().default(0).nullish(),\n labelAutoRotate: z.boolean().default(true).nullish(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).nullish(),\n labelAutoLimit: z.boolean().default(true).nullish(),\n labelAutoLimitLength: z.number().default(100).nullish(),\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\nexport const zYBandAxis = zXBandAxis\n","import { z } from 'zod'\nimport { type Axis } from './axis'\n\nexport type XLinearAxis = Omit<\n Axis,\n | 'labelAutoHide'\n | 'labelAutoHideGap'\n | 'labelAutoRotate'\n | 'labelAutoRotateAngleRange'\n | 'labelAutoLimit'\n | 'labelAutoLimitLength'\n>\nexport type YLinearAxis = Omit<\n Axis,\n | 'labelAutoHide'\n | 'labelAutoHideGap'\n | 'labelAutoRotate'\n | 'labelAutoRotateAngleRange'\n | 'labelAutoLimit'\n | 'labelAutoLimitLength'\n>\n\nexport const zXLinearAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n min: z.number().nullish(),\n max: z.number().nullish(),\n nice: z.boolean().default(true).nullish(),\n zero: z.boolean().default(true).nullish(),\n log: z.boolean().default(false).nullish(),\n logBase: z.number().default(10).nullish(),\n inverse: z.boolean().default(false).nullish(),\n\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\n\nexport const zYLinearAxis = zXLinearAxis\n","import { z } from 'zod'\n\nexport const zCrosshairLine = z.object({\n visible: z.boolean().nullish(),\n lineColor: z.string().nullish(),\n labelColor: z.string().nullish(),\n labelVisible: z.boolean().nullish(),\n labelBackgroundColor: z.string().nullish(),\n})\n\nexport const zCrosshairRect = z.object({\n visible: z.boolean().nullish(),\n rectColor: z.string().nullish(),\n labelColor: z.string().nullish(),\n labelVisible: z.boolean().nullish(),\n labelBackgroundColor: z.string().nullish(),\n})\n","import { z } from 'zod'\n\nexport const zStackCornerRadius = z.number().or(z.array(z.number())).default([3, 3, 0, 0])\n\nexport type StackCornerRadius = z.infer<typeof zStackCornerRadius>\n","import { z } from 'zod'\nexport const zBackgroundColor = z.string().default('transparent').nullish()\n\n/**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\nexport type BackgroundColor = string | undefined\n","import { z } from 'zod'\n\nexport const zColor = z.object({\n colorScheme: z.array(z.string()).nullish(),\n linearColorScheme: z.array(z.string()).nullish(),\n colorMapping: z.record(z.string(), z.string()).nullish(),\n})\n\nexport const zLinearColor = z.object({\n linearColorScheme: z.array(z.string()).nullish(),\n})\n\nexport type Color = {\n /**\n * @description 离散颜色配色方案, 颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme?: string[]\n /**\n * @description 线性渐变颜色配色方案, 线性渐变颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2, #F8BBD0]\n */\n linearColorScheme?: string[]\n /**\n * @description 颜色映射, 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping?: Record<string, string>\n}\n\nexport type LinearColor = {\n /**\n *\n * @description 线性渐变颜色配色方案, 线性渐变颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme?: string[]\n}\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).nullish(),\n})\n\nexport type Label = {\n /**\n * 标签功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport type Legend = {\n /**\n * 图例功能是否开启\n * @default true\n * @example enable: true\n */\n enable?: boolean\n /**\n * @description 图例边框是否开启\n * @warning 仅离散图例生效\n * @default true\n * @example border: true\n */\n border?: boolean\n /**\n * @description 图例字体大小\n * @example labelFontSize: 10\n */\n labelFontSize?: number\n /**\n * @description 图例字体颜色\n * @example labelFontColor: '#212121'\n */\n labelFontColor?: string\n /**\n * @description 图例字体粗细\n * @example labelFontWeight: 400\n */\n labelFontWeight?: number | string\n /**\n * @description 图例形状\n * @warning 仅离散图例生效\n * @example shapeType: 'circle'\n */\n shapeType?:\n | 'circle'\n | 'cross'\n | 'diamond'\n | 'square'\n | 'arrow'\n | 'arrow2Left'\n | 'arrow2Right'\n | 'wedge'\n | 'thinTriangle'\n | 'triangle'\n | 'triangleUp'\n | 'triangleDown'\n | 'triangleRight'\n | 'triangleLeft'\n | 'stroke'\n | 'star'\n | 'wye'\n | 'rect'\n | 'arrowLeft'\n | 'arrowRight'\n | 'rectRound'\n | 'roundLine'\n /**\n * 图例位置\n * @default 'right'\n * @example position: 'rightTop'\n */\n position?:\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'lt'\n | 'lb'\n | 'top'\n | 'topLeft'\n | 'topRight'\n | 'tl'\n | 'tr'\n | 'right'\n | 'rightTop'\n | 'rightBottom'\n | 'rt'\n | 'rb'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomRight'\n | 'bl'\n | 'br'\n\n /**\n * @description 存在大量图例时, 最大列数 或 图例最大行数\n * 如果position为水平方向(bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize控制显示的列数\n * 如果position为垂直方向(left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize控制显示的行数\n * \n * @warning 仅离散图例生效\n * @example maxSize: 2\n * @default 1\n */\n maxSize?: number\n}\n\nexport const zLegend = z.object({\n enable: z.boolean().default(true).nullish(),\n border: z.boolean().default(true).nullish(),\n maxSize: z.number().default(1).nullish(),\n shapeType: z\n .enum([\n 'circle',\n 'cross',\n 'diamond',\n 'square',\n 'arrow',\n 'arrow2Left',\n 'arrow2Right',\n 'wedge',\n 'thinTriangle',\n 'triangle',\n 'triangleUp',\n 'triangleDown',\n 'triangleRight',\n 'triangleLeft',\n 'stroke',\n 'star',\n 'wye',\n 'rect',\n 'arrowLeft',\n 'arrowRight',\n 'rectRound',\n 'roundLine',\n ])\n .default('rectRound')\n .nullish(),\n position: z\n .enum([\n 'left',\n 'leftTop',\n 'leftBottom',\n 'lt',\n 'lb',\n 'top',\n 'topLeft',\n 'topRight',\n 'tl',\n 'tr',\n 'right',\n 'rightTop',\n 'rightBottom',\n 'rt',\n 'rb',\n 'bottom',\n 'bottomLeft',\n 'bottomRight',\n 'bl',\n 'br',\n ])\n .default('bottom')\n .nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontColor: z.string().default('#fff').nullish(),\n labelFontWeight: z.number().or(z.string()).default(400).nullish(),\n})\n\nexport type ColorLegend = Pick<Legend, 'position' | 'enable'>\nexport const zColorLegend = z.object({\n position: z\n .enum([\n 'left',\n 'leftTop',\n 'leftBottom',\n 'lt',\n 'lb',\n 'top',\n 'topLeft',\n 'topRight',\n 'tl',\n 'tr',\n 'right',\n 'rightTop',\n 'rightBottom',\n 'rt',\n 'rb',\n 'bottom',\n 'bottomLeft',\n 'bottomRight',\n 'bl',\n 'br',\n ])\n .default('bottom')\n .nullish(),\n enable: z.boolean().default(true).nullish(),\n})\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).nullish(),\n})\n\nexport type Tooltip = {\n /**\n * 提示信息功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\nimport { zXBandAxis, zYBandAxis } from './axes/bandAxis'\nimport { zXLinearAxis, zYLinearAxis } from './axes/linearAxis'\nimport { zCrosshairLine, zCrosshairRect } from './crosshair'\nimport { zStackCornerRadius } from './stackCornerRadius/stackCornerRadius'\nimport { zBackgroundColor } from './backgroundColor/backgroundColor'\nimport { zColor } from './color/color'\nimport { zLabel } from './label/label'\nimport { zLegend } from './legend/legend'\nimport { zTooltip } from './tooltip/tooltip'\nimport { zDualChartType } from '../chartType'\n\n/**\n * ---\n * zConfig by 图表类型\n */\nexport const zTableConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n\n // Border\n borderColor: z.string().nullish(),\n\n // Body\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n // Body interaction\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n\n // Header\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n // Header interaction\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n\n // Interaction\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n})\nexport const zPivotTableConfig = zTableConfig\n\nexport const zLineConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\nexport const zColumnConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n})\nexport const zColumnParallelConfig = zColumnConfig\nexport const zColumnPercentConfig = zColumnConfig\nexport const zBarConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n})\nexport const zBarParallelConfig = zBarConfig\nexport const zBarPercentConfig = zBarConfig\nexport const zAreaConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\nexport const zAreaPercentConfig = zAreaConfig\n\nexport const zDualAxisConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n dualChartType: z.array(zDualChartType).or(zDualChartType).nullish(),\n alignTicks: z.array(z.boolean()).or(z.boolean()).nullish(),\n primaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n secondaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n\n xAxis: zXBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n})\nexport const zScatterConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n})\n\n// polar\nexport const zRoseConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n})\nexport const zRoseParallelConfig = zRoseConfig\nexport const zPieConfig = z.object({\n backgroundColor: zBackgroundColor.nullish(),\n label: zLabel.nullish(),\n color: zColor.nullish(),\n tooltip: zTooltip.nullish(),\n legend: zLegend.nullish(),\n})\nexport const zDonutConfig = zPieConfig\nexport const zRadarConfig = zPieConfig\n// other\nexport const zFunnelConfig = zPieConfig\nexport const zHeatmapConfig = zPieConfig\n\n/**\n * ---\n * Type config by chart type\n */\nexport type TableConfig = z.infer<typeof zTableConfig>\nexport type PivotTableConfig = z.infer<typeof zPivotTableConfig>\n// cartesian\nexport type LineConfig = z.infer<typeof zLineConfig>\nexport type ColumnConfig = z.infer<typeof zColumnConfig>\nexport type ColumnParallelConfig = z.infer<typeof zColumnParallelConfig>\nexport type ColumnPercentConfig = z.infer<typeof zColumnPercentConfig>\nexport type BarConfig = z.infer<typeof zBarConfig>\nexport type BarParallelConfig = z.infer<typeof zBarParallelConfig>\nexport type BarPercentConfig = z.infer<typeof zBarPercentConfig>\nexport type AreaConfig = z.infer<typeof zAreaConfig>\nexport type AreaPercentConfig = z.infer<typeof zAreaPercentConfig>\n\nexport type ScatterConfig = z.infer<typeof zScatterConfig>\nexport type DualAxisConfig = z.infer<typeof zDualAxisConfig>\n// polar\nexport type RoseConfig = z.infer<typeof zRoseConfig>\nexport type RoseParallelConfig = z.infer<typeof zRoseParallelConfig>\nexport type PieConfig = z.infer<typeof zPieConfig>\nexport type DonutConfig = z.infer<typeof zDonutConfig>\nexport type RadarConfig = z.infer<typeof zRadarConfig>\n// other\nexport type FunnelConfig = z.infer<typeof zFunnelConfig>\nexport type HeatmapConfig = z.infer<typeof zHeatmapConfig>\n\n/**\n * config and type\n */\nexport type Config = z.infer<typeof zConfig>\nexport const zConfig = z.object({\n table: zTableConfig.nullish(),\n pivotTable: zPivotTableConfig.nullish(),\n\n // cartesian\n line: zLineConfig.nullish(),\n column: zColumnConfig.nullish(),\n columnParallel: zColumnParallelConfig.nullish(),\n columnPercent: zColumnPercentConfig.nullish(),\n bar: zBarConfig.nullish(),\n barParallel: zBarParallelConfig.nullish(),\n barPercent: zBarPercentConfig.nullish(),\n area: zAreaConfig.nullish(),\n areaPercent: zAreaPercentConfig.nullish(),\n\n scatter: zScatterConfig.nullish(),\n dualAxis: zDualAxisConfig.nullish(),\n\n // polar\n rose: zRoseConfig.nullish(),\n roseParallel: zRoseParallelConfig.nullish(),\n pie: zPieConfig.nullish(),\n donut: zDonutConfig.nullish(),\n radar: zRadarConfig.nullish(),\n // other\n funnel: zFunnelConfig.nullish(),\n heatmap: zHeatmapConfig.nullish(),\n})\n","import { z } from 'zod'\n\nexport type Axis = {\n /**\n * 轴是否可见\n * @default true\n * @example true\n */\n visible?: boolean\n\n /**\n * 轴的最小值\n * @description 优先级高于 nice 与 zero\n * @default undefined\n * @example 100\n */\n min?: number\n\n /**\n * 轴的最大值\n * @description 优先级高于 nice 与 zero\n * @default undefined\n * @example 10000\n */\n max?: number\n\n /**\n * @description 是否使用对数轴, 仅对数值轴生效\n * @default false\n */\n log?: boolean\n\n /**\n * @description 对数轴的底数, 仅对数值轴生效\n * @default 10\n */\n logBase?: number\n\n /**\n * 是否自动调整轴的刻度间隔,使刻度标签更易读\n * @description 当配置了 min 和 max, 该配置项失效, 仅对数值轴生效\n * @default true\n * @example true\n */\n nice?: boolean\n\n /**\n * 轴是否反向展示\n * @description 仅对数值轴生效\n * @default false\n * @example false\n */\n inverse?: boolean\n\n /**\n * 是否在坐标轴上强制显示 0 值,\n * @description 当配置了 min 和 max, 该配置项失效, 仅对数值轴生效\n * @default true\n * @example true\n */\n zero?: boolean\n\n /**\n * 轴标签, 自动隐藏\n * @description 2个标签若重叠(间隔小于autoHideGap), 则自动隐藏导致重叠的标签. 仅对类目轴生效.\n * @default true\n */\n labelAutoHide?: boolean\n /**\n * 轴标签, 自动隐藏间隔\n * @description 若2个文本标签的间隔小于autoHideGap, 则自动隐藏导致重叠的标签. 仅对类目轴生效.\n * autoHide开启时, 使用autoHide, 设置在autoHideSeparation上\n * autoHide关闭时, 使用sampling采样, 设置在minGap上\n * @default 4\n */\n labelAutoHideGap?: number\n /**\n * 轴标签, 自动旋转\n * @description 当标签宽度超过轴长度时, 自动旋转标签. 仅对类目轴生效.\n * @default true\n */\n labelAutoRotate?: boolean\n /**\n * 轴标签, 自动旋转角度范围\n * @description 当自动旋转开启时, 标签旋转角度范围. 仅对类目轴生效.\n * @default [0, -45, -90]\n */\n labelAutoRotateAngleRange?: number[]\n /**\n * 轴标签, 自动限制长度,\n * @description 当标签宽度超过轴长度时, 超出部分省略号表示, 鼠标悬浮后可见标签, 自动限制标签宽度. 仅对类目轴生效.\n * @default true\n */\n labelAutoLimit?: boolean\n /**\n * 轴标签, 自动限制长度的最大长度\n * @description 当标签文本长度超过最大长度时, 超出部分省略号表示, 鼠标悬浮后可见标签. 仅对类目轴生效.\n */\n labelAutoLimitLength?: number\n\n /**\n * X轴刻度标签\n * @default true\n */\n label?: {\n /**\n * 标签是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 标签颜色\n */\n labelColor?: string\n /**\n * 标签字体大小\n */\n labelFontSize?: number\n /**\n * 标签字体粗细\n */\n labelFontWeight?: number\n /**\n * 标签旋转角度\n */\n labelAngle?: number\n }\n\n /**\n * X轴线\n * @example\n * {\n * visible: true,\n * lineColor: '#ffeecc',\n * lineWidth: 2,\n * }\n */\n line?: {\n /**\n * 轴线是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 轴线颜色\n */\n lineColor?: string\n /**\n * 轴线宽度\n * @default 1\n */\n lineWidth?: number\n }\n\n /**\n * X轴刻度\n * @default true\n */\n tick?: {\n /**\n * 刻度是否可见\n * @default true\n */\n visible?: boolean\n /**\n * 刻度是否朝内\n * @default false\n */\n tickInside?: boolean\n /**\n * 刻度颜色\n */\n tickColor?: string\n /**\n * 刻度尺寸\n */\n tickSize?: number\n }\n\n /**\n * X轴标题\n * @default false\n */\n title?: {\n /**\n * 标题是否可见\n * @default false\n */\n visible?: boolean\n /**\n * 标题文本, 默认跟随字段配置\n */\n titleText?: string\n /**\n * 标题颜色\n */\n titleColor?: string\n /**\n * 标题字体大小\n */\n titleFontSize?: number\n /**\n * 标题字体粗细\n */\n titleFontWeight?: number\n }\n\n /**\n * X轴网格线\n * @default false\n */\n grid?: {\n visible?: boolean\n /**\n * 网格线颜色\n */\n gridColor?: string\n /**\n * 网格线宽度\n */\n gridWidth?: number\n }\n}\n\nexport const zAxis = z.object({\n visible: z.boolean().default(true).nullish(),\n\n min: z.number().nullish(),\n max: z.number().nullish(),\n nice: z.boolean().default(true).nullish(),\n zero: z.boolean().default(true).nullish(),\n inverse: z.boolean().default(false).nullish(),\n log: z.boolean().default(false).nullish(),\n logBase: z.number().default(10).nullish(),\n\n labelAutoHide: z.boolean().default(true).nullish(),\n labelAutoHideGap: z.number().default(4).nullish(),\n labelAutoRotate: z.boolean().default(true).nullish(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).nullish(),\n labelAutoLimit: z.boolean().default(true).nullish(),\n labelAutoLimitLength: z.number().default(100).nullish(),\n label: z\n .object({\n visible: z.boolean().default(true).nullish(),\n labelColor: z.string().default('#797B85').nullish(),\n labelFontSize: z.number().default(12).nullish(),\n labelFontWeight: z.number().default(400).nullish(),\n labelAngle: z.number().default(0).nullish(),\n })\n .nullish(),\n line: z\n .object({\n visible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n lineWidth: z.number().default(1).nullish(),\n })\n .nullish(),\n tick: z\n .object({\n visible: z.boolean().default(true).nullish(),\n tickInside: z.boolean().default(false).nullish(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').nullish(),\n tickSize: z.number().default(4).nullish(),\n })\n .nullish(),\n title: z\n .object({\n visible: z.boolean().default(false).nullish(),\n titleText: z.string().default('').nullish(),\n titleColor: z.string().default('#646A73').nullish(),\n titleFontSize: z.number().default(12).nullish(),\n titleFontWeight: z.number().default(400).nullish(),\n })\n .nullish(),\n grid: z\n .object({\n visible: z.boolean().default(false).nullish(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').nullish(),\n gridWidth: z.number().default(0.5).nullish(),\n })\n .nullish(),\n})\n","import { z } from 'zod'\nimport { zConfig } from '../config'\n\nexport const zCustomThemeConfig = z.object({\n config: zConfig.nullish(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).nullish()\n\nexport type CustomTheme = z.infer<typeof zCustomTheme>\nexport type CustomThemeConfig = z.infer<typeof zCustomThemeConfig>\n","import { z } from 'zod'\n\nexport const zTheme = z.string()\n\ntype Light = 'light' & { readonly brand: unique symbol }\ntype Dark = 'dark' & { readonly brand: unique symbol }\n\n/**\n * 主题\n * @default light\n * @description 内置 light、dark 两种主题, 新的主题可以通过registerTheme自定义主题.\n */\nexport type Theme = Light | Dark | string\n","import { z } from 'zod'\nimport type { Datum } from '../properties'\n\nexport type ValueSelector = string | number\n\nexport type PartialDatumSelector = Datum\n\n/**\n * @description 指标选择器, 用于选择数据项中指标字段的值\n */\nexport type MeasureSelector = {\n /**\n * @description 指标字段, measures 某一项的 id\n */\n field: string\n /**\n * @description 操作符\n * - =: 选择数据项中指标字段的值等于 value 的数据项\n * - ==: 选择数据项中指标字段的值等于 value 的数据项\n * - !=: 选择数据项中指标字段的值不等于 value 的数据项\n * - >: 选择数据项中指标字段的值大于 value 的数据项\n * - <: 选择数据项中指标字段的值小于 value 的数据项\n * - >=: 选择数据项中指标字段的值大于等于 value 的数据项\n * - <=: 选择数据项中指标字段的值小于等于 value 的数据项\n * - between: 选择数据项中指标字段的值在 value 之间的 data item\n */\n operator?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n /**\n * @description 操作符\n * - =: 选择数据项中指标字段的值等于 value 的数据项\n * - ==: 选择数据项中指标字段的值等于 value 的数据项\n * - !=: 选择数据项中指标字段的值不等于 value 的数据项\n * - >: 选择数据项中指标字段的值大于 value 的数据项\n * - <: 选择数据项中指标字段的值小于 value 的数据项\n * - >=: 选择数据项中指标字段的值大于等于 value 的数据项\n * - <=: 选择数据项中指标字段的值小于等于 value 的数据项\n * - between: 选择数据项中指标字段的值在 value 之间的 data item\n * same as operator\n */\n op?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n /**\n * @description 选择数据项中指标字段的值\n * - 仅 op 为 between 时, value 为长度为2的数组, 数组中的元素为指标字段的最小值和最大值\n * - 其他情况, value 为指标字段的单个值\n */\n value: string | number | Array<string | number>\n // /**\n // * @description 是否使用原始数据进行数据匹配, 开启后会有更多的数据被匹配到\n // * 若下述数据, measures 仅设置了 value, field 为 isHigh 或 isLow, op 为 =, value 为 1,\n // * 关闭useOrigin时, 数据项并不会考虑measures之外的字段, 因此field为isHigh或isLow的字段会被忽略\n // * 开启useOrigin时, 会直接使用整个数据项进行匹配\n // * [\n // * {value: 100, isHigh: 1, isLow: 0},\n // * {value: 200, isHigh: 0, isLow: 1},\n // * {value: 300, isHigh: 1, isLow: 0},\n // * ]\n // * @default false\n // */\n // useOrigin?: boolean\n}\n\n/**\n * @description 维度选择器, 用于选择数据项中维度字段的值\n */\nexport type DimensionSelector = {\n /**\n * @description 维度字段, dimensions 某一项的 id\n */\n field: string\n /**\n * @description 操作符\n * - in: 选择数据项中维度字段的值在 value 中的数据项\n * - not in: 选择数据项中维度字段的值不在 value 中的数据项\n */\n operator?: 'in' | 'not in'\n /**\n * @description 操作符\n * - in: 选择数据项中维度字段的值在 value 中的数据项\n * - not in: 选择数据项中维度字段的值不在 value 中的数据项\n * same as operator\n */\n op?: 'in' | 'not in'\n /**\n * @description 选择数据项中维度字段的值, 支持数组\n */\n value: string | number | Array<string | number>\n // /**\n // * @description 是否使用原始数据进行数据匹配, 开启后会有更多的数据被匹配到\n // * 若下述数据, dimensions 仅设置了 name, field 为 name, op 为 =, value 为 \"high\",\n // * 关闭useOrigin时, 数据项并不会考虑dimensions之外的字段, 因此field为name的字段会被忽略\n // * 开启useOrigin时, 会直接使用整个数据项进行匹配\n // * [\n // * {name: \"low\", isHigh: \"false\", isLow: \"true\"},\n // * {name: \"low\", isHigh: \"false\", isLow: \"true\"},\n // * {name: \"high\", isHigh: \"true\", isLow: \"false\"},\n // * ]\n // * @default false\n // */\n // useOrigin?: boolean\n}\n\nexport type Selector = ValueSelector | PartialDatumSelector | MeasureSelector | DimensionSelector\n\nexport type Selectors = Array<Selector>\n\nexport const zSelector = z.union([\n z.string(),\n z.number(),\n z.object({\n field: z.string(),\n operator: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).nullish(),\n op: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).nullish(),\n value: z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()]))]),\n }),\n z.object({\n field: z.string(),\n operator: z.enum(['in', 'not in']).nullish(),\n op: z.enum(['in', 'not in']).nullish(),\n value: z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()]))]),\n }),\n])\n\nexport const zSelectors = z.array(zSelector)\n","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 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","import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type PointStyle = {\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 pointVisible?: boolean\n /**\n * 点大小\n * @description 点大小\n */\n pointSize?: number\n /**\n * 点图元颜色\n * @description 点图元颜色\n */\n pointColor?: string\n /**\n * 点图元颜色透明度\n * @description 点图元颜色透明度\n */\n pointColorOpacity?: number\n /**\n * 点图元边框颜色\n * @description 点图元边框颜色\n */\n pointBorderColor?: string\n /**\n * 点图元边框宽度\n * @description 点图元边框宽度\n */\n pointBorderWidth?: number\n /**\n * 点图元边框样式\n * @description 点图元边框样式\n * @example solid\n * @example dashed\n * @example dotted\n */\n pointBorderStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zPointStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n pointVisible: z.boolean().nullish(),\n pointSize: z.number().nullish(),\n pointColor: z.string().nullish(),\n pointColorOpacity: z.number().nullish(),\n pointBorderColor: z.string().nullish(),\n pointBorderWidth: z.number().nullish(),\n pointBorderStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).nullish(),\n})\n","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","import { z } from 'zod'\nimport { zSelector, zSelectors } from '../../dataSelector'\n\nexport const zAreaStyle = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n areaVisible: z.boolean().nullish(),\n areaColor: z.string().nullish(),\n areaColorOpacity: z.number().nullish(),\n})\n","import { z } from 'zod'\nimport { zBarStyle } from './barStyle'\nimport { zPointStyle } from './pointStyle'\nimport { zLineStyle } from './lineStyle'\nimport { zAreaStyle } from './zAreaStyle'\n\nexport const zMarkStyle = z.object({\n barStyle: zBarStyle.or(z.array(zBarStyle)).nullish(),\n pointStyle: zPointStyle.or(z.array(zPointStyle)).nullish(),\n lineStyle: zLineStyle.or(z.array(zLineStyle)).nullish(),\n areaStyle: zAreaStyle.or(z.array(zAreaStyle)).nullish(),\n})\n\nexport type MarkStyle = z.infer<typeof zMarkStyle>\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationPoint = z.object({\n selector: z.union([zSelector, zSelectors]),\n text: z.string().or(z.array(z.string())).nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').nullish(),\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundPadding: z.number().nullish(),\n\n offsetY: z.number().default(0).nullish(),\n offsetX: z.number().default(0).nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationVerticalLine = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n xValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().default('#212121').nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundPadding: z.number().default(2).nullish(),\n\n lineVisible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('#212121').nullish(),\n lineWidth: z.number().default(1).nullish(),\n lineStyle: z\n .union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')])\n .default('dashed')\n .nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationHorizontalLine = z.object({\n selector: z.union([zSelector, zSelectors]).nullish(),\n yValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n lineVisible: z.boolean().default(true).nullish(),\n lineColor: z.string().default('#212121').nullish(),\n lineWidth: z.number().default(1).nullish(),\n lineStyle: z\n .union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')])\n .default('dashed')\n .nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#212121').nullish(),\n textBackgroundBorderColor: z.string().default('#212121').nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundPadding: z.number().default(2).nullish(),\n})\n","import { zSelector, zSelectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport const zAnnotationArea = z.object({\n selector: z.union([zSelector, zSelectors]),\n textPosition: z\n .enum(['top', 'topRight', 'topLeft', 'bottom', 'bottomLeft', 'bottomRight', 'left', 'right'])\n .default('top')\n .nullish(),\n text: z.string().or(z.array(z.string())).nullish(),\n textColor: z.string().default('#ffffff').nullish(),\n textFontSize: z.number().default(12).nullish(),\n textFontWeight: z.number().default(400).nullish(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').nullish(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').nullish(),\n\n textBackgroundVisible: z.boolean().default(true).nullish(),\n textBackgroundColor: z.string().default('#191d24').nullish(),\n textBackgroundBorderColor: z.string().default('#191d24').nullish(),\n textBackgroundBorderWidth: z.number().default(1).nullish(),\n textBackgroundBorderRadius: z.number().default(4).nullish(),\n textBackgroundPadding: z.number().default(4).nullish(),\n\n areaColor: z.string().default('#888888').nullish(),\n areaColorOpacity: z.number().default(0.15).nullish(),\n areaBorderColor: z.string().default('#888888').nullish(),\n areaBorderWidth: z.number().default(1).nullish(),\n areaBorderRadius: z.number().default(4).nullish(),\n\n outerPadding: z.number().default(4).nullish(),\n})\n","import { z } from 'zod'\nimport { zAnnotationPoint } from './zAnnotationPoint'\nimport { zAnnotationVerticalLine } from './zAnnotationVerticalLine'\nimport { zAnnotationHorizontalLine } from './zAnnotationHorizontalLine'\nimport { zAnnotationArea } from './zAnnotationArea'\n\n\nexport const zAnnotation = z.object({\n annotationPoint: zAnnotationPoint.or(z.array(zAnnotationPoint)).nullish(),\n annotationVerticalLine: zAnnotationVerticalLine.or(z.array(zAnnotationVerticalLine)).nullish(),\n annotationHorizontalLine: zAnnotationHorizontalLine.or(z.array(zAnnotationHorizontalLine)).nullish(),\n annotationArea: zAnnotationArea.or(z.array(zAnnotationArea)).nullish(),\n})\n\nexport type Annotation = z.infer<typeof zAnnotation>\n","import { z } from 'zod'\n\nexport const zSort = z.object({\n order: z.enum(['asc', 'desc']).default('asc'),\n orderBy: z.string().nullish(),\n customOrder: z.array(z.any()).nullish(),\n})\n\n/**\n * @description 类目轴排序配置, 支持根据维度或指标排序, 以及自定义排序顺序\n * @default {}\n * @example \n * - order:'asc'\n * - orderBy:'date'\n * 或\n * - customOrder:['2019', '2020', '2021']\n */\nexport type Sort = {\n /**\n * @description 排序顺序, 可选值为 'asc' 或 'desc'\n * @enum ['asc', 'desc']\n * @example order:'asc'\n */\n order?: 'asc' | 'desc'\n\n /**\n * @description 排序依赖的字段, 可以是维度id或指标id\n * @example \n * - orderBy:'date'\n * - orderBy:'profit'\n */\n orderBy?: string\n\n /**\n * @description 自定义排序顺序, 该顺序将直接应用至类目轴\n */\n customOrder?: string[]\n}\n","import { z } from 'zod'\n\nexport const zSortLegend = z.object({\n order: z.enum(['asc', 'desc']).default('asc'),\n orderBy: z.string().nullish(),\n customOrder: z.array(z.any()).nullish(),\n})\n\n/**\n * @description 图例排序配置, 支持根据维度或指标排序, 以及自定义排序顺序; 排序数组遵循从左到右或从上到下的顺序\n * @default {}\n * @example \n * - order:'asc'\n * - orderBy:'date'\n * 或\n * - customOrder:['2019', '2020', '2021']\n */\nexport type SortLegend = {\n /**\n * @description 排序顺序, 可选值为 'asc' 或 'desc'\n * @default 'asc'\n * @enum ['asc', 'desc']\n * @example order:'asc'\n */\n order?: 'asc' | 'desc'\n /**\n * @description 排序依赖的字段, 可以是维度id或指标id\n * @example \n * - orderBy:'date'\n * - orderBy:'profit'\n */\n orderBy?: string\n /**\n * @description 自定义排序顺序, 该顺序将直接应用至图例, 升序从左到右或从上到下, 降序从右到左或从下到上\n */\n customOrder?: string[]\n}\n","import { z } from 'zod'\n\nexport const zAnalysis = z.object({\n orderMapping: z.record(z.string(), z.array(z.string())).nullish(),\n})\n","import { z } from 'zod'\n\nexport type Locale = 'zh-CN' | 'en-US'\n\nexport type TranslateRecordType = Record<string, { [local in Locale]: string }>\n\nexport const zLocale = z.enum(['zh-CN', 'en-US']).default('zh-CN')\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport { zBackgroundColor, zDataset, zDimensions, zMeasureTree, zTheme } from '../../properties'\n\nexport const zTable = z.object({\n chartType: z.literal('table'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport { zBackgroundColor, zDataset, zDimensions, zTheme, zMeasures } from '../../properties'\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasures.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zSort,\n zSortLegend,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zLine = z.object({\n chartType: z.literal('line'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n sort: zSort.nullish(),\n sortLegend: zSortLegend.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zColumn = z.object({\n chartType: z.literal('column'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zColumnParallel = z.object({\n chartType: z.literal('columnParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zColumnPercent = z.object({\n chartType: z.literal('columnPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zBar = z.object({\n chartType: z.literal('bar'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nexport const zBarParallel = z.object({\n chartType: z.literal('barParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\n\nexport const zBarPercent = z.object({\n chartType: z.literal('barPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYBandAxis.nullish(),\n crosshairRect: zCrosshairRect.nullish(),\n stackCornerRadius: zStackCornerRadius.nullish(),\n theme: zTheme.nullish(),\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zArea = z.object({\n chartType: z.literal('area'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\n\nimport { z } from 'zod'\n\nexport const zAreaPercent = z.object({\n chartType: z.literal('areaPercent'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXBandAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zPointStyle,\n zScatterMeasures,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYLinearAxis,\n} from '../../properties'\n\nexport const zScatter = z.object({\n chartType: z.literal('scatter'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n scatterMeasures: zScatterMeasures.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n xAxis: zXLinearAxis.nullish(),\n yAxis: zYLinearAxis.nullish(),\n crosshairLine: zCrosshairLine.nullish(),\n theme: zTheme.nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from 'src/types/i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zAreaStyle,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zDualChartType,\n zDualMeasures,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zSort,\n zSortLegend,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from 'src/types/properties'\n\nexport const zDualAxis = z.object({\n chartType: z.literal('dualAxis'),\n\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n dualMeasures: zDualMeasures.nullish(),\n\n dualChartType: z.array(zDualChartType).or(zDualChartType).nullish(),\n alignTicks: z.array(z.boolean()).or(z.boolean()).nullish(),\n \n primaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n secondaryYAxis: z.array(zYLinearAxis).or(zYLinearAxis).nullish(),\n xAxis: zXBandAxis.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n\n crosshairRect: zCrosshairRect.nullish(),\n sort: zSort.nullish(),\n sortLegend: zSortLegend.nullish(),\n theme: zTheme.nullish(),\n\n barStyle: z.array(zBarStyle).or(zBarStyle).nullish(),\n pointStyle: z.array(zPointStyle).or(zPointStyle).nullish(),\n lineStyle: z.array(zLineStyle).or(zLineStyle).nullish(),\n areaStyle: z.array(zAreaStyle).or(zAreaStyle).nullish(),\n\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).nullish(),\n\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRose = z.object({\n chartType: z.literal('rose'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRoseParallel = z.object({\n chartType: z.literal('roseParallel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zPie = z.object({\n chartType: z.literal('pie'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zDonut = z.object({\n chartType: z.literal('donut'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zRadar = z.object({\n chartType: z.literal('radar'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zColorLegend,\n zDataset,\n zDimensions,\n zEncoding,\n zLabel,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zFunnel = z.object({\n chartType: z.literal('funnel'),\n dataset: zDataset.nullish(),\n encoding: zEncoding.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zColorLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\nimport { zLocale } from '../../i18n'\n\nimport {\n zBackgroundColor,\n zColor,\n zColorLegend,\n zDataset,\n zDimensions,\n zLabel,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n\nexport const zHeatmap = z.object({\n chartType: z.literal('heatmap'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasureTree.nullish(),\n backgroundColor: zBackgroundColor.nullish(),\n color: zColor.nullish(),\n label: zLabel.nullish(),\n legend: zColorLegend.nullish(),\n tooltip: zTooltip.nullish(),\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n","import { z } from 'zod'\n\nimport { zBar } from './chartType/bar'\nimport { zBarParallel } from './chartType/barParallel'\nimport { zColumn } from './chartType/column'\nimport { zColumnParallel } from './chartType/columnParallel'\nimport { zColumnPercent } from './chartType/columnPercent'\nimport { zLine } from './chartType/line'\nimport { zRose } from './chartType/rose'\nimport { zBarPercent } from './chartType/barPercent'\nimport { zPie } from './chartType/pie'\nimport { zDonut } from './chartType/donut'\nimport { zArea } from './chartType/area'\nimport { zAreaPercent } from './chartType/areaPercent'\nimport {\n zDualAxis,\n zFunnel,\n zHeatmap,\n zPivotTable,\n zRadar,\n zRoseParallel,\n zScatter,\n zTable,\n} from './chartType'\n\nexport const zVSeed = z.discriminatedUnion('chartType', [\n zTable,\n zPivotTable,\n // cartesian\n zLine,\n zColumn,\n zColumnParallel,\n zColumnPercent,\n zBar,\n zBarParallel,\n zBarPercent,\n zArea,\n zAreaPercent,\n zScatter,\n zDualAxis,\n // polar\n zPie,\n zDonut,\n zRose,\n zRoseParallel,\n zRadar,\n // other\n zFunnel,\n zHeatmap,\n])\n","import { z } from 'zod'\nimport { zChartType } from './properties/chartType'\nimport { zDataset } from './properties/dataset'\nimport { zDimensionTree } from './properties/dimensions'\nimport { zMeasureTree } from './properties/measures'\nimport { zEncoding } from './properties/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig } from './properties/config'\nimport { zAnalysis, zAnnotation, zMarkStyle } from './properties'\nimport { zLocale } from './i18n'\n\nexport const zAdvancedVSeed = z.object({\n chartType: zChartType,\n dataset: zDataset,\n datasetReshapeInfo: zDatasetReshapeInfo,\n dimensions: zDimensionTree,\n measures: zMeasureTree,\n encoding: zEncoding,\n config: zConfig,\n analysis: zAnalysis,\n theme: zTheme,\n markStyle: zMarkStyle,\n customTheme: zCustomThemeConfig,\n annotation: zAnnotation,\n locale: zLocale,\n})\n\nexport type AdvancedVSeed = z.infer<typeof zAdvancedVSeed>\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","execPipeline","pipeline","context","initialValue","result","prev","cur","buildAdvanced","builder","start","performance","Date","chartType","Error","Builder","e","console","end","buildSpec","advancedVSeed","build","spec","Intl","translateMap","value","segments","values","text","segment","index","translatedText","isNullish","locale","intl","i18n","C","t","o","n","u","p","B","i","r","l","a","s","Set","getColorItems","datasetReshapeInfo","colorItems","unique","d","colorIdMap","getColorIdMap","vseed","advanced","customPipe","themeKey","initAdvancedVSeed","autoMeasures","measures","dataset","top100dataset","sample","item","undefined","measure","preorderTraverse","tree","callback","stack","node","stop","children","child","findMeasureById","id","findFirstMeasure","findAllMeasures","autoDimensions","dimensions","dim","records","tableConfig","config","pick","D","c","structuredClone","Array","Number","theme","customTheme","chartConfigTheme","chartConfig","mergedConfig","mergeDeep","clone","_k","mergeArray","chartCustomTheme","arr","themeItem","isString","isNumber","isObjectType","merge","tableAdvancedPipeline","initTable","backgroundColor","isMeasure","isMeasureGroup","isMeasures","dimensionTreeToColumns","eachNode","columns","treeTreeToColumns","groupNode","field","title","props","createNumFormatter","format","type","ratio","symbol","thousandSeparator","prefix","suffix","fractionDigits","significantDigits","roundingMode","roundingPriority","numFormatterOptions","numFormatter","num","typeSymbol","String","numStr","parts","autoNumFormatter","createFormatter","autoFormatter","measureTreeToColumns","fieldFormat","datum","autoFormat","isEmpty","formatter","bodyStyle","themeConfig","borderColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor","headerStyle","themConfig","frameStyle","selectionStyle","tableSpecPipeline","registerTable","autoPivotMeasures","ORIGINAL_DATA","Separator","FoldMeasureName","FoldMeasureId","FoldMeasureValue","MeasureName","FoldPrimaryMeasureValue","FoldSecondaryMeasureValue","FoldXMeasureValue","FoldYMeasureValue","XEncoding","YEncoding","AngleEncoding","DetailEncoding","ColorEncoding","ColorIdEncoding","findAllDimensions","autoPivotDimensions","MeaName","newDimensions","pivotTableConfig","m","foldMeasures","options","measureId","measureName","measureValue","colorMeasureId","foldInfo","ids","j","omit","alias","Math","Infinity","reshapePivotTable","newDatasets","pivotTableAdvancedPipeline","initPivotTable","pivotColumns","pivotRows","rows","pivotIndicators","col","row","table","foldMeasureId","rowHeaderStyle","cornerHeaderStyle","hoverCellColor","AggregationType","SortType","dataConfig","aggregationRules","pivotTableSpecPipeline","registerPivotTable","defaultMeasures","defaultDimensions","defaultMeasureName","encodingForLine","vseedMeasures","hasDimensionEncoding","hasMeasureEncoding","encoding","generateDimensionEncoding","generateDefaultDimensionEncoding","generateMeasureEncoding","generateDefaultMeasureEncoding","uniqueDimIds","color","isMeasureTreeWithChildren","isMeasureTreeWithParentId","measureDepth","depth","isTable","isPivotTable","isVTable","isVChart","isPivotChart","parentIds","hasRowOrColumnDimension","dimension","hasMeasureGroup","buildMeasures","generateMeasuresByParentId","basicMeasuresToMeasureTree","measureTree","parent","pivotAdapter","pivotPipeline","usePivotChart","T","unfoldDimensions","separator","colorItemAsId","unfoldInfo","x","y","detail","angle","angleDimensions","xDimensions","yDimensions","colorDimensions","detailDimensions","applyEncoding","colorItem","colorId","dataReshapeByEncoding","foldMeasureName","foldMeasureValue","foldedDataset","finalDataset","colorAdapter","ordinalPipe","linearPipe","isLinearColor","measureIdList","getColorMeasureId","reshapeWithEncoding","hasEncoding","uniqueBy","pivotReshapeWithEncoding","measureGroups","datasets","measureGroup","groupId","newSubDataset","reshapeInfo","sortXBandAxis","sortAxis","xField","axisOrderResult","calcOrder","sortConfig","order","orderBy","res","sort","b","aValue","bValue","sortLegend","nameMap","pre","orderRes","itemNameOrId","lineConfig","columnConfig","pieConfig","areaConfig","areaPercentConfig","scatterConfig","barConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","roseConfig","roseParallelConfig","funnelConfig","heatmapConfig","radarConfig","markStyle","annotation","lineAdvancedPipeline","initLine","baseConfig","colorScheme","colorMapping","createSpecifiedForColorMapping","matchedList","colors","accurateMap","name","colorValue","accurateMatchedList","colorKey","colorAlias","fuzzyMap","fuzzyMatchedList","linearColor","linearColorScheme","datasetXY","analysis","orderMapping","fields","progressive","size","xBand","visible","label","tick","grid","line","labelAutoHide","labelAutoHideGap","labelAutoLimit","labelAutoLimitLength","labelAutoRotate","labelAutoRotateAngleRange","sampling","bandAxis","ANNOTATION_Z_INDEX","LINEAR_AXIS_INNER_OFFSET_TOP","DUAL_AXIS_CHART_COLUMN_Z_INDEX","DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX","yLinear","zero","nice","inverse","max","min","log","logBase","linearAxis","verticalCrosshairLine","lineColor","labelColor","labelVisible","labelBackgroundColor","crosshair","discreteLegend","legend","enable","position","labelFontColor","labelFontSize","labelFontWeight","maxSize","border","shapeType","orient","legendPosition","items","colorLegend","colorPointStyleFill","stylePipe","selector","vchartDatum","selectorMode","vchartKeys","k","selectors","isValueSelector","v","isMeasureSelector","op","selectorValueArr","isDimensionSelector","isPartialDatumSelector","pointStyle","pointStyles","customMap","style","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointVisible","lineDash","pointStateDimensionHover","point","pointStateHover","colorLineStyleFill","lineStyle","lineStyles","lineGroups","groupBy","lineColorOpacity","lineSmooth","lineWidth","lineVisible","dashSegment","dashGap","curveType","lineData","formatValue","tooltip","colorName","isSubset","sub","annotationPoint","annotationPointList","markPoint","selectorPoint","textColor","textFontSize","textFontWeight","textAlign","textBaseline","textBackgroundBorderColor","textBackgroundBorderRadius","textBackgroundBorderWidth","textBackgroundColor","textBackgroundPadding","textBackgroundVisible","offsetX","offsetY","selectedData","data","targetDatum","annotationVerticalLine","annotationVerticalLineList","positionMap","markLine","xValue","textPosition","generateOneMarkLine","isArray","xValueArr","specMarkLine","newMarkLine","annotationHorizontalLine","yValue","yValueArr","annotationArea","annotationAreaList","markArea","areaColor","areaColorOpacity","areaBorderColor","areaBorderRadius","areaBorderWidth","outerPadding","labelPosition","isBottom","positionData","xyList","yAxisHelper","xAxisHelper","yScale","minX","maxX","minY","maxY","xScale","initPivot","pivotGridStyle","transparent","hoverBackgroundColor","chartPipeline","indicators","newDataset","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","datasetPivot","pivotRowDimensions","rowDimensions","pivotColumnDimensions","columnDimensions","pivotDiscreteLegend","colorSpecified","legends","pivotColorLegend","pivotLine","lineSpecPipeline","registerLine","encodingForColumn","onlyMeasureName","columnAdvancedPipeline","initColumn","stackCornerRadius","_","stackInverse","verticalCrosshairRect","rectColor","colorBarStyleFill","barStyle","showStroke","barStyles","barBorderColor","barBorderStyle","barBorderWidth","barColor","barColorOpacity","barRadius","barVisible","annotationAreaBand","xBandWidth","yBandWidth","column","pivotColumn","columnSpecPipeline","registerColumn","columnParallelAdvancedPipeline","initColumnParallel","sameDimensionsMode","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","registerColumnParallel","columnPercentAdvancedPipeline","percent","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","registerColumnPercent","encodingForBar","sortYBandAxis","yField","barAdvancedPipeline","initBar","datasetYX","xLinear","yBand","horizontalCrosshairRect","bar","pivotBar","barSpecPipeline","registerBar","barParallelAdvancedPipeline","initBarParallel","barParallel","pivotBarParallel","barParallelSpecPipeline","registerBarParallel","barPercentAdvancedPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","registerBarPercent","areaAdvancedPipeline","initArea","colorAreaStyleFill","areaStyle","areaStyles","group","areaGroups","areaVisible","area","pivotArea","areaSpecPipeline","registerArea","areaPercentAdvancedPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","registerAreaPercent","encodingForScatter","dimensionsWithoutMeasureName","buildMeasuresForScatter","scatterMeasures","basicMeasuresToScatterMeasures","scatterMeasuresToMeasureTree","basicMeasures","yMeasures","xMeasures","isYAxis","isXAxis","groupChildren","arrPrimaryMeasures","arrSecondaryMeasures","scatterChart","isX","isY","reshapeWithScatterEncoding","foldInfoList","unfoldInfoList","pivotReshapeWithScatterEncoding","datasetList","scatterAdvancedPipeline","initScatter","datasetScatter","horizontalCrosshairLine","scatter","pivotScatter","scatterSpecPipeline","registerScatter","encodingForDualAxis","buildMeasuresForDualAxis","dualMeasures","basicMeasuresToDualMeasures","dualMeasuresToMeasureTree","primaryMeasures","secondaryMeasures","isPrimaryYAxis","isSecondaryYAxis","dualChart","isPrimary","isSecondary","reshapeWithDualEncoding","pivotReshapeWithDualEncoding","dualAxisConfig","dualAxisAdvancedPipeline","series","args","seriesDualAxis","createDualContext","seriesContext","initDualAxisPrimary","initDualAxisSecondary","dualChartTypePrimary","primary","secondary","bothColumn","columnSpec","dualChartTypeSecondary","datasetPrimary","datasetSecondary","labelPrimary","labelSecondary","tooltipPrimary","tooltipSecondary","encodingColorId","yLinearPrimary","reshapeInfoId","primaryYAxis","yAxisConfig","alignTicks","alignTicksConfig","seriesIds","seriesId","yLinearSecondary","secondaryYAxis","sync","linearColorForDualAxis","dualAxis","pivotDualAxis","dualAxisSpecPipeline","registerDualAxis","encodingForPie","pieAdvancedPipeline","initPie","colorPieStyleFill","pieStyle","pie","pivotPie","pieSpecPipeline","registerPie","donutAdvancedPipeline","initDonut","donut","pivotDonut","donutSpecPipeline","registerDonut","encodingForRose","roseAdvancedPipeline","initRose","hasNegativeValue","angleAxis","is0D","is1M1D","showAxis","radiusAxis","colorRoseStyleFill","roseStyle","rose","pivotRose","roseSpecPipeline","registerRose","roseParallelAdvancedPipeline","initRoseParallel","roseParallel","pivotRoseParallel","roseParallelSpecPipeline","registerRoseParallel","encodingForRadar","radarAdvancedPipeline","initRadar","radarAngleAxis","radarRadiusAxis","radar","pivotRadar","radarSpecPipeline","registerRadar","encodingForFunnel","funnelAdvancedPipeline","initFunnel","colorFunnelStyleFill","funnelStyle","funnel","pivotFunnel","funnelSpecPipeline","registerFunnel","encodingForHeatmap","heatmapAdvancedPipeline","labelColorInversion","colorCellStyleFill","cellStyle","initHeatmap","heatmap","pivotHeatmap","heatmapSpecPipeline","registerHeatmap","lightTheme","barBandAxis","crosshairLine","crosshairRect","darkTheme","registerCustomTheme","registerLightTheme","registerDarkTheme","registerAll","updateAdvanced","advancedPipe","updateSpec","specPipe","$constructor","initializer","params","init","inst","def","_a","Parent","Definition","fn","$ZodAsyncError","globalConfig","newConfig","cuid","cuid2","ulid","xid","ksuid","nanoid","duration","guid","uuid","version","RegExp","email","_emoji","emoji","ipv4","ipv6","cidrv4","cidrv6","base64url","hostname","e164","dateSource","date","timeSource","hhmm","regex","datetime","time","opts","timeRegex","string","integer","number","_undefined","lowercase","uppercase","getEnumValues","entries","numericValues","jsonStringifyReplacer","cached","getter","set","nullish","input","cleanRegex","source","floatSafeRemainder","val","step","valDecCount","stepString","stepDecCount","match","decCount","valInt","stepInt","EVALUATING","defineLazy","object","assignProp","target","mergeDefs","defs","mergedDescriptors","descriptors","esc","str","JSON","captureStackTrace","_args","navigator","F","Function","isPlainObject","ctor","prot","propertyKeyTypes","escapeRegex","cl","normalizeParams","_params","optionalKeys","shape","NUMBER_FORMAT_RANGES","schema","mask","currDef","newShape","extend","_shape","partial","Class","oldShape","required","aborted","startIndex","prefixIssues","path","issues","iss","unwrapMessage","message","finalizeIssue","ctx","full","getLengthableOrigin","$ZodCheck","numericOriginMap","$ZodCheckLessThan","origin","bag","curr","payload","$ZodCheckGreaterThan","$ZodCheckMultipleOf","isMultiple","BigInt","$ZodCheckNumberFormat","isInt","minimum","maximum","$ZodCheckMaxLength","length","$ZodCheckMinLength","$ZodCheckLengthEquals","tooBig","$ZodCheckStringFormat","_b","$ZodCheckRegex","$ZodCheckLowerCase","$ZodCheckUpperCase","$ZodCheckIncludes","escapedRegex","pattern","$ZodCheckStartsWith","$ZodCheckEndsWith","$ZodCheckOverwrite","Doc","arg","content","lines","minIndent","dedented","$ZodError","$ZodRealError","flattenError","error","mapper","issue","fieldErrors","formErrors","formatError","_mapper","processError","el","terminal","_parse","_Err","_ctx","Promise","_parseAsync","_safeParse","safeParse","_safeParseAsync","safeParseAsync","$ZodType","checks","ch","runChecks","isAborted","asyncResult","shouldRun","currLen","nextLen","$ZodString","$ZodStringFormat","$ZodGUID","$ZodUUID","versionMap","$ZodEmail","$ZodURL","trimmed","url","URL","$ZodEmoji","$ZodNanoID","$ZodCUID","$ZodCUID2","$ZodULID","$ZodXID","$ZodKSUID","$ZodISODateTime","$ZodISODate","$ZodISOTime","$ZodISODuration","$ZodIPv4","$ZodIPv6","$ZodCIDRv4","$ZodCIDRv6","address","prefixNum","isValidBase64","atob","$ZodBase64","isValidBase64URL","base64","padded","$ZodBase64URL","$ZodE164","isValidJWT","token","algorithm","tokensParts","header","parsedHeader","$ZodJWT","$ZodNumber","received","$ZodNumberFormat","$ZodBoolean","Boolean","$ZodUndefined","$ZodAny","$ZodUnknown","$ZodNever","handleArrayResult","final","$ZodArray","proms","handlePropertyResult","$ZodObject","_normalized","keys","okeys","propValues","generateFastpass","doc","normalized","parseStr","counter","fastpass","isObject","jit","allowsEval","fastEnabled","catchall","unrecognized","keySet","_catchall","handleUnionResults","results","nonaborted","$ZodUnion","option","patterns","single","first","async","$ZodDiscriminatedUnion","_super","pv","disc","map","Map","opt","$ZodIntersection","left","right","handleIntersectionResults","mergeValues","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","merged","$ZodRecord","Reflect","keyResult","$ZodEnum","valuesSet","$ZodLiteral","$ZodTransform","_out","output","handleOptionalResult","$ZodOptional","$ZodNullable","$ZodDefault","handleDefaultResult","$ZodPrefault","$ZodNonOptional","handleNonOptionalResult","$ZodCatch","$ZodPipe","handlePipeResult","$ZodReadonly","handleReadonlyResult","$ZodCustom","handleRefineResult","_iss","$ZodRegistry","_meta","meta","pm","f","registry","globalRegistry","_string","_email","_guid","_uuid","_uuidv4","_uuidv6","_uuidv7","_url","_nanoid","_cuid","_cuid2","_ulid","_xid","_ksuid","_ipv4","_ipv6","_cidrv4","_cidrv6","_base64","_base64url","_e164","_jwt","_isoDateTime","_isoDate","_isoTime","_isoDuration","_number","_int","_boolean","_any","_unknown","_never","_lt","_lte","_gt","_gte","_multipleOf","_maxLength","_minLength","_length","_regex","_lowercase","_uppercase","_includes","includes","_startsWith","_endsWith","_overwrite","tx","_normalize","form","_trim","_toLowerCase","_toUpperCase","_array","element","_refine","_superRefine","_check","_issue","ZodISODateTime","ZodISODate","ZodISOTime","ZodISODuration","ZodRealError","ZodType","reg","check","refine","refinement","superRefine","optional","nullable","nonoptional","union","intersection","pipe","transform","prefault","readonly","description","_ZodString","ZodString","ZodEmail","ZodURL","ZodJWT","ZodEmoji","ZodGUID","ZodUUID","ZodNanoID","ZodCUID","ZodCUID2","ZodULID","ZodBase64","ZodBase64URL","ZodXID","ZodKSUID","ZodIPv4","ZodIPv6","ZodCIDRv4","ZodCIDRv6","ZodE164","ZodStringFormat","ZodNumber","ZodNumberFormat","ZodBoolean","ZodUndefined","ZodAny","any","ZodUnknown","unknown","ZodNever","never","ZodArray","minLength","maxLength","len","ZodObject","incoming","other","ZodOptional","ZodNonOptional","ZodUnion","ZodDiscriminatedUnion","discriminatedUnion","discriminator","ZodIntersection","ZodRecord","record","keyType","valueType","ZodEnum","newEntries","ZodLiteral","literal","ZodTransform","innerType","ZodNullable","ZodDefault","defaultValue","ZodPrefault","ZodCatch","catchValue","ZodPipe","in_","out","ZodReadonly","ZodCustom","zChartType","z","zDualChartType","zDatum","zDataset","zDimension","zDimensionGroup","zDimensions","zDimensionTree","zNumFormat","zMeasure","zMeasureGroup","zMeasures","zMeasureTree","zDualMeasure","zDualMeasures","zScatterMeasure","zScatterMeasures","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zXBandAxis","zYBandAxis","zXLinearAxis","zYLinearAxis","zCrosshairLine","zCrosshairRect","zStackCornerRadius","zBackgroundColor","zColor","zLinearColor","zLabel","zLegend","zColorLegend","zTooltip","zTableConfig","zPivotTableConfig","zLineConfig","zColumnConfig","zColumnParallelConfig","zColumnPercentConfig","zBarConfig","zBarParallelConfig","zBarPercentConfig","zAreaConfig","zAreaPercentConfig","zDualAxisConfig","zScatterConfig","zRoseConfig","zRoseParallelConfig","zPieConfig","zDonutConfig","zRadarConfig","zFunnelConfig","zHeatmapConfig","zConfig","zAxis","zCustomThemeConfig","zCustomTheme","zTheme","zSelector","zSelectors","zBarStyle","zPointStyle","zLineStyle","zAreaStyle","zMarkStyle","zAnnotationPoint","zAnnotationVerticalLine","zAnnotationHorizontalLine","zAnnotationArea","zAnnotation","zSort","zSortLegend","zAnalysis","zLocale","zTable","zPivotTable","zLine","zColumn","zColumnParallel","zColumnPercent","zBar","zBarParallel","zBarPercent","zArea","zAreaPercent","zScatter","zDualAxis","zRose","zRoseParallel","zPie","zDonut","zRadar","zFunnel","zHeatmap","zVSeed","zAdvancedVSeed"],"mappings":"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"}