@visactor/vseed 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builder/builder/builder.d.ts +210 -118
- package/dist/index.cjs +383 -38
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +363 -24
- package/dist/index.js.map +1 -1
- package/dist/pipeline/spec/table/pipes/index.d.ts +1 -0
- package/dist/pipeline/spec/table/pipes/theme/bodyStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/cornerHeaderStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/frameStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/headerStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/index.d.ts +6 -0
- package/dist/pipeline/spec/table/pipes/theme/rowHeaderStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/scrollStyle.d.ts +2 -0
- package/dist/pipeline/spec/table/pipes/theme/selectionStyle.d.ts +2 -0
- package/dist/types/advancedVSeed.d.ts +55 -61
- package/dist/types/chartType/area/area.d.ts +8 -46
- package/dist/types/chartType/areaPercent/areaPercent.d.ts +8 -46
- package/dist/types/chartType/bar/bar.d.ts +9 -46
- package/dist/types/chartType/barParallel/barParallel.d.ts +8 -46
- package/dist/types/chartType/barPercent/barPercent.d.ts +8 -46
- package/dist/types/chartType/column/column.d.ts +8 -46
- package/dist/types/chartType/columnParallel/columnParallel.d.ts +8 -46
- package/dist/types/chartType/columnPercent/columnPercent.d.ts +8 -46
- package/dist/types/chartType/donut/donut.d.ts +8 -46
- package/dist/types/chartType/dualAxis/dualAxis.d.ts +2 -2
- package/dist/types/chartType/funnel/funnel.d.ts +8 -46
- package/dist/types/chartType/line/line.d.ts +8 -46
- package/dist/types/chartType/pie/pie.d.ts +8 -46
- package/dist/types/chartType/pivotTable/pivotTable.d.ts +8 -7
- package/dist/types/chartType/rose/rose.d.ts +9 -46
- package/dist/types/chartType/roseParallel/roseParallel.d.ts +10 -47
- package/dist/types/chartType/scatter/scatter.d.ts +8 -46
- package/dist/types/chartType/table/table.d.ts +6 -44
- package/dist/types/properties/config/config.d.ts +50 -2
- package/dist/types/properties/dimensions/dimensions.d.ts +20 -44
- package/dist/types/properties/measures/measures.d.ts +11 -87
- package/dist/types/properties/theme/customTheme.d.ts +48 -4
- package/dist/types/vseed.d.ts +101 -709
- package/dist/umd/index.js +703 -40
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
package/dist/umd/index.js.map
CHANGED
@@ -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/advanced/chart/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/utils/pipeline.ts","webpack://VSeed/./src/pipeline/utils/chatType.ts","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-JK3VNB42.js","webpack://VSeed/./src/i18n/i18n.ts","webpack://VSeed/./src/pipeline/utils/format/createNumFormatter.ts","webpack://VSeed/./src/pipeline/utils/format/createFormatter.ts","webpack://VSeed/./src/pipeline/utils/tree/traverse.ts","webpack://VSeed/./src/pipeline/utils/measures/find.ts","webpack://VSeed/./src/pipeline/utils/dimensions/find.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/autoDimensions.ts","webpack://VSeed/./src/dataReshape/constant.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/dataReshape/unfoldDimensions.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-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/dataReshapeFor2D1M.ts","webpack://VSeed/./src/dataReshape/dataReshapeFor1D1M.ts","webpack://VSeed/./src/dataReshape/dataReshapeFor1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo2D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo1D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingXY.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingYX.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingYY.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingRose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingPie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingFunnel.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-2T7K3PFL.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/config.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/./src/pipeline/advanced/chart/pipes/theme/theme.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/pivot/pivotAdapter.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/advanced/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotMeasures.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/records/records.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/pivotTable.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/table.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/dataset.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetPivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/scatter.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/xLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinear.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/pipes/percent/percent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stack.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/backgroundColor/background.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-VCYTMP4D.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/label.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/discreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/color.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts","webpack://VSeed/./src/dataSelector/selector.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/barStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointState.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/markStyle/areaStyle.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/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-SFZGYJFI.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/annotation/annotationAreaBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/table.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/measuresToColumns.ts","webpack://VSeed/./src/pipeline/spec/table/pipeline/table.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/pipeline/pivotTable.ts","webpack://VSeed/./src/builder/builder/buildAdvanced.ts","webpack://VSeed/./src/builder/builder/buildSpec.ts","webpack://VSeed/./src/builder/builder/build.ts","webpack://VSeed/./src/builder/builder/advanced/colorItems.ts","webpack://VSeed/./src/builder/builder/builder.ts","webpack://VSeed/./src/builder/register/chartType.ts","webpack://VSeed/./src/theme/light.ts","webpack://VSeed/./src/theme/dark.ts","webpack://VSeed/./src/builder/register/theme.ts","webpack://VSeed/./src/builder/register/all.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/dataset/dataset.ts","webpack://VSeed/./src/types/properties/dimensions/dimensions.ts","webpack://VSeed/./src/types/properties/measures/format/numFormat.ts","webpack://VSeed/./src/types/properties/measures/measures.ts","webpack://VSeed/./src/types/properties/datasetReshapeInfo/datasetReshapeInfo.ts","webpack://VSeed/./src/types/properties/encoding/encoding.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/crosshair.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/areaStyle.ts","webpack://VSeed/./src/types/properties/markStyle/markStyle.ts","webpack://VSeed/./src/types/properties/annotation/annotationPoint.ts","webpack://VSeed/./src/types/properties/annotation/annotationVerticalLine.ts","webpack://VSeed/./src/types/properties/annotation/annotationHorizontalLine.ts","webpack://VSeed/./src/types/properties/annotation/annotationArea.ts","webpack://VSeed/./src/types/properties/annotation/annotation.ts","webpack://VSeed/./src/types/i18n/i18n.ts","webpack://VSeed/./src/types/chartType/table/table.ts","webpack://VSeed/./src/types/chartType/pivotTable/pivotTable.ts","webpack://VSeed/./src/types/chartType/line/line.ts","webpack://VSeed/./src/types/chartType/column/column.ts","webpack://VSeed/./src/types/chartType/columnParallel/columnParallel.ts","webpack://VSeed/./src/types/chartType/columnPercent/columnPercent.ts","webpack://VSeed/./src/types/chartType/bar/bar.ts","webpack://VSeed/./src/types/chartType/barParallel/barParallel.ts","webpack://VSeed/./src/types/chartType/barPercent/barPercent.ts","webpack://VSeed/./src/types/chartType/area/area.ts","webpack://VSeed/./src/types/chartType/areaPercent/areaPercent.ts","webpack://VSeed/./src/types/chartType/rose/rose.ts","webpack://VSeed/./src/types/chartType/roseParallel/roseParallel.ts","webpack://VSeed/./src/types/chartType/pie/pie.ts","webpack://VSeed/./src/types/chartType/donut/donut.ts","webpack://VSeed/./src/types/chartType/scatter/scatter.ts","webpack://VSeed/./src/types/chartType/funnel/funnel.ts","webpack://VSeed/./src/types/vseed.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 { 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 { 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 { Dimensions, DimensionGroup, DimensionTree, VSeed } from 'src/types'\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 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 const hasMeasureGroup = measures && measures.find((measure: DimensionGroup) => measure && measure.children)\n\n return hasRowOrColumnDimension || hasMeasureGroup\n}\n","function e(r){return typeof r==\"number\"&&!Number.isNaN(r)}export{e as a};\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","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 console.log('debug roundingMode', roundingMode)\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 num.toString()\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","/**\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 type { Dimension, DimensionGroup, DimensionTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\nexport 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\nexport 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 { isPivotChart } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, DimensionGroup } 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 (isPivotChart(vseed)) {\n return autoMeasureGroup(advancedVSeed, context)\n }\n\n if (measures) {\n result.measures = 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\nconst autoMeasureGroup: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures } = vseed\n const hasMeasureGroup = measures?.some((measure: DimensionGroup) => measure.children)\n\n if (!measures) {\n return advancedVSeed\n }\n\n // 没有指标组, 则自动添加一个指标组\n if (!hasMeasureGroup) {\n const newMeasures = [\n {\n id: 'measureGroup',\n alias: 'measureGroup',\n children: measures,\n },\n ]\n return {\n ...advancedVSeed,\n measures: newMeasures,\n }\n }\n\n // 存在指标组, 则任意连续的独立指标成组\n let currentGroup: DimensionGroup = createEmptyMeasureGroup()\n const measureGroups: DimensionGroup[] = []\n for (const measure of measures) {\n if ('children' in measure) {\n // 当前指标组之前的所有独立指标成组\n if (currentGroup.children?.length) {\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n currentGroup.id = currentGroup.alias + currentGroup.children.map((item) => item.id).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n // 当前是指标组\n measureGroups.push(measure)\n } else {\n currentGroup.children?.push(measure)\n }\n }\n\n // 最后一组\n if (currentGroup.children?.length) {\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n currentGroup.id = currentGroup.alias + currentGroup.children.map((item) => item.id).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n\n advancedVSeed.measures = measureGroups\n return advancedVSeed\n}\n\nconst createEmptyMeasureGroup = () => {\n return {\n id: '',\n alias: '',\n children: [],\n }\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, DimensionTree } 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 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\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","// Reshape Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const FoldMeasureId = '__MeaId__'\n\n// Reshape Dimensions\nexport const UnfoldDimensionGroup = '__DimGroup__'\nexport const UnfoldDimensionGroupId = '__DimGroupID__'\n\nexport const Separator = '-'\n\nexport const ORIGINAL_DATA = '__OriginalData__'\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 type { Dataset, Datum, Dimension, Measure } from 'src/types'\nimport type { UnfoldInfo } from 'src/types'\nimport { UnfoldDimensionGroup, Separator, UnfoldDimensionGroupId, FoldMeasureId } from './constant'\nimport { unique } from 'remeda'\n\n/**\n * TODO: 优化展开维度的性能\n * 展开指定的维度\n * @description 第一步: 根据指定的维度, 将多个维度展开为N个指标(取决于维值去重后的数量), 随后合并成一个维度.\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n unfoldStartIndex: number = 0,\n unfoldGroupName: string = UnfoldDimensionGroup,\n unfoldGroupId: string = UnfoldDimensionGroupId,\n foldMeasureId: string = FoldMeasureId,\n dimensionsSeparator: string = Separator,\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) {\n throw new Error('unfoldStartIndex is out of range')\n }\n\n const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex)\n const unfoldInfo: UnfoldInfo = {\n groupName: unfoldGroupName,\n groupId: unfoldGroupId,\n colorItems: [],\n colorIdMap: {},\n }\n\n // 指标为空或维度为空, 则不检测\n if (dimensions.length === 0 || measures.length === 0) {\n return {\n dataset,\n unfoldInfo: {\n groupName: unfoldGroupName,\n groupId: unfoldGroupId,\n colorItems: [],\n colorIdMap: {},\n },\n }\n }\n\n const colorItems = []\n const colorMap: Record<string, string> = {}\n for (let i = 0; i < dataset.length; i++) {\n const datum = dataset[i]\n const colorName = generateDimGroupName(dimensionsToBeUnfolded, datum, dimensionsSeparator)\n const colorId = [colorName, (datum[foldMeasureId] as string) || 'id'].join(dimensionsSeparator)\n datum[unfoldGroupName] = colorName\n datum[unfoldGroupId] = colorId\n colorItems.push(colorId)\n colorMap[colorId] = colorName\n }\n\n unfoldInfo.colorItems = unique(colorItems)\n unfoldInfo.colorIdMap = colorMap\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * 生成维度组合名称\n * @param dimensionsToBeGrouped 待分组的维度\n * @param datum 数据项\n * @param dimensionsSeparator 维度分隔符\n * @returns 维度组合名称\n */\nexport const generateDimGroupName = (dimensionsToBeGrouped: Dimension[], datum: Datum, dimensionsSeparator: string) => {\n return dimensionsToBeGrouped.map((dim) => String(datum[dim.id])).join(dimensionsSeparator)\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(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, Dimension, Measures, DimensionTree } from 'src/types'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, 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: Dimension[],\n measureId = FoldMeasureId,\n measureName = FoldMeasureName,\n measureValue = FoldMeasureValue,\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\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 foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n\n/**\n * 折叠指定的指标组, 至多支持2层\n * @param dataset\n * @param measures\n * @param measureId\n * @param measureName\n * @param measureValue\n * @returns\n */\nexport const foldMeasureGroups = (\n dataset: Dataset,\n measures: Required<DimensionTree>,\n measureId = '__MeaId__',\n measureName = '__MeaName__',\n measureValue = '__MeaValue__',\n) => {\n const groups: Array<Measures> = []\n if (!measures) {\n return {\n dataset,\n }\n }\n\n // 没有分组, 直接折叠所有指标\n if (!measures.some((measure) => 'children' in measure)) {\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n }\n\n measures.forEach((measure) => {\n if ('children' in measure && measure.children) {\n groups.push(measure.children)\n } else {\n groups.push([measure])\n }\n })\n\n // 一组返回一个dataset\n const datasetGroup = groups.map((measures) => {\n if (!measures) {\n return []\n }\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n })\n\n return {\n datasetGroup,\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult: {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为2个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor2D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [\n { id: foldMeasureId, alias: i18n`指标Id`, location: 'dimension' },\n { id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' },\n ],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 1,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n const onlyOneMeasure = measures.length === 1\n const onlyOneDimension = dimensions.length === 1\n\n const dims = [...dimensions]\n if (!onlyOneMeasure || onlyOneDimension) {\n dims.push({ id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' })\n }\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n dims,\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 1,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' }],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n const dims =\n measures.length === 1\n ? ([...dimensions] as Dimension[])\n : ([...dimensions, { id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' }] as Dimension[])\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n dims,\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D2M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures.length > 1 ? measures.slice(1) : measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureValue, alias: i18n`指标值`, location: 'dimension' }],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import { dataReshapeFor2D1M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '2D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { dataReshapeFor1D1M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '1D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeFor1D2M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为1个维度2个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo1D2M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '1D2M',\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor1D1M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor1D2M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo1D2M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor2D1M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\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 } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingXY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const x = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const y = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYX: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const y = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const x = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import { findFirstMeasure } from 'src/pipeline/utils'\nimport type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, measures } = advancedVSeed\n if (!datasetReshapeInfo || !measures) {\n return result\n }\n\n const firstMeasure = findFirstMeasure(measures)\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const x = [firstMeasure?.id]\n const y = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingRose: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions, measures } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions || !measures) {\n return result\n }\n\n const is1D1M = dimensions.length === 1 && measures.length === 1\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const radius = [foldInfo.measureValue]\n const angle = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const group = [is1D1M ? dimensions[0].id : unfoldInfo.groupId]\n const color = [is1D1M ? dimensions[0].id : unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n angle,\n radius,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingPie: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const radius = [foldInfo.measureValue]\n const angle = [unfoldInfo.groupId]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n angle,\n radius,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingFunnel: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const size = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n size,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\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, 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\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","import { clone, 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 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","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 { 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\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 autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n lineConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n lineConfig,\n theme,\n markStyle,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n encodingYX,\n theme,\n autoMeasures,\n autoDimensions,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n barConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n barParallelConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n barPercentConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n columnConfig,\n markStyle,\n annotation,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n columnParallelConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n theme,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n columnPercentConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n pivotReshapeTo2D1M,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n areaConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n areaConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n areaPercentConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n areaPercentConfig,\n theme,\n markStyle,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n encodingPie,\n pieConfig,\n annotation,\n} from '../pipes'\n\nexport const pieAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingPie,\n pieConfig,\n theme,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n encodingPie,\n annotation,\n donutConfig,\n} from '../pipes'\n\nexport const donutAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingPie,\n donutConfig,\n theme,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n encodingRose,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const roseAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingRose,\n roseConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n markStyle,\n annotation,\n roseParallelConfig,\n encodingRose,\n} from '../pipes'\n\nexport const roseParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingRose,\n roseParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n annotation,\n encodingFunnel,\n funnelConfig,\n} from '../pipes'\n\nexport const funnelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingFunnel,\n funnelConfig,\n theme,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n reshapeTo1D2M,\n pivotReshapeTo1D2M,\n encodingYY,\n} from '../pipes'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D2M], [pivotReshapeTo1D2M]),\n encodingYY,\n scatterConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipe, Datum } 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 && measures.length > 0) {\n result.measures = 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 { 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 && dimensions.length > 0) {\n result.dimensions = dimensions\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 { 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 && dimensions.length > 0) {\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 { 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\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 && measures.length > 0) {\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 { 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 } 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","import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport { autoPivotDimensions, autoPivotMeasures, initAdvancedVSeed, records } from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoPivotMeasures,\n autoPivotDimensions,\n records,\n theme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport { initAdvancedVSeed, autoDimensions, autoMeasures, records } from '../pipes'\nimport { theme } from '../../chart/pipes'\n\nexport const tableAdvancedPipeline: AdvancedPipeline = [initAdvancedVSeed, autoMeasures, autoDimensions, records, theme]\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataset: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n const angle = encoding[0]?.angle?.[0]\n const x = encoding[0]?.x?.[0]\n const group = encoding[0]?.group?.[0]\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (x) {\n fields[x] = {\n sortIndex: 0,\n }\n }\n if (group) {\n fields[group] = {\n sortIndex: 1,\n }\n }\n\n return {\n ...spec,\n data: {\n values: advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport 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\nexport const datasetPivotPlaceholder: SpecPipe = (spec) => {\n return {\n ...spec,\n data: {\n id: 'placeholderDataId',\n },\n } as ISpec\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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = encoding[0].y?.[0]\n result.xField = encoding[0].x?.[0]\n result.seriesField = encoding[0].group?.[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = [encoding[0].y[0], unfoldInfo.groupName] as string[]\n result.xField = encoding[0].x[0]\n result.seriesField = encoding[0].group[0]\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'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'area'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\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 { 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 { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = [encoding[0].x[0], unfoldInfo.groupName]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding } = advancedVSeed\n\n if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) {\n return result\n }\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = 0\n result.valueField = encoding[0].radius[0]\n result.categoryField = encoding[0].angle[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\n centerOffset: 0,\n },\n state: {\n hover: {\n centerOffset: 5,\n outerRadius: result.outerRadius * 1.1,\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'\n\nexport const initDonut: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) {\n return result\n }\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = result.outerRadius * 0.8\n result.valueField = encoding[0].radius[0]\n result.categoryField = encoding[0].angle[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\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 { 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 { encoding, dataset, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) {\n return result\n }\n\n result.type = 'rose'\n result.categoryField = encoding[0].angle[0]\n result.valueField = encoding[0].radius[0]\n result.seriesField = encoding[0].group[0]\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 initRoseParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo, dataset } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) {\n return result\n }\n\n result.type = 'rose'\n result.categoryField = [encoding[0].angle[0], unfoldInfo.groupName]\n result.valueField = encoding[0].radius[0]\n result.seriesField = encoding[0].group[0]\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 { 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 { 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 { encoding } = advancedVSeed\n\n if (!encoding[0].size || !encoding[0].group || !encoding[0].color) {\n return result\n }\n\n result.type = 'funnel'\n result.valueField = encoding[0].size[0]\n result.categoryField = encoding[0].group[0]\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 },\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 { 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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'scatter'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\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 { 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,\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,\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","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,\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,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n containerAlign: 'left',\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 { 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 { 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 spec\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 spec\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 { 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 { 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 { 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\n return {\n ...spec,\n stackCornerRadius,\n }\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","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 { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { 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 } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip } = baseConfig\n const { enable } = tooltip\n\n const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo\n const { groupName } = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n value: (datum) => (datum && (datum[groupName] as string)) || '',\n },\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[groupName] 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)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[groupName] 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)\n }\n return String(value)\n },\n },\n ],\n },\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 { groupId, groupName } = datasetReshapeInfo[0].unfoldInfo\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 type { StringOrNumber } from '@visactor/vchart'\nimport 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,\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: maxSize,\n maxRow: 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 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: StringOrNumber) => {\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 }\n return result\n}\n","import type { StringOrNumber } from '@visactor/vchart'\nimport 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'\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 const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\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 } = color\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight,\n maxSize,\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: maxSize,\n maxRow: maxSize,\n data: colorItems.map((d, index) => ({\n label: d,\n shape: {\n outerBorder: border\n ? {\n stroke: colorScheme?.[index],\n distance: 3,\n lineWidth: 1,\n }\n : undefined,\n fill: colorScheme?.[index],\n },\n })),\n\n item: {\n focus: true,\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: StringOrNumber) => {\n return 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 } as unknown as IDiscreteTableLegendOption\n return { ...result, legends }\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport { Separator } from 'src/dataReshape'\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 { color } = baseConfig\n const { colorScheme, colorMapping } = color\n const mappingList: Array<[string, string]> = []\n if (colorMapping) {\n Object.entries(colorMapping)\n .sort((a, b) => a[0].split(Separator).length - b[0].split(Separator).length)\n .forEach(([key, value]) => {\n const idMap = Object.entries(unfoldInfo.colorIdMap).filter(([_, v]) => v.includes(key))\n\n for (const [colorId] of idMap) {\n mappingList.push([colorId, value])\n }\n })\n }\n\n result.color = {\n type: 'ordinal',\n domain: unfoldInfo.colorItems,\n range: colorScheme,\n specified: Object.fromEntries(mappingList),\n } as ILineChartSpec['color']\n return result\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 { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { 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, encoding } = 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\n const newEncoding = [encoding[index]]\n const newDatasetReshapeInfo = [{ ...reshapeInfo, unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems } }]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: newEncoding,\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 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 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 { 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 { 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 // 过滤掉 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 for (const selector of selectors) {\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\n return false\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 { 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 } = advancedVSeed\n const { barStyle } = markStyle\n\n const result = {\n ...spec,\n bar: {\n style: {\n stroke: '#fff',\n lineWidth: 1,\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 { barBorderColor, barBorderStyle, barBorderWidth, barColor, barColorOpacity, barRadius } = 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 fill: barColor,\n fillOpacity: barColorOpacity,\n stroke: barBorderColor,\n lineWidth: barBorderWidth,\n lineDash: lineDash,\n cornerRadius: barRadius,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n bar: {\n state: {\n ...customMap,\n },\n },\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 } 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 { pointBorderColor, pointBorderStyle, pointBorderWidth, pointColor, pointColorOpacity, pointSize } = 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 size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n lineDash: lineDash,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n 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 },\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 { encoding } = advancedVSeed\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 = encoding[0]?.group?.[0] as string\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{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, encoding, dataset } = advancedVSeed\n const { lineStyle } = markStyle\n if (!lineStyle) {\n return spec\n }\n const result = { ...spec } as IAreaChartSpec\n\n const lineStyles = (Array.isArray(lineStyle) ? lineStyle : [lineStyle]) as LineStyle[]\n\n const group = encoding[0]?.group?.[0]\n const lineGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = lineStyles.reduce<object>((result, style, index) => {\n const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth } = style\n\n const dashSegment = (lineWidth ?? 2) * 2\n const dashGap = lineWidth ?? 2\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[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 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 state: {\n ...customMap,\n },\n },\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, encoding, dataset } = advancedVSeed\n const { areaStyle } = markStyle\n if (!areaStyle) {\n return spec\n }\n const result = { ...spec } as IAreaChartSpec\n\n const areaStyles = (Array.isArray(areaStyle) ? areaStyle : [areaStyle]) as AreaStyle[]\n\n const group = encoding[0]?.group?.[0]\n const lineGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = areaStyles.reduce<object>((result, style, index) => {\n const { areaColor, areaColorOpacity } = style\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = lineGroups[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 fill: areaColor,\n fillOpacity: areaColorOpacity,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n area: {\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 = 'middle',\n backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n offsetX = 0,\n offsetY = 0,\n } = annotationPoint\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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 visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\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","function t(r){return typeof r==\"string\"}export{t 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, encoding } = advancedVSeed\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\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 visible: lineVisible,\n style: {\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],\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n style: {\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 = dataset.filter((datum) => selector(datum, selectorPoint))\n\n return selectedData.map((datum) => {\n const x = encoding[0]?.x?.[0]\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, encoding } = advancedVSeed\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 = 'center',\n textBaseline = 'bottom',\n backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\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 visible: lineVisible,\n style: {\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],\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n style: {\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 = dataset.filter((datum) => selector(datum, selectorPoint))\n\n return selectedData.map((datum) => {\n const y = encoding[0]?.y?.[0]\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#191d24',\n backgroundPadding = 10,\n backgroundVisible = true,\n outerPadding = 4,\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor,\n areaBorderRadius,\n areaBorderWidth,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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 yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - outerPadding\n const maxX = Math.max(...xyList.map((item) => item.x)) + outerPadding\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\n const maxY = Math.max(...xyList.map((item) => item.y)) + outerPadding\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],\n visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n strokeWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#191d24',\n backgroundPadding = 4,\n backgroundVisible = true,\n outerPadding = 8,\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor,\n areaBorderRadius,\n areaBorderWidth,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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\n const maxX = Math.max(...xyList.map((item) => item.x)) + xBandWidth + outerPadding\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 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\n const maxY = Math.max(...xyList.map((item) => item.y)) + yBandWidth + outerPadding\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],\n visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n strokeWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\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 = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config\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 dataset,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst line: SpecPipeline = [\n initLine,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n pointStateDimensionHover,\n 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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst column: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\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 datasetPivotPlaceholder,\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} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n discreteLegend,\n verticalCrosshairRect,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n discreteLegend,\n 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 color,\n percent,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\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 datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n} from '../pipes'\n\nconst bar: SpecPipeline = [\n initBar,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n yBand,\n label,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n yBand,\n xLinear,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\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 datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n stackCornerRadius,\n color,\n backgroundColor,\n percent,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n percent,\n datasetPivotPlaceholder,\n yBand,\n xLinear,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initArea,\n stackInverse,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst area: SpecPipeline = [\n initArea,\n stackInverse,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n 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 color,\n backgroundColor,\n stackInverse,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n areaStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n dataset,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n stackInverse,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n lineStyle,\n 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 color,\n backgroundColor,\n percent,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n pointStyle,\n lineStyle,\n areaStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst pie: SpecPipeline = [\n initPie,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst donut: SpecPipeline = [\n initDonut,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst rose: SpecPipeline = [\n initRose,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst roseParallel: SpecPipeline = [\n initRoseParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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 initFunnel,\n} from '../pipes'\n\nconst funnel: SpecPipeline = [\n initFunnel,\n color,\n backgroundColor,\n dataset,\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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const funnelSpecPipeline: SpecPipeline = [pivotAdapter(funnel, pivotFunnel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst scatter: SpecPipeline = [\n initScatter,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n 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 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\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n showHeader: true,\n } as ListTableConstructorOptions\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport type { MeasureTree, SpecPipe } from 'src/types'\n\nexport const measureTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const measures = (advancedVSeed as unknown as { measures: MeasureTree }).measures\n const result = { ...spec } as ListTableConstructorOptions\n const columns = treeTreeToColumns(measures)\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nexport const dimensionTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: MeasureTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const columns = treeTreeToColumns(dimensions)\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst treeTreeToColumns = (tree: MeasureTree = []): ColumnsDefine[] => {\n const result = tree.map((item) => {\n const field = item.id\n const title = item.alias ?? item.id\n\n if ('children' in item && Array.isArray(item.children)) {\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children),\n }\n } else {\n // leaf\n return {\n field,\n title,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n","import type { SpecPipeline } from 'src/types'\nimport { initTable, dimensionTreeToColumns, measureTreeToColumns } from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [initTable, dimensionTreeToColumns, measureTreeToColumns]\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\n return {\n ...spec,\n records: dataset,\n widthMode: 'standard',\n heightMode: 'autoHeight',\n autoWrapText: true,\n columnResizeMode: 'all',\n } as PivotTableConstructorOptions\n}\n","import 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 }\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 { Measures, SpecPipe } from 'src/types'\n\nexport const pivotIndicators: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const measures = (advancedVSeed as unknown as { measures: Measures }).measures\n\n return {\n ...spec,\n indicatorsAsCol: true,\n indicators: measures.map((item) => {\n return {\n cellType: 'text',\n indicatorKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }) as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport { initPivotTable, pivotColumns, pivotRows, pivotIndicators } from '../pipes'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [initPivotTable, pivotColumns, pivotRows, pivotIndicators]\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport type { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\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 }\n}\n","import type { Spec } from 'src/types'\nimport type { 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 { 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 }\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","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","import type {\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n Spec,\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 { 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\n constructor(vseed: VSeed) {\n this._vseed = vseed\n this._vseed.locale = vseed.locale || intl.getLocale()\n }\n\n build = () => build(this)\n\n buildSpec = (advanced: AdvancedVSeed) => buildSpec(this, advanced)\n\n buildAdvanced = () => buildAdvanced(this)\n\n getAdvancedPipeline = (chartType: ChartType) => Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n getSpecPipeline = (chartType: ChartType) => Builder._specPipelineMap[chartType] as SpecPipeline\n getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n getThemeMap = () => Builder._themeMap\n\n getColorItems = () => getColorItems(this)\n\n get vseed() {\n return this._vseed\n }\n\n set vseed(value) {\n this._vseed = value\n }\n\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n get spec() {\n return this._spec\n }\n\n set spec(value) {\n this._spec = value\n }\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n static from = (vseed: VSeed) => new Builder(vseed)\n}\n","import {\n areaAdvancedPipeline,\n areaPercentAdvancedPipeline,\n areaPercentSpecPipeline,\n areaSpecPipeline,\n barAdvancedPipeline,\n barParallelAdvancedPipeline,\n barParallelSpecPipeline,\n barPercentAdvancedPipeline,\n barPercentSpecPipeline,\n barSpecPipeline,\n columnAdvancedPipeline,\n columnParallelAdvancedPipeline,\n columnParallelSpecPipeline,\n columnPercentAdvancedPipeline,\n columnPercentSpecPipeline,\n columnSpecPipeline,\n donutAdvancedPipeline,\n donutSpecPipeline,\n funnelAdvancedPipeline,\n funnelSpecPipeline,\n lineAdvancedPipeline,\n lineSpecPipeline,\n pieAdvancedPipeline,\n pieSpecPipeline,\n pivotTableAdvancedPipeline,\n pivotTableSpecPipeline,\n roseAdvancedPipeline,\n roseParallelAdvancedPipeline,\n roseParallelSpecPipeline,\n roseSpecPipeline,\n scatterAdvancedPipeline,\n scatterSpecPipeline,\n tableAdvancedPipeline,\n tableSpecPipeline,\n} from '../../pipeline'\nimport { Builder } from '../builder'\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}\n\nexport const registerPie = () => {\n Builder._advancedPipelineMap['pie'] = pieAdvancedPipeline\n Builder._specPipelineMap['pie'] = pieSpecPipeline\n}\n\nexport const registerDonut = () => {\n Builder._advancedPipelineMap['donut'] = donutAdvancedPipeline\n Builder._specPipelineMap['donut'] = donutSpecPipeline\n}\n\nexport const registerRose = () => {\n Builder._advancedPipelineMap['rose'] = roseAdvancedPipeline\n Builder._specPipelineMap['rose'] = roseSpecPipeline\n}\n\nexport const registerRoseParallel = () => {\n Builder._advancedPipelineMap['roseParallel'] = roseParallelAdvancedPipeline\n Builder._specPipelineMap['roseParallel'] = roseParallelSpecPipeline\n}\n\nexport const registerFunnel = () => {\n Builder._advancedPipelineMap['funnel'] = funnelAdvancedPipeline\n Builder._specPipelineMap['funnel'] = funnelSpecPipeline\n}\n\nexport const registerScatter = () => {\n Builder._advancedPipelineMap['scatter'] = scatterAdvancedPipeline\n Builder._specPipelineMap['scatter'] = scatterSpecPipeline\n}\n\nexport const registerTable = () => {\n Builder._advancedPipelineMap['table'] = tableAdvancedPipeline\n Builder._specPipelineMap['table'] = tableSpecPipeline\n}\n\nexport const registerPivotTable = () => {\n Builder._advancedPipelineMap['pivotTable'] = pivotTableAdvancedPipeline\n Builder._specPipelineMap['pivotTable'] = pivotTableSpecPipeline\n}","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\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: 100,\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 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\n return {\n config: {\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 pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n funnel: {\n ...baseConfig,\n color: {\n colorScheme: [\n '#5766EC',\n '#6372F0',\n '#7080F4',\n '#7C8CFA',\n '#8998FF',\n '#95A3FF',\n '#A0AEFF',\n '#ACB9FF',\n '#B7C4FF',\n '#C2CEFF',\n ],\n },\n },\n },\n }\n}\n","import type {\n BackgroundColor,\n Color,\n CustomThemeConfig,\n Label,\n Legend,\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: 100,\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 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 return {\n config: {\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 pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n funnel: {\n ...baseConfig,\n color: {\n colorScheme: [\n '#2E62F1',\n '#3A6EF6',\n '#4780FA',\n '#548CFE',\n '#6198FF',\n '#6FA3FF',\n '#7CACFF',\n '#88B7FF',\n '#94C2FF',\n '#A0CEFF',\n ],\n },\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\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\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} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // ChartType\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n registerPie()\n registerDonut()\n registerRose()\n registerRoseParallel()\n registerFunnel()\n registerScatter()\n registerTable()\n registerPivotTable()\n\n // Theme\n registerLightTheme()\n registerDarkTheme()\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 | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'rose'\n | 'roseParallel'\n | 'pie'\n | 'donut'\n | 'dualAxis'\n | 'scatter'\n | 'funnel'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\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 Rose = 'rose',\n RoseParallel = 'roseParallel',\n Pie = 'pie',\n Donut = 'donut',\n DualAxis = 'dualAxis',\n Scatter = 'scatter',\n Funnel = 'funnel',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'rose',\n 'roseParallel',\n 'pie',\n 'donut',\n 'dualAxis',\n 'scatter',\n 'funnel',\n])\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'\n\nexport const zDimension = z.object({\n id: z.string(),\n alias: z.string().optional(),\n location: z.enum(['dimension', 'rowDimension', 'columnDimension']).default('dimension').optional(),\n})\nexport const zDimensionGroup = 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\nexport type Dimension = {\n id: string\n alias?: string\n location?: 'dimension' | 'rowDimension' | 'columnDimension'\n}\n\nexport type DimensionGroup = {\n id: string\n alias?: string\n children?: (Dimension | DimensionGroup)[]\n}\n\nexport type Dimensions = Dimension[]\n\nexport type DimensionTree = (Dimension | DimensionGroup)[]\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 type { NumFormat } from './format/numFormat'\nimport { zNumFormat } from './format/numFormat'\n\nexport type Measure = {\n /**\n * @description 指标id, 不能重复\n */\n id: string\n /**\n * @description 指标别名, 允许重复, 未填写时, alias 为 id\n * @default id\n */\n alias?: string\n /**\n * @description 是否自动格式化\n * @default true\n */\n autoFormat?: boolean\n /**\n * @description 指标的数值格式化, 会自动应用于label、tooltip\n */\n format?: NumFormat\n}\nexport type MeasureGroup = {\n /**\n * @description 指标组id, 不能重复\n */\n id: string\n /**\n * @description 指标组别名, 允许重复, 未填写时, alias 为 id\n * @default id\n */\n alias?: string\n /**\n * @description 指标组的子指标或指标组\n */\n children?: (Measure | MeasureGroup)[]\n}\nexport type Measures = Measure[]\n\nexport type MeasureTree = (Measure | MeasureGroup)[]\n\nexport const zMeasure = z.object({\n id: z.string(),\n alias: z.string().optional(),\n autoFormat: z.boolean().default(true).optional(),\n format: zNumFormat.default({}).optional(),\n})\nexport const zMeasureGroup = z.object({\n id: z.string(),\n alias: z.string().optional(),\n get children() {\n return z.array(zMeasureGroup.or(zMeasure)).optional()\n },\n})\nexport const zMeasures = z.array(zMeasure)\nexport const zMeasureTree = z.array(zMeasureGroup.or(zMeasure))\n","import { z } from 'zod'\n\nexport type FoldInfo = {\n foldMap: Record<string, string | undefined>\n measureId: string\n measureName: string\n measureValue: string\n}\n\nexport type UnfoldInfo = {\n groupName: string\n groupId: string\n colorItems: string[]\n colorIdMap: Record<string, string>\n}\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n colorItems: z.array(z.string()),\n groupId: z.string(),\n colorIdMap: z.record(z.string(), z.string()),\n groupName: z.string(),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n foldInfo: zFoldInfo,\n unfoldInfo: zUnfoldInfo,\n }),\n)\n\nexport type DatasetReshapeInfo = z.infer<typeof zDatasetReshapeInfo>\n","import { z } from 'zod'\n\nexport const zEncoding = z.array(\n z.object({\n x: z.array(z.string()).optional(),\n y: z.array(z.string()).optional(),\n color: z.array(z.string()).optional(),\n group: z.array(z.string()).optional(),\n angle: z.array(z.string()).optional(),\n radius: z.array(z.string()).optional(),\n tooltip: z.array(z.string()).optional(),\n size: z.array(z.string()).optional(),\n }),\n)\n\nexport type Encoding = Array<{\n x?: string[]\n y?: string[]\n color?: string[]\n group?: string[]\n angle?: string[]\n radius?: string[]\n tooltip?: string[]\n size?: string[]\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).optional(),\n\n labelAutoHide: z.boolean().default(true).optional(),\n labelAutoHideGap: z.number().default(0).optional(),\n labelAutoRotate: z.boolean().default(true).optional(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).optional(),\n labelAutoLimit: z.boolean().default(true).optional(),\n labelAutoLimitLength: z.number().default(100).optional(),\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\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).optional(),\n\n min: z.number().optional(),\n max: z.number().optional(),\n nice: z.boolean().default(true).optional(),\n zero: z.boolean().default(true).optional(),\n log: z.boolean().default(false).optional(),\n logBase: z.number().default(10).optional(),\n inverse: z.boolean().default(false).optional(),\n\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\n})\n\nexport const zYLinearAxis = zXLinearAxis\n","import { z } from 'zod'\n\nexport const zCrosshairLine = z.object({\n visible: z.boolean().optional(),\n lineColor: z.string().optional(),\n labelColor: z.string().optional(),\n labelVisible: z.boolean().optional(),\n labelBackgroundColor: z.string().optional(),\n})\n\nexport type CrosshairLine = z.infer<typeof zCrosshairLine>\n\nexport const zCrosshairRect = z.object({\n visible: z.boolean().optional(),\n rectColor: z.string().optional(),\n labelColor: z.string().optional(),\n labelVisible: z.boolean().optional(),\n labelBackgroundColor: z.string().optional(),\n})\n\nexport type CrosshairRect = z.infer<typeof zCrosshairLine>\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').optional()\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()).optional(),\n colorMapping: z.record(z.string(), z.string()).optional(),\n})\n\nexport type Color = {\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 * 颜色映射\n * @description 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping?: Record<string, string>\n}\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).optional(),\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 * 图例边框是否开启\n * @default true\n * @example border: true\n */\n border?: boolean\n /**\n * 图例最大列数 或 图例最大行数\n * @default 1\n * @description\n * 如果图例在水平方向上, maxSize控制显示的列数\n * 如果图例在垂直方向上, maxSize控制显示的行数\n * @example maxSize: 2\n */\n maxSize?: number\n /**\n * 图例字体大小\n * @default 12\n * @example labelFontSize: 10\n */\n labelFontSize?: number\n /**\n * 图例字体颜色\n * @default '#fff'\n * @example labelFontColor: '#212121'\n */\n labelFontColor?: string\n /**\n * 图例字体粗细\n * @default 400\n * @example labelFontWeight: 400\n */\n labelFontWeight?: number | string\n /**\n * 图例形状\n * @default 'rectRound'\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 'top'\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\nexport const zLegend = z.object({\n enable: z.boolean().default(true).optional(),\n border: z.boolean().default(true).optional(),\n maxSize: z.number().default(1).optional(),\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 .optional(),\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 .optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontColor: z.string().default('#fff').optional(),\n labelFontWeight: z.number().or(z.string()).default(400).optional(),\n})\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).optional(),\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/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'\n\nexport const zLineConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zColumnConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n})\nexport const zColumnParallelConfig = zColumnConfig\nexport const zColumnPercentConfig = zColumnConfig\nexport const zBarConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n})\nexport const zBarParallelConfig = zBarConfig\nexport const zBarPercentConfig = zBarConfig\nexport const zAreaConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zAreaPercentConfig = zAreaConfig\nexport const zRoseConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zRoseParallelConfig = zRoseConfig\nexport const zPieConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zDonutConfig = zPieConfig\nexport const zDualAxisConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zScatterConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXLinearAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zFunnelConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n})\nexport const zConfig = z.object({\n table: z.object({}).optional(),\n pivotTable: z.object({}).optional(),\n\n line: zLineConfig.optional(),\n column: zColumnConfig.optional(),\n columnParallel: zColumnParallelConfig.optional(),\n columnPercent: zColumnPercentConfig.optional(),\n bar: zBarConfig.optional(),\n barParallel: zBarParallelConfig.optional(),\n barPercent: zBarPercentConfig.optional(),\n area: zAreaConfig.optional(),\n areaPercent: zAreaPercentConfig.optional(),\n\n rose: zRoseConfig.optional(),\n roseParallel: zRoseParallelConfig.optional(),\n pie: zPieConfig.optional(),\n donut: zDonutConfig.optional(),\n dualAxis: zDualAxisConfig.optional(),\n scatter: zScatterConfig.optional(),\n funnel: zFunnelConfig.optional(),\n})\n\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>\nexport type RoseConfig = z.infer<typeof zRoseConfig>\nexport type FunnelConfig = z.infer<typeof zFunnelConfig>\nexport type RoseParallelConfig = z.infer<typeof zRoseParallelConfig>\nexport type PieConfig = z.infer<typeof zPieConfig>\nexport type DonutConfig = z.infer<typeof zDonutConfig>\nexport type DualAxisConfig = z.infer<typeof zDualAxisConfig>\nexport type ScatterConfig = z.infer<typeof zScatterConfig>\n\nexport type Config = z.infer<typeof zConfig>\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 * @default 100\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 * @default '#797B85'\n */\n labelColor?: string\n /**\n * 标签字体大小\n * @default 12\n */\n labelFontSize?: number\n /**\n * 标签字体粗细\n * @default 400\n */\n labelFontWeight?: number\n /**\n * 标签旋转角度\n * @default 0\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 * @default 'rgba(54, 65, 89, 0.30)'\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 * @default 'rgba(54, 65, 89, 0.30)'\n */\n tickColor?: string\n /**\n * 刻度尺寸\n * @default 4\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 * @default ''\n */\n titleText?: string\n /**\n * 标题颜色\n * @default '#646A73'\n */\n titleColor?: string\n /**\n * 标题字体大小\n * @default 12\n */\n titleFontSize?: number\n /**\n * 标题字体粗细\n * @default 400\n */\n titleFontWeight?: number\n }\n\n /**\n * X轴网格线\n * @default false\n */\n grid?: {\n visible?: boolean\n /**\n * 网格线颜色\n * @default 'rgba(54, 65, 89, 0.15)'\n */\n gridColor?: string\n /**\n * 网格线宽度\n * @default 0.5\n */\n gridWidth?: number\n }\n}\n\nexport const zAxis = z.object({\n visible: z.boolean().default(true).optional(),\n\n min: z.number().optional(),\n max: z.number().optional(),\n nice: z.boolean().default(true).optional(),\n zero: z.boolean().default(true).optional(),\n inverse: z.boolean().default(false).optional(),\n log: z.boolean().default(false).optional(),\n logBase: z.number().default(10).optional(),\n\n labelAutoHide: z.boolean().default(true).optional(),\n labelAutoHideGap: z.number().default(4).optional(),\n labelAutoRotate: z.boolean().default(true).optional(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).optional(),\n labelAutoLimit: z.boolean().default(true).optional(),\n labelAutoLimitLength: z.number().default(100).optional(),\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\n})\n","import { z } from 'zod'\nimport { zConfig } from '../config'\n\nexport const zCustomThemeConfig = z.object({\n config: zConfig.optional(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).optional()\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\nexport type MeasureSelector = {\n field: string\n operator?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n op?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n value: string | number | Array<string | number>\n}\n\nexport type DimensionSelector = {\n field: string\n operator?: 'in' | 'not in'\n op?: 'in' | 'not in'\n value: string | number | Array<string | number>\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']).optional(),\n op: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).optional(),\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']).optional(),\n op: z.enum(['in', 'not in']).optional(),\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 * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default #000000\n */\n barColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n barColorOpacity?: number\n /**\n * 柱状图边框颜色\n * @description 柱状图边框颜色\n * @type {string}\n * @default #000000\n */\n barBorderColor?: string\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 0\n */\n barBorderWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\n * @example solid\n * @example dashed\n * @example dotted\n */\n barBorderStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 柱状图圆角\n * @description 柱状图圆角\n * @type {number | number[]}\n * @default 0\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]).optional(),\n barColor: z.string().optional(),\n barColorOpacity: z.number().optional(),\n barBorderColor: z.string().optional(),\n barBorderWidth: z.number().optional(),\n barBorderStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n barRadius: z.union([z.number(), z.array(z.number())]).optional(),\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 * 点大小\n * @description 点大小\n * @type {number}\n * @default 10\n */\n pointSize?: number\n /**\n * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default #000000\n */\n pointColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n pointColorOpacity?: number\n /**\n * 柱状图边框颜色\n * @description 柱状图边框颜色\n * @type {string}\n * @default #000000\n */\n pointBorderColor?: string\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 0\n */\n pointBorderWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\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]).optional(),\n pointSize: z.number().optional(),\n pointColor: z.string().optional(),\n pointColorOpacity: z.number().optional(),\n pointBorderColor: z.string().optional(),\n pointBorderWidth: z.number().optional(),\n pointBorderStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).optional(),\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 * 折线图是否平滑\n * @description 折线图是否平滑\n * @type {boolean}\n * @default true\n */\n lineSmooth?: boolean\n\n /**\n * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default {undefined} follow series color\n */\n lineColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n lineColorOpacity?: number\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 1\n */\n lineWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\n * @example solid\n * @example dashed\n * @example dotted\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zLineStyle = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n lineSmooth: z.boolean().default(true).optional(),\n lineColor: z.string().optional(),\n lineColorOpacity: z.number().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).optional(),\n})\n","import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type AreaStyle = {\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 * 面积图元的颜色\n * @description 面积图元的颜色\n * @type {string}\n * @default {undefined} follow series color\n */\n areaColor?: string\n /**\n * 面积图元的颜色透明度\n * @description 面积图元的颜色透明度\n * @type {number}\n * @default 1\n */\n areaColorOpacity?: number\n}\n\nexport const zAreaStyle = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n areaColor: z.string().optional(),\n areaColorOpacity: z.number().optional(),\n})\n","import { z } from 'zod'\nimport { zBarStyle } from './barStyle'\nimport { zPointStyle } from './pointStyle'\nimport { zLineStyle } from './lineStyle'\nimport { zAreaStyle } from './areaStyle'\n\nexport const zMarkStyle = z.object({\n barStyle: zBarStyle.or(z.array(zBarStyle)).optional(),\n pointStyle: zPointStyle.or(z.array(zPointStyle)).optional(),\n lineStyle: zLineStyle.or(z.array(zLineStyle)).optional(),\n areaStyle: zAreaStyle.or(z.array(zAreaStyle)).optional(),\n})\n\nexport type MarkStyle = z.infer<typeof zMarkStyle>\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationPoint = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector: Selector | Selectors\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'middle'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationPoint = z.object({\n selector: z.union([zSelector, zSelectors]),\n text: z.string().or(z.array(z.string())).optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n offsetY: z.number().default(0).optional(),\n offsetX: z.number().default(0).optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationVerticalLine = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector?: Selector | Selectors\n /**\n * 固定的x值, 用于标注垂直线\n * @description 类目轴在x方向, 则可输入维值, 数值轴在x方向, 则可输入具体的数值\n * @default []\n */\n xValue?: (number | string) | (number | string)[]\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本位置\n * @description 标注线的标签位置(标签相对线的相对位置)。\n * @default 'insideEnd'\n * @example 'outsideEnd'\n */\n textPosition?: 'outsideStart' | 'outsideEnd' | 'outsideMiddle' | 'insideStart' | 'insideMiddle' | 'insideEnd'\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'right'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'top'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 线可见\n * @description 线可见\n * @default true\n * @example true\n */\n lineVisible?: boolean\n /**\n * 线颜色\n * @description 线颜色\n * @default 'red'\n * @example 'red'\n */\n lineColor?: string\n /**\n * 线宽度\n * @description 线宽度\n * @default 2\n * @example 2\n */\n lineWidth?: number\n /**\n * 线样式\n * @description 线样式\n * @default 'solid'\n * @example 'solid'\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationVerticalLine = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n xValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').optional(),\n lineVisible: z.boolean().optional(),\n lineColor: z.string().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationHorizontalLine = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector?: Selector | Selectors\n /**\n * 固定的y值, 用于标注水平线\n * @description 类目轴在y方向, 则可输入维值, 数值轴在y方向, 则可输入具体的数值\n * @default []\n */\n yValue?: (number | string) | (number | string)[]\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本位置\n * @description 标注线的标签位置(标签相对线的相对位置)。\n * @default 'insideEnd'\n * @example 'outsideEnd'\n */\n textPosition?: 'outsideStart' | 'outsideEnd' | 'outsideMiddle' | 'insideStart' | 'insideMiddle' | 'insideEnd'\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'center'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'bottom'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 线可见\n * @description 线可见\n * @default true\n * @example true\n */\n lineVisible?: boolean\n /**\n * 线颜色\n * @description 线颜色\n * @default 'red'\n * @example 'red'\n */\n lineColor?: string\n /**\n * 线宽度\n * @description 线宽度\n * @default 2\n * @example 2\n */\n lineWidth?: number\n /**\n * 线样式\n * @description 线样式\n * @default 'solid'\n * @example 'solid'\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationHorizontalLine = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n yValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideMiddle')\n .optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('bottom').optional(),\n lineVisible: z.boolean().optional(),\n lineColor: z.string().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationArea = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector: Selector | Selectors\n\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n\n /**\n * 文本位置\n * @description 文本位置\n * @default 'top'\n * @example 'top'\n */\n textPosition?: 'top' | 'topRight' | 'topLeft' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'right'\n\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'middle'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n\n /**\n * 面积区域颜色\n * @description 面积区域颜色\n * @default 'red'\n * @example 'red'\n */\n areaColor?: string\n /**\n * 面积区域颜色透明度\n * @description 面积区域颜色透明度\n * @default 0.5\n * @example 0.5\n */\n areaColorOpacity?: number\n /**\n * 面积区域边框颜色\n * @description 面积区域边框颜色\n * @default 'red'\n * @example 'red'\n */\n areaBorderColor?: number\n /**\n * 面积区域边框宽度\n * @description 面积区域边框宽度\n * @default 2\n * @example 2\n */\n areaBorderWidth?: number\n /**\n * 面积区域边框圆角\n * @description 面积区域边框圆角\n * @default 4\n * @example 4\n */\n areaBorderRadius?: number\n /**\n * 面积区域的边距\n * @description 面积区域的边距\n * @default 8\n * @example 0\n */\n outerPadding?: number\n}\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 .optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').optional(),\n\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n\n areaColor: z.string().default('red').optional(),\n areaColorOpacity: z.number().default(0.5).optional(),\n areaBorderColor: z.number().optional(),\n areaBorderWidth: z.number().default(2).optional(),\n areaBorderRadius: z.number().default(4).optional(),\n\n outerPadding: z.number().optional(),\n})\n","import { z } from 'zod'\nimport { zAnnotationPoint } from './annotationPoint'\nimport { zAnnotationVerticalLine } from './annotationVerticalLine'\nimport { zAnnotationHorizontalLine } from './annotationHorizontalLine'\nimport { zAnnotationArea } from './annotationArea'\n\nexport const zAnnotation = z.object({\n annotationPoint: zAnnotationPoint.or(z.array(zAnnotationPoint)).optional(),\n annotationVerticalLine: zAnnotationVerticalLine.or(z.array(zAnnotationVerticalLine)).optional(),\n annotationHorizontalLine: zAnnotationHorizontalLine.or(z.array(zAnnotationHorizontalLine)).optional(),\n annotationArea: zAnnotationArea.or(z.array(zAnnotationArea)).optional(),\n})\n\nexport type Annotation = z.infer<typeof zAnnotation>\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, type Locale } from '../../i18n'\nimport type { DimensionTree, MeasureTree } from '../../properties'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zMeasureTree,\n zTheme,\n type BackgroundColor,\n type Dataset,\n type Theme,\n} from '../../properties'\n\n/**\n * 表格类型定义\n * @description 表格,适用于详细数据展示场景,行列分明,便于查看具体数值\n * 适用场景:\n * - 需要展示详细数据明细\n * - 数据项需要精确比对\n * - 展示多维度数据属性\n * 数据要求:\n * - 至少1个维度字段\n * - 至少1个度量字段\n * - 维度字段会作为表格的列标题\n * 默认开启的功能:\n * - 默认开启排序、筛选、分页功能\n */\nexport interface Table {\n /**\n * 表格\n * @description 标准表格组件,用于展示详细数据\n * @type {'table'}\n * @example 'table'\n */\n chartType: 'table'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, 一个字段对应一列, 一个记录对应一行\n * @type {Array<Record<string|number, any>>}\n * @example [{id: 1, name: \"A\", value: 100}, {id: 2, name: \"B\", value: 200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 表格的每个维度会对应一列\n * @type {Dimensions}\n * @example [{id: \"name\", alias: \"名称\"}]\n */\n dimensions?: DimensionTree\n\n /**\n * 指标\n * @description 表格的每个指标会对应一行, 并且天生支持指标组合.\n * @type {Measures}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zTable = z.object({\n chartType: z.literal('table'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zMeasureTree,\n zTheme,\n type DimensionTree,\n type BackgroundColor,\n type Dataset,\n type Dimensions,\n type Theme,\n zMeasures,\n} from '../../properties'\n\n/**\n * 透视表类型定义\n * @description 透视表,适用于多维度数据交叉分析场景,可灵活配置行、列维度和指标计算方式\n * 适用场景:\n * - 复杂多维数据统计分析\n * - 数据钻取与聚合展示\n * - 业务报表生成与数据探索\n * 数据要求:\n * - 至少1个行维度 或 1个列维度 或 1个指标\n * - 数据必须已聚合\n * - 数据可被分组\n * 默认开启的功能:\n * - 默认开启行列排序、数据筛选、聚合计算、小计/总计\n */\nexport interface PivotTable {\n /**\n * 透视表\n * @description 透视表,适用于多维度数据交叉分析场景\n * @type {'pivotTable'}\n * @example 'pivotTable'\n */\n chartType: 'pivotTable'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 透视表的数据最终会被转换对应的树形结构, 用户无需手动进行数据处理.\n * @type {Array<Record<string|number, any>>}\n * @example [{region:'华东', product:'A', sales:1000}, {region:'华东', product:'B', sales:1500}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 透视表的行维度和列维度,会自动对数据进行处理为树形结构, 并映射到行和列轴, 可以通过 location : \"rowDimension\" | \"columnDimension\" 来控制一维度的映射位置\n * @type {Dimensions}\n * @example [{id: 'region', alias: '地区', isRow: true}, {id: 'product', alias: '产品', isColumn: true}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 透视表支持多个维度指标\n * @type {Measures}\n * @example [{id: 'sales', alias: '销售额', aggregation: 'sum'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasures.optional(),\n backgroundColor: zBackgroundColor.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n DimensionTree,\n PointStyle,\n Theme,\n Tooltip,\n CrosshairLine,\n XBandAxis,\n YLinearAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 折线图类型定义\n * @description 折线图,适用于展示数据随时间或有序类别变化的趋势,通过线段连接数据点形成趋势线\n * 适用场景:\n * - 展示时间序列数据的变化趋势\n * - 比较多个数据系列的趋势对比\n * - 分析数据的增长或下降规律\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据点标记、提示信息、趋势线\n */\nexport interface Line {\n /**\n * 折线图\n * @description 折线图,适用于展示数据随时间或有序类别变化的趋势\n * @type {'line'}\n * @example 'line'\n */\n chartType: 'line'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 折线图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 折线图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"month\", alias: \"月份\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 折线图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zLine = z.object({\n chartType: z.literal('line'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 柱状图类型定义\n * @description 柱状图,适用于纵向数据对比场景,X轴为类目轴(分类数据),Y轴为数值轴(连续数据),柱子纵向排列\n * 适用场景:\n * - 数据项名称较短时\n * - 需要直观比较不同类别的数值大小\n * - 展示时间序列数据变化趋势\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface Column {\n /**\n * 柱状图\n * @description 柱状图,适用于纵向数据对比场景,X轴为类目轴(分类数据),Y轴为数值轴(连续数据),柱子纵向排列\n * @type {'column'}\n * @example 'column'\n */\n chartType: 'column'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:100}, {category:'B', value:200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 柱状图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"category\", alias: \"类别\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 柱状图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumn = z.object({\n chartType: z.literal('column'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 并列柱状图类型定义\n * @description 并列柱状图,适用于多指标并行对比场景,多个柱子并列排列展示不同指标值\n * 适用场景:\n * - 同一维度下多指标并行对比\n * - 多维度数据的横向比较\n * - 指标间关联性分析\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息、指标排序\n */\nexport interface ColumnParallel {\n /**\n * 并列柱状图\n * @description 并列柱状图,适用于多指标并行对比场景\n * @type {'columnParallel'}\n * @example 'columnParallel'\n */\n chartType: 'columnParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 并列柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value1:100, value2:200}, {category:'B', value1:150, value2:250}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 并列柱状图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value1', alias: '指标1'}, {id: 'value2', alias: '指标2'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumnParallel = z.object({\n chartType: z.literal('columnParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 百分比柱状图类型定义\n * @description 百分比柱状图,适用于展示各类别占比关系的场景,Y轴以百分比形式展示数据占比\n * 适用场景:\n * - 不同类别数据的占比对比\n * - 多维度数据的构成分析\n * - 时间序列的占比变化趋势\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface ColumnPercent {\n /**\n * 百分比柱状图\n * @description 百分比柱状图,以百分比形式展示各类别数据占比关系\n * @type {'columnPercent'}\n * @example 'columnPercent'\n */\n chartType: 'columnPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 百分比柱状图指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumnPercent = z.object({\n chartType: z.literal('columnPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { zLocale, type Locale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport {\n type AnnotationArea,\n type AnnotationHorizontalLine,\n type AnnotationPoint,\n type AnnotationVerticalLine,\n type BackgroundColor,\n type BarStyle,\n type Color,\n type CrosshairRect,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type DimensionTree,\n type StackCornerRadius,\n type Theme,\n type Tooltip,\n type XLinearAxis,\n type YBandAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 条形图类型定义\n * @description 条形图,适用于横向数据对比场景,Y轴为类目轴(分类数据),X轴为数值轴(连续数据),柱子横向排列\n * 适用场景:\n * - 数据项名称较长时\n * - 需要展示数据排名对比\n * - 展示正负双向数据\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface Bar {\n /**\n * 条形图\n * @description 条形图,适用于横向数据对比场景,Y轴为类目轴(分类数据),X轴为数值轴(连续数据),柱子横向排列\n * @type {'bar'}\n * @example 'bar'\n */\n chartType: 'bar'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{date:'2020-01-01', value:100}, {date:'2020-01-02', value:200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: \"date\", alias: \"日期\"}, {id: \"value\", alias: \"数值\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 条形图指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBar = z.object({\n chartType: z.literal('bar'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XLinearAxis,\n YBandAxis,\n} from '../../properties'\n\n/**\n * 并列条形图类型定义\n * @description 并列条形图,适用于多指标横向并行对比场景,多个条形平行排列展示不同指标值\n * 适用场景:\n * - 类别名称较长时的多指标对比\n * - 排名与数值同时展示的横向比较\n * - 多维度数据的并列分析\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface BarParallel {\n /**\n * 并列条形图\n * @description 并列条形图,适用于多指标横向并行对比场景\n * @type {'barParallel'}\n * @example 'barParallel'\n */\n chartType: 'barParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 并列条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value1:100, value2:200}, {category:'B', value1:150, value2:250}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 并列条形图指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value1', alias: '指标1'}, {id: 'value2', alias: '指标2'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBarParallel = z.object({\n chartType: z.literal('barParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XLinearAxis,\n YBandAxis,\n} from '../../properties'\n\n/**\n * 百分比条形图类型定义\n * @description 百分比条形图,适用于横向展示各类别占比关系的场景,X轴以百分比形式展示数据占比\n * 适用场景:\n * - 类别名称较长时的占比对比\n * - 多维度数据的横向构成分析\n * - 排名与占比同时展示的场景\n * 数据要求:\n * - 至少1个维度字段和1个度量字段\n * - 所有类别占比之和为100%\n * - 支持多系列堆叠展示占比关系\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface BarPercent {\n /**\n * 百分比条形图\n * @description 百分比条形图,以横向百分比形式展示各类别数据占比关系\n * @type {'barPercent'}\n * @example 'barPercent'\n */\n chartType: 'barPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBarPercent = z.object({\n chartType: z.literal('barPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n AreaStyle,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n PointStyle,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n CrosshairLine,\n DimensionTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 面积图类型定义\n * @description 面积图, 适用于展示数据随时间变化的趋势及累积关系, 通过填充区域增强数据对比. X轴为类目轴(分类数据), Y轴为数值轴(连续数据).\n * 适用场景:\n * - 展示单一数据系列的趋势变化\n * - 强调总量随时间的累积效果\n * - 对比多个数据系列的总量差异\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度字段映射到X轴,其余维度字段会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 模块开启堆叠\n * - 默认开启图例、坐标轴、区域填充、数据标签、提示信息\n */\nexport interface Area {\n /**\n * 面积图\n * @description 面积图,展示数据趋势及累积关系的图表类型\n * @type {'area'}\n * @example 'area'\n */\n chartType: 'area'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 面积图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 面积图元样式\n * @description 面积图元样式配置, 用于定义图表的面积图元样式, 包括面积图元的颜色, 透明度, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n areaStyle?: AreaStyle | AreaStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zArea = z.object({\n chartType: z.literal('area'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n areaStyle: zAreaStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n AreaStyle,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n DimensionTree,\n PointStyle,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n CrosshairLine,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 百分比面积图类型定义\n * @description 百分比面积图,适用于展示多类别占比随时间变化的趋势,Y轴以百分比形式展示占比关系\n * 适用场景:\n * - 时间序列的构成变化分析\n * - 多类别占比趋势对比\n * - 累积占比与单一类别占比同时展示\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface AreaPercent {\n /**\n * 百分比面积图\n * @description 百分比面积图,以百分比形式展示多类别占比随某个维度的变化\n * @type {'areaPercent'}\n * @example 'areaPercent'\n */\n chartType: 'areaPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比面积图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', category:'A', value:30}, {month:'1月', category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 百分比面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 面积图元样式\n * @description 面积图元样式配置, 用于定义图表的面积图元样式, 包括面积图元的颜色, 透明度, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n areaStyle?: AreaStyle | AreaStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zAreaPercent = z.object({\n chartType: z.literal('areaPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n areaStyle: zAreaStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n type BackgroundColor,\n type Color,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type Measures,\n type Theme,\n type Tooltip,\n} from '../../properties'\n\n/**\n * 堆叠玫瑰图类型定义\n * @description 堆叠玫瑰图,适用于多维度数据对比场景,通过极坐标系下的扇形弧度和半径展示数据大小\n * 适用场景:\n * - 多维度数据的分布对比\n * - 周期性数据的强弱比较\n * - 分类数据的数值与占比同时展示\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、极坐标系、数据标签、提示信息、数值缩放\n */\nexport interface Rose {\n /**\n * 堆叠玫瑰图\n * @description 堆叠玫瑰图,通过极坐标系展示多维度数据对比关系\n * @type {'rose'}\n * @example 'rose'\n */\n chartType: 'rose'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 玫瑰图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 玫瑰图的第一个维度被映射到角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 玫瑰图的指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {Measures}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: Measures\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zRose = z.object({\n chartType: z.literal('rose'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n type BackgroundColor,\n type Color,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type Measures,\n type Theme,\n type Tooltip,\n} from '../../properties'\n\n/**\n * 分组玫瑰图类型定义\n * @description 分组玫瑰图,适用于多维度数据对比场景,通过极坐标系下的扇形弧度和半径展示数据大小\n * 适用场景:\n * - 多维度数据的分布对比\n * - 周期性数据的强弱比较\n * - 分类数据的数值与占比同时展示\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、极坐标系、数据标签、提示信息、数值缩放\n */\nexport interface RoseParallel {\n /**\n * 分组玫瑰图\n * @description 分组玫瑰图,通过极坐标系展示多维度数据对比关系\n * @type {'roseParallel'}\n * @example 'roseParallel'\n */\n chartType: 'roseParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 玫瑰图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 玫瑰图的第一个维度被映射到角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 玫瑰图的指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {Measures}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: Measures\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zRoseParallel = z.object({\n chartType: z.literal('roseParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n Theme,\n Tooltip,\n} from '../../properties'\n\n/**\n * 饼图类型定义\n * @description 饼图,适用于展示单一维度数据的占比关系,通过扇形面积大小表示各类别占比\n * 适用场景:\n * - 展示分类数据的占比分布\n * - 强调数据的整体与部分关系\n * - 类别数量较少(建议不超过6个)的占比分析\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 所有维度会与指标名称(存在多个指标时)合并成一个维度, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算\n */\nexport interface Pie {\n /**\n * 饼图\n * @description 饼图,展示单一维度数据的占比关系\n * @type {'pie'}\n * @example 'pie'\n */\n chartType: 'pie'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 饼图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 饼图的所有维度会与指标名称(存在多个指标时)合并成一个维度, 映射到角度, 并作为图例项展示\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 饼图的所有指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zPie = z.object({\n chartType: z.literal('pie'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n Theme,\n Tooltip,\n} from '../../properties'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n/**\n * 环形图类型定义\n * @description 环形图,适用于展示单一维度数据的占比关系,中心留有空白区域可展示汇总信息\n * 适用场景:\n * - 需要同时展示整体数据和各部分占比\n * - 强调数据的整体与部分关系\n * - 中心区域需要展示关键指标或标题\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 所有维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算、中心文本\n */\nexport interface Donut {\n /**\n * 环形图\n * @description 环形图,中心留有空白区域的饼图变体\n * @type {'donut'}\n * @example 'donut'\n */\n chartType: 'donut'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 环形图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 环形图的所有维度会与指标名称(存在多个指标时)合并成1个维度, 映射到饼图的角度, 并作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 环形图的所有指标会自动合并为一个指标, 映射到饼图的半径, 存在多个指标时, 指标名称会与其余维度合并, 并作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zDonut = z.object({\n chartType: z.literal('donut'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n PointStyle,\n Theme,\n Tooltip,\n CrosshairLine,\n YLinearAxis,\n XLinearAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 散点图类型定义\n * @description 散点图,适用于展示数据的分布情况,通过点的位置表示数据的数值\n * 适用场景:\n * - 分析数据的分布特征, 如数据的中心趋势, 分布范围, 异常值等\n * 数据要求:\n * - 至少2个数值字段(度量)\n * - 第一个指标字段会放至X轴, 其余指标会进行合并, 映射至Y轴\n * - 指标名称和维度名称会合并, 作为图例项展示\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据点标记、提示信息、趋势线\n */\nexport interface Scatter {\n /**\n * 散点图\n * @description 散点图,适用于展示数据的分布情况,通过点的位置表示数据的数值\n * @type {'scatter'}\n * @example 'scatter'\n */\n chartType: 'scatter'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 折线图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 散点图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"month\", alias: \"月份\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 散点图的第一个指标字段会放至X轴, 其余指标会进行合并, 映射至Y轴\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zScatter = z.object({\n chartType: z.literal('scatter'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n Theme,\n Tooltip,\n} from '../../properties'\n\n/**\n * 漏斗图\n * @description 漏斗图,用于展示单一维度数据的占比关系\n * 适用场景:\n * 漏斗图适用场景:\n * - 适合用来分析具有多个连续、规范化步骤的流程,并清晰地展示在每个环节的数据流失或转化情况\n * 数据要求:\n * - 至少1个数值字段(指标)\n * - 所有维度会与指标名称(存在多个指标时)合并成一个维度, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算\n */\nexport interface Funnel {\n /**\n * 漏斗图\n * @description 漏斗图,展示单一维度数据的占比关系\n * @type {'funnel'}\n * @example 'funnel'\n */\n chartType: 'funnel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 饼图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 漏斗图的所有维度会与指标名称(存在多个指标时)合并成一个维度,并作为图例项展示\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 漏斗图的所有指标会自动合并为一个指标, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: DimensionTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zFunnel = z.object({\n chartType: z.literal('funnel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\n\nimport { zBar, type Bar } from './chartType/bar'\nimport { zBarParallel, type BarParallel } from './chartType/barParallel'\nimport { zColumn, type Column } from './chartType/column'\nimport { zColumnParallel, type ColumnParallel } from './chartType/columnParallel'\nimport { zColumnPercent, type ColumnPercent } from './chartType/columnPercent'\nimport { zLine, type Line } from './chartType/line'\nimport type { Table } from './chartType/table'\nimport { zRose, type Rose } from './chartType/rose'\nimport { zBarPercent, type BarPercent } from './chartType/barPercent'\nimport type { PivotTable } from './chartType/pivotTable'\nimport { zPie, type Pie } from './chartType/pie'\nimport { zDonut, type Donut } from './chartType/donut'\nimport type { DualAxis } from './chartType/dualAxis'\nimport { zArea, type Area } from './chartType/area'\nimport { zAreaPercent, type AreaPercent } from './chartType/areaPercent'\nimport {\n zFunnel,\n zPivotTable,\n zRoseParallel,\n zScatter,\n zTable,\n type Funnel,\n type RoseParallel,\n type Scatter,\n} from './chartType'\n\nexport type VSeed =\n | Table\n | PivotTable\n | Line\n | Column\n | ColumnParallel\n | ColumnPercent\n | Bar\n | BarParallel\n | BarPercent\n | Area\n | AreaPercent\n | Rose\n | RoseParallel\n | Pie\n | Donut\n | Scatter\n | Funnel\n | DualAxis\n\nexport const zVSeed = z.discriminatedUnion('chartType', [\n zTable,\n zPivotTable,\n\n zLine,\n zColumn,\n zColumnParallel,\n zColumnPercent,\n zBar,\n zBarParallel,\n zBarPercent,\n zArea,\n zAreaPercent,\n zPie,\n zRose,\n zRoseParallel,\n // zDualAxis,\n zScatter,\n zDonut,\n zFunnel,\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/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig } from './properties/config'\nimport { 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 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","initAdvancedVSeed","advancedVSeed","context","vseed","chartType","locale","execPipeline","pipeline","initialValue","result","prev","cur","isTable","isPivotTable","isVTable","isVChart","isPivotChart","measures","dimensions","hasRowOrColumnDimension","dimension","hasMeasureGroup","measure","r","Number","e","Intl","translateMap","value","segments","values","text","segment","index","translatedText","isNullish","console","intl","i18n","createNumFormatter","format","type","ratio","symbol","thousandSeparator","prefix","suffix","fractionDigits","significantDigits","roundingMode","roundingPriority","numFormatterOptions","isNumber","numFormatter","num","typeSymbol","numStr","parts","autoNumFormatter","String","createFormatter","autoFormatter","preorderTraverse","tree","callback","stack","node","stop","children","i","child","findMeasureById","id","findFirstMeasure","findAllMeasures","findDimensionById","findFirstDimension","findAllDimensions","autoMeasures","dataset","Error","autoMeasureGroup","top100dataset","sample","item","undefined","newMeasures","currentGroup","createEmptyMeasureGroup","measureGroups","autoDimensions","dim","FoldMeasureName","FoldMeasureValue","FoldMeasureId","UnfoldDimensionGroup","UnfoldDimensionGroupId","Separator","ORIGINAL_DATA","C","t","o","n","u","p","B","l","a","s","Set","unfoldDimensions","unfoldStartIndex","unfoldGroupName","unfoldGroupId","foldMeasureId","dimensionsSeparator","dimensionsToBeUnfolded","unfoldInfo","colorItems","colorMap","datum","colorName","generateDimGroupName","colorId","unique","dimensionsToBeGrouped","m","foldMeasures","measureId","measureName","measureValue","foldInfo","Array","ids","d","j","omit","alias","emptyReshapeResult","dataReshapeFor2D1M","options","foldMeasureName","foldMeasureValue","unfoldDimensionGroup","unfoldDimensionGroupId","foldedDataset","finalDataset","onlyOneMeasure","onlyOneDimension","dims","dataReshapeFor1D1M","dataReshapeFor1D2M","reshapeTo2D1M","newDatasets","reshapeTo1D1M","reshapeTo1D2M","pivotReshapeTo1D1M","datasetReshapeInfo","measureGroup","commonDimensions","groupId","newSubDataset","reshapeInfo","pivotReshapeTo1D2M","pivotReshapeTo2D1M","encodingXY","isZeroDimension","encoding","x","y","group","color","encodingYX","encodingYY","firstMeasure","encodingRose","is1D1M","radius","angle","encodingPie","encodingFunnel","size","lineConfig","config","pick","columnConfig","pieConfig","areaConfig","areaPercentConfig","scatterConfig","barConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","roseConfig","roseParallelConfig","funnelConfig","D","c","structuredClone","theme","customTheme","chartConfigTheme","chartConfig","mergedConfig","mergeDeep","clone","chartCustomTheme","pivotAdapter","pivotPipeline","usePivotChart","markStyle","annotation","lineAdvancedPipeline","barAdvancedPipeline","barParallelAdvancedPipeline","barPercentAdvancedPipeline","columnAdvancedPipeline","columnParallelAdvancedPipeline","columnPercentAdvancedPipeline","areaAdvancedPipeline","areaPercentAdvancedPipeline","pieAdvancedPipeline","donutAdvancedPipeline","roseAdvancedPipeline","roseParallelAdvancedPipeline","funnelAdvancedPipeline","scatterAdvancedPipeline","autoPivotDimensions","newDimensions","autoPivotMeasures","records","pivotTableAdvancedPipeline","tableAdvancedPipeline","spec","fields","datasetPivot","pre","datasetPivotPlaceholder","initColumn","initBar","initBarParallel","initArea","initLine","initColumnParallel","initPie","initDonut","initRose","hasNegativeValue","initRoseParallel","initPivot","initFunnel","initScatter","xBand","visible","label","tick","title","grid","line","labelAutoHide","labelAutoHideGap","labelAutoLimit","labelAutoLimitLength","labelAutoRotate","labelAutoRotateAngleRange","sampling","bandAxis","ANNOTATION_Z_INDEX","LINEAR_AXIS_INNER_OFFSET_TOP","xLinear","zero","nice","inverse","max","min","log","logBase","linearAxis","yBand","yLinear","radiusAxis","is0D","is1M1D","showAxis","angleAxis","percent","stackInverse","stackCornerRadius","backgroundColor","baseConfig","tooltip","enable","groupName","autoFormat","isEmpty","formatter","formatValue","discreteLegend","legend","position","labelFontColor","labelFontSize","labelFontWeight","maxSize","border","shapeType","orient","legendPosition","items","pivotDiscreteLegend","colorIdMap","colorScheme","legends","colorMapping","mappingList","b","idMap","_","v","pivotIndicators","chartPipeline","indicators","newEncoding","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","pivotGridStyle","transparent","hoverBackgroundColor","pivotColumnDimensions","columnDimensions","columns","pivotRowDimensions","rowDimensions","rows","selector","vchartDatum","vchartKeys","k","selectors","isValueSelector","isMeasureSelector","op","selectorValueArr","isDimensionSelector","isPartialDatumSelector","barStyle","barStyles","customMap","style","barBorderColor","barBorderStyle","barBorderWidth","barColor","barColorOpacity","barRadius","lineDash","pointStyle","pointStyles","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointStateDimensionHover","point","pointStateHover","field","lineStyle","lineStyles","lineGroups","groupBy","lineColor","lineColorOpacity","lineSmooth","lineWidth","dashSegment","dashGap","curveType","lineData","areaStyle","areaStyles","areaColor","areaColorOpacity","isSubset","sub","annotationPoint","annotationPointList","markPoint","selectorPoint","textColor","textFontSize","textFontWeight","textAlign","textBaseline","backgroundBorderColor","backgroundBorderRadius","backgroundBorderWidth","backgroundPadding","backgroundVisible","offsetX","offsetY","selectedData","data","targetDatum","annotationVerticalLine","annotationVerticalLineList","positionMap","markLine","xValue","textPosition","lineVisible","generateOneMarkLine","isArray","isString","xValueArr","specMarkLine","newMarkLine","annotationHorizontalLine","yValue","yValueArr","annotationArea","annotationAreaList","markArea","outerPadding","areaBorderColor","areaBorderRadius","areaBorderWidth","positionData","xyList","yAxisHelper","xAxisHelper","yScale","minX","Math","maxX","minY","maxY","xScale","annotationAreaBand","depth","xBandWidth","yBandWidth","verticalCrosshairLine","labelColor","labelVisible","labelBackgroundColor","crosshair","verticalCrosshairRect","rectColor","horizontalCrosshairRect","horizontalCrosshairLine","pivotLine","lineSpecPipeline","column","pivotColumn","columnSpecPipeline","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","bar","pivotBar","barSpecPipeline","barParallel","pivotBarParallel","barParallelSpecPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","area","pivotArea","areaSpecPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","pie","pivotPie","pieSpecPipeline","donut","pivotDonut","donutSpecPipeline","rose","pivotRose","roseSpecPipeline","roseParallel","pivotRoseParallel","roseParallelSpecPipeline","funnel","pivotFunnel","funnelSpecPipeline","scatter","pivotScatter","scatterSpecPipeline","initTable","measureTreeToColumns","treeTreeToColumns","dimensionTreeToColumns","tableSpecPipeline","initPivotTable","pivotColumns","pivotRows","pivotTableSpecPipeline","buildAdvanced","builder","buildSpec","build","getColorItems","Builder","advanced","themeKey","registerColumn","registerBar","registerLine","registerArea","registerAreaPercent","registerBarPercent","registerColumnPercent","registerColumnParallel","registerBarParallel","registerPie","registerDonut","registerRose","registerRoseParallel","registerFunnel","registerScatter","registerTable","registerPivotTable","lightTheme","barBandAxis","crosshairLine","crosshairRect","darkTheme","registerCustomTheme","themeConfig","registerLightTheme","registerDarkTheme","registerAll","$constructor","name","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","args","hhmm","regex","datetime","time","opts","timeRegex","string","integer","number","_undefined","lowercase","uppercase","getEnumValues","entries","numericValues","jsonStringifyReplacer","cached","getter","set","nullish","input","cleanRegex","source","start","end","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","merge","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","Date","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","zDatum","zDataset","zDimension","zDimensionGroup","zDimensions","zDimensionTree","zNumFormat","zMeasure","zMeasureGroup","zMeasures","zMeasureTree","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zXBandAxis","zYBandAxis","zXLinearAxis","zYLinearAxis","zCrosshairLine","zCrosshairRect","zStackCornerRadius","zBackgroundColor","zColor","zLabel","zLegend","zTooltip","zLineConfig","zColumnConfig","zColumnParallelConfig","zColumnPercentConfig","zBarConfig","zBarParallelConfig","zBarPercentConfig","zAreaConfig","zAreaPercentConfig","zRoseConfig","zRoseParallelConfig","zPieConfig","zDonutConfig","zDualAxisConfig","zScatterConfig","zFunnelConfig","zConfig","zAxis","zCustomThemeConfig","zCustomTheme","zTheme","zSelector","zSelectors","zBarStyle","zPointStyle","zLineStyle","zAreaStyle","zMarkStyle","zAnnotationPoint","zAnnotationVerticalLine","zAnnotationHorizontalLine","zAnnotationArea","zAnnotation","zLocale","zTable","zPivotTable","zLine","zColumn","zColumnParallel","zColumnPercent","zBar","zBarParallel","zBarPercent","zArea","zAreaPercent","zRose","zRoseParallel","zPie","zDonut","zScatter","zFunnel","zVSeed","zAdvancedVSeed"],"mappings":"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B,YAA0B;YAC9B9M;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd7E;gBACA1E;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAQ;gBACAI;gBACAkB;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMmJ,mBAAiC;YAACzP,0BAAamD,WAAMqM;SAAW;QChD7E,MAAME,SAAuB;YAC3B3N;YACAiD;YACAD;YACAtH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACAiK;YACA1J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMgB,cAA4B;YAChCjN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdjF;gBACAiD;gBACAD;gBACAtH;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMsJ,qBAAqB;YAAC5P,0BAAa0P,QAAQC;SAAa;QCjDrE,MAAME,iBAA+B;YACnCzN;YACA4C;YACAvH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACAO;YACA0J;YACAvG;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMmB,sBAAoC;YACxCpN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd5E;gBACA4C;gBACAvH;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMyJ,6BAA2C;YAAC/P,0BAAa6P,gBAAgBC;SAAqB;QC5C3G,MAAME,gBAA8B;YAClCjO;YACAiD;YACAD;YACAtH;YACAwH;YACAH;YACAjN;YACAgL;YACA2B;YACAzB;YACAoC;YACAiK;YACA1J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMsB,qBAAmC;YACvCvN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdjF;gBACAiD;gBACAD;gBACAtH;gBACAqH;gBACAG;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAM4J,4BAA0C;YAAClQ,0BAAagQ,eAAeC;SAAoB;QCpDxG,MAAME,MAAoB;YACxBnO;YACAgD;YACAvH;YACAwH;YACApN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMyB,WAAyB;YAC7B1N;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACdhF;gBACAgD;gBACAvH;gBACAwH;gBACAnD;gBACAyC;gBACAxB;gBACAA;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAM+J,kBAAgC;YAACrQ,0BAAamQ,KAAKC;SAAU;QC9C1E,MAAME,cAA4B;YAChCrO;YACA+C;YACAvH;YACAwH;YACApN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAM4B,mBAAiC;YACrC7N;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACd/E;gBACA+C;gBACAvH;gBACAwH;gBACAnD;gBACAyC;gBACAT;gBACAf;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMkK,0BAAwC;YAACxQ,0BAAasQ,aAAaC;SAAkB;QC7ClG,MAAME,aAA2B;YAC/BzO;YACAgD;YACAvH;YACAwH;YACAH;YACAjN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAM+B,kBAAgC;YACpChO;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACdhF;gBACAgD;gBACAvH;gBACAwH;gBACAH;gBACAhD;gBACAyC;gBACAT;gBACAf;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMqK,yBAAuC;YAAC3Q,0BAAayQ,YAAYC;SAAiB;QC9C/F,MAAME,YAAqB;YACzB1O;YACA6C;YACAtH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACA4J;YACArJ;YACA8D;YACAQ;YACAI;YACAY;YACAM;YACAmB;YACAa;YACAG;SACD;QAED,MAAMoD,YAA0B;YAC9BnO;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd9E;gBACAzE;gBACAwH;gBACAF;gBACAjD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAQ;gBACAI;gBACAY;gBACAM;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMwK,mBAAmB;YAAC9Q,0BAAa4Q,WAAMC;SAAW;QCpD/D,MAAME,cAA4B;YAChC7O;YACA6C;YACAtH;YACAwH;YACAH;YACAjN;YACAgL;YACA2B;YACAzB;YACAoC;YACA4J;YACArJ;YACA8D;YACAY;YACAY;YACAM;YACAmB;YACAa;YACAG;SACD;QAED,MAAMuD,mBAAiC;YACrCtO;YAEA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd9E;gBACA6C;gBACAtH;gBACAwH;gBACAH;gBACAhD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAY;gBACAY;gBACAM;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAM2K,0BAA0B;YAACjR,0BAAa+Q,aAAaC;SAAkB;QC7DpF,MAAME,MAAoB;YACxB7O;YACA5E;YACAwH;YACApN;YACAkL;YACAoC;YACAO;YACA4F;YACAmB;YACAa;YACAG;SACD;QAED,MAAM0D,WAAyB;YAC7BzO;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd3E;gBACA5E;gBACAwH;gBACAnD;gBACAiB;gBACAoC;gBACAmG;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAM8K,kBAAgC;YAACpR,0BAAakR,KAAKC;SAAU;QCpC1E,MAAME,QAAsB;YAC1B/O;YACA7E;YACAwH;YACApN;YACAkL;YACAoC;YACAO;YACA4F;YACAmB;YACAa;YACAG;SACD;QAED,MAAM6D,aAA2B;YAC/B5O;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd1E;gBACA7E;gBACAwH;gBACAnD;gBACAiB;gBACAoC;gBACAmG;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMiL,oBAAkC;YAACvR,0BAAaqR,OAAOC;SAAY;QCnChF,MAAME,OAAqB;YACzBjP;YACAyC;YACAD;YACAtH;YACAwH;YACApN;YACA4M;YACAI;YACA9B;YACAoC;YACAiK;YACA1J;SACD;QAED,MAAM+L,YAA0B;YAC9B/O;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdzE;gBACAyC;gBACAD;gBACAtH;gBACAwH;gBACAnD;gBACA2C;gBACAI;gBACA9B;gBACAoC;gBACAiK;aACD;YACDrH;YACAH;YACAtB;SACD;QAEM,MAAMoL,mBAAmB;YAAC1R,0BAAawR,MAAMC;SAAW;QCnC/D,MAAME,eAA6B;YACjClP;YACAuC;YACAvH;YACAwH;YACApN;YACA4M;YACAI;YACA9B;YACAoC;YACAO;YACA0J;YACA9D;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMiD,oBAAkC;YACtClP;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdvE;gBACAuC;gBACAvH;gBACAwH;gBACAnD;gBACA2C;gBACAI;gBACA9B;gBACAoC;gBACAiK;gBACA9D;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMuL,2BAAyC;YAAC7R,0BAA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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/advanced/chart/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/utils/pipeline.ts","webpack://VSeed/./src/pipeline/utils/chatType.ts","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-JK3VNB42.js","webpack://VSeed/./src/i18n/i18n.ts","webpack://VSeed/./src/pipeline/utils/format/createNumFormatter.ts","webpack://VSeed/./src/pipeline/utils/format/createFormatter.ts","webpack://VSeed/./src/pipeline/utils/tree/traverse.ts","webpack://VSeed/./src/pipeline/utils/measures/find.ts","webpack://VSeed/./src/pipeline/utils/dimensions/find.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/init/autoDimensions.ts","webpack://VSeed/./src/dataReshape/constant.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/dataReshape/unfoldDimensions.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-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/dataReshapeFor2D1M.ts","webpack://VSeed/./src/dataReshape/dataReshapeFor1D1M.ts","webpack://VSeed/./src/dataReshape/dataReshapeFor1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo2D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo1D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/reshapeTo1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D2M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D1M.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingXY.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingYX.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingYY.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingRose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingPie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/encoding/encodingFunnel.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-2T7K3PFL.js","webpack://VSeed/./src/pipeline/advanced/chart/pipes/config/config.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/./src/pipeline/advanced/chart/pipes/theme/theme.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipes/pivot/pivotAdapter.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/advanced/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/advanced/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoMeasures.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotDimensions.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/autoPivotMeasures.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/init/initAdvancedVSeed.ts","webpack://VSeed/./src/pipeline/advanced/table/pipes/records/records.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/pivotTable.ts","webpack://VSeed/./src/pipeline/advanced/table/pipeline/table.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/dataset.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/dataset/datasetPivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/pivot.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/init/scatter.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/xLinear.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/axes/yLinear.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/pipes/percent/percent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stack.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/backgroundColor/background.ts","webpack://VSeed/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-VCYTMP4D.js","webpack://VSeed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/label/label.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/discreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/color/color.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts","webpack://VSeed/./src/dataSelector/selector.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/barStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/markStyle/pointState.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/markStyle/areaStyle.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/../../node_modules/.pnpm/remeda@2.28.0/node_modules/remeda/dist/chunk-SFZGYJFI.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/annotation/annotationAreaBand.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.ts","webpack://VSeed/./src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/line.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/column.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/columnPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/bar.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/barPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/area.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/areaPercent.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/pie.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/donut.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/rose.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/roseParallel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/funnel.ts","webpack://VSeed/./src/pipeline/spec/chart/pipeline/scatter.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/table.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/init/pivotTable.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/columns/measuresToColumns.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/../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js","webpack://VSeed/../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js","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/rowHeaderStyle.ts","webpack://VSeed/./src/pipeline/spec/table/pipes/theme/cornerHeaderStyle.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/pipeline/spec/table/pipeline/pivotTable.ts","webpack://VSeed/./src/builder/builder/buildAdvanced.ts","webpack://VSeed/./src/builder/builder/buildSpec.ts","webpack://VSeed/./src/builder/builder/build.ts","webpack://VSeed/./src/builder/builder/advanced/colorItems.ts","webpack://VSeed/./src/builder/builder/builder.ts","webpack://VSeed/./src/builder/register/chartType.ts","webpack://VSeed/./src/theme/light.ts","webpack://VSeed/./src/theme/dark.ts","webpack://VSeed/./src/builder/register/theme.ts","webpack://VSeed/./src/builder/register/all.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/dataset/dataset.ts","webpack://VSeed/./src/types/properties/dimensions/dimensions.ts","webpack://VSeed/./src/types/properties/measures/format/numFormat.ts","webpack://VSeed/./src/types/properties/measures/measures.ts","webpack://VSeed/./src/types/properties/datasetReshapeInfo/datasetReshapeInfo.ts","webpack://VSeed/./src/types/properties/encoding/encoding.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/crosshair.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/areaStyle.ts","webpack://VSeed/./src/types/properties/markStyle/markStyle.ts","webpack://VSeed/./src/types/properties/annotation/annotationPoint.ts","webpack://VSeed/./src/types/properties/annotation/annotationVerticalLine.ts","webpack://VSeed/./src/types/properties/annotation/annotationHorizontalLine.ts","webpack://VSeed/./src/types/properties/annotation/annotationArea.ts","webpack://VSeed/./src/types/properties/annotation/annotation.ts","webpack://VSeed/./src/types/i18n/i18n.ts","webpack://VSeed/./src/types/chartType/table/table.ts","webpack://VSeed/./src/types/chartType/pivotTable/pivotTable.ts","webpack://VSeed/./src/types/chartType/line/line.ts","webpack://VSeed/./src/types/chartType/column/column.ts","webpack://VSeed/./src/types/chartType/columnParallel/columnParallel.ts","webpack://VSeed/./src/types/chartType/columnPercent/columnPercent.ts","webpack://VSeed/./src/types/chartType/bar/bar.ts","webpack://VSeed/./src/types/chartType/barParallel/barParallel.ts","webpack://VSeed/./src/types/chartType/barPercent/barPercent.ts","webpack://VSeed/./src/types/chartType/area/area.ts","webpack://VSeed/./src/types/chartType/areaPercent/areaPercent.ts","webpack://VSeed/./src/types/chartType/rose/rose.ts","webpack://VSeed/./src/types/chartType/roseParallel/roseParallel.ts","webpack://VSeed/./src/types/chartType/pie/pie.ts","webpack://VSeed/./src/types/chartType/donut/donut.ts","webpack://VSeed/./src/types/chartType/scatter/scatter.ts","webpack://VSeed/./src/types/chartType/funnel/funnel.ts","webpack://VSeed/./src/types/vseed.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 { 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 { 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 { Dimensions, DimensionGroup, DimensionTree, VSeed } from 'src/types'\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 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 const hasMeasureGroup = measures && measures.find((measure: DimensionGroup) => measure && measure.children)\n\n return hasRowOrColumnDimension || hasMeasureGroup\n}\n","function e(r){return typeof r==\"number\"&&!Number.isNaN(r)}export{e as a};\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","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 console.log('debug roundingMode', roundingMode)\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 num.toString()\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","/**\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 type { Dimension, DimensionGroup, DimensionTree } from 'src/types'\nimport { preorderTraverse } from '../tree'\n\nexport 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\nexport 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 { isPivotChart } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, DimensionGroup } 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 (isPivotChart(vseed)) {\n return autoMeasureGroup(advancedVSeed, context)\n }\n\n if (measures) {\n result.measures = 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\nconst autoMeasureGroup: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures } = vseed\n const hasMeasureGroup = measures?.some((measure: DimensionGroup) => measure.children)\n\n if (!measures) {\n return advancedVSeed\n }\n\n // 没有指标组, 则自动添加一个指标组\n if (!hasMeasureGroup) {\n const newMeasures = [\n {\n id: 'measureGroup',\n alias: 'measureGroup',\n children: measures,\n },\n ]\n return {\n ...advancedVSeed,\n measures: newMeasures,\n }\n }\n\n // 存在指标组, 则任意连续的独立指标成组\n let currentGroup: DimensionGroup = createEmptyMeasureGroup()\n const measureGroups: DimensionGroup[] = []\n for (const measure of measures) {\n if ('children' in measure) {\n // 当前指标组之前的所有独立指标成组\n if (currentGroup.children?.length) {\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n currentGroup.id = currentGroup.alias + currentGroup.children.map((item) => item.id).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n // 当前是指标组\n measureGroups.push(measure)\n } else {\n currentGroup.children?.push(measure)\n }\n }\n\n // 最后一组\n if (currentGroup.children?.length) {\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n currentGroup.id = currentGroup.alias + currentGroup.children.map((item) => item.id).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n\n advancedVSeed.measures = measureGroups\n return advancedVSeed\n}\n\nconst createEmptyMeasureGroup = () => {\n return {\n id: '',\n alias: '',\n children: [],\n }\n}\n","import { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Datum, DimensionTree } 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 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\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","// Reshape Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const FoldMeasureId = '__MeaId__'\n\n// Reshape Dimensions\nexport const UnfoldDimensionGroup = '__DimGroup__'\nexport const UnfoldDimensionGroupId = '__DimGroupID__'\n\nexport const Separator = '-'\n\nexport const ORIGINAL_DATA = '__OriginalData__'\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 type { Dataset, Datum, Dimension, Measure } from 'src/types'\nimport type { UnfoldInfo } from 'src/types'\nimport { UnfoldDimensionGroup, Separator, UnfoldDimensionGroupId, FoldMeasureId } from './constant'\nimport { unique } from 'remeda'\n\n/**\n * TODO: 优化展开维度的性能\n * 展开指定的维度\n * @description 第一步: 根据指定的维度, 将多个维度展开为N个指标(取决于维值去重后的数量), 随后合并成一个维度.\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n unfoldStartIndex: number = 0,\n unfoldGroupName: string = UnfoldDimensionGroup,\n unfoldGroupId: string = UnfoldDimensionGroupId,\n foldMeasureId: string = FoldMeasureId,\n dimensionsSeparator: string = Separator,\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) {\n throw new Error('unfoldStartIndex is out of range')\n }\n\n const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex)\n const unfoldInfo: UnfoldInfo = {\n groupName: unfoldGroupName,\n groupId: unfoldGroupId,\n colorItems: [],\n colorIdMap: {},\n }\n\n // 指标为空或维度为空, 则不检测\n if (dimensions.length === 0 || measures.length === 0) {\n return {\n dataset,\n unfoldInfo: {\n groupName: unfoldGroupName,\n groupId: unfoldGroupId,\n colorItems: [],\n colorIdMap: {},\n },\n }\n }\n\n const colorItems = []\n const colorMap: Record<string, string> = {}\n for (let i = 0; i < dataset.length; i++) {\n const datum = dataset[i]\n const colorName = generateDimGroupName(dimensionsToBeUnfolded, datum, dimensionsSeparator)\n const colorId = [colorName, (datum[foldMeasureId] as string) || 'id'].join(dimensionsSeparator)\n datum[unfoldGroupName] = colorName\n datum[unfoldGroupId] = colorId\n colorItems.push(colorId)\n colorMap[colorId] = colorName\n }\n\n unfoldInfo.colorItems = unique(colorItems)\n unfoldInfo.colorIdMap = colorMap\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * 生成维度组合名称\n * @param dimensionsToBeGrouped 待分组的维度\n * @param datum 数据项\n * @param dimensionsSeparator 维度分隔符\n * @returns 维度组合名称\n */\nexport const generateDimGroupName = (dimensionsToBeGrouped: Dimension[], datum: Datum, dimensionsSeparator: string) => {\n return dimensionsToBeGrouped.map((dim) => String(datum[dim.id])).join(dimensionsSeparator)\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(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, Dimension, Measures, DimensionTree } from 'src/types'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, 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: Dimension[],\n measureId = FoldMeasureId,\n measureName = FoldMeasureName,\n measureValue = FoldMeasureValue,\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\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 foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n\n/**\n * 折叠指定的指标组, 至多支持2层\n * @param dataset\n * @param measures\n * @param measureId\n * @param measureName\n * @param measureValue\n * @returns\n */\nexport const foldMeasureGroups = (\n dataset: Dataset,\n measures: Required<DimensionTree>,\n measureId = '__MeaId__',\n measureName = '__MeaName__',\n measureValue = '__MeaValue__',\n) => {\n const groups: Array<Measures> = []\n if (!measures) {\n return {\n dataset,\n }\n }\n\n // 没有分组, 直接折叠所有指标\n if (!measures.some((measure) => 'children' in measure)) {\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n }\n\n measures.forEach((measure) => {\n if ('children' in measure && measure.children) {\n groups.push(measure.children)\n } else {\n groups.push([measure])\n }\n })\n\n // 一组返回一个dataset\n const datasetGroup = groups.map((measures) => {\n if (!measures) {\n return []\n }\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n })\n\n return {\n datasetGroup,\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult: {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为2个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor2D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [\n { id: foldMeasureId, alias: i18n`指标Id`, location: 'dimension' },\n { id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' },\n ],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 1,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n const onlyOneMeasure = measures.length === 1\n const onlyOneDimension = dimensions.length === 1\n\n const dims = [...dimensions]\n if (!onlyOneMeasure || onlyOneDimension) {\n dims.push({ id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' })\n }\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n dims,\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 1,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' }],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n const dims =\n measures.length === 1\n ? ([...dimensions] as Dimension[])\n : ([...dimensions, { id: foldMeasureName, alias: i18n`指标名称`, location: 'dimension' }] as Dimension[])\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n dims,\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport {\n UnfoldDimensionGroup,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroupId,\n} from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\nimport { i18n } from '../i18n'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n groupId: '',\n colorItems: [],\n colorIdMap: {},\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D2M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n unfoldDimensionGroupId?: 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 unfoldDimensionGroup = UnfoldDimensionGroup,\n unfoldDimensionGroupId = UnfoldDimensionGroupId,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures.length > 1 ? measures.slice(1) : measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureValue, alias: i18n`指标值`, location: 'dimension' }],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions],\n [{ id: foldMeasureValue, alias: i18n`指标值` }],\n 0,\n unfoldDimensionGroup,\n unfoldDimensionGroupId,\n foldMeasureId,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import { dataReshapeFor2D1M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '2D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { dataReshapeFor1D1M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '1D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n","import { dataReshapeFor1D2M } from 'src/dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为1个维度2个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo1D2M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '1D2M',\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor1D1M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor1D2M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo1D2M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from 'src/dataReshape/constant'\nimport { dataReshapeFor2D1M } from 'src/dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, Dimensions, DimensionGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { measures } = advancedVSeed\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: DimensionGroup[] = []\n if (measures) {\n measures.forEach((measure: DimensionGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\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 } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingXY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const x = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const y = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYX: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const y = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const x = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import { findFirstMeasure } from 'src/pipeline/utils'\nimport type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, measures } = advancedVSeed\n if (!datasetReshapeInfo || !measures) {\n return result\n }\n\n const firstMeasure = findFirstMeasure(measures)\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const x = [firstMeasure?.id]\n const y = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingRose: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions, measures } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions || !measures) {\n return result\n }\n\n const is1D1M = dimensions.length === 1 && measures.length === 1\n const isZeroDimension = dimensions.length === 0\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const radius = [foldInfo.measureValue]\n const angle = [isZeroDimension ? foldInfo.measureName : dimensions[0].id]\n const group = [is1D1M ? dimensions[0].id : unfoldInfo.groupId]\n const color = [is1D1M ? dimensions[0].id : unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n angle,\n radius,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingPie: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const radius = [foldInfo.measureValue]\n const angle = [unfoldInfo.groupId]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n angle,\n radius,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingFunnel: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const size = [foldInfo.measureValue]\n const group = [unfoldInfo.groupId]\n const color = [unfoldInfo.groupId]\n\n return [\n ...prev,\n {\n size,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\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, 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\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","import { clone, mergeDeep, omit } 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 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","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 { 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\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 autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n lineConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n lineConfig,\n theme,\n markStyle,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n encodingYX,\n theme,\n autoMeasures,\n autoDimensions,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n barConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n barParallelConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n barPercentConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n barPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n columnConfig,\n markStyle,\n annotation,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n columnParallelConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n theme,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n columnPercentConfig,\n markStyle,\n annotation,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n columnPercentConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n pivotReshapeTo2D1M,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n areaConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n areaConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n areaPercentConfig,\n annotation,\n markStyle,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n areaPercentConfig,\n theme,\n markStyle,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n encodingPie,\n pieConfig,\n annotation,\n} from '../pipes'\n\nexport const pieAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingPie,\n pieConfig,\n theme,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n encodingPie,\n annotation,\n donutConfig,\n} from '../pipes'\n\nexport const donutAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingPie,\n donutConfig,\n theme,\n annotation\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n encodingRose,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const roseAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingRose,\n roseConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n reshapeTo2D1M,\n theme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n markStyle,\n annotation,\n roseParallelConfig,\n encodingRose,\n} from '../pipes'\n\nexport const roseParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingRose,\n roseParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n annotation,\n encodingFunnel,\n funnelConfig,\n} from '../pipes'\n\nexport const funnelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingFunnel,\n funnelConfig,\n theme,\n annotation,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n reshapeTo1D2M,\n pivotReshapeTo1D2M,\n encodingYY,\n} from '../pipes'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D2M], [pivotReshapeTo1D2M]),\n encodingYY,\n scatterConfig,\n theme,\n markStyle,\n annotation,\n]\n","import type { AdvancedPipe, Datum } 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 && measures.length > 0) {\n result.measures = 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 { 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 && dimensions.length > 0) {\n result.dimensions = dimensions\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 { 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 && dimensions.length > 0) {\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 { 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\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 && measures.length > 0) {\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 { 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 } 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","import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport { autoPivotDimensions, autoPivotMeasures, initAdvancedVSeed, records } from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoPivotMeasures,\n autoPivotDimensions,\n records,\n theme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport { initAdvancedVSeed, autoDimensions, autoMeasures, records } from '../pipes'\nimport { theme } from '../../chart/pipes'\n\nexport const tableAdvancedPipeline: AdvancedPipeline = [initAdvancedVSeed, autoMeasures, autoDimensions, records, theme]\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataset: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n const angle = encoding[0]?.angle?.[0]\n const x = encoding[0]?.x?.[0]\n const group = encoding[0]?.group?.[0]\n\n const fields: Record<string, object> = {}\n if (angle) {\n fields[angle] = {\n sortIndex: 0,\n }\n }\n if (x) {\n fields[x] = {\n sortIndex: 0,\n }\n }\n if (group) {\n fields[group] = {\n sortIndex: 1,\n }\n }\n\n return {\n ...spec,\n data: {\n values: advancedVSeed.dataset,\n fields: fields,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport 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\nexport const datasetPivotPlaceholder: SpecPipe = (spec) => {\n return {\n ...spec,\n data: {\n id: 'placeholderDataId',\n },\n } as ISpec\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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = encoding[0].y?.[0]\n result.xField = encoding[0].x?.[0]\n result.seriesField = encoding[0].group?.[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = [encoding[0].y[0], unfoldInfo.groupName] as string[]\n result.xField = encoding[0].x[0]\n result.seriesField = encoding[0].group[0]\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'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'area'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\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 { 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 { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = [encoding[0].x[0], unfoldInfo.groupName]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.animation = true\n return result\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 { encoding } = advancedVSeed\n\n if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) {\n return result\n }\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = 0\n result.valueField = encoding[0].radius[0]\n result.categoryField = encoding[0].angle[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\n centerOffset: 0,\n },\n state: {\n hover: {\n centerOffset: 5,\n outerRadius: result.outerRadius * 1.1,\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'\n\nexport const initDonut: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) {\n return result\n }\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = result.outerRadius * 0.8\n result.valueField = encoding[0].radius[0]\n result.categoryField = encoding[0].angle[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n result.region = [\n {\n clip: true,\n },\n ]\n\n result.pie = {\n style: {\n stroke: '#ffffff',\n lineWidth: 1,\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 { 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 { encoding, dataset, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) {\n return result\n }\n\n result.type = 'rose'\n result.categoryField = encoding[0].angle[0]\n result.valueField = encoding[0].radius[0]\n result.seriesField = encoding[0].group[0]\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 initRoseParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IRoseChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo, dataset } = advancedVSeed\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) {\n return result\n }\n\n result.type = 'rose'\n result.categoryField = [encoding[0].angle[0], unfoldInfo.groupName]\n result.valueField = encoding[0].radius[0]\n result.seriesField = encoding[0].group[0]\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 { 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 { 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 { encoding } = advancedVSeed\n\n if (!encoding[0].size || !encoding[0].group || !encoding[0].color) {\n return result\n }\n\n result.type = 'funnel'\n result.valueField = encoding[0].size[0]\n result.categoryField = encoding[0].group[0]\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 },\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 { 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 { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'scatter'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\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 { 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,\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,\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","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,\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,\n sampling,\n hover: true,\n label: {\n visible: label?.visible,\n flush: true,\n containerAlign: 'left',\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 { 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 { 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 spec\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 spec\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 { 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 { 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 { 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\n return {\n ...spec,\n stackCornerRadius,\n }\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","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 { isEmpty } from 'remeda'\nimport { autoFormatter, createFormatter, findMeasureById } from '../../../../utils'\nimport type { 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 } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip } = baseConfig\n const { enable } = tooltip\n\n const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo\n const { groupName } = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n value: (datum) => (datum && (datum[groupName] as string)) || '',\n },\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[groupName] 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)\n }\n return String(value)\n },\n },\n ],\n },\n dimension: {\n content: [\n {\n visible: true,\n key: (datum) => (datum && (datum[groupName] 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)\n }\n return String(value)\n },\n },\n ],\n },\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 { groupId, groupName } = datasetReshapeInfo[0].unfoldInfo\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 type { StringOrNumber } from '@visactor/vchart'\nimport 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,\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: maxSize,\n maxRow: 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 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: StringOrNumber) => {\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 }\n return result\n}\n","import type { StringOrNumber } from '@visactor/vchart'\nimport 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'\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 const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\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 } = color\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelFontSize = 12,\n labelFontWeight,\n maxSize,\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: maxSize,\n maxRow: maxSize,\n data: colorItems.map((d, index) => ({\n label: d,\n shape: {\n outerBorder: border\n ? {\n stroke: colorScheme?.[index],\n distance: 3,\n lineWidth: 1,\n }\n : undefined,\n fill: colorScheme?.[index],\n },\n })),\n\n item: {\n focus: true,\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: StringOrNumber) => {\n return 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 } as unknown as IDiscreteTableLegendOption\n return { ...result, legends }\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport { Separator } from 'src/dataReshape'\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 { color } = baseConfig\n const { colorScheme, colorMapping } = color\n const mappingList: Array<[string, string]> = []\n if (colorMapping) {\n Object.entries(colorMapping)\n .sort((a, b) => a[0].split(Separator).length - b[0].split(Separator).length)\n .forEach(([key, value]) => {\n const idMap = Object.entries(unfoldInfo.colorIdMap).filter(([_, v]) => v.includes(key))\n\n for (const [colorId] of idMap) {\n mappingList.push([colorId, value])\n }\n })\n }\n\n result.color = {\n type: 'ordinal',\n domain: unfoldInfo.colorItems,\n range: colorScheme,\n specified: Object.fromEntries(mappingList),\n } as ILineChartSpec['color']\n return result\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 { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { 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, encoding } = 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\n const newEncoding = [encoding[index]]\n const newDatasetReshapeInfo = [{ ...reshapeInfo, unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems } }]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: newEncoding,\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 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 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 { 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 { 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 // 过滤掉 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 for (const selector of selectors) {\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\n return false\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 { 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 } = advancedVSeed\n const { barStyle } = markStyle\n\n const result = {\n ...spec,\n bar: {\n style: {\n stroke: '#fff',\n lineWidth: 1,\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 { barBorderColor, barBorderStyle, barBorderWidth, barColor, barColorOpacity, barRadius } = 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 fill: barColor,\n fillOpacity: barColorOpacity,\n stroke: barBorderColor,\n lineWidth: barBorderWidth,\n lineDash: lineDash,\n cornerRadius: barRadius,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n bar: {\n state: {\n ...customMap,\n },\n },\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 } 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 { pointBorderColor, pointBorderStyle, pointBorderWidth, pointColor, pointColorOpacity, pointSize } = 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 size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n lineDash: lineDash,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n 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 },\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 { encoding } = advancedVSeed\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 = encoding[0]?.group?.[0] as string\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{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, encoding, dataset } = advancedVSeed\n const { lineStyle } = markStyle\n if (!lineStyle) {\n return spec\n }\n const result = { ...spec } as IAreaChartSpec\n\n const lineStyles = (Array.isArray(lineStyle) ? lineStyle : [lineStyle]) as LineStyle[]\n\n const group = encoding[0]?.group?.[0]\n const lineGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = lineStyles.reduce<object>((result, style, index) => {\n const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth } = style\n\n const dashSegment = (lineWidth ?? 2) * 2\n const dashGap = lineWidth ?? 2\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[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 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 state: {\n ...customMap,\n },\n },\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, encoding, dataset } = advancedVSeed\n const { areaStyle } = markStyle\n if (!areaStyle) {\n return spec\n }\n const result = { ...spec } as IAreaChartSpec\n\n const areaStyles = (Array.isArray(areaStyle) ? areaStyle : [areaStyle]) as AreaStyle[]\n\n const group = encoding[0]?.group?.[0]\n const lineGroups = groupBy(dataset, (d) => d[group ?? ''] as string)\n\n const customMap = areaStyles.reduce<object>((result, style, index) => {\n const { areaColor, areaColorOpacity } = style\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const lineData = lineGroups[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 fill: areaColor,\n fillOpacity: areaColorOpacity,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n area: {\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 = 'middle',\n backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n offsetX = 0,\n offsetY = 0,\n } = annotationPoint\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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 visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\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","function t(r){return typeof r==\"string\"}export{t 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, encoding } = advancedVSeed\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\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 visible: lineVisible,\n style: {\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],\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n style: {\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 = dataset.filter((datum) => selector(datum, selectorPoint))\n\n return selectedData.map((datum) => {\n const x = encoding[0]?.x?.[0]\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, encoding } = advancedVSeed\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 = 'center',\n textBaseline = 'bottom',\n backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#212121',\n backgroundPadding = 2,\n backgroundVisible = true,\n lineColor = '#212121',\n lineStyle = 'dashed',\n lineVisible = true,\n lineWidth = 1,\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 visible: lineVisible,\n style: {\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],\n style: {\n visible: true,\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n endSymbol: {\n visible: true,\n style: {\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 = dataset.filter((datum) => selector(datum, selectorPoint))\n\n return selectedData.map((datum) => {\n const y = encoding[0]?.y?.[0]\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#191d24',\n backgroundPadding = 10,\n backgroundVisible = true,\n outerPadding = 4,\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor,\n areaBorderRadius,\n areaBorderWidth,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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 yScale = yAxisHelper.getScale()\n\n const minX = Math.min(...xyList.map((item) => item.x)) - outerPadding\n const maxX = Math.max(...xyList.map((item) => item.x)) + outerPadding\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\n const maxY = Math.max(...xyList.map((item) => item.y)) + outerPadding\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],\n visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n strokeWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\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 backgroundBorderColor,\n backgroundBorderRadius = 4,\n backgroundBorderWidth = 1,\n backgroundColor = '#191d24',\n backgroundPadding = 4,\n backgroundVisible = true,\n outerPadding = 8,\n areaColor = '#888888',\n areaColorOpacity = 0.15,\n areaBorderColor,\n areaBorderRadius,\n areaBorderWidth,\n } = annotationArea\n\n const dataset = advancedVSeed.dataset.flat()\n const selectedData = 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\n const maxX = Math.max(...xyList.map((item) => item.x)) + xBandWidth + outerPadding\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 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\n const maxY = Math.max(...xyList.map((item) => item.y)) + yBandWidth + outerPadding\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],\n visible: true,\n text: text,\n style: {\n textAlign: textAlign,\n textBaseline: textBaseline,\n fill: textColor,\n fontSize: textFontSize,\n fontWeight: textFontWeight,\n },\n\n labelBackground: {\n visible: backgroundVisible,\n padding: backgroundPadding,\n style: {\n cornerRadius: backgroundBorderRadius ?? 4,\n fill: backgroundColor,\n stroke: backgroundBorderColor,\n strokeWidth: backgroundBorderWidth,\n },\n },\n },\n area: {\n style: {\n visible: true,\n fill: areaColor,\n fillOpacity: areaColorOpacity,\n stroke: areaBorderColor,\n strokeWidth: areaBorderWidth,\n cornerRadius: areaBorderRadius,\n },\n },\n }\n }) as ILineChartSpec['markArea']\n\n return {\n ...spec,\n markArea: markArea,\n }\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 = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config\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 { 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 = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config\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 dataset,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst line: SpecPipeline = [\n initLine,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n pointStateDimensionHover,\n 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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst column: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\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 datasetPivotPlaceholder,\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} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n discreteLegend,\n verticalCrosshairRect,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n discreteLegend,\n 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 color,\n percent,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\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 datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n} from '../pipes'\n\nconst bar: SpecPipeline = [\n initBar,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n yBand,\n label,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n yBand,\n xLinear,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\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 datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n horizontalCrosshairRect,\n stackCornerRadius,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n stackCornerRadius,\n color,\n backgroundColor,\n percent,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n horizontalCrosshairRect,\n discreteLegend,\n 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 color,\n backgroundColor,\n percent,\n datasetPivotPlaceholder,\n yBand,\n xLinear,\n label,\n tooltip,\n horizontalCrosshairRect,\n barStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationAreaBand,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initArea,\n stackInverse,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst area: SpecPipeline = [\n initArea,\n stackInverse,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n 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 color,\n backgroundColor,\n stackInverse,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n pointStyle,\n pointStateDimensionHover,\n lineStyle,\n areaStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n dataset,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n stackInverse,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n discreteLegend,\n pointStyle,\n lineStyle,\n 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 color,\n backgroundColor,\n percent,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n pointStyle,\n lineStyle,\n areaStyle,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst pie: SpecPipeline = [\n initPie,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst donut: SpecPipeline = [\n initDonut,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst rose: SpecPipeline = [\n initRose,\n stackCornerRadius,\n stackInverse,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst roseParallel: SpecPipeline = [\n initRoseParallel,\n stackCornerRadius,\n color,\n backgroundColor,\n dataset,\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 datasetPivotPlaceholder,\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 type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\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 initFunnel,\n} from '../pipes'\n\nconst funnel: SpecPipeline = [\n initFunnel,\n color,\n backgroundColor,\n dataset,\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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n label,\n tooltip,\n annotationPoint,\n annotationVerticalLine,\n annotationHorizontalLine,\n annotationArea,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotDiscreteLegend,\n]\n\nexport const funnelSpecPipeline: SpecPipeline = [pivotAdapter(funnel, pivotFunnel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n discreteLegend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\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} from '../pipes'\n\nconst scatter: SpecPipeline = [\n initScatter,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n discreteLegend,\n 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 color,\n backgroundColor,\n datasetPivotPlaceholder,\n xLinear,\n yLinear,\n label,\n tooltip,\n verticalCrosshairLine,\n horizontalCrosshairLine,\n 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 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\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 theme: {\n underlayBackgroundColor: 'transparent',\n },\n } as ListTableConstructorOptions\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\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 widthAdaptiveMode: 'all',\n animationAppear: {\n duration: 300,\n delay: 250,\n type: 'one-by-one',\n direction: 'row',\n },\n theme: {\n underlayBackgroundColor: 'transparent',\n },\n } as PivotTableConstructorOptions\n}\n","import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport type { Dimension, DimensionGroup, Measure, MeasureGroup, MeasureTree, SpecPipe } from 'src/types'\n\nexport const measureTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\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 ('children' in node) {\n return {}\n }\n\n return {\n width: 'auto',\n }\n }\n const columns = treeTreeToColumns<Measure, MeasureGroup>(measures, eachNode)\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nexport const dimensionTreeToColumns: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: MeasureTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const eachNode = (node: Measure | MeasureGroup) => {\n if ('children' in node) {\n return {}\n }\n\n return {\n width: 'auto',\n }\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","import 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 }\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 { intl } from 'src/i18n'\nimport type { Measures, SpecPipe } from 'src/types'\n\nexport const pivotIndicators: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\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 return {\n cellType: 'text',\n indicatorKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }) as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport { color } from 'd3-color'\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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.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.bodyBackgroundColor || '#fff'\n const fontColor = themConfig.bodyFontColor || '#1B1F23'\n const fontSize = themConfig.bodyFontSize || 12\n // Interaction\n const hoverCellBgColor = themConfig.hoverBodyBackgroundColor || '#bedaff'\n const hoverInlineColor = color(hoverCellBgColor)?.copy({ opacity: 0.1 }).toString()\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 { color } from 'd3-color'\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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.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.hoverHeaderBackgroundColor\n\n result.theme.headerStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'center',\n hover: {\n cellBgColor: color(hoverCellBgColor)?.copy({ opacity: 1 }).brighter(0.5).toString(),\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 { color } from 'd3-color'\n\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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.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.hoverHeaderBackgroundColor\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: color(hoverCellBgColor)?.copy({ opacity: 1 }).brighter(0.5).toString(),\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 { color } from 'd3-color'\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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.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.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: color(hoverCellBgColor)?.copy({ opacity: 1 }).brighter(0.5).toString(),\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\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","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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.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: 0,\n }\n\n return result\n}\n","import type { BaseTableConstructorOptions } from '@visactor/vtable/es/ts-types'\nimport { color } from 'd3-color'\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 { customTheme, chartType } = advancedVSeed\n const themConfig = customTheme?.config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n const borderColor = themConfig.selectedBorderColor || 'rgb(224, 224, 224)'\n\n result.theme.selectionStyle = {\n cellBorderColor: borderColor,\n cellBorderLineWidth: 2,\n cellBgColor: color(borderColor)\n ?.copy({\n opacity: 0.15,\n })\n .toString(),\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 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'\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]\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport type { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\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 }\n}\n","import type { Spec } from 'src/types'\nimport type { 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 { 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 }\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","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","import type {\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n Spec,\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 { 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\n constructor(vseed: VSeed) {\n this._vseed = vseed\n this._vseed.locale = vseed.locale || intl.getLocale()\n }\n\n build = () => build(this)\n\n buildSpec = (advanced: AdvancedVSeed) => buildSpec(this, advanced)\n\n buildAdvanced = () => buildAdvanced(this)\n\n getAdvancedPipeline = (chartType: ChartType) => Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n getSpecPipeline = (chartType: ChartType) => Builder._specPipelineMap[chartType] as SpecPipeline\n getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n getThemeMap = () => Builder._themeMap\n\n getColorItems = () => getColorItems(this)\n\n get vseed() {\n return this._vseed\n }\n\n set vseed(value) {\n this._vseed = value\n }\n\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n get spec() {\n return this._spec\n }\n\n set spec(value) {\n this._spec = value\n }\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n static from = (vseed: VSeed) => new Builder(vseed)\n}\n","import {\n areaAdvancedPipeline,\n areaPercentAdvancedPipeline,\n areaPercentSpecPipeline,\n areaSpecPipeline,\n barAdvancedPipeline,\n barParallelAdvancedPipeline,\n barParallelSpecPipeline,\n barPercentAdvancedPipeline,\n barPercentSpecPipeline,\n barSpecPipeline,\n columnAdvancedPipeline,\n columnParallelAdvancedPipeline,\n columnParallelSpecPipeline,\n columnPercentAdvancedPipeline,\n columnPercentSpecPipeline,\n columnSpecPipeline,\n donutAdvancedPipeline,\n donutSpecPipeline,\n funnelAdvancedPipeline,\n funnelSpecPipeline,\n lineAdvancedPipeline,\n lineSpecPipeline,\n pieAdvancedPipeline,\n pieSpecPipeline,\n pivotTableAdvancedPipeline,\n pivotTableSpecPipeline,\n roseAdvancedPipeline,\n roseParallelAdvancedPipeline,\n roseParallelSpecPipeline,\n roseSpecPipeline,\n scatterAdvancedPipeline,\n scatterSpecPipeline,\n tableAdvancedPipeline,\n tableSpecPipeline,\n} from '../../pipeline'\nimport { Builder } from '../builder'\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}\n\nexport const registerPie = () => {\n Builder._advancedPipelineMap['pie'] = pieAdvancedPipeline\n Builder._specPipelineMap['pie'] = pieSpecPipeline\n}\n\nexport const registerDonut = () => {\n Builder._advancedPipelineMap['donut'] = donutAdvancedPipeline\n Builder._specPipelineMap['donut'] = donutSpecPipeline\n}\n\nexport const registerRose = () => {\n Builder._advancedPipelineMap['rose'] = roseAdvancedPipeline\n Builder._specPipelineMap['rose'] = roseSpecPipeline\n}\n\nexport const registerRoseParallel = () => {\n Builder._advancedPipelineMap['roseParallel'] = roseParallelAdvancedPipeline\n Builder._specPipelineMap['roseParallel'] = roseParallelSpecPipeline\n}\n\nexport const registerFunnel = () => {\n Builder._advancedPipelineMap['funnel'] = funnelAdvancedPipeline\n Builder._specPipelineMap['funnel'] = funnelSpecPipeline\n}\n\nexport const registerScatter = () => {\n Builder._advancedPipelineMap['scatter'] = scatterAdvancedPipeline\n Builder._specPipelineMap['scatter'] = scatterSpecPipeline\n}\n\nexport const registerTable = () => {\n Builder._advancedPipelineMap['table'] = tableAdvancedPipeline\n Builder._specPipelineMap['table'] = tableSpecPipeline\n}\n\nexport const registerPivotTable = () => {\n Builder._advancedPipelineMap['pivotTable'] = pivotTableAdvancedPipeline\n Builder._specPipelineMap['pivotTable'] = pivotTableSpecPipeline\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: 100,\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 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 hoverHeaderBackgroundColor: '#D9DDE488',\n selectedBorderColor: '#4080ff',\n }\n\n return {\n config: {\n table: tableConfig,\n pivotTable: tableConfig,\n\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 pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n funnel: {\n ...baseConfig,\n color: {\n colorScheme: [\n '#5766EC',\n '#6372F0',\n '#7080F4',\n '#7C8CFA',\n '#8998FF',\n '#95A3FF',\n '#A0AEFF',\n '#ACB9FF',\n '#B7C4FF',\n '#C2CEFF',\n ],\n },\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: 100,\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 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 hoverHeaderBackgroundColor: '#5f5f5f88',\n selectedBorderColor: '#3073F2',\n }\n\n return {\n config: {\n table: tableConfig,\n pivotTable: tableConfig,\n\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 pie: {\n ...baseConfig,\n },\n donut: {\n ...baseConfig,\n },\n rose: {\n ...baseConfig,\n },\n roseParallel: {\n ...baseConfig,\n },\n funnel: {\n ...baseConfig,\n color: {\n colorScheme: [\n '#2E62F1',\n '#3A6EF6',\n '#4780FA',\n '#548CFE',\n '#6198FF',\n '#6FA3FF',\n '#7CACFF',\n '#88B7FF',\n '#94C2FF',\n '#A0CEFF',\n ],\n },\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\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\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} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // ChartType\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n registerPie()\n registerDonut()\n registerRose()\n registerRoseParallel()\n registerFunnel()\n registerScatter()\n registerTable()\n registerPivotTable()\n\n // Theme\n registerLightTheme()\n registerDarkTheme()\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 | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'rose'\n | 'roseParallel'\n | 'pie'\n | 'donut'\n | 'dualAxis'\n | 'scatter'\n | 'funnel'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\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 Rose = 'rose',\n RoseParallel = 'roseParallel',\n Pie = 'pie',\n Donut = 'donut',\n DualAxis = 'dualAxis',\n Scatter = 'scatter',\n Funnel = 'funnel',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'rose',\n 'roseParallel',\n 'pie',\n 'donut',\n 'dualAxis',\n 'scatter',\n 'funnel',\n])\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'\n\nexport type Dimension = {\n id: string\n alias?: string\n location?: 'dimension' | 'rowDimension' | 'columnDimension'\n}\n\nexport type DimensionGroup = {\n id: string\n alias?: string\n children?: (Dimension | DimensionGroup)[]\n}\n\nexport type Dimensions = Dimension[]\n\nexport type DimensionTree = (Dimension | DimensionGroup)[]\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})\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 type { NumFormat } from './format/numFormat'\nimport { zNumFormat } from './format/numFormat'\n\nexport type Measure = {\n /**\n * @description 指标id, 不能重复\n */\n id: string\n /**\n * @description 指标别名, 允许重复, 未填写时, alias 为 id\n * @default id\n */\n alias?: string\n /**\n * @description 是否自动格式化\n * @default true\n */\n autoFormat?: boolean\n /**\n * @description 指标的数值格式化, 会自动应用于label、tooltip\n */\n format?: NumFormat\n}\nexport type MeasureGroup = {\n /**\n * @description 指标组id, 不能重复\n */\n id: string\n /**\n * @description 指标组别名, 允许重复, 未填写时, alias 为 id\n * @default id\n */\n alias?: string\n /**\n * @description 指标组的子指标或指标组\n */\n children?: (Measure | MeasureGroup)[]\n}\nexport type Measures = Measure[]\nexport type MeasureTree = (Measure | MeasureGroup)[]\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})\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'\n\nexport type FoldInfo = {\n foldMap: Record<string, string | undefined>\n measureId: string\n measureName: string\n measureValue: string\n}\n\nexport type UnfoldInfo = {\n groupName: string\n groupId: string\n colorItems: string[]\n colorIdMap: Record<string, string>\n}\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n colorItems: z.array(z.string()),\n groupId: z.string(),\n colorIdMap: z.record(z.string(), z.string()),\n groupName: z.string(),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n foldInfo: zFoldInfo,\n unfoldInfo: zUnfoldInfo,\n }),\n)\n\nexport type DatasetReshapeInfo = z.infer<typeof zDatasetReshapeInfo>\n","import { z } from 'zod'\n\nexport const zEncoding = z.array(\n z.object({\n x: z.array(z.string()).optional(),\n y: z.array(z.string()).optional(),\n color: z.array(z.string()).optional(),\n group: z.array(z.string()).optional(),\n angle: z.array(z.string()).optional(),\n radius: z.array(z.string()).optional(),\n tooltip: z.array(z.string()).optional(),\n size: z.array(z.string()).optional(),\n }),\n)\n\nexport type Encoding = Array<{\n x?: string[]\n y?: string[]\n color?: string[]\n group?: string[]\n angle?: string[]\n radius?: string[]\n tooltip?: string[]\n size?: string[]\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).optional(),\n\n labelAutoHide: z.boolean().default(true).optional(),\n labelAutoHideGap: z.number().default(0).optional(),\n labelAutoRotate: z.boolean().default(true).optional(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).optional(),\n labelAutoLimit: z.boolean().default(true).optional(),\n labelAutoLimitLength: z.number().default(100).optional(),\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\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).optional(),\n\n min: z.number().optional(),\n max: z.number().optional(),\n nice: z.boolean().default(true).optional(),\n zero: z.boolean().default(true).optional(),\n log: z.boolean().default(false).optional(),\n logBase: z.number().default(10).optional(),\n inverse: z.boolean().default(false).optional(),\n\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\n})\n\nexport const zYLinearAxis = zXLinearAxis\n","import { z } from 'zod'\n\nexport const zCrosshairLine = z.object({\n visible: z.boolean().optional(),\n lineColor: z.string().optional(),\n labelColor: z.string().optional(),\n labelVisible: z.boolean().optional(),\n labelBackgroundColor: z.string().optional(),\n})\n\nexport type CrosshairLine = z.infer<typeof zCrosshairLine>\n\nexport const zCrosshairRect = z.object({\n visible: z.boolean().optional(),\n rectColor: z.string().optional(),\n labelColor: z.string().optional(),\n labelVisible: z.boolean().optional(),\n labelBackgroundColor: z.string().optional(),\n})\n\nexport type CrosshairRect = z.infer<typeof zCrosshairLine>\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').optional()\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()).optional(),\n colorMapping: z.record(z.string(), z.string()).optional(),\n})\n\nexport type Color = {\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 * 颜色映射\n * @description 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping?: Record<string, string>\n}\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).optional(),\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 * 图例边框是否开启\n * @default true\n * @example border: true\n */\n border?: boolean\n /**\n * 图例最大列数 或 图例最大行数\n * @default 1\n * @description\n * 如果图例在水平方向上, maxSize控制显示的列数\n * 如果图例在垂直方向上, maxSize控制显示的行数\n * @example maxSize: 2\n */\n maxSize?: number\n /**\n * 图例字体大小\n * @default 12\n * @example labelFontSize: 10\n */\n labelFontSize?: number\n /**\n * 图例字体颜色\n * @default '#fff'\n * @example labelFontColor: '#212121'\n */\n labelFontColor?: string\n /**\n * 图例字体粗细\n * @default 400\n * @example labelFontWeight: 400\n */\n labelFontWeight?: number | string\n /**\n * 图例形状\n * @default 'rectRound'\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 'top'\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\nexport const zLegend = z.object({\n enable: z.boolean().default(true).optional(),\n border: z.boolean().default(true).optional(),\n maxSize: z.number().default(1).optional(),\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 .optional(),\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 .optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontColor: z.string().default('#fff').optional(),\n labelFontWeight: z.number().or(z.string()).default(400).optional(),\n})\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).optional(),\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/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'\n\nexport const zTableConfig = z.object({\n // Border\n borderColor: z.string().optional(),\n\n // Body\n bodyFontSize: z.number().optional(),\n bodyFontColor: z.string().optional(),\n bodyBackgroundColor: z.string().optional(),\n hoverBodyBackgroundColor: z.string().optional(),\n\n // Header\n headerFontSize: z.number().optional(),\n headerFontColor: z.string().optional(),\n headerBackgroundColor: z.string().optional(),\n hoverHeaderBackgroundColor: z.string().optional(),\n\n // Interaction\n selectedBorderColor: z.string().optional(),\n})\nexport const zPivotTableConfig = zTableConfig\n\nexport const zLineConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zColumnConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n})\nexport const zColumnParallelConfig = zColumnConfig\nexport const zColumnPercentConfig = zColumnConfig\nexport const zBarConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n})\nexport const zBarParallelConfig = zBarConfig\nexport const zBarPercentConfig = zBarConfig\nexport const zAreaConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zAreaPercentConfig = zAreaConfig\nexport const zRoseConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zRoseParallelConfig = zRoseConfig\nexport const zPieConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zDonutConfig = zPieConfig\nexport const zDualAxisConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\nexport const zScatterConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n\n xAxis: zXLinearAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n})\nexport const zFunnelConfig = z.object({\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n})\nexport const zConfig = z.object({\n table: zTableConfig.optional(),\n pivotTable: zPivotTableConfig.optional(),\n\n line: zLineConfig.optional(),\n column: zColumnConfig.optional(),\n columnParallel: zColumnParallelConfig.optional(),\n columnPercent: zColumnPercentConfig.optional(),\n bar: zBarConfig.optional(),\n barParallel: zBarParallelConfig.optional(),\n barPercent: zBarPercentConfig.optional(),\n area: zAreaConfig.optional(),\n areaPercent: zAreaPercentConfig.optional(),\n\n rose: zRoseConfig.optional(),\n roseParallel: zRoseParallelConfig.optional(),\n pie: zPieConfig.optional(),\n donut: zDonutConfig.optional(),\n dualAxis: zDualAxisConfig.optional(),\n scatter: zScatterConfig.optional(),\n funnel: zFunnelConfig.optional(),\n})\n\nexport type TableConfig = z.infer<typeof zTableConfig>\nexport type PivotTableConfig = z.infer<typeof zPivotTableConfig>\n\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>\nexport type RoseConfig = z.infer<typeof zRoseConfig>\nexport type FunnelConfig = z.infer<typeof zFunnelConfig>\nexport type RoseParallelConfig = z.infer<typeof zRoseParallelConfig>\nexport type PieConfig = z.infer<typeof zPieConfig>\nexport type DonutConfig = z.infer<typeof zDonutConfig>\nexport type DualAxisConfig = z.infer<typeof zDualAxisConfig>\nexport type ScatterConfig = z.infer<typeof zScatterConfig>\n\nexport type Config = z.infer<typeof zConfig>\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 * @default 100\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 * @default '#797B85'\n */\n labelColor?: string\n /**\n * 标签字体大小\n * @default 12\n */\n labelFontSize?: number\n /**\n * 标签字体粗细\n * @default 400\n */\n labelFontWeight?: number\n /**\n * 标签旋转角度\n * @default 0\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 * @default 'rgba(54, 65, 89, 0.30)'\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 * @default 'rgba(54, 65, 89, 0.30)'\n */\n tickColor?: string\n /**\n * 刻度尺寸\n * @default 4\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 * @default ''\n */\n titleText?: string\n /**\n * 标题颜色\n * @default '#646A73'\n */\n titleColor?: string\n /**\n * 标题字体大小\n * @default 12\n */\n titleFontSize?: number\n /**\n * 标题字体粗细\n * @default 400\n */\n titleFontWeight?: number\n }\n\n /**\n * X轴网格线\n * @default false\n */\n grid?: {\n visible?: boolean\n /**\n * 网格线颜色\n * @default 'rgba(54, 65, 89, 0.15)'\n */\n gridColor?: string\n /**\n * 网格线宽度\n * @default 0.5\n */\n gridWidth?: number\n }\n}\n\nexport const zAxis = z.object({\n visible: z.boolean().default(true).optional(),\n\n min: z.number().optional(),\n max: z.number().optional(),\n nice: z.boolean().default(true).optional(),\n zero: z.boolean().default(true).optional(),\n inverse: z.boolean().default(false).optional(),\n log: z.boolean().default(false).optional(),\n logBase: z.number().default(10).optional(),\n\n labelAutoHide: z.boolean().default(true).optional(),\n labelAutoHideGap: z.number().default(4).optional(),\n labelAutoRotate: z.boolean().default(true).optional(),\n labelAutoRotateAngleRange: z.array(z.number()).default([0, -45, -90]).optional(),\n labelAutoLimit: z.boolean().default(true).optional(),\n labelAutoLimitLength: z.number().default(100).optional(),\n label: z\n .object({\n visible: z.boolean().default(true).optional(),\n labelColor: z.string().default('#797B85').optional(),\n labelFontSize: z.number().default(12).optional(),\n labelFontWeight: z.number().default(400).optional(),\n labelAngle: z.number().default(0).optional(),\n })\n .optional(),\n line: z\n .object({\n visible: z.boolean().default(true).optional(),\n lineColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n lineWidth: z.number().default(1).optional(),\n })\n .optional(),\n tick: z\n .object({\n visible: z.boolean().default(true).optional(),\n tickInside: z.boolean().default(false).optional(),\n tickColor: z.string().default('rgba(54, 65, 89, 0.30)').optional(),\n tickSize: z.number().default(4).optional(),\n })\n .optional(),\n title: z\n .object({\n visible: z.boolean().default(false).optional(),\n titleText: z.string().default('').optional(),\n titleColor: z.string().default('#646A73').optional(),\n titleFontSize: z.number().default(12).optional(),\n titleFontWeight: z.number().default(400).optional(),\n })\n .optional(),\n grid: z\n .object({\n visible: z.boolean().default(false).optional(),\n gridColor: z.string().default('rgba(54, 65, 89, 0.15)').optional(),\n gridWidth: z.number().default(0.5).optional(),\n })\n .optional(),\n})\n","import { z } from 'zod'\nimport { zConfig } from '../config'\n\nexport const zCustomThemeConfig = z.object({\n config: zConfig.optional(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).optional()\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\nexport type MeasureSelector = {\n field: string\n operator?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n op?: '=' | '==' | '!=' | '>' | '<' | '>=' | '<=' | 'between'\n value: string | number | Array<string | number>\n}\n\nexport type DimensionSelector = {\n field: string\n operator?: 'in' | 'not in'\n op?: 'in' | 'not in'\n value: string | number | Array<string | number>\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']).optional(),\n op: z.enum(['=', '==', '!=', '>', '<', '>=', '<=', 'between']).optional(),\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']).optional(),\n op: z.enum(['in', 'not in']).optional(),\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 * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default #000000\n */\n barColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n barColorOpacity?: number\n /**\n * 柱状图边框颜色\n * @description 柱状图边框颜色\n * @type {string}\n * @default #000000\n */\n barBorderColor?: string\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 0\n */\n barBorderWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\n * @example solid\n * @example dashed\n * @example dotted\n */\n barBorderStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 柱状图圆角\n * @description 柱状图圆角\n * @type {number | number[]}\n * @default 0\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]).optional(),\n barColor: z.string().optional(),\n barColorOpacity: z.number().optional(),\n barBorderColor: z.string().optional(),\n barBorderWidth: z.number().optional(),\n barBorderStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n barRadius: z.union([z.number(), z.array(z.number())]).optional(),\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 * 点大小\n * @description 点大小\n * @type {number}\n * @default 10\n */\n pointSize?: number\n /**\n * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default #000000\n */\n pointColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n pointColorOpacity?: number\n /**\n * 柱状图边框颜色\n * @description 柱状图边框颜色\n * @type {string}\n * @default #000000\n */\n pointBorderColor?: string\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 0\n */\n pointBorderWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\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]).optional(),\n pointSize: z.number().optional(),\n pointColor: z.string().optional(),\n pointColorOpacity: z.number().optional(),\n pointBorderColor: z.string().optional(),\n pointBorderWidth: z.number().optional(),\n pointBorderStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).optional(),\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 * 折线图是否平滑\n * @description 折线图是否平滑\n * @type {boolean}\n * @default true\n */\n lineSmooth?: boolean\n\n /**\n * 柱状图颜色\n * @description 柱状图颜色\n * @type {string}\n * @default {undefined} follow series color\n */\n lineColor?: string\n /**\n * 柱状图颜色透明度\n * @description 柱状图颜色透明度\n * @type {number}\n * @default 1\n */\n lineColorOpacity?: number\n /**\n * 柱状图边框宽度\n * @description 柱状图边框宽度\n * @type {number}\n * @default 1\n */\n lineWidth?: number\n /**\n * 柱状图边框样式\n * @description 柱状图边框样式\n * @type {number}\n * @default solid\n * @example solid\n * @example dashed\n * @example dotted\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n}\n\nexport const zLineStyle = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n lineSmooth: z.boolean().default(true).optional(),\n lineColor: z.string().optional(),\n lineColorOpacity: z.number().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.enum(['solid', 'dashed', 'dotted'])]).optional(),\n})\n","import { z } from 'zod'\nimport { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\n\nexport type AreaStyle = {\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 * 面积图元的颜色\n * @description 面积图元的颜色\n * @type {string}\n * @default {undefined} follow series color\n */\n areaColor?: string\n /**\n * 面积图元的颜色透明度\n * @description 面积图元的颜色透明度\n * @type {number}\n * @default 1\n */\n areaColorOpacity?: number\n}\n\nexport const zAreaStyle = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n areaColor: z.string().optional(),\n areaColorOpacity: z.number().optional(),\n})\n","import { z } from 'zod'\nimport { zBarStyle } from './barStyle'\nimport { zPointStyle } from './pointStyle'\nimport { zLineStyle } from './lineStyle'\nimport { zAreaStyle } from './areaStyle'\n\nexport const zMarkStyle = z.object({\n barStyle: zBarStyle.or(z.array(zBarStyle)).optional(),\n pointStyle: zPointStyle.or(z.array(zPointStyle)).optional(),\n lineStyle: zLineStyle.or(z.array(zLineStyle)).optional(),\n areaStyle: zAreaStyle.or(z.array(zAreaStyle)).optional(),\n})\n\nexport type MarkStyle = z.infer<typeof zMarkStyle>\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationPoint = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector: Selector | Selectors\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'middle'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationPoint = z.object({\n selector: z.union([zSelector, zSelectors]),\n text: z.string().or(z.array(z.string())).optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n offsetY: z.number().default(0).optional(),\n offsetX: z.number().default(0).optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationVerticalLine = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector?: Selector | Selectors\n /**\n * 固定的x值, 用于标注垂直线\n * @description 类目轴在x方向, 则可输入维值, 数值轴在x方向, 则可输入具体的数值\n * @default []\n */\n xValue?: (number | string) | (number | string)[]\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本位置\n * @description 标注线的标签位置(标签相对线的相对位置)。\n * @default 'insideEnd'\n * @example 'outsideEnd'\n */\n textPosition?: 'outsideStart' | 'outsideEnd' | 'outsideMiddle' | 'insideStart' | 'insideMiddle' | 'insideEnd'\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'right'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'top'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 线可见\n * @description 线可见\n * @default true\n * @example true\n */\n lineVisible?: boolean\n /**\n * 线颜色\n * @description 线颜色\n * @default 'red'\n * @example 'red'\n */\n lineColor?: string\n /**\n * 线宽度\n * @description 线宽度\n * @default 2\n * @example 2\n */\n lineWidth?: number\n /**\n * 线样式\n * @description 线样式\n * @default 'solid'\n * @example 'solid'\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationVerticalLine = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n xValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideEnd')\n .optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('right').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('top').optional(),\n lineVisible: z.boolean().optional(),\n lineColor: z.string().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationHorizontalLine = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector?: Selector | Selectors\n /**\n * 固定的y值, 用于标注水平线\n * @description 类目轴在y方向, 则可输入维值, 数值轴在y方向, 则可输入具体的数值\n * @default []\n */\n yValue?: (number | string) | (number | string)[]\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n /**\n * 文本位置\n * @description 标注线的标签位置(标签相对线的相对位置)。\n * @default 'insideEnd'\n * @example 'outsideEnd'\n */\n textPosition?: 'outsideStart' | 'outsideEnd' | 'outsideMiddle' | 'insideStart' | 'insideMiddle' | 'insideEnd'\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'center'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'bottom'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 文本Y方向的, 偏移量\n * @description 文本Y方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetY: 10\n */\n offsetY?: number\n /**\n * 文本X方向的, 偏移量\n * @description 文本X方向的, 偏移量, 支持正负\n * @default 0\n * @example offsetX: -10\n */\n offsetX?: number\n /**\n * 线可见\n * @description 线可见\n * @default true\n * @example true\n */\n lineVisible?: boolean\n /**\n * 线颜色\n * @description 线颜色\n * @default 'red'\n * @example 'red'\n */\n lineColor?: string\n /**\n * 线宽度\n * @description 线宽度\n * @default 2\n * @example 2\n */\n lineWidth?: number\n /**\n * 线样式\n * @description 线样式\n * @default 'solid'\n * @example 'solid'\n */\n lineStyle?: 'solid' | 'dashed' | 'dotted'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n}\n\nexport const zAnnotationHorizontalLine = z.object({\n selector: z.union([zSelector, zSelectors]).optional(),\n yValue: z.union([z.number(), z.string(), z.array(z.union([z.number(), z.string()]))]).optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textPosition: z\n .enum(['outsideStart', 'outsideEnd', 'outsideMiddle', 'insideStart', 'insideMiddle', 'insideEnd'])\n .default('insideMiddle')\n .optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('bottom').optional(),\n lineVisible: z.boolean().optional(),\n lineColor: z.string().optional(),\n lineWidth: z.number().optional(),\n lineStyle: z.union([z.literal('solid'), z.literal('dashed'), z.literal('dotted')]).optional(),\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n})\n","import { zSelector, zSelectors, type Selector, type Selectors } from '../../dataSelector'\nimport { z } from 'zod'\n\nexport type AnnotationArea = {\n /**\n * 依赖选择的数据, 进行数据标记.\n */\n selector: Selector | Selectors\n\n /**\n * 标注的文本\n * @description 标注的文本\n * @default ''\n * @example '标注文本'\n */\n text?: string | string[]\n\n /**\n * 文本位置\n * @description 文本位置\n * @default 'top'\n * @example 'top'\n */\n textPosition?: 'top' | 'topRight' | 'topLeft' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'right'\n\n /**\n * 文本颜色\n * @description 文本颜色\n * @default '#ffffff'\n * @example 'red'\n */\n textColor?: string\n /**\n * 文本字体大小\n * @description 文本字体大小\n * @default 12\n * @example 12\n */\n textFontSize?: number\n /**\n * 文本字体重量\n * @description 文本字体重量\n * @default 400\n * @example 400\n */\n textFontWeight?: number\n\n /**\n * 文本对齐方式\n * @description 文本对齐方式\n * @default 'left'\n * @example 'left'\n */\n textAlign?: 'left' | 'right' | 'center'\n /**\n * 文本垂直对齐方式\n * @description 文本垂直对齐方式\n * @default 'middle'\n * @example 'middle'\n */\n textBaseline?: 'top' | 'middle' | 'bottom'\n /**\n * 背景可见\n * @description 背景可见\n * @default true\n * @example true\n */\n backgroundVisible?: boolean\n /**\n * 背景颜色\n * @description 背景颜色\n * @default '#212121'\n * @example 'red'\n */\n backgroundColor?: string\n /**\n * 背景边框颜色\n * @description 背景边框颜色\n * @default 'red'\n * @example 'red'\n */\n backgroundBorderColor?: string\n /**\n * 背景边框宽度\n * @description 背景边框宽度\n * @default 1\n * @example 2\n */\n backgroundBorderWidth?: number\n /**\n * 背景边框圆角\n * @description 背景边框圆角\n * @default 4\n * @example 4\n */\n backgroundBorderRadius?: number\n /**\n * 背景内边距\n * @description 背景内边距\n * @default 4\n * @example 4\n */\n backgroundPadding?: number\n\n /**\n * 面积区域颜色\n * @description 面积区域颜色\n * @default 'red'\n * @example 'red'\n */\n areaColor?: string\n /**\n * 面积区域颜色透明度\n * @description 面积区域颜色透明度\n * @default 0.5\n * @example 0.5\n */\n areaColorOpacity?: number\n /**\n * 面积区域边框颜色\n * @description 面积区域边框颜色\n * @default 'red'\n * @example 'red'\n */\n areaBorderColor?: number\n /**\n * 面积区域边框宽度\n * @description 面积区域边框宽度\n * @default 2\n * @example 2\n */\n areaBorderWidth?: number\n /**\n * 面积区域边框圆角\n * @description 面积区域边框圆角\n * @default 4\n * @example 4\n */\n areaBorderRadius?: number\n /**\n * 面积区域的边距\n * @description 面积区域的边距\n * @default 8\n * @example 0\n */\n outerPadding?: number\n}\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 .optional(),\n text: z.string().or(z.array(z.string())).optional(),\n textColor: z.string().default('#ffffff').optional(),\n textFontSize: z.number().default(12).optional(),\n textFontWeight: z.number().default(400).optional(),\n textAlign: z.enum(['left', 'right', 'center']).default('center').optional(),\n textBaseline: z.enum(['top', 'middle', 'bottom']).default('middle').optional(),\n\n backgroundVisible: z.boolean().default(true).optional(),\n backgroundColor: z.string().default('#212121').optional(),\n backgroundBorderColor: z.string().optional(),\n backgroundBorderWidth: z.number().default(1).optional(),\n backgroundBorderRadius: z.number().default(4).optional(),\n backgroundPadding: z.number().optional(),\n\n areaColor: z.string().default('red').optional(),\n areaColorOpacity: z.number().default(0.5).optional(),\n areaBorderColor: z.number().optional(),\n areaBorderWidth: z.number().default(2).optional(),\n areaBorderRadius: z.number().default(4).optional(),\n\n outerPadding: z.number().optional(),\n})\n","import { z } from 'zod'\nimport { zAnnotationPoint } from './annotationPoint'\nimport { zAnnotationVerticalLine } from './annotationVerticalLine'\nimport { zAnnotationHorizontalLine } from './annotationHorizontalLine'\nimport { zAnnotationArea } from './annotationArea'\n\nexport const zAnnotation = z.object({\n annotationPoint: zAnnotationPoint.or(z.array(zAnnotationPoint)).optional(),\n annotationVerticalLine: zAnnotationVerticalLine.or(z.array(zAnnotationVerticalLine)).optional(),\n annotationHorizontalLine: zAnnotationHorizontalLine.or(z.array(zAnnotationHorizontalLine)).optional(),\n annotationArea: zAnnotationArea.or(z.array(zAnnotationArea)).optional(),\n})\n\nexport type Annotation = z.infer<typeof zAnnotation>\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, type Locale } from '../../i18n'\nimport type { DimensionTree, MeasureTree } from '../../properties'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zMeasureTree,\n zTheme,\n type BackgroundColor,\n type Dataset,\n type Theme,\n} from '../../properties'\n\n/**\n * 表格类型定义\n * @description 表格,适用于详细数据展示场景,行列分明,便于查看具体数值\n * 适用场景:\n * - 需要展示详细数据明细\n * - 数据项需要精确比对\n * - 展示多维度数据属性\n * 数据要求:\n * - 至少1个维度字段\n * - 至少1个度量字段\n * - 维度字段会作为表格的列标题\n * 默认开启的功能:\n * - 默认开启排序、筛选、分页功能\n */\nexport interface Table {\n /**\n * 表格\n * @description 标准表格组件,用于展示详细数据\n * @type {'table'}\n * @example 'table'\n */\n chartType: 'table'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, 一个字段对应一列, 一个记录对应一行\n * @type {Array<Record<string|number, any>>}\n * @example [{id: 1, name: \"A\", value: 100}, {id: 2, name: \"B\", value: 200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 表格的每个维度会对应一列\n * @type {Dimensions}\n * @example [{id: \"name\", alias: \"名称\"}]\n */\n dimensions?: DimensionTree\n\n /**\n * 指标\n * @description 表格的每个指标会对应一行, 并且天生支持指标组合.\n * @type {Measures}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zTable = z.object({\n chartType: z.literal('table'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport type { Measures } from '../../properties'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zTheme,\n type BackgroundColor,\n type Dataset,\n type Dimensions,\n type Theme,\n zMeasures,\n} from '../../properties'\n\n/**\n * 透视表类型定义\n * @description 透视表,适用于多维度数据交叉分析场景,可灵活配置行、列维度和指标计算方式\n * 适用场景:\n * - 复杂多维数据统计分析\n * - 数据钻取与聚合展示\n * - 业务报表生成与数据探索\n * 数据要求:\n * - 至少1个行维度 或 1个列维度 或 1个指标\n * - 数据必须已聚合\n * - 数据可被分组\n * 默认开启的功能:\n * - 默认开启行列排序、数据筛选、聚合计算、小计/总计\n */\nexport interface PivotTable {\n /**\n * 透视表\n * @description 透视表,适用于多维度数据交叉分析场景\n * @type {'pivotTable'}\n * @example 'pivotTable'\n */\n chartType: 'pivotTable'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 透视表的数据最终会被转换对应的树形结构, 用户无需手动进行数据处理.\n * @type {Array<Record<string|number, any>>}\n * @example [{region:'华东', product:'A', sales:1000}, {region:'华东', product:'B', sales:1500}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 透视表的行维度和列维度,会自动对数据进行处理为树形结构, 并映射到行和列轴, 可以通过 location : \"rowDimension\" | \"columnDimension\" 来控制一维度的映射位置\n * @type {Dimensions}\n * @example [{id: 'region', alias: '地区', isRow: true}, {id: 'product', alias: '产品', isColumn: true}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 透视表支持多个维度指标\n * @type {Measures}\n * @example [{id: 'sales', alias: '销售额', aggregation: 'sum'}]\n */\n measures?: Measures\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasures.optional(),\n backgroundColor: zBackgroundColor.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n PointStyle,\n Theme,\n Tooltip,\n CrosshairLine,\n XBandAxis,\n YLinearAxis,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 折线图类型定义\n * @description 折线图,适用于展示数据随时间或有序类别变化的趋势,通过线段连接数据点形成趋势线\n * 适用场景:\n * - 展示时间序列数据的变化趋势\n * - 比较多个数据系列的趋势对比\n * - 分析数据的增长或下降规律\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据点标记、提示信息、趋势线\n */\nexport interface Line {\n /**\n * 折线图\n * @description 折线图,适用于展示数据随时间或有序类别变化的趋势\n * @type {'line'}\n * @example 'line'\n */\n chartType: 'line'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 折线图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 折线图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"month\", alias: \"月份\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 折线图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zLine = z.object({\n chartType: z.literal('line'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 柱状图类型定义\n * @description 柱状图,适用于纵向数据对比场景,X轴为类目轴(分类数据),Y轴为数值轴(连续数据),柱子纵向排列\n * 适用场景:\n * - 数据项名称较短时\n * - 需要直观比较不同类别的数值大小\n * - 展示时间序列数据变化趋势\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface Column {\n /**\n * 柱状图\n * @description 柱状图,适用于纵向数据对比场景,X轴为类目轴(分类数据),Y轴为数值轴(连续数据),柱子纵向排列\n * @type {'column'}\n * @example 'column'\n */\n chartType: 'column'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:100}, {category:'B', value:200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 柱状图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"category\", alias: \"类别\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 柱状图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumn = z.object({\n chartType: z.literal('column'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 并列柱状图类型定义\n * @description 并列柱状图,适用于多指标并行对比场景,多个柱子并列排列展示不同指标值\n * 适用场景:\n * - 同一维度下多指标并行对比\n * - 多维度数据的横向比较\n * - 指标间关联性分析\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息、指标排序\n */\nexport interface ColumnParallel {\n /**\n * 并列柱状图\n * @description 并列柱状图,适用于多指标并行对比场景\n * @type {'columnParallel'}\n * @example 'columnParallel'\n */\n chartType: 'columnParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 并列柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value1:100, value2:200}, {category:'B', value1:150, value2:250}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 并列柱状图的所有指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value1', alias: '指标1'}, {id: 'value2', alias: '指标2'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumnParallel = z.object({\n chartType: z.literal('columnParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n StackCornerRadius,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 百分比柱状图类型定义\n * @description 百分比柱状图,适用于展示各类别占比关系的场景,Y轴以百分比形式展示数据占比\n * 适用场景:\n * - 不同类别数据的占比对比\n * - 多维度数据的构成分析\n * - 时间序列的占比变化趋势\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface ColumnPercent {\n /**\n * 百分比柱状图\n * @description 百分比柱状图,以百分比形式展示各类别数据占比关系\n * @type {'columnPercent'}\n * @example 'columnPercent'\n */\n chartType: 'columnPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比柱状图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 百分比柱状图指标会自动合并为一个指标, 映射到Y轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示框\n * @description 垂直提示框配置, 用于定义图表的垂直提示框, 包括垂直提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 柱状图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zColumnPercent = z.object({\n chartType: z.literal('columnPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { zLocale, type Locale } from '../../i18n'\nimport type {\n MeasureTree} from '../../properties';\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zBarStyle,\n zColor,\n zCrosshairRect,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport {\n type AnnotationArea,\n type AnnotationHorizontalLine,\n type AnnotationPoint,\n type AnnotationVerticalLine,\n type BackgroundColor,\n type BarStyle,\n type Color,\n type CrosshairRect,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type StackCornerRadius,\n type Theme,\n type Tooltip,\n type XLinearAxis,\n type YBandAxis,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 条形图类型定义\n * @description 条形图,适用于横向数据对比场景,Y轴为类目轴(分类数据),X轴为数值轴(连续数据),柱子横向排列\n * 适用场景:\n * - 数据项名称较长时\n * - 需要展示数据排名对比\n * - 展示正负双向数据\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface Bar {\n /**\n * 条形图\n * @description 条形图,适用于横向数据对比场景,Y轴为类目轴(分类数据),X轴为数值轴(连续数据),柱子横向排列\n * @type {'bar'}\n * @example 'bar'\n */\n chartType: 'bar'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{date:'2020-01-01', value:100}, {date:'2020-01-02', value:200}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: \"date\", alias: \"日期\"}, {id: \"value\", alias: \"数值\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 条形图指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBar = z.object({\n chartType: z.literal('bar'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XLinearAxis,\n YBandAxis,\n MeasureTree,\n} from '../../properties'\n\n/**\n * 并列条形图类型定义\n * @description 并列条形图,适用于多指标横向并行对比场景,多个条形平行排列展示不同指标值\n * 适用场景:\n * - 类别名称较长时的多指标对比\n * - 排名与数值同时展示的横向比较\n * - 多维度数据的并列分析\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据标签、提示信息\n */\nexport interface BarParallel {\n /**\n * 并列条形图\n * @description 并列条形图,适用于多指标横向并行对比场景\n * @type {'barParallel'}\n * @example 'barParallel'\n */\n chartType: 'barParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 并列条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value1:100, value2:200}, {category:'B', value1:150, value2:250}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 并列条形图指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value1', alias: '指标1'}, {id: 'value2', alias: '指标2'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBarParallel = z.object({\n chartType: z.literal('barParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zMeasureTree,\n zStackCornerRadius,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYBandAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n BarStyle,\n Color,\n CrosshairRect,\n Dataset,\n Dimensions,\n Label,\n Legend,\n DimensionTree,\n StackCornerRadius,\n Theme,\n Tooltip,\n XLinearAxis,\n YBandAxis,\n MeasureTree,\n} from '../../properties'\n\n/**\n * 百分比条形图类型定义\n * @description 百分比条形图,适用于横向展示各类别占比关系的场景,X轴以百分比形式展示数据占比\n * 适用场景:\n * - 类别名称较长时的占比对比\n * - 多维度数据的横向构成分析\n * - 排名与占比同时展示的场景\n * 数据要求:\n * - 至少1个维度字段和1个度量字段\n * - 所有类别占比之和为100%\n * - 支持多系列堆叠展示占比关系\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface BarPercent {\n /**\n * 百分比条形图\n * @description 百分比条形图,以横向百分比形式展示各类别数据占比关系\n * @type {'barPercent'}\n * @example 'barPercent'\n */\n chartType: 'barPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比条形图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 指标会自动合并为一个指标, 映射到X轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 类目轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YBandAxis\n\n /**\n * 水平提示框\n * @description 水平提示框配置, 用于定义图表的水平提示框, 包括水平提示框的颜色、标签样式等.\n */\n crosshairRect?: CrosshairRect\n\n /**\n * 条形图 堆叠圆角\n * @description 条形图 堆叠圆角\n * @default 8\n */\n stackCornerRadius?: StackCornerRadius\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 矩形图元样式\n * @description 条形图样式配置, 用于定义图表的条形图样式, 包括条形图的颜色, 边框, 圆角等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n barStyle?: BarStyle | BarStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zBarPercent = z.object({\n chartType: z.literal('barPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYBandAxis.optional(),\n crosshairRect: zCrosshairRect.optional(),\n stackCornerRadius: zStackCornerRadius.optional(),\n theme: zTheme.optional(),\n barStyle: zBarStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n AreaStyle,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n PointStyle,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n CrosshairLine,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 面积图类型定义\n * @description 面积图, 适用于展示数据随时间变化的趋势及累积关系, 通过填充区域增强数据对比. X轴为类目轴(分类数据), Y轴为数值轴(连续数据).\n * 适用场景:\n * - 展示单一数据系列的趋势变化\n * - 强调总量随时间的累积效果\n * - 对比多个数据系列的总量差异\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度字段映射到X轴,其余维度字段会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 模块开启堆叠\n * - 默认开启图例、坐标轴、区域填充、数据标签、提示信息\n */\nexport interface Area {\n /**\n * 面积图\n * @description 面积图,展示数据趋势及累积关系的图表类型\n * @type {'area'}\n * @example 'area'\n */\n chartType: 'area'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 面积图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 面积图元样式\n * @description 面积图元样式配置, 用于定义图表的面积图元样式, 包括面积图元的颜色, 透明度, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n areaStyle?: AreaStyle | AreaStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zArea = z.object({\n chartType: z.literal('area'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n areaStyle: zAreaStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\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 zLabel,\n zLegend,\n zLineStyle,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXBandAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n AreaStyle,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n LineStyle,\n PointStyle,\n Theme,\n Tooltip,\n XBandAxis,\n YLinearAxis,\n CrosshairLine,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 百分比面积图类型定义\n * @description 百分比面积图,适用于展示多类别占比随时间变化的趋势,Y轴以百分比形式展示占比关系\n * 适用场景:\n * - 时间序列的构成变化分析\n * - 多类别占比趋势对比\n * - 累积占比与单一类别占比同时展示\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 第一个维度会放至Y轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、百分比标签、提示信息、占比计算\n */\nexport interface AreaPercent {\n /**\n * 百分比面积图\n * @description 百分比面积图,以百分比形式展示多类别占比随某个维度的变化\n * @type {'areaPercent'}\n * @example 'areaPercent'\n */\n chartType: 'areaPercent'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 百分比面积图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', category:'A', value:30}, {month:'1月', category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 百分比面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 类目轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XBandAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 线图元样式\n * @description 线图元样式配置, 用于定义图表的线图元样式, 包括线图元的颜色, 透明度, 曲线等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n lineStyle?: LineStyle | LineStyle[]\n\n /**\n * 面积图元样式\n * @description 面积图元样式配置, 用于定义图表的面积图元样式, 包括面积图元的颜色, 透明度, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n areaStyle?: AreaStyle | AreaStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zAreaPercent = z.object({\n chartType: z.literal('areaPercent'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXBandAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n lineStyle: zLineStyle.optional(),\n areaStyle: zAreaStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport type {\n MeasureTree} from '../../properties';\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n type BackgroundColor,\n type Color,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type Theme,\n type Tooltip,\n} from '../../properties'\n\n/**\n * 堆叠玫瑰图类型定义\n * @description 堆叠玫瑰图,适用于多维度数据对比场景,通过极坐标系下的扇形弧度和半径展示数据大小\n * 适用场景:\n * - 多维度数据的分布对比\n * - 周期性数据的强弱比较\n * - 分类数据的数值与占比同时展示\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、极坐标系、数据标签、提示信息、数值缩放\n */\nexport interface Rose {\n /**\n * 堆叠玫瑰图\n * @description 堆叠玫瑰图,通过极坐标系展示多维度数据对比关系\n * @type {'rose'}\n * @example 'rose'\n */\n chartType: 'rose'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 玫瑰图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 玫瑰图的第一个维度被映射到角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 玫瑰图的指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {Measures}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zRose = z.object({\n chartType: z.literal('rose'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport type {\n MeasureTree} from '../../properties';\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n type BackgroundColor,\n type Color,\n type Dataset,\n type Dimensions,\n type Label,\n type Legend,\n type Theme,\n type Tooltip,\n} from '../../properties'\n\n/**\n * 分组玫瑰图类型定义\n * @description 分组玫瑰图,适用于多维度数据对比场景,通过极坐标系下的扇形弧度和半径展示数据大小\n * 适用场景:\n * - 多维度数据的分布对比\n * - 周期性数据的强弱比较\n * - 分类数据的数值与占比同时展示\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 第一个维度会放至角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、极坐标系、数据标签、提示信息、数值缩放\n */\nexport interface RoseParallel {\n /**\n * 分组玫瑰图\n * @description 分组玫瑰图,通过极坐标系展示多维度数据对比关系\n * @type {'roseParallel'}\n * @example 'roseParallel'\n */\n chartType: 'roseParallel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 玫瑰图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 玫瑰图的第一个维度被映射到角度轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 玫瑰图的指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {MeasureTree}\n * @example [{id: 'value', alias: '数值'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zRoseParallel = z.object({\n chartType: z.literal('roseParallel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n MeasureTree,\n Theme,\n Tooltip,\n} from '../../properties'\n\n/**\n * 饼图类型定义\n * @description 饼图,适用于展示单一维度数据的占比关系,通过扇形面积大小表示各类别占比\n * 适用场景:\n * - 展示分类数据的占比分布\n * - 强调数据的整体与部分关系\n * - 类别数量较少(建议不超过6个)的占比分析\n * 数据要求:\n * - 至少1个数值字段(度量)\n * - 所有维度会与指标名称(存在多个指标时)合并成一个维度, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算\n */\nexport interface Pie {\n /**\n * 饼图\n * @description 饼图,展示单一维度数据的占比关系\n * @type {'pie'}\n * @example 'pie'\n */\n chartType: 'pie'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 饼图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 饼图的所有维度会与指标名称(存在多个指标时)合并成一个维度, 映射到角度, 并作为图例项展示\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 饼图的所有指标会自动合并为一个指标, 映射到半径轴, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zPie = z.object({\n chartType: z.literal('pie'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport { zLocale, type Locale } from '../../i18n'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n MeasureTree,\n Theme,\n Tooltip,\n} from '../../properties'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\n/**\n * 环形图类型定义\n * @description 环形图,适用于展示单一维度数据的占比关系,中心留有空白区域可展示汇总信息\n * 适用场景:\n * - 需要同时展示整体数据和各部分占比\n * - 强调数据的整体与部分关系\n * - 中心区域需要展示关键指标或标题\n * 数据要求:\n * - 至少1个指标字段(度量)\n * - 所有维度会与指标名称(存在多个指标时)合并, 作为图例项展示.\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算、中心文本\n */\nexport interface Donut {\n /**\n * 环形图\n * @description 环形图,中心留有空白区域的饼图变体\n * @type {'donut'}\n * @example 'donut'\n */\n chartType: 'donut'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 环形图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 环形图的所有维度会与指标名称(存在多个指标时)合并成1个维度, 映射到饼图的角度, 并作为图例项展示.\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 环形图的所有指标会自动合并为一个指标, 映射到饼图的半径, 存在多个指标时, 指标名称会与其余维度合并, 并作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zDonut = z.object({\n chartType: z.literal('donut'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zAnnotationArea,\n zAnnotationHorizontalLine,\n zAnnotationPoint,\n zAnnotationVerticalLine,\n zBackgroundColor,\n zColor,\n zCrosshairLine,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zPointStyle,\n zTheme,\n zTooltip,\n zXLinearAxis,\n zYLinearAxis,\n} from '../../properties'\nimport type {\n AnnotationArea,\n AnnotationHorizontalLine,\n AnnotationPoint,\n AnnotationVerticalLine,\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n PointStyle,\n Theme,\n Tooltip,\n CrosshairLine,\n YLinearAxis,\n XLinearAxis,\n MeasureTree,\n} from '../../properties'\nimport { z } from 'zod'\n\n/**\n * 散点图类型定义\n * @description 散点图,适用于展示数据的分布情况,通过点的位置表示数据的数值\n * 适用场景:\n * - 分析数据的分布特征, 如数据的中心趋势, 分布范围, 异常值等\n * 数据要求:\n * - 至少2个数值字段(度量)\n * - 第一个指标字段会放至X轴, 其余指标会进行合并, 映射至Y轴\n * - 指标名称和维度名称会合并, 作为图例项展示\n * 默认开启的功能:\n * - 默认开启图例、坐标轴、数据点标记、提示信息、趋势线\n */\nexport interface Scatter {\n /**\n * 散点图\n * @description 散点图,适用于展示数据的分布情况,通过点的位置表示数据的数值\n * @type {'scatter'}\n * @example 'scatter'\n */\n chartType: 'scatter'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 折线图的数据最终会被转换为2个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{month:'1月', value:100}, {month:'2月', value:150}, {month:'3月', value:120}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 散点图的第一个维度被映射到X轴, 其余维度会与指标名称(存在多个指标时)合并, 作为图例项展示\n * @type {Dimensions}\n * @example [{id: \"month\", alias: \"月份\"}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 散点图的第一个指标字段会放至X轴, 其余指标会进行合并, 映射至Y轴\n * @type {DimensionTree}\n * @example [{id: \"value\", alias: \"数值\"}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * x轴\n * @description 数值轴, x轴配置, 用于定义图表的x轴, 包括x轴的位置, 格式, 样式等.\n */\n xAxis?: XLinearAxis\n\n /**\n * y轴\n * @description 数值轴, y轴配置, 用于定义图表的y轴, 包括y轴的位置, 格式, 样式等.\n */\n yAxis?: YLinearAxis\n\n /**\n * 垂直提示线\n * @description 鼠标移动到图表上时, 显示的垂直提示线\n */\n crosshairLine?: CrosshairLine\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 点图元样式\n * @description 点图元样式配置, 用于定义图表的点图元样式, 包括点图元的颜色, 边框等.\n * 支持全局样式或条件样式配置\n * 数据筛选器\n * 若配置selector, 提供数值 selector, 局部数据 selector, 条件维度 selector, 条件指标 selector 共四类数据匹配能力\n * 若未配置selector, 则样式全局生效.\n */\n pointStyle?: PointStyle | PointStyle[]\n\n /**\n * 标注点\n * @description 标注点配置, 根据选择的数据, 定义图表的标注点, 包括标注点的位置, 格式, 样式等.\n */\n annotationPoint?: AnnotationPoint | AnnotationPoint[]\n\n /**\n * 标注垂直线\n * @description 标注垂直线配置, 根据选择的数据, 定义图表的标注垂直线, 包括标注垂直线的位置, 样式等.\n */\n annotationVerticalLine?: AnnotationVerticalLine | AnnotationVerticalLine[]\n\n /**\n * 标注水平线\n * @description 标注水平线配置, 根据选择的数据, 定义图表的标注水平线, 包括标注水平线的位置, 样式等.\n */\n annotationHorizontalLine?: AnnotationHorizontalLine | AnnotationHorizontalLine[]\n\n /**\n * 标注区域\n * @description 标注区域配置, 根据选择的数据, 定义图表的标注区域, 包括标注区域的位置, 样式等.\n */\n annotationArea?: AnnotationArea | AnnotationArea[]\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zScatter = z.object({\n chartType: z.literal('scatter'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n xAxis: zXLinearAxis.optional(),\n yAxis: zYLinearAxis.optional(),\n crosshairLine: zCrosshairLine.optional(),\n theme: zTheme.optional(),\n pointStyle: zPointStyle.optional(),\n annotationPoint: z.array(zAnnotationPoint).or(zAnnotationPoint).optional(),\n annotationVerticalLine: z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),\n annotationHorizontalLine: z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),\n annotationArea: z.array(zAnnotationArea).or(zAnnotationArea).optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\nimport type { Locale } from '../../i18n'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zColor,\n zDataset,\n zDimensions,\n zLabel,\n zLegend,\n zMeasureTree,\n zTheme,\n zTooltip,\n} from '../../properties'\nimport type {\n BackgroundColor,\n Color,\n Dataset,\n Dimensions,\n Label,\n Legend,\n MeasureTree,\n Theme,\n Tooltip,\n} from '../../properties'\n\n/**\n * 漏斗图\n * @description 漏斗图,用于展示单一维度数据的占比关系\n * 适用场景:\n * 漏斗图适用场景:\n * - 适合用来分析具有多个连续、规范化步骤的流程,并清晰地展示在每个环节的数据流失或转化情况\n * 数据要求:\n * - 至少1个数值字段(指标)\n * - 所有维度会与指标名称(存在多个指标时)合并成一个维度, 作为图例项展示\n * - 所有指标会自动合并为一个指标\n * 默认开启的功能:\n * - 默认开启图例、数据标签、提示信息、占比计算\n */\nexport interface Funnel {\n /**\n * 漏斗图\n * @description 漏斗图,展示单一维度数据的占比关系\n * @type {'funnel'}\n * @example 'funnel'\n */\n chartType: 'funnel'\n /**\n * 数据集\n * @description 符合TidyData规范的且已经聚合的数据集,用于定义图表的数据来源和结构, 用户输入的数据集并不需要进行任何处理, VSeed带有强大的数据重塑功能, 会自行进行数据重塑, 饼图的数据最终会被转换为1个维度, 1个指标.\n * @type {Array<Record<string|number, any>>}\n * @example [{category:'A', value:30}, {category:'B', value:70}]\n */\n dataset: Dataset\n\n /**\n * 维度\n * @description 漏斗图的所有维度会与指标名称(存在多个指标时)合并成一个维度,并作为图例项展示\n * @type {Dimensions}\n * @example [{id: 'category', alias: '类别'}]\n */\n dimensions?: Dimensions\n\n /**\n * 指标\n * @description 漏斗图的所有指标会自动合并为一个指标, 存在多个指标时, 指标名称会与其余维度合并, 作为图例项展示.\n * @type {DimensionTree}\n * @example [{id: 'value', alias: '数值占比', format: 'percent'}]\n */\n measures?: MeasureTree\n\n /**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\n backgroundColor?: BackgroundColor\n\n /**\n * 颜色\n * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.\n */\n color?: Color\n\n /**\n * 标签\n * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.\n */\n label?: Label\n\n /**\n * 图例\n * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.\n */\n legend?: Legend\n\n /**\n * 提示信息\n * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.\n */\n tooltip?: Tooltip\n\n /**\n * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置\n * @default light 默认为亮色主题\n * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题\n * @example 'dark'\n * @example 'light'\n * @example 'customThemeName'\n */\n theme?: Theme\n\n /**\n * 语言\n * @description 图表语言配置, 支持'zh-CN'与'en-US'两种语言, 另外可以调用 intl.setLocale('zh-CN') 方法设置语言\n * @default 'zh-CN'\n */\n locale?: Locale\n}\n\nexport const zFunnel = z.object({\n chartType: z.literal('funnel'),\n dataset: zDataset.optional(),\n dimensions: zDimensions.optional(),\n measures: zMeasureTree.optional(),\n backgroundColor: zBackgroundColor.optional(),\n color: zColor.optional(),\n label: zLabel.optional(),\n legend: zLegend.optional(),\n tooltip: zTooltip.optional(),\n theme: zTheme.optional(),\n locale: zLocale.optional(),\n})\n","import { z } from 'zod'\n\nimport { zBar, type Bar } from './chartType/bar'\nimport { zBarParallel, type BarParallel } from './chartType/barParallel'\nimport { zColumn, type Column } from './chartType/column'\nimport { zColumnParallel, type ColumnParallel } from './chartType/columnParallel'\nimport { zColumnPercent, type ColumnPercent } from './chartType/columnPercent'\nimport { zLine, type Line } from './chartType/line'\nimport type { Table } from './chartType/table'\nimport { zRose, type Rose } from './chartType/rose'\nimport { zBarPercent, type BarPercent } from './chartType/barPercent'\nimport type { PivotTable } from './chartType/pivotTable'\nimport { zPie, type Pie } from './chartType/pie'\nimport { zDonut, type Donut } from './chartType/donut'\nimport type { DualAxis } from './chartType/dualAxis'\nimport { zArea, type Area } from './chartType/area'\nimport { zAreaPercent, type AreaPercent } from './chartType/areaPercent'\nimport {\n zFunnel,\n zPivotTable,\n zRoseParallel,\n zScatter,\n zTable,\n type Funnel,\n type RoseParallel,\n type Scatter,\n} from './chartType'\n\nexport type VSeed =\n | Table\n | PivotTable\n | Line\n | Column\n | ColumnParallel\n | ColumnPercent\n | Bar\n | BarParallel\n | BarPercent\n | Area\n | AreaPercent\n | Rose\n | RoseParallel\n | Pie\n | Donut\n | Scatter\n | Funnel\n | DualAxis\n\nexport const zVSeed = z.discriminatedUnion('chartType', [\n zTable,\n zPivotTable,\n\n zLine,\n zColumn,\n zColumnParallel,\n zColumnPercent,\n zBar,\n zBarParallel,\n zBarPercent,\n zArea,\n zAreaPercent,\n zPie,\n zRose,\n zRoseParallel,\n // zDualAxis,\n zScatter,\n zDonut,\n zFunnel,\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/encoding'\nimport { zDatasetReshapeInfo } from './properties/datasetReshapeInfo/datasetReshapeInfo'\nimport { zTheme, zCustomThemeConfig } from './properties/theme'\nimport { zConfig } from './properties/config'\nimport { 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 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","initAdvancedVSeed","advancedVSeed","context","vseed","chartType","locale","execPipeline","pipeline","initialValue","result","prev","cur","isTable","isPivotTable","isVTable","isVChart","isPivotChart","measures","dimensions","hasRowOrColumnDimension","dimension","hasMeasureGroup","measure","r","Number","e","Intl","translateMap","value","segments","values","text","segment","index","translatedText","isNullish","console","intl","i18n","createNumFormatter","format","type","ratio","symbol","thousandSeparator","prefix","suffix","fractionDigits","significantDigits","roundingMode","roundingPriority","numFormatterOptions","isNumber","numFormatter","num","typeSymbol","numStr","parts","autoNumFormatter","String","createFormatter","autoFormatter","preorderTraverse","tree","callback","stack","node","stop","children","i","child","findMeasureById","id","findFirstMeasure","findAllMeasures","findDimensionById","findFirstDimension","findAllDimensions","autoMeasures","dataset","Error","autoMeasureGroup","top100dataset","sample","item","undefined","newMeasures","currentGroup","createEmptyMeasureGroup","measureGroups","autoDimensions","dim","FoldMeasureName","FoldMeasureValue","FoldMeasureId","UnfoldDimensionGroup","UnfoldDimensionGroupId","Separator","ORIGINAL_DATA","C","t","o","n","u","p","B","l","a","s","Set","unfoldDimensions","unfoldStartIndex","unfoldGroupName","unfoldGroupId","foldMeasureId","dimensionsSeparator","dimensionsToBeUnfolded","unfoldInfo","colorItems","colorMap","datum","colorName","generateDimGroupName","colorId","unique","dimensionsToBeGrouped","m","foldMeasures","measureId","measureName","measureValue","foldInfo","Array","ids","d","j","omit","alias","emptyReshapeResult","dataReshapeFor2D1M","options","foldMeasureName","foldMeasureValue","unfoldDimensionGroup","unfoldDimensionGroupId","foldedDataset","finalDataset","onlyOneMeasure","onlyOneDimension","dims","dataReshapeFor1D1M","dataReshapeFor1D2M","reshapeTo2D1M","newDatasets","reshapeTo1D1M","reshapeTo1D2M","pivotReshapeTo1D1M","datasetReshapeInfo","measureGroup","commonDimensions","groupId","newSubDataset","reshapeInfo","pivotReshapeTo1D2M","pivotReshapeTo2D1M","encodingXY","isZeroDimension","encoding","x","y","group","color","encodingYX","encodingYY","firstMeasure","encodingRose","is1D1M","radius","angle","encodingPie","encodingFunnel","size","lineConfig","config","pick","columnConfig","pieConfig","areaConfig","areaPercentConfig","scatterConfig","barConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","roseConfig","roseParallelConfig","funnelConfig","D","c","structuredClone","theme","customTheme","chartConfigTheme","chartConfig","mergedConfig","mergeDeep","clone","chartCustomTheme","pivotAdapter","pivotPipeline","usePivotChart","markStyle","annotation","lineAdvancedPipeline","barAdvancedPipeline","barParallelAdvancedPipeline","barPercentAdvancedPipeline","columnAdvancedPipeline","columnParallelAdvancedPipeline","columnPercentAdvancedPipeline","areaAdvancedPipeline","areaPercentAdvancedPipeline","pieAdvancedPipeline","donutAdvancedPipeline","roseAdvancedPipeline","roseParallelAdvancedPipeline","funnelAdvancedPipeline","scatterAdvancedPipeline","autoPivotDimensions","newDimensions","autoPivotMeasures","records","pivotTableAdvancedPipeline","tableAdvancedPipeline","spec","fields","datasetPivot","pre","datasetPivotPlaceholder","initColumn","initBar","initBarParallel","initArea","initLine","initColumnParallel","initPie","initDonut","initRose","hasNegativeValue","initRoseParallel","initPivot","initFunnel","initScatter","xBand","visible","label","tick","title","grid","line","labelAutoHide","labelAutoHideGap","labelAutoLimit","labelAutoLimitLength","labelAutoRotate","labelAutoRotateAngleRange","sampling","bandAxis","ANNOTATION_Z_INDEX","LINEAR_AXIS_INNER_OFFSET_TOP","xLinear","zero","nice","inverse","max","min","log","logBase","linearAxis","yBand","yLinear","radiusAxis","is0D","is1M1D","showAxis","angleAxis","percent","stackInverse","stackCornerRadius","backgroundColor","baseConfig","tooltip","enable","groupName","autoFormat","isEmpty","formatter","formatValue","discreteLegend","legend","position","labelFontColor","labelFontSize","labelFontWeight","maxSize","border","shapeType","orient","legendPosition","items","pivotDiscreteLegend","colorIdMap","colorScheme","legends","colorMapping","mappingList","b","idMap","_","v","pivotIndicators","chartPipeline","indicators","newEncoding","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","pivotGridStyle","transparent","hoverBackgroundColor","pivotColumnDimensions","columnDimensions","columns","pivotRowDimensions","rowDimensions","rows","selector","vchartDatum","vchartKeys","k","selectors","isValueSelector","isMeasureSelector","op","selectorValueArr","isDimensionSelector","isPartialDatumSelector","barStyle","barStyles","customMap","style","barBorderColor","barBorderStyle","barBorderWidth","barColor","barColorOpacity","barRadius","lineDash","pointStyle","pointStyles","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointStateDimensionHover","point","pointStateHover","field","lineStyle","lineStyles","lineGroups","groupBy","lineColor","lineColorOpacity","lineSmooth","lineWidth","dashSegment","dashGap","curveType","lineData","areaStyle","areaStyles","areaColor","areaColorOpacity","isSubset","sub","annotationPoint","annotationPointList","markPoint","selectorPoint","textColor","textFontSize","textFontWeight","textAlign","textBaseline","backgroundBorderColor","backgroundBorderRadius","backgroundBorderWidth","backgroundPadding","backgroundVisible","offsetX","offsetY","selectedData","data","targetDatum","annotationVerticalLine","annotationVerticalLineList","positionMap","markLine","xValue","textPosition","lineVisible","generateOneMarkLine","isArray","isString","xValueArr","specMarkLine","newMarkLine","annotationHorizontalLine","yValue","yValueArr","annotationArea","annotationAreaList","markArea","outerPadding","areaBorderColor","areaBorderRadius","areaBorderWidth","positionData","xyList","yAxisHelper","xAxisHelper","yScale","minX","Math","maxX","minY","maxY","xScale","annotationAreaBand","depth","xBandWidth","yBandWidth","verticalCrosshairLine","labelColor","labelVisible","labelBackgroundColor","crosshair","verticalCrosshairRect","rectColor","horizontalCrosshairRect","horizontalCrosshairLine","pivotLine","lineSpecPipeline","column","pivotColumn","columnSpecPipeline","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","bar","pivotBar","barSpecPipeline","barParallel","pivotBarParallel","barParallelSpecPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","area","pivotArea","areaSpecPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","pie","pivotPie","pieSpecPipeline","donut","pivotDonut","donutSpecPipeline","rose","pivotRose","roseSpecPipeline","roseParallel","pivotRoseParallel","roseParallelSpecPipeline","funnel","pivotFunnel","funnelSpecPipeline","scatter","pivotScatter","scatterSpecPipeline","initTable","initPivotTable","measureTreeToColumns","eachNode","treeTreeToColumns","dimensionTreeToColumns","groupNode","props","pivotColumns","pivotRows","constructor","factory","prototype","extend","parent","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","channels","color_formatHex","color_formatHex8","color_formatHsl","color_formatRgb","hslConvert","parseInt","rgbn","Rgb","rgba","hsla","NaN","g","rgbConvert","rgb","opacity","arguments","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","hex","isNaN","h","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","bodyStyle","themConfig","borderColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor","headerStyle","rowHeaderStyle","cornerHeaderStyle","frameStyle","selectionStyle","tableSpecPipeline","pivotTableSpecPipeline","buildAdvanced","builder","buildSpec","build","getColorItems","Builder","advanced","themeKey","registerColumn","registerBar","registerLine","registerArea","registerAreaPercent","registerBarPercent","registerColumnPercent","registerColumnParallel","registerBarParallel","registerPie","registerDonut","registerRose","registerRoseParallel","registerFunnel","registerScatter","registerTable","registerPivotTable","lightTheme","barBandAxis","crosshairLine","crosshairRect","tableConfig","darkTheme","registerCustomTheme","themeConfig","registerLightTheme","registerDarkTheme","registerAll","$constructor","name","initializer","params","init","inst","def","_a","Parent","Definition","fn","$ZodAsyncError","globalConfig","newConfig","cuid","cuid2","ulid","xid","ksuid","nanoid","duration","guid","uuid","version","email","_emoji","emoji","ipv4","ipv6","cidrv4","cidrv6","base64url","hostname","e164","dateSource","date","timeSource","args","hhmm","regex","datetime","time","opts","timeRegex","string","integer","number","_undefined","lowercase","uppercase","getEnumValues","entries","numericValues","jsonStringifyReplacer","cached","getter","set","nullish","input","cleanRegex","source","start","end","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","_shape","merge","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","Date","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","zDatum","zDataset","zDimension","zDimensionGroup","zDimensions","zDimensionTree","zNumFormat","zMeasure","zMeasureGroup","zMeasures","zMeasureTree","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zXBandAxis","zYBandAxis","zXLinearAxis","zYLinearAxis","zCrosshairLine","zCrosshairRect","zStackCornerRadius","zBackgroundColor","zColor","zLabel","zLegend","zTooltip","zTableConfig","zPivotTableConfig","zLineConfig","zColumnConfig","zColumnParallelConfig","zColumnPercentConfig","zBarConfig","zBarParallelConfig","zBarPercentConfig","zAreaConfig","zAreaPercentConfig","zRoseConfig","zRoseParallelConfig","zPieConfig","zDonutConfig","zDualAxisConfig","zScatterConfig","zFunnelConfig","zConfig","zAxis","zCustomThemeConfig","zCustomTheme","zTheme","zSelector","zSelectors","zBarStyle","zPointStyle","zLineStyle","zAreaStyle","zMarkStyle","zAnnotationPoint","zAnnotationVerticalLine","zAnnotationHorizontalLine","zAnnotationArea","zAnnotation","zLocale","zTable","zPivotTable","zLine","zColumn","zColumnParallel","zColumnPercent","zBar","zBarParallel","zBarPercent","zArea","zAreaPercent","zRose","zRoseParallel","zPie","zDonut","zScatter","zFunnel","zVSeed","zAdvancedVSeed"],"mappings":"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M+B,YAA0B;YAC9B9M;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd7E;gBACA1E;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAQ;gBACAI;gBACAkB;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMmJ,mBAAiC;YAACzP,0BAAamD,WAAMqM;SAAW;QChD7E,MAAME,SAAuB;YAC3B3N;YACAiD;YACAD;YACAtH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACAiK;YACA1J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMgB,cAA4B;YAChCjN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdjF;gBACAiD;gBACAD;gBACAtH;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMsJ,qBAAqB;YAAC5P,0BAAa0P,QAAQC;SAAa;QCjDrE,MAAME,iBAA+B;YACnCzN;YACA4C;YACAvH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACAO;YACA0J;YACAvG;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMmB,sBAAoC;YACxCpN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd5E;gBACA4C;gBACAvH;gBACAwH;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMyJ,6BAA2C;YAAC/P,0BAAa6P,gBAAgBC;SAAqB;QC5C3G,MAAME,gBAA8B;YAClCjO;YACAiD;YACAD;YACAtH;YACAwH;YACAH;YACAjN;YACAgL;YACA2B;YACAzB;YACAoC;YACAiK;YACA1J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMsB,qBAAmC;YACvCvN;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdjF;gBACAiD;gBACAD;gBACAtH;gBACAqH;gBACAG;gBACAnD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACAiK;gBACAvG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAM4J,4BAA0C;YAAClQ,0BAAagQ,eAAeC;SAAoB;QCpDxG,MAAME,MAAoB;YACxBnO;YACAgD;YACAvH;YACAwH;YACApN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMyB,WAAyB;YAC7B1N;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACdhF;gBACAgD;gBACAvH;gBACAwH;gBACAnD;gBACAyC;gBACAxB;gBACAA;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAM+J,kBAAgC;YAACrQ,0BAAamQ,KAAKC;SAAU;QC9C1E,MAAME,cAA4B;YAChCrO;YACA+C;YACAvH;YACAwH;YACApN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAM4B,mBAAiC;YACrC7N;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACd/E;gBACA+C;gBACAvH;gBACAwH;gBACAnD;gBACAyC;gBACAT;gBACAf;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMkK,0BAAwC;YAACxQ,0BAAasQ,aAAaC;SAAkB;QC7ClG,MAAME,aAA2B;YAC/BzO;YACAgD;YACAvH;YACAwH;YACAH;YACAjN;YACAiM;YACAS;YACAxB;YACAoC;YACAmK;YACA5J;YACAmD;YACAyC;YACAmB;YACAa;YACAqB;SACD;QAED,MAAM+B,kBAAgC;YACpChO;YACA+E;YACAD;YACA5F;YACAoF,gBAAgB;gBACdhF;gBACAgD;gBACAvH;gBACAwH;gBACAH;gBACAhD;gBACAyC;gBACAT;gBACAf;gBACAoC;gBACAmK;gBACAzG;gBACAyC;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMqK,yBAAuC;YAAC3Q,0BAAayQ,YAAYC;SAAiB;QC9C/F,MAAME,YAAqB;YACzB1O;YACA6C;YACAtH;YACAwH;YACApN;YACAgL;YACA2B;YACAzB;YACAoC;YACA4J;YACArJ;YACA8D;YACAQ;YACAI;YACAY;YACAM;YACAmB;YACAa;YACAG;SACD;QAED,MAAMoD,YAA0B;YAC9BnO;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd9E;gBACAzE;gBACAwH;gBACAF;gBACAjD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAQ;gBACAI;gBACAY;gBACAM;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMwK,mBAAmB;YAAC9Q,0BAAa4Q,WAAMC;SAAW;QCpD/D,MAAME,cAA4B;YAChC7O;YACA6C;YACAtH;YACAwH;YACAH;YACAjN;YACAgL;YACA2B;YACAzB;YACAoC;YACA4J;YACArJ;YACA8D;YACAY;YACAY;YACAM;YACAmB;YACAa;YACAG;SACD;QAED,MAAMuD,mBAAiC;YACrCtO;YAEA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd9E;gBACA6C;gBACAtH;gBACAwH;gBACAH;gBACAhD;gBACAe;gBACA2B;gBACAzB;gBACAoC;gBACA4J;gBACAvF;gBACAY;gBACAY;gBACAM;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAM2K,0BAA0B;YAACjR,0BAAa+Q,aAAaC;SAAkB;QC7DpF,MAAME,MAAoB;YACxB7O;YACA5E;YACAwH;YACApN;YACAkL;YACAoC;YACAO;YACA4F;YACAmB;YACAa;YACAG;SACD;QAED,MAAM0D,WAAyB;YAC7BzO;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd3E;gBACA5E;gBACAwH;gBACAnD;gBACAiB;gBACAoC;gBACAmG;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAM8K,kBAAgC;YAACpR,0BAAakR,KAAKC;SAAU;QCpC1E,MAAME,QAAsB;YAC1B/O;YACA7E;YACAwH;YACApN;YACAkL;YACAoC;YACAO;YACA4F;YACAmB;YACAa;YACAG;SACD;QAED,MAAM6D,aAA2B;YAC/B5O;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACd1E;gBACA7E;gBACAwH;gBACAnD;gBACAiB;gBACAoC;gBACAmG;gBACAmB;gBACAa;gBACAG;aACD;YACD1F;YACAH;YACAtB;SACD;QAEM,MAAMiL,oBAAkC;YAACvR,0BAAaqR,OAAOC;SAAY;QCnChF,MAAME,OAAqB;YACzBjP;YACAyC;YACAD;YACAtH;YACAwH;YACApN;YACA4M;YACAI;YACA9B;YACAoC;YACAiK;YACA1J;SACD;QAED,MAAM+L,YAA0B;YAC9B/O;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdzE;gBACAyC;gBACAD;gBACAtH;gBACAwH;gBACAnD;gBACA2C;gBACAI;gBACA9B;gBACAoC;gBACAiK;aACD;YACDrH;YACAH;YACAtB;SACD;QAEM,MAAMoL,mBAAmB;YAAC1R,0BAAawR,MAAMC;SAAW;QCnC/D,MAAME,eAA6B;YACjClP;YACAuC;YACAvH;YACAwH;YACApN;YACA4M;YACAI;YACA9B;YACAoC;YACAO;YACA0J;YACA9D;YACAmB;YACAa;YACAqB;SACD;QAED,MAAMiD,oBAAkC;YACtClP;YACA+E;YACAF;YACA3F;YACAoF,gBAAgB;gBACdvE;gBACAuC;gBACAvH;gBACAwH;gBACAnD;gBACA2C;gBACAI;gBACA9B;gBACAoC;gBACAiK;gBACA9D;gBACAmB;gBACAa;gBACAqB;aACD;YACD5G;YACAH;YACAtB;SACD;QAEM,MAAMuL,2BAAyC;YAAC7R,0B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"}
|