@visactor/vseed 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/.rsdoctor/chunkGraph/0 +1 -0
  2. package/dist/.rsdoctor/configs/0 +1 -0
  3. package/dist/.rsdoctor/envinfo/0 +1 -0
  4. package/dist/.rsdoctor/errors/0 +1 -0
  5. package/dist/.rsdoctor/loader/0 +1 -0
  6. package/dist/.rsdoctor/manifest.json +52 -0
  7. package/dist/.rsdoctor/moduleCodeMap/0 +1 -0
  8. package/dist/.rsdoctor/moduleGraph/0 +1 -0
  9. package/dist/.rsdoctor/otherReports/0 +1 -0
  10. package/dist/.rsdoctor/packageGraph/0 +1 -0
  11. package/dist/.rsdoctor/plugin/0 +1 -0
  12. package/dist/.rsdoctor/resolver/0 +1 -0
  13. package/dist/.rsdoctor/summary/0 +1 -0
  14. package/dist/builder/builder/buildAdvanced.d.ts +1 -1
  15. package/dist/builder/builder/buildSpec.d.ts +1 -1
  16. package/dist/builder/builder/builder.d.ts +387 -7
  17. package/dist/builder/register/all.d.ts +1 -0
  18. package/dist/builder/register/index.d.ts +3 -1
  19. package/dist/builder/register/theme.d.ts +4 -0
  20. package/dist/dataReshape/dataReshapeFor1D1M.d.ts +1 -1
  21. package/dist/dataReshape/dataReshapeFor2D1M.d.ts +1 -1
  22. package/dist/dataReshape/foldMeasures.d.ts +2 -2
  23. package/dist/dataReshape/unfoldDimensions.d.ts +2 -2
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.html +1 -0
  26. package/dist/pipeline/advanced/pipeline/area.d.ts +1 -1
  27. package/dist/pipeline/advanced/pipeline/areaPercent.d.ts +1 -1
  28. package/dist/pipeline/advanced/pipeline/bar.d.ts +1 -1
  29. package/dist/pipeline/advanced/pipeline/barParallel.d.ts +1 -1
  30. package/dist/pipeline/advanced/pipeline/barPercent.d.ts +1 -1
  31. package/dist/pipeline/advanced/pipeline/column.d.ts +1 -1
  32. package/dist/pipeline/advanced/pipeline/columnParallel.d.ts +1 -1
  33. package/dist/pipeline/advanced/pipeline/columnPercent.d.ts +1 -1
  34. package/dist/pipeline/advanced/pipeline/line.d.ts +1 -1
  35. package/dist/pipeline/advanced/pipes/baseConfig/baseConfig.d.ts +3 -0
  36. package/dist/pipeline/advanced/pipes/baseConfig/index.d.ts +1 -0
  37. package/dist/pipeline/advanced/pipes/encoding/encodingCartesian.d.ts +1 -1
  38. package/dist/pipeline/advanced/pipes/index.d.ts +2 -0
  39. package/dist/pipeline/advanced/pipes/init/autoDimensions.d.ts +2 -0
  40. package/dist/pipeline/advanced/pipes/init/autoMeasures.d.ts +2 -0
  41. package/dist/pipeline/advanced/pipes/init/index.d.ts +2 -0
  42. package/dist/pipeline/advanced/pipes/init/initAdvancedVSeed.d.ts +1 -1
  43. package/dist/pipeline/advanced/pipes/init/utils.d.ts +1 -0
  44. package/dist/pipeline/advanced/pipes/reshape/reshapeTo1D1M.d.ts +1 -1
  45. package/dist/pipeline/advanced/pipes/reshape/reshapeTo2D1M.d.ts +1 -1
  46. package/dist/pipeline/advanced/pipes/theme/index.d.ts +1 -0
  47. package/dist/pipeline/advanced/pipes/theme/theme.d.ts +3 -0
  48. package/dist/pipeline/spec/pipeline/area.d.ts +1 -1
  49. package/dist/pipeline/spec/pipeline/areaPercent.d.ts +1 -1
  50. package/dist/pipeline/spec/pipeline/bar.d.ts +1 -1
  51. package/dist/pipeline/spec/pipeline/barParallel.d.ts +1 -1
  52. package/dist/pipeline/spec/pipeline/barPercent.d.ts +1 -1
  53. package/dist/pipeline/spec/pipeline/column.d.ts +1 -1
  54. package/dist/pipeline/spec/pipeline/columnParallel.d.ts +1 -1
  55. package/dist/pipeline/spec/pipeline/columnPercent.d.ts +1 -1
  56. package/dist/pipeline/spec/pipeline/line.d.ts +1 -1
  57. package/dist/pipeline/spec/pipes/axes/xBand.d.ts +1 -1
  58. package/dist/pipeline/spec/pipes/axes/xLinear.d.ts +1 -1
  59. package/dist/pipeline/spec/pipes/axes/yBand.d.ts +1 -1
  60. package/dist/pipeline/spec/pipes/axes/yLinear.d.ts +1 -1
  61. package/dist/pipeline/spec/pipes/backgroundColor/background.d.ts +2 -0
  62. package/dist/pipeline/spec/pipes/backgroundColor/index.d.ts +1 -0
  63. package/dist/pipeline/spec/pipes/color/color.d.ts +2 -0
  64. package/dist/pipeline/spec/pipes/color/index.d.ts +1 -0
  65. package/dist/pipeline/spec/pipes/dataset/dataset.d.ts +1 -1
  66. package/dist/pipeline/spec/pipes/index.d.ts +5 -0
  67. package/dist/pipeline/spec/pipes/init/area.d.ts +1 -1
  68. package/dist/pipeline/spec/pipes/init/bar.d.ts +1 -1
  69. package/dist/pipeline/spec/pipes/init/barParallel.d.ts +1 -1
  70. package/dist/pipeline/spec/pipes/init/column.d.ts +1 -1
  71. package/dist/pipeline/spec/pipes/init/columnParallel.d.ts +1 -1
  72. package/dist/pipeline/spec/pipes/init/line.d.ts +1 -1
  73. package/dist/pipeline/spec/pipes/label/index.d.ts +1 -0
  74. package/dist/pipeline/spec/pipes/label/label.d.ts +2 -0
  75. package/dist/pipeline/spec/pipes/legend/index.d.ts +1 -0
  76. package/dist/pipeline/spec/pipes/legend/legend.d.ts +2 -0
  77. package/dist/pipeline/spec/pipes/percent/percent.d.ts +1 -1
  78. package/dist/pipeline/spec/pipes/stack/stack.d.ts +1 -1
  79. package/dist/pipeline/spec/pipes/tooltip/index.d.ts +1 -0
  80. package/dist/pipeline/spec/pipes/tooltip/tooltip.d.ts +2 -0
  81. package/dist/pipeline/utils/chatType.d.ts +3 -0
  82. package/dist/pipeline/utils/index.d.ts +1 -0
  83. package/dist/pipeline/utils/pipeline.d.ts +1 -1
  84. package/dist/static/js/271.b02e15b2.js +16 -0
  85. package/dist/static/js/index.7ac2af0b.js +1 -0
  86. package/dist/theme/dark.d.ts +2 -0
  87. package/dist/theme/index.d.ts +2 -0
  88. package/dist/theme/light.d.ts +2 -0
  89. package/dist/types/{properties/advancedVSeed.d.ts → advancedVSeed.d.ts} +53 -8
  90. package/dist/types/builder/builder.d.ts +10 -3
  91. package/dist/types/chartType/area/area.d.ts +38 -3
  92. package/dist/types/chartType/areaPercent/areaPercent.d.ts +38 -3
  93. package/dist/types/chartType/bar/bar.d.ts +38 -3
  94. package/dist/types/chartType/barParallel/barParallel.d.ts +38 -3
  95. package/dist/types/chartType/barPercent/barPercent.d.ts +38 -3
  96. package/dist/types/chartType/column/column.d.ts +38 -3
  97. package/dist/types/chartType/columnParallel/columnParallel.d.ts +38 -3
  98. package/dist/types/chartType/columnPercent/columnPercent.d.ts +38 -3
  99. package/dist/types/chartType/donut/donut.d.ts +38 -3
  100. package/dist/types/chartType/dualAxis/dualAxis.d.ts +38 -3
  101. package/dist/types/chartType/index.d.ts +1 -1
  102. package/dist/types/chartType/line/line.d.ts +38 -3
  103. package/dist/types/chartType/pie/pie.d.ts +38 -3
  104. package/dist/types/chartType/pivotTable/pivotTable.d.ts +18 -3
  105. package/dist/types/chartType/rose/rose.d.ts +38 -3
  106. package/dist/types/chartType/table/table.d.ts +18 -3
  107. package/dist/types/index.d.ts +2 -0
  108. package/dist/types/pipeline/advancedVSeed/advancedVSeed.d.ts +4 -1
  109. package/dist/types/pipeline/spec/spec.d.ts +2 -1
  110. package/dist/types/properties/baseConfig/backgroundColor.d.ts +8 -0
  111. package/dist/types/properties/baseConfig/baseConfig.d.ts +44 -0
  112. package/dist/types/properties/baseConfig/color.d.ts +23 -0
  113. package/dist/types/properties/baseConfig/index.d.ts +12 -0
  114. package/dist/types/properties/baseConfig/label.d.ts +11 -0
  115. package/dist/types/properties/baseConfig/legend.d.ts +11 -0
  116. package/dist/types/properties/baseConfig/tooltip.d.ts +11 -0
  117. package/dist/types/properties/chartType/zChartType.d.ts +8 -8
  118. package/dist/types/properties/index.d.ts +2 -2
  119. package/dist/types/properties/theme/customTheme.d.ts +49 -0
  120. package/dist/types/properties/theme/index.d.ts +4 -0
  121. package/dist/types/properties/theme/theme.d.ts +15 -0
  122. package/dist/types/{properties/vseed.d.ts → vseed.d.ts} +25 -18
  123. package/package.json +2 -1
  124. package/dist/index.cjs +0 -925
  125. package/dist/index.js +0 -768
  126. package/dist/types/chartType/vseedDSL.d.ts +0 -16
  127. /package/dist/builder/register/{register.d.ts → chartType.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ import type { AdvancedPipe } from '../../../../types';
2
+ export declare const autoDimensions: AdvancedPipe;
@@ -0,0 +1,2 @@
1
+ import type { AdvancedPipe } from '../../../../types';
2
+ export declare const autoMeasures: AdvancedPipe;
@@ -1 +1,3 @@
1
1
  export { initAdvancedVSeed } from './initAdvancedVSeed';
2
+ export { autoMeasures } from './autoMeasures';
3
+ export { autoDimensions } from './autoDimensions';
@@ -1,2 +1,2 @@
1
- import { AdvancedPipe } from 'src/types';
1
+ import type { AdvancedPipe } from '../../../../types';
2
2
  export declare const initAdvancedVSeed: AdvancedPipe;
@@ -0,0 +1 @@
1
+ export declare const canConvertToNumber: (val: string | number | null | undefined | object) => boolean;
@@ -1,4 +1,4 @@
1
- import type { AdvancedPipe } from 'src/types';
1
+ import type { AdvancedPipe } from '../../../../types';
2
2
  /**
3
3
  * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.
4
4
  * @param advancedVSeed
@@ -1,4 +1,4 @@
1
- import type { AdvancedPipe } from 'src/types';
1
+ import type { AdvancedPipe } from '../../../../types';
2
2
  /**
3
3
  * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.
4
4
  * @param advancedVSeed
@@ -0,0 +1 @@
1
+ export { vchartTheme, vtableTheme } from './theme';
@@ -0,0 +1,3 @@
1
+ import type { AdvancedPipe } from '../../../../types';
2
+ export declare const vchartTheme: AdvancedPipe;
3
+ export declare const vtableTheme: AdvancedPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const areaSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const areaPercentSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const barSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const barParallelSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const barPercentSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const columnSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const columnParallelSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const columnPercentSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipeline } from 'src/types';
1
+ import type { SpecPipeline } from '../../../types';
2
2
  export declare const lineSpecPipeline: SpecPipeline;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const xBand: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const xLinear: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const yBand: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const yLinear: SpecPipe;
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../types';
2
+ export declare const backgroundColor: SpecPipe;
@@ -0,0 +1 @@
1
+ export { backgroundColor } from './background';
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../types';
2
+ export declare const color: SpecPipe;
@@ -0,0 +1 @@
1
+ export { color } from './color';
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const dataset: SpecPipe;
@@ -3,3 +3,8 @@ export * from './init';
3
3
  export * from './axes';
4
4
  export * from './percent';
5
5
  export * from './stack';
6
+ export * from './backgroundColor';
7
+ export * from './tooltip';
8
+ export * from './label';
9
+ export * from './legend';
10
+ export * from './color';
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initArea: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initBar: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initBarParallel: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initColumn: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initColumnParallel: SpecPipe;
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from 'src/types';
1
+ import type { SpecPipe } from '../../../../types';
2
2
  export declare const initLine: SpecPipe;
@@ -0,0 +1 @@
1
+ export { label } from './label';
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../types';
2
+ export declare const label: SpecPipe;
@@ -0,0 +1 @@
1
+ export { legend } from './legend';
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../types';
2
+ export declare const legend: SpecPipe;
@@ -1,2 +1,2 @@
1
- import { SpecPipe } from 'src/types';
1
+ import { SpecPipe } from '../../../../types';
2
2
  export declare const percent: SpecPipe;
@@ -1,2 +1,2 @@
1
- import { SpecPipe } from 'src/types';
1
+ import { SpecPipe } from '../../../../types';
2
2
  export declare const stack: SpecPipe;
@@ -0,0 +1 @@
1
+ export { tooltip } from './tooltip';
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../types';
2
+ export declare const tooltip: SpecPipe;
@@ -0,0 +1,3 @@
1
+ import type { ChartType } from '../../types';
2
+ export declare const isVTable: (chartType: ChartType) => boolean;
3
+ export declare const isVChart: (chartType: ChartType) => boolean;
@@ -1 +1,2 @@
1
1
  export { execPipeline } from './pipeline';
2
+ export { isVTable, isVChart } from './chatType';
@@ -1,4 +1,4 @@
1
- import type { ExecPipelineType } from 'src/types';
1
+ import type { ExecPipelineType } from '../../types';
2
2
  /**
3
3
  * 执行pipeline, 每个pipe负责构建结果的一部分, 构建完成后得到完整的目标结果
4
4
  * @param pipeline pipeline数组, 每个pipe负责构建结果的一部分
@@ -0,0 +1,16 @@
1
+ "use strict";(self.webpackChunk_visactor_vseed=self.webpackChunk_visactor_vseed||[]).push([["271"],{513:function(e,t,n){n.d(t,{_:()=>i});function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},709:function(e,t,n){function i(e,t,n){function i(n,i){var r;for(let o in Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(r=n._zod).traits??(r.traits=new Set),n._zod.traits.add(e),t(n,i),a.prototype)o in n||Object.defineProperty(n,o,{value:a.prototype[o].bind(n)});n._zod.constr=a,n._zod.def=i}let r=n?.Parent??Object;class o extends r{}function a(e){var t;let r=n?.Parent?new o:this;for(let n of(i(r,e),(t=r._zod).deferred??(t.deferred=[]),r._zod.deferred))n();return r}return Object.defineProperty(o,"name",{value:e}),Object.defineProperty(a,"init",{value:i}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!n?.Parent&&t instanceof n.Parent||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}n.d(t,{Km:()=>nE,Z_:()=>tX,Rx:()=>ns,IX:()=>nz,S1:()=>nf,o4:()=>tq,Yj:()=>nm,IM:()=>nx,Ry:()=>nk,O7:()=>nd}),Object.freeze({status:"aborted"}),Symbol("zod_brand");class r extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}let o={};function a(e){return e&&Object.assign(o,e),o}let s=/^[cC][^\s-]{8,}$/,u=/^[0-9a-z]+$/,l=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,c=/^[0-9a-vA-V]{20}$/,d=/^[A-Za-z0-9]{27}$/,p=/^[a-zA-Z0-9_-]{21}$/,f=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,h=/^([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})$/,m=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([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)$/,v=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_=/^(?:(?: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])$/,g=/^(([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})$/,y=/^((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])$/,z=/^(([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])$/,b=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,k=/^[A-Za-z0-9_-]*$/,w=/^(?=.{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])?)*\.?$/,$=/^\+(?:[0-9]){6,14}[0-9]$/,Z="(?:(?:\\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])))",x=RegExp(`^${Z}$`);function P(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}let E=/^\d+$/,A=/^-?\d+(?:\.\d+)?/i,T=/true|false/i,O=/undefined/i,I=/^[^A-Z]*$/,j=/^[^a-z]*$/;function S(e,t){return"bigint"==typeof t?t.toString():t}function N(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function C(e){let t=+!!e.startsWith("^"),n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}let R=Symbol("evaluating");function U(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==R)return void 0===i&&(i=R,i=n()),i},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function F(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function D(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function M(e){return JSON.stringify(e)}let L="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function V(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}let W=N(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});function J(e){if(!1===V(e))return!1;let t=e.constructor;if(void 0===t)return!0;let n=t.prototype;return!1!==V(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}let B=new Set(["string","number","symbol"]);function K(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function G(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function X(e){if(!e)return{};if("string"==typeof e)return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");e.error=e.message}return(delete e.message,"string"==typeof e.error)?{...e,error:()=>e.error}:e}let q={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function H(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Y(e,t){return t.map(t=>(t.path??(t.path=[]),t.path.unshift(e),t))}function Q(e){return"string"==typeof e?e:e?.message}function ee(e,t,n){let i={...e,path:e.path??[]};return e.message||(i.message=Q(e.inst?._zod.def?.error?.(e))??Q(t?.error?.(e))??Q(n.customError?.(e))??Q(n.localeError?.(e))??"Invalid input"),delete i.inst,delete i.continue,t?.reportInput||delete i.input,i}function et(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function en(...e){let[t,n,i]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:i}:{...t}}let ei=i("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),er={number:"number",bigint:"bigint",object:"date"},eo=i("$ZodCheckLessThan",(e,t)=>{ei.init(e,t);let n=er[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,i=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<i&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:n,code:"too_big",maximum:t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ea=i("$ZodCheckGreaterThan",(e,t)=>{ei.init(e,t);let n=er[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,i=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>i&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:n,code:"too_small",minimum:t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),es=i("$ZodCheckMultipleOf",(e,t)=>{ei.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value===BigInt(0):0===function(e,t){let n=(e.toString().split(".")[1]||"").length,i=t.toString(),r=(i.split(".")[1]||"").length;if(0===r&&/\d?e-\d?/.test(i)){let e=i.match(/\d?e-(\d?)/);e?.[1]&&(r=Number.parseInt(e[1]))}let o=n>r?n:r;return Number.parseInt(e.toFixed(o).replace(".",""))%Number.parseInt(t.toFixed(o).replace(".",""))/10**o}(n.value,t.value))||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),eu=i("$ZodCheckNumberFormat",(e,t)=>{ei.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),i=n?"int":"number",[r,o]=q[t.format];e._zod.onattach.push(e=>{let i=e._zod.bag;i.format=t.format,i.minimum=r,i.maximum=o,n&&(i.pattern=E)}),e._zod.check=a=>{let s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,continue:!t.abort}))}s<r&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inst:e})}}),el=i("$ZodCheckMaxLength",(e,t)=>{var n;ei.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return null!=t&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let r=et(i);n.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),ec=i("$ZodCheckMinLength",(e,t)=>{var n;ei.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return null!=t&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let r=et(i);n.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),ed=i("$ZodCheckLengthEquals",(e,t)=>{var n;ei.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return null!=t&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let i=n.value,r=i.length;if(r===t.length)return;let o=et(i),a=r>t.length;n.issues.push({origin:o,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ep=i("$ZodCheckStringFormat",(e,t)=>{var n,i;ei.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),ef=i("$ZodCheckRegex",(e,t)=>{ep.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),eh=i("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=I),ep.init(e,t)}),em=i("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=j),ep.init(e,t)}),ev=i("$ZodCheckIncludes",(e,t)=>{ei.init(e,t);let n=K(t.includes),i=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(i)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),e_=i("$ZodCheckStartsWith",(e,t)=>{ei.init(e,t);let n=RegExp(`^${K(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),eg=i("$ZodCheckEndsWith",(e,t)=>{ei.init(e,t);let n=RegExp(`.*${K(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),ey=i("$ZodCheckOverwrite",(e,t)=>{ei.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class ez{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length));for(let e of t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e))this.content.push(e)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}let eb=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,S,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ek=i("$ZodError",eb),ew=i("$ZodError",eb,{Parent:Error}),e$=e=>(t,n,i)=>{let o=i?{...i,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new r;return s.issues.length?{success:!1,error:new(e??ek)(s.issues.map(e=>ee(e,o,a())))}:{success:!0,data:s.value}},eZ=e$(ew),ex=e=>async(t,n,i)=>{let r=i?Object.assign(i,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(e=>ee(e,r,a())))}:{success:!0,data:o.value}},eP=ex(ew),eE={major:4,minor:0,patch:14},eA=i("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=eE;let i=[...e._zod.def.checks??[]];for(let t of(e._zod.traits.has("$ZodCheck")&&i.unshift(e),i))for(let n of t._zod.onattach)n(e);if(0===i.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let i,o=H(e);for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(o)continue;let t=e.issues.length,s=a._zod.check(e);if(s instanceof Promise&&n?.async===!1)throw new r;if(i||s instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await s,e.issues.length!==t&&(o||(o=H(e,t)))});else{if(e.issues.length===t)continue;o||(o=H(e,t))}}return i?i.then(()=>e):e};e._zod.run=(n,o)=>{let a=e._zod.parse(n,o);if(a instanceof Promise){if(!1===o.async)throw new r;return a.then(e=>t(e,i,o))}return t(a,i,o)}}e["~standard"]={validate:t=>{try{let n=eZ(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return eP(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),eT=i("$ZodString",(e,t)=>{eA.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return RegExp(`^${t}$`)})(e._zod.bag),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=String(n.value)}catch(e){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),eO=i("$ZodStringFormat",(e,t)=>{ep.init(e,t),eT.init(e,t)}),eI=i("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=h),eO.init(e,t)}),ej=i("$ZodUUID",(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=m(e))}else t.pattern??(t.pattern=m());eO.init(e,t)}),eS=i("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=v),eO.init(e,t)}),eN=i("$ZodURL",(e,t)=>{eO.init(e,t),e._zod.check=n=>{try{let i=n.value.trim(),r=new URL(i);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:w.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=i;return}catch(i){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),eC=i("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),eO.init(e,t)}),eR=i("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=p),eO.init(e,t)}),eU=i("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=s),eO.init(e,t)}),eF=i("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=u),eO.init(e,t)}),eD=i("$ZodULID",(e,t)=>{t.pattern??(t.pattern=l),eO.init(e,t)}),eM=i("$ZodXID",(e,t)=>{t.pattern??(t.pattern=c),eO.init(e,t)}),eL=i("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=d),eO.init(e,t)}),eV=i("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){let t=P({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${t}(?:${n.join("|")})`;return RegExp(`^${Z}T(?:${i})$`)}(t)),eO.init(e,t)}),eW=i("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=x),eO.init(e,t)}),eJ=i("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=RegExp(`^${P(t)}$`)),eO.init(e,t)}),eB=i("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=f),eO.init(e,t)}),eK=i("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=_),eO.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv4"})}),eG=i("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=g),eO.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),eX=i("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=y),eO.init(e,t)}),eq=i("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=z),eO.init(e,t),e._zod.check=n=>{let[i,r]=n.value.split("/");try{if(!r)throw Error();let e=Number(r);if(`${e}`!==r||e<0||e>128)throw Error();new URL(`http://[${i}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function eH(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}let eY=i("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=b),eO.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{eH(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}}),eQ=i("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=k),eO.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{!function(e){if(!k.test(e))return!1;let t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return eH(t.padEnd(4*Math.ceil(t.length/4),"="))}(n.value)&&n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),e0=i("$ZodE164",(e,t)=>{t.pattern??(t.pattern=$),eO.init(e,t)}),e1=i("$ZodJWT",(e,t)=>{eO.init(e,t),e._zod.check=n=>{!function(e,t=null){try{let n=e.split(".");if(3!==n.length)return!1;let[i]=n;if(!i)return!1;let r=JSON.parse(atob(i));if("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))return!1;return!0}catch{return!1}}(n.value,t.alg)&&n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),e9=i("$ZodNumber",(e,t)=>{eA.init(e,t),e._zod.pattern=e._zod.bag.pattern??A,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}let r=n.value;if("number"==typeof r&&!Number.isNaN(r)&&Number.isFinite(r))return n;let o="number"==typeof r?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),e4=i("$ZodNumber",(e,t)=>{eu.init(e,t),e9.init(e,t)}),e2=i("$ZodBoolean",(e,t)=>{eA.init(e,t),e._zod.pattern=T,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=!!n.value}catch(e){}let r=n.value;return"boolean"==typeof r||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),e6=i("$ZodUndefined",(e,t)=>{eA.init(e,t),e._zod.pattern=O,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(t,n)=>{let i=t.value;return void 0===i||t.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:e}),t}}),e3=i("$ZodAny",(e,t)=>{eA.init(e,t),e._zod.parse=e=>e}),e8=i("$ZodUnknown",(e,t)=>{eA.init(e,t),e._zod.parse=e=>e}),e5=i("$ZodNever",(e,t)=>{eA.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function e7(e,t,n){e.issues.length&&t.issues.push(...Y(n,e.issues)),t.value[n]=e.value}let te=i("$ZodArray",(e,t)=>{eA.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);let o=[];for(let e=0;e<r.length;e++){let a=r[e],s=t.element._zod.run({value:a,issues:[]},i);s instanceof Promise?o.push(s.then(t=>e7(t,n,e))):e7(s,n,e)}return o.length?Promise.all(o).then(()=>n):n}});function tt(e,t,n,i){e.issues.length&&t.issues.push(...Y(n,e.issues)),void 0===e.value?n in i&&(t.value[n]=void 0):t.value[n]=e.value}let tn=i("$ZodObject",(e,t)=>{let n,i;eA.init(e,t);let r=N(()=>{var e;let n=Object.keys(t.shape);for(let e of n)if(!(t.shape[e]instanceof eA))throw Error(`Invalid element at key "${e}": expected a Zod schema`);let i=Object.keys(e=t.shape).filter(t=>"optional"===e[t]._zod.optin&&"optional"===e[t]._zod.optout);return{shape:t.shape,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}});U(e._zod,"propValues",()=>{let e=t.shape,n={};for(let t in e){let i=e[t]._zod;if(i.values)for(let e of(n[t]??(n[t]=new Set),i.values))n[t].add(e)}return n});let a=!o.jitless,s=a&&W.value,u=t.catchall;e._zod.parse=(o,l)=>{i??(i=r.value);let c=o.value;if(!V(c))return o.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),o;let d=[];if(a&&s&&l?.async===!1&&!0!==l.jitless)n||(n=(e=>{let t=new ez(["shape","payload","ctx"]),n=r.value,i=e=>{let t=M(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");let o=Object.create(null),a=0;for(let e of n.keys)o[e]=`key_${a++}`;for(let e of(t.write("const newResult = {}"),n.keys)){let n=o[e],r=M(e);t.write(`const ${n} = ${i(e)};`),t.write(`
2
+ if (${n}.issues.length) {
3
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
4
+ ...iss,
5
+ path: iss.path ? [${r}, ...iss.path] : [${r}]
6
+ })));
7
+ }
8
+
9
+ if (${n}.value === undefined) {
10
+ if (${r} in input) {
11
+ newResult[${r}] = undefined;
12
+ }
13
+ } else {
14
+ newResult[${r}] = ${n}.value;
15
+ }
16
+ `)}t.write("payload.value = newResult;"),t.write("return payload;");let s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),o=n(o,l);else{o.value={};let e=i.shape;for(let t of i.keys){let n=e[t]._zod.run({value:c[t],issues:[]},l);n instanceof Promise?d.push(n.then(e=>tt(e,o,t,c))):tt(n,o,t,c)}}if(!u)return d.length?Promise.all(d).then(()=>o):o;let p=[],f=i.keySet,h=u._zod,m=h.def.type;for(let e of Object.keys(c)){if(f.has(e))continue;if("never"===m){p.push(e);continue}let t=h.run({value:c[e],issues:[]},l);t instanceof Promise?d.push(t.then(t=>tt(t,o,e,c))):tt(t,o,e,c)}return(p.length&&o.issues.push({code:"unrecognized_keys",keys:p,input:c,inst:e}),d.length)?Promise.all(d).then(()=>o):o}});function ti(e,t,n,i){for(let n of e)if(0===n.issues.length)return t.value=n.value,t;let r=e.filter(e=>!H(e));return 1===r.length?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>ee(e,i,a())))}),t)}let tr=i("$ZodUnion",(e,t)=>{eA.init(e,t),U(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),U(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),U(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>C(e.source)).join("|")})$`)}});let n=1===t.options.length,i=t.options[0]._zod.run;e._zod.parse=(r,o)=>{if(n)return i(r,o);let a=!1,s=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},o);if(t instanceof Promise)s.push(t),a=!0;else{if(0===t.issues.length)return t;s.push(t)}}return a?Promise.all(s).then(t=>ti(t,r,e,o)):ti(s,r,e,o)}}),to=i("$ZodIntersection",(e,t)=>{eA.init(e,t),e._zod.parse=(e,n)=>{let i=e.value,r=t.left._zod.run({value:i,issues:[]},n),o=t.right._zod.run({value:i,issues:[]},n);return r instanceof Promise||o instanceof Promise?Promise.all([r,o]).then(([t,n])=>ta(e,t,n)):ta(e,r,o)}});function ta(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),H(e))return e;let i=function e(t,n){if(t===n||t instanceof Date&&n instanceof Date&&+t==+n)return{valid:!0,data:t};if(J(t)&&J(n)){let i=Object.keys(n),r=Object.keys(t).filter(e=>-1!==i.indexOf(e)),o={...t,...n};for(let i of r){let r=e(t[i],n[i]);if(!r.valid)return{valid:!1,mergeErrorPath:[i,...r.mergeErrorPath]};o[i]=r.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return{valid:!1,mergeErrorPath:[]};let i=[];for(let r=0;r<t.length;r++){let o=e(t[r],n[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};i.push(o.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}(t.value,n.value);if(!i.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}let ts=i("$ZodRecord",(e,t)=>{eA.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!J(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;let o=[];if(t.keyType._zod.values){let a,s=t.keyType._zod.values;for(let e of(n.value={},s))if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){let a=t.valueType._zod.run({value:r[e],issues:[]},i);a instanceof Promise?o.push(a.then(t=>{t.issues.length&&n.issues.push(...Y(e,t.issues)),n.value[e]=t.value})):(a.issues.length&&n.issues.push(...Y(e,a.issues)),n.value[e]=a.value)}for(let e in r)s.has(e)||(a=a??[]).push(e);a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:a})}else for(let s of(n.value={},Reflect.ownKeys(r))){if("__proto__"===s)continue;let u=t.keyType._zod.run({value:s,issues:[]},i);if(u instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(u.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(e=>ee(e,i,a())),input:s,path:[s],inst:e}),n.value[u.value]=u.value;continue}let l=t.valueType._zod.run({value:r[s],issues:[]},i);l instanceof Promise?o.push(l.then(e=>{e.issues.length&&n.issues.push(...Y(s,e.issues)),n.value[u.value]=e.value})):(l.issues.length&&n.issues.push(...Y(s,l.issues)),n.value[u.value]=l.value)}return o.length?Promise.all(o).then(()=>n):n}}),tu=i("$ZodEnum",(e,t)=>{eA.init(e,t);let n=function(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}(t.entries),i=new Set(n);e._zod.values=i,e._zod.pattern=RegExp(`^(${n.filter(e=>B.has(typeof e)).map(e=>"string"==typeof e?K(e):e.toString()).join("|")})$`),e._zod.parse=(t,r)=>{let o=t.value;return i.has(o)||t.issues.push({code:"invalid_value",values:n,input:o,inst:e}),t}}),tl=i("$ZodTransform",(e,t)=>{eA.init(e,t),e._zod.parse=(e,n)=>{let i=t.transform(e.value,e);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(t=>(e.value=t,e));if(i instanceof Promise)throw new r;return e.value=i,e}});function tc(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}let td=i("$ZodOptional",(e,t)=>{eA.init(e,t),e._zod.optin="optional",e._zod.optout="optional",U(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,"pattern",()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${C(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){let i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(t=>tc(t,e.value)):tc(i,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),tp=i("$ZodNullable",(e,t)=>{eA.init(e,t),U(e._zod,"optin",()=>t.innerType._zod.optin),U(e._zod,"optout",()=>t.innerType._zod.optout),U(e._zod,"pattern",()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${C(e.source)}|null)$`):void 0}),U(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),tf=i("$ZodDefault",(e,t)=>{eA.init(e,t),e._zod.optin="optional",U(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(void 0===e.value)return e.value=t.defaultValue,e;let i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>th(e,t)):th(i,t)}});function th(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}let tm=i("$ZodPrefault",(e,t)=>{eA.init(e,t),e._zod.optin="optional",U(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),tv=i("$ZodNonOptional",(e,t)=>{eA.init(e,t),U(e._zod,"values",()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,i)=>{let r=t.innerType._zod.run(n,i);return r instanceof Promise?r.then(t=>t_(t,e)):t_(r,e)}});function t_(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}let tg=i("$ZodCatch",(e,t)=>{eA.init(e,t),U(e._zod,"optin",()=>t.innerType._zod.optin),U(e._zod,"optout",()=>t.innerType._zod.optout),U(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{let i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(i=>(e.value=i.value,i.issues.length&&(e.value=t.catchValue({...e,error:{issues:i.issues.map(e=>ee(e,n,a()))},input:e.value}),e.issues=[]),e)):(e.value=i.value,i.issues.length&&(e.value=t.catchValue({...e,error:{issues:i.issues.map(e=>ee(e,n,a()))},input:e.value}),e.issues=[]),e)}}),ty=i("$ZodPipe",(e,t)=>{eA.init(e,t),U(e._zod,"values",()=>t.in._zod.values),U(e._zod,"optin",()=>t.in._zod.optin),U(e._zod,"optout",()=>t.out._zod.optout),U(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{let i=t.in._zod.run(e,n);return i instanceof Promise?i.then(e=>tz(e,t,n)):tz(i,t,n)}});function tz(e,t,n){return e.issues.length?e:t.out._zod.run({value:e.value,issues:e.issues},n)}let tb=i("$ZodReadonly",(e,t)=>{eA.init(e,t),U(e._zod,"propValues",()=>t.innerType._zod.propValues),U(e._zod,"values",()=>t.innerType._zod.values),U(e._zod,"optin",()=>t.innerType._zod.optin),U(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{let i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(tk):tk(i)}});function tk(e){return e.value=Object.freeze(e.value),e}let tw=i("$ZodCustom",(e,t)=>{ei.init(e,t),eA.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let i=n.value,r=t.fn(i);if(r instanceof Promise)return r.then(t=>t$(t,n,i,e));t$(r,n,i,e)}});function t$(e,t,n,i){if(!e){let e={code:"custom",input:n,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(e.params=i._zod.def.params),t.issues.push(en(e))}}Symbol("ZodOutput"),Symbol("ZodInput");let tZ=new class e{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&"object"==typeof n&&"id"in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function tx(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...X(t)})}function tP(e,t){return new eo({check:"less_than",...X(t),value:e,inclusive:!1})}function tE(e,t){return new eo({check:"less_than",...X(t),value:e,inclusive:!0})}function tA(e,t){return new ea({check:"greater_than",...X(t),value:e,inclusive:!1})}function tT(e,t){return new ea({check:"greater_than",...X(t),value:e,inclusive:!0})}function tO(e,t){return new es({check:"multiple_of",...X(t),value:e})}function tI(e,t){return new el({check:"max_length",...X(t),maximum:e})}function tj(e,t){return new ec({check:"min_length",...X(t),minimum:e})}function tS(e,t){return new ed({check:"length_equals",...X(t),length:e})}function tN(e){return new ey({check:"overwrite",tx:e})}let tC=i("ZodISODateTime",(e,t)=>{eV.init(e,t),tq.init(e,t)}),tR=i("ZodISODate",(e,t)=>{eW.init(e,t),tq.init(e,t)}),tU=i("ZodISOTime",(e,t)=>{eJ.init(e,t),tq.init(e,t)}),tF=i("ZodISODuration",(e,t)=>{eB.init(e,t),tq.init(e,t)}),tD=(e,t)=>{ek.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>(function(e,t){let n=t||function(e){return e.message},i={_errors:[]},r=e=>{for(let t of e.issues)if("invalid_union"===t.code&&t.errors.length)t.errors.map(e=>r({issues:e}));else if("invalid_key"===t.code)r({issues:t.issues});else if("invalid_element"===t.code)r({issues:t.issues});else if(0===t.path.length)i._errors.push(n(t));else{let e=i,r=0;for(;r<t.path.length;){let i=t.path[r];r===t.path.length-1?(e[i]=e[i]||{_errors:[]},e[i]._errors.push(n(t))):e[i]=e[i]||{_errors:[]},e=e[i],r++}}};return r(e),i})(e,t)},flatten:{value:t=>(function(e,t=e=>e.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}})(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,S,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,S,2)}},isEmpty:{get:()=>0===e.issues.length}})};i("ZodError",tD);let tM=i("ZodError",tD,{Parent:Error}),tL=(e,t,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},s=e._zod.run({value:t,issues:[]},o);if(s instanceof Promise)throw new r;if(s.issues.length){let e=new(i?.Err??tM)(s.issues.map(e=>ee(e,o,a())));throw L(e,i?.callee),e}return s.value},tV=async(e,t,n,i)=>{let r=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise&&(o=await o),o.issues.length){let e=new(i?.Err??tM)(o.issues.map(e=>ee(e,r,a())));throw L(e,i?.callee),e}return o.value},tW=e$(tM),tJ=ex(tM),tB=i("ZodType",(e,t)=>(eA.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),e.clone=(t,n)=>G(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>tL(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>tW(e,t,n),e.parseAsync=async(t,n)=>tV(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>tJ(e,t,n),e.spa=e.safeParseAsync,e.refine=(t,n)=>e.check(function(e,t={}){return new nM({type:"custom",check:"custom",fn:e,...X(t)})}(t,n)),e.superRefine=t=>e.check(function(e){let t=function(e,t){let n=new ei({check:"custom",...X(void 0)});return n._zod.check=e,n}(n=>(n.addIssue=e=>{"string"==typeof e?n.issues.push(en(e,n.value,t._zod.def)):(e.fatal&&(e.continue=!1),e.code??(e.code="custom"),e.input??(e.input=n.value),e.inst??(e.inst=t),e.continue??(e.continue=!t._zod.def.abort),n.issues.push(en(e)))},e(n.value,n)));return t}(t)),e.overwrite=t=>e.check(tN(t)),e.optional=()=>nO(e),e.nullable=()=>nj(e),e.nullish=()=>nO(nj(e)),e.nonoptional=t=>new nC({type:"nonoptional",innerType:e,...X(t)}),e.array=()=>nz(e),e.or=t=>new nw({type:"union",options:[e,t],...X(void 0)}),e.and=t=>new n$({type:"intersection",left:e,right:t}),e.transform=t=>nF(e,new nA({type:"transform",transform:t})),e.default=t=>{var n,i;return n=e,i=t,new nS({type:"default",innerType:n,get defaultValue(){return"function"==typeof i?i():i}})},e.prefault=t=>{var n,i;return n=e,i=t,new nN({type:"prefault",innerType:n,get defaultValue(){return"function"==typeof i?i():i}})},e.catch=t=>{var n;return new nR({type:"catch",innerType:e,catchValue:"function"==typeof(n=t)?n:()=>n})},e.pipe=t=>nF(e,t),e.readonly=()=>new nD({type:"readonly",innerType:e}),e.describe=t=>{let n=e.clone();return tZ.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>tZ.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return tZ.get(e);let n=e.clone();return tZ.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),tK=i("_ZodString",(e,t)=>{eT.init(e,t),tB.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(function(e,t){return new ef({check:"string_format",format:"regex",...X(t),pattern:e})}(...t)),e.includes=(...t)=>e.check(function(e,t){return new ev({check:"string_format",format:"includes",...X(t),includes:e})}(...t)),e.startsWith=(...t)=>e.check(function(e,t){return new e_({check:"string_format",format:"starts_with",...X(t),prefix:e})}(...t)),e.endsWith=(...t)=>e.check(function(e,t){return new eg({check:"string_format",format:"ends_with",...X(t),suffix:e})}(...t)),e.min=(...t)=>e.check(tj(...t)),e.max=(...t)=>e.check(tI(...t)),e.length=(...t)=>e.check(tS(...t)),e.nonempty=(...t)=>e.check(tj(1,...t)),e.lowercase=t=>e.check(new eh({check:"string_format",format:"lowercase",...X(t)})),e.uppercase=t=>e.check(new em({check:"string_format",format:"uppercase",...X(t)})),e.trim=()=>e.check(tN(e=>e.trim())),e.normalize=(...t)=>e.check(function(e){return tN(t=>t.normalize(e))}(...t)),e.toLowerCase=()=>e.check(tN(e=>e.toLowerCase())),e.toUpperCase=()=>e.check(tN(e=>e.toUpperCase()))}),tG=i("ZodString",(e,t)=>{eT.init(e,t),tK.init(e,t),e.email=t=>e.check(new tH({type:"string",format:"email",check:"string_format",abort:!1,...X(t)})),e.url=t=>e.check(new t0({type:"string",format:"url",check:"string_format",abort:!1,...X(t)})),e.jwt=t=>e.check(new no({type:"string",format:"jwt",check:"string_format",abort:!1,...X(t)})),e.emoji=t=>e.check(new t1({type:"string",format:"emoji",check:"string_format",abort:!1,...X(t)})),e.guid=t=>e.check(tx(tY,t)),e.uuid=t=>e.check(new tQ({type:"string",format:"uuid",check:"string_format",abort:!1,...X(t)})),e.uuidv4=t=>e.check(new tQ({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...X(t)})),e.uuidv6=t=>e.check(new tQ({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...X(t)})),e.uuidv7=t=>e.check(new tQ({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...X(t)})),e.nanoid=t=>e.check(new t9({type:"string",format:"nanoid",check:"string_format",abort:!1,...X(t)})),e.guid=t=>e.check(tx(tY,t)),e.cuid=t=>e.check(new t4({type:"string",format:"cuid",check:"string_format",abort:!1,...X(t)})),e.cuid2=t=>e.check(new t2({type:"string",format:"cuid2",check:"string_format",abort:!1,...X(t)})),e.ulid=t=>e.check(new t6({type:"string",format:"ulid",check:"string_format",abort:!1,...X(t)})),e.base64=t=>e.check(new nn({type:"string",format:"base64",check:"string_format",abort:!1,...X(t)})),e.base64url=t=>e.check(new ni({type:"string",format:"base64url",check:"string_format",abort:!1,...X(t)})),e.xid=t=>e.check(new t3({type:"string",format:"xid",check:"string_format",abort:!1,...X(t)})),e.ksuid=t=>e.check(new t8({type:"string",format:"ksuid",check:"string_format",abort:!1,...X(t)})),e.ipv4=t=>e.check(new t5({type:"string",format:"ipv4",check:"string_format",abort:!1,...X(t)})),e.ipv6=t=>e.check(new t7({type:"string",format:"ipv6",check:"string_format",abort:!1,...X(t)})),e.cidrv4=t=>e.check(new ne({type:"string",format:"cidrv4",check:"string_format",abort:!1,...X(t)})),e.cidrv6=t=>e.check(new nt({type:"string",format:"cidrv6",check:"string_format",abort:!1,...X(t)})),e.e164=t=>e.check(new nr({type:"string",format:"e164",check:"string_format",abort:!1,...X(t)})),e.datetime=t=>e.check(new tC({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...X(t)})),e.date=t=>e.check(new tR({type:"string",format:"date",check:"string_format",...X(t)})),e.time=t=>e.check(new tU({type:"string",format:"time",check:"string_format",precision:null,...X(t)})),e.duration=t=>e.check(new tF({type:"string",format:"duration",check:"string_format",...X(t)}))});function tX(e){return new tG({type:"string",...X(e)})}let tq=i("ZodStringFormat",(e,t)=>{eO.init(e,t),tK.init(e,t)}),tH=i("ZodEmail",(e,t)=>{eS.init(e,t),tq.init(e,t)}),tY=i("ZodGUID",(e,t)=>{eI.init(e,t),tq.init(e,t)}),tQ=i("ZodUUID",(e,t)=>{ej.init(e,t),tq.init(e,t)}),t0=i("ZodURL",(e,t)=>{eN.init(e,t),tq.init(e,t)}),t1=i("ZodEmoji",(e,t)=>{eC.init(e,t),tq.init(e,t)}),t9=i("ZodNanoID",(e,t)=>{eR.init(e,t),tq.init(e,t)}),t4=i("ZodCUID",(e,t)=>{eU.init(e,t),tq.init(e,t)}),t2=i("ZodCUID2",(e,t)=>{eF.init(e,t),tq.init(e,t)}),t6=i("ZodULID",(e,t)=>{eD.init(e,t),tq.init(e,t)}),t3=i("ZodXID",(e,t)=>{eM.init(e,t),tq.init(e,t)}),t8=i("ZodKSUID",(e,t)=>{eL.init(e,t),tq.init(e,t)}),t5=i("ZodIPv4",(e,t)=>{eK.init(e,t),tq.init(e,t)}),t7=i("ZodIPv6",(e,t)=>{eG.init(e,t),tq.init(e,t)}),ne=i("ZodCIDRv4",(e,t)=>{eX.init(e,t),tq.init(e,t)}),nt=i("ZodCIDRv6",(e,t)=>{eq.init(e,t),tq.init(e,t)}),nn=i("ZodBase64",(e,t)=>{eY.init(e,t),tq.init(e,t)}),ni=i("ZodBase64URL",(e,t)=>{eQ.init(e,t),tq.init(e,t)}),nr=i("ZodE164",(e,t)=>{e0.init(e,t),tq.init(e,t)}),no=i("ZodJWT",(e,t)=>{e1.init(e,t),tq.init(e,t)}),na=i("ZodNumber",(e,t)=>{e9.init(e,t),tB.init(e,t),e.gt=(t,n)=>e.check(tA(t,n)),e.gte=(t,n)=>e.check(tT(t,n)),e.min=(t,n)=>e.check(tT(t,n)),e.lt=(t,n)=>e.check(tP(t,n)),e.lte=(t,n)=>e.check(tE(t,n)),e.max=(t,n)=>e.check(tE(t,n)),e.int=t=>e.check(nl(t)),e.safe=t=>e.check(nl(t)),e.positive=t=>e.check(tA(0,t)),e.nonnegative=t=>e.check(tT(0,t)),e.negative=t=>e.check(tP(0,t)),e.nonpositive=t=>e.check(tE(0,t)),e.multipleOf=(t,n)=>e.check(tO(t,n)),e.step=(t,n)=>e.check(tO(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function ns(e){return new na({type:"number",checks:[],...X(e)})}let nu=i("ZodNumberFormat",(e,t)=>{e4.init(e,t),na.init(e,t)});function nl(e){return new nu({type:"number",check:"number_format",abort:!1,format:"safeint",...X(e)})}let nc=i("ZodBoolean",(e,t)=>{e2.init(e,t),tB.init(e,t)});function nd(e){return new nc({type:"boolean",...X(e)})}let np=i("ZodUndefined",(e,t)=>{e6.init(e,t),tB.init(e,t)});function nf(e){return new np({type:"undefined",...X(e)})}let nh=i("ZodAny",(e,t)=>{e3.init(e,t),tB.init(e,t)});function nm(){return new nh({type:"any"})}let nv=i("ZodUnknown",(e,t)=>{e8.init(e,t),tB.init(e,t)});function n_(){return new nv({type:"unknown"})}let ng=i("ZodNever",(e,t)=>{e5.init(e,t),tB.init(e,t)}),ny=i("ZodArray",(e,t)=>{te.init(e,t),tB.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(tj(t,n)),e.nonempty=t=>e.check(tj(1,t)),e.max=(t,n)=>e.check(tI(t,n)),e.length=(t,n)=>e.check(tS(t,n)),e.unwrap=()=>e.element});function nz(e,t){return new ny({type:"array",element:e,...X(t)})}let nb=i("ZodObject",(e,t)=>{tn.init(e,t),tB.init(e,t),U(e,"shape",()=>t.shape),e.keyof=()=>nE(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:n_()}),e.loose=()=>e.clone({...e._zod.def,catchall:n_()}),e.strict=()=>e.clone({...e._zod.def,catchall:new ng({type:"never",...X(void 0)})}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>(function(e,t){if(!J(t))throw Error("Invalid input to extend: expected a plain object");let n=D(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return F(this,"shape",n),n},checks:[]});return G(e,n)})(e,t),e.merge=t=>(function(e,t){let n=D(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return F(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return G(e,n)})(e,t),e.pick=t=>(function(e,t){let n=e._zod.def,i=D(e._zod.def,{get shape(){let e={};for(let i in t){if(!(i in n.shape))throw Error(`Unrecognized key: "${i}"`);t[i]&&(e[i]=n.shape[i])}return F(this,"shape",e),e},checks:[]});return G(e,i)})(e,t),e.omit=t=>(function(e,t){let n=e._zod.def,i=D(e._zod.def,{get shape(){let i={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete i[e]}return F(this,"shape",i),i},checks:[]});return G(e,i)})(e,t),e.partial=(...t)=>(function(e,t,n){let i=D(t._zod.def,{get shape(){let i=t._zod.def.shape,r={...i};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(r[t]=e?new e({type:"optional",innerType:i[t]}):i[t])}else for(let t in i)r[t]=e?new e({type:"optional",innerType:i[t]}):i[t];return F(this,"shape",r),r},checks:[]});return G(t,i)})(nT,e,t[0]),e.required=(...t)=>(function(e,t,n){let i=D(t._zod.def,{get shape(){let i=t._zod.def.shape,r={...i};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(r[t]=new e({type:"nonoptional",innerType:i[t]}))}else for(let t in i)r[t]=new e({type:"nonoptional",innerType:i[t]});return F(this,"shape",r),r},checks:[]});return G(t,i)})(nC,e,t[0])});function nk(e,t){return new nb({type:"object",get shape(){return F(this,"shape",{...e}),this.shape},...X(t)})}let nw=i("ZodUnion",(e,t)=>{tr.init(e,t),tB.init(e,t),e.options=t.options}),n$=i("ZodIntersection",(e,t)=>{to.init(e,t),tB.init(e,t)}),nZ=i("ZodRecord",(e,t)=>{ts.init(e,t),tB.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function nx(e,t,n){return new nZ({type:"record",keyType:e,valueType:t,...X(n)})}let nP=i("ZodEnum",(e,t)=>{tu.init(e,t),tB.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,i)=>{let r={};for(let i of e)if(n.has(i))r[i]=t.entries[i];else throw Error(`Key ${i} not found in enum`);return new nP({...t,checks:[],...X(i),entries:r})},e.exclude=(e,i)=>{let r={...t.entries};for(let t of e)if(n.has(t))delete r[t];else throw Error(`Key ${t} not found in enum`);return new nP({...t,checks:[],...X(i),entries:r})}});function nE(e,t){return new nP({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...X(t)})}let nA=i("ZodTransform",(e,t)=>{tl.init(e,t),tB.init(e,t),e._zod.parse=(n,i)=>{n.addIssue=i=>{"string"==typeof i?n.issues.push(en(i,n.value,t)):(i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(en(i)))};let r=t.transform(n.value,n);return r instanceof Promise?r.then(e=>(n.value=e,n)):(n.value=r,n)}}),nT=i("ZodOptional",(e,t)=>{td.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nO(e){return new nT({type:"optional",innerType:e})}let nI=i("ZodNullable",(e,t)=>{tp.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nj(e){return new nI({type:"nullable",innerType:e})}let nS=i("ZodDefault",(e,t)=>{tf.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap}),nN=i("ZodPrefault",(e,t)=>{tm.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType}),nC=i("ZodNonOptional",(e,t)=>{tv.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType}),nR=i("ZodCatch",(e,t)=>{tg.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap}),nU=i("ZodPipe",(e,t)=>{ty.init(e,t),tB.init(e,t),e.in=t.in,e.out=t.out});function nF(e,t){return new nU({type:"pipe",in:e,out:t})}let nD=i("ZodReadonly",(e,t)=>{tb.init(e,t),tB.init(e,t),e.unwrap=()=>e._zod.def.innerType}),nM=i("ZodCustom",(e,t)=>{tw.init(e,t),tB.init(e,t)})}}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={508:function(e,o,t){var a=t(513);let l=function(e,o){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.reduce((e,t)=>t(e,o),t)};class r{get vseed(){return this._vseed}set vseed(e){this._vseed=e}get advancedVSeed(){return this._advancedVSeed}set advancedVSeed(e){this._advancedVSeed=e}constructor(e){(0,a._)(this,"_vseed",void 0),(0,a._)(this,"_advancedVSeed",null),(0,a._)(this,"build",()=>(e=>{console.log("debug vseed",e.vseed);let o=e.buildAdvanced();if(console.log("debug advancedVSeed",o),!o)throw Error("advancedVSeed is null");let t=e.buildSpec(o);return console.log("debug spec",t),t})(this)),(0,a._)(this,"buildSpec",e=>((e,o)=>{let{chartType:t}=e.vseed;if(!t)throw Error("chartType is nil in buildSpec");let a=e.getSpecPipeline(t);if(!a)throw Error(`no spec pipeline for chartType ${t}`);let r={vseed:e.vseed,advancedVSeed:o};try{return l(a,r)}catch(e){throw console.error(e),Error("buildSpec error, see error info in console")}})(this,e)),(0,a._)(this,"buildAdvanced",()=>(e=>{let{chartType:o}=e.vseed;if(!o)throw Error("chartType is nil in buildAdvanced");let t=e.getAdvancedPipeline(o);if(!t)throw Error(`no advanced pipeline for chartType ${o}`);let a={vseed:e.vseed,customTheme:e.getThemeMap()};try{return l(t,a)}catch(e){throw console.error(e),Error("buildAdvanced error, see error info in console")}})(this)),(0,a._)(this,"getAdvancedPipeline",e=>r._advancedPipelineMap[e]),(0,a._)(this,"getSpecPipeline",e=>r._specPipelineMap[e]),(0,a._)(this,"getTheme",e=>r._themeMap[e]),(0,a._)(this,"getThemeMap",()=>r._themeMap),this._vseed=e}}(0,a._)(r,"_advancedPipelineMap",{}),(0,a._)(r,"_specPipelineMap",{}),(0,a._)(r,"_themeMap",{}),(0,a._)(r,"from",e=>new r(e));var n=t(709);n.Km(["table","pivotTable","line","column","columnPercent","columnParallel","bar","barPercent","barParallel","area","areaPercent","rose","pie","donut","dualAxis"]);let i=n.IM(n.Z_().or(n.Rx()),n.Yj());n.IX(i);let d=n.Ry({id:n.Z_(),alias:n.Z_().optional(),visible:n.O7().default(!0).optional(),location:n.Km(["dimension","rowDimension","columnDimension"])});n.IX(d).optional();let p=n.Ry({id:n.Z_(),alias:n.Z_().optional(),visible:n.O7().default(!0).optional(),autoFormat:n.O7().default(!0).optional(),format:n.Ry({type:n.Km(["number","percent","permille"]).optional().default("number"),ratio:n.Rx().optional().default(1),symbol:n.Z_().optional().default(""),thousandSeparator:n.O7().optional().default(!1),decimalPlaces:n.Rx().optional().default(2),round:n.Km(["round","floor","ceil"]).optional().default("round"),prefix:n.Z_().optional().default(""),suffix:n.Z_().optional().default("")}).optional()}),s=n.Ry({id:n.Z_(),alias:n.Z_().optional(),visible:n.O7().default(!0).optional(),get children(){return n.IX(s.or(p)).optional()}});n.IX(s.or(p)).optional();let c=n.Ry({foldMap:n.IM(n.Z_(),n.Z_().or(n.S1())),measureId:n.Z_(),measureName:n.Z_(),measureValue:n.Z_()}),u=n.Ry({colorItems:n.IX(n.Z_()),groupName:n.Z_()});n.Ry({foldInfo:c,unfoldInfo:u}),n.IX(n.Ry({x:n.IX(n.Z_()).optional(),y:n.IX(n.Z_()).optional(),color:n.IX(n.Z_()).optional(),group:n.IX(n.Z_()).optional(),angle:n.IX(n.Z_()).optional(),radius:n.IX(n.Z_()).optional(),tooltip:n.IX(n.Z_()).optional()}));let v=n.Z_().default("transparent").optional(),_=n.Ry({enable:n.O7().default(!0).optional()}),f=n.Ry({colorScheme:n.IX(n.Z_()).optional(),colorMapping:n.IM(n.Z_(),n.Z_()).optional()}),h=n.Ry({enable:n.O7().default(!0).optional()}),b=n.Ry({enable:n.O7().default(!0).optional()}),m=n.Ry({backgroundColor:v,label:_.optional(),color:f.optional(),tooltip:h.optional(),legend:b.optional()}),g=n.Ry({backgroundColor:v}),y=n.Ry({vchart:m.optional(),vtable:g.optional()}),Z=n.Ry({baseConfig:y.optional()});n.IM(n.Z_(),Z).optional(),n.Z_()}},o={};function t(a){var l=o[a];if(void 0!==l)return l.exports;var r=o[a]={exports:{}};return e[a](r,r.exports,t),r.exports}t.m=e,t.d=(e,o)=>{for(var a in o)t.o(o,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:o[a]})},t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e=[];t.O=(o,a,l,r)=>{if(a){r=r||0;for(var n=e.length;n>0&&e[n-1][2]>r;n--)e[n]=e[n-1];e[n]=[a,l,r];return}for(var i=1/0,n=0;n<e.length;n++){for(var[a,l,r]=e[n],d=!0,p=0;p<a.length;p++)(!1&r||i>=r)&&Object.keys(t.O).every(e=>t.O[e](a[p]))?a.splice(p--,1):(d=!1,r<i&&(i=r));if(d){e.splice(n--,1);var s=l();void 0!==s&&(o=s)}}return o}})(),(()=>{var e={980:0};t.O.j=o=>0===e[o];var o=(o,a)=>{var l,r,[n,i,d]=a,p=0;if(n.some(o=>0!==e[o])){for(l in i)t.o(i,l)&&(t.m[l]=i[l]);if(d)var s=d(t)}for(o&&o(a);p<n.length;p++)r=n[p],t.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return t.O(s)},a=self.webpackChunk_visactor_vseed=self.webpackChunk_visactor_vseed||[];a.forEach(o.bind(null,0)),a.push=o.bind(null,a.push.bind(a))})();var a=t.O(void 0,["271"],function(){return t(508)});a=t.O(a)})();
@@ -0,0 +1,2 @@
1
+ import type { CustomThemeConfig } from '../types';
2
+ export declare const darkTheme: () => CustomThemeConfig;
@@ -0,0 +1,2 @@
1
+ export { darkTheme } from './dark';
2
+ export { lightTheme } from './light';
@@ -0,0 +1,2 @@
1
+ import type { CustomThemeConfig } from '../types';
2
+ export declare const lightTheme: () => CustomThemeConfig;
@@ -1,19 +1,19 @@
1
1
  import { z } from 'zod';
2
2
  export declare const zAdvancedVSeed: z.ZodObject<{
3
3
  chartType: z.ZodEnum<{
4
- area: "area";
4
+ table: "table";
5
+ pivotTable: "pivotTable";
5
6
  line: "line";
6
- bar: "bar";
7
- pie: "pie";
8
- rose: "rose";
9
7
  column: "column";
10
- areaPercent: "areaPercent";
11
- barPercent: "barPercent";
12
8
  columnPercent: "columnPercent";
13
9
  columnParallel: "columnParallel";
10
+ bar: "bar";
11
+ barPercent: "barPercent";
14
12
  barParallel: "barParallel";
15
- table: "table";
16
- pivotTable: "pivotTable";
13
+ area: "area";
14
+ areaPercent: "areaPercent";
15
+ rose: "rose";
16
+ pie: "pie";
17
17
  donut: "donut";
18
18
  dualAxis: "dualAxis";
19
19
  }>;
@@ -101,5 +101,50 @@ export declare const zAdvancedVSeed: z.ZodObject<{
101
101
  radius: z.ZodOptional<z.ZodArray<z.ZodString>>;
102
102
  tooltip: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
103
  }, z.core.$strip>>;
104
+ baseConfig: z.ZodObject<{
105
+ vchart: z.ZodOptional<z.ZodObject<{
106
+ backgroundColor: z.ZodOptional<z.ZodDefault<z.ZodString>>;
107
+ label: z.ZodOptional<z.ZodObject<{
108
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
109
+ }, z.core.$strip>>;
110
+ color: z.ZodOptional<z.ZodObject<{
111
+ colorScheme: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ colorMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
113
+ }, z.core.$strip>>;
114
+ tooltip: z.ZodOptional<z.ZodObject<{
115
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
116
+ }, z.core.$strip>>;
117
+ legend: z.ZodOptional<z.ZodObject<{
118
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
119
+ }, z.core.$strip>>;
120
+ }, z.core.$strip>>;
121
+ vtable: z.ZodOptional<z.ZodObject<{
122
+ backgroundColor: z.ZodOptional<z.ZodDefault<z.ZodString>>;
123
+ }, z.core.$strip>>;
124
+ }, z.core.$strip>;
125
+ theme: z.ZodString;
126
+ customTheme: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
127
+ baseConfig: z.ZodOptional<z.ZodObject<{
128
+ vchart: z.ZodOptional<z.ZodObject<{
129
+ backgroundColor: z.ZodOptional<z.ZodDefault<z.ZodString>>;
130
+ label: z.ZodOptional<z.ZodObject<{
131
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
132
+ }, z.core.$strip>>;
133
+ color: z.ZodOptional<z.ZodObject<{
134
+ colorScheme: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
+ colorMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
136
+ }, z.core.$strip>>;
137
+ tooltip: z.ZodOptional<z.ZodObject<{
138
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
139
+ }, z.core.$strip>>;
140
+ legend: z.ZodOptional<z.ZodObject<{
141
+ enable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
142
+ }, z.core.$strip>>;
143
+ }, z.core.$strip>>;
144
+ vtable: z.ZodOptional<z.ZodObject<{
145
+ backgroundColor: z.ZodOptional<z.ZodDefault<z.ZodString>>;
146
+ }, z.core.$strip>>;
147
+ }, z.core.$strip>>;
148
+ }, z.core.$strip>>>;
104
149
  }, z.core.$strip>;
105
150
  export type AdvancedVSeed = z.infer<typeof zAdvancedVSeed>;
@@ -1,10 +1,17 @@
1
1
  import type { ISpec } from '@visactor/vchart';
2
- import type { AdvancedVSeed, VSeed } from '../properties';
2
+ import type { ChartType, CustomThemeConfig } from '../properties';
3
+ import type { VSeed } from '../chartType';
4
+ import type { AdvancedPipeline, SpecPipeline } from '../pipeline';
5
+ import type { AdvancedVSeed } from '../advancedVSeed';
3
6
  export interface VSeedBuilder {
4
7
  build: () => ISpec;
5
8
  buildAdvanced: () => AdvancedVSeed | null;
6
9
  buildSpec: (advancedVSeed: AdvancedVSeed) => ISpec;
10
+ getAdvancedPipeline: (chartType: ChartType) => AdvancedPipeline;
11
+ getSpecPipeline: (chartType: ChartType) => SpecPipeline;
12
+ getTheme: (themeKey: string) => CustomThemeConfig;
7
13
  get vseed(): VSeed;
8
- get advancedVSeed(): VSeed | null;
9
- set advancedVSeed(value: VSeed | null);
14
+ set vseed(value: VSeed);
15
+ get advancedVSeed(): AdvancedVSeed | null;
16
+ set advancedVSeed(value: AdvancedVSeed | null);
10
17
  }
@@ -1,4 +1,4 @@
1
- import type { Dataset, Dimensions, Measures } from 'src/types';
1
+ import type { BackgroundColor, Color, Dataset, Dimensions, Label, Legend, Measures, Theme, Tooltip } from '../..';
2
2
  /**
3
3
  * 面积图类型定义
4
4
  * @description 面积图, 适用于展示数据随时间变化的趋势及累积关系, 通过填充区域增强数据对比. X轴为类目轴(分类数据), Y轴为数值轴(连续数据).
@@ -35,12 +35,47 @@ export interface Area {
35
35
  * @type {Dimensions}
36
36
  * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]
37
37
  */
38
- dimensions: Dimensions;
38
+ dimensions?: Dimensions;
39
39
  /**
40
40
  * 指标
41
41
  * @description 面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.
42
42
  * @type {Measures}
43
43
  * @example [{id: 'value', alias: '数值'}]
44
44
  */
45
- measures: Measures;
45
+ measures?: Measures;
46
+ /**
47
+ * 图表的背景颜色
48
+ * @default transparent 默认为透明背景
49
+ * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'
50
+ */
51
+ backgroundColor?: BackgroundColor;
52
+ /**
53
+ * 颜色
54
+ * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.
55
+ */
56
+ color?: Color;
57
+ /**
58
+ * 标签
59
+ * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.
60
+ */
61
+ label?: Label;
62
+ /**
63
+ * 图例
64
+ * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.
65
+ */
66
+ legend?: Legend;
67
+ /**
68
+ * 提示信息
69
+ * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.
70
+ */
71
+ tooltip?: Tooltip;
72
+ /**
73
+ * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置
74
+ * @default light 默认为亮色主题
75
+ * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题
76
+ * @example 'dark'
77
+ * @example 'light'
78
+ * @example 'customThemeName'
79
+ */
80
+ theme?: Theme;
46
81
  }
@@ -1,4 +1,4 @@
1
- import type { Dataset, Dimensions, Measures } from 'src/types';
1
+ import type { BackgroundColor, Color, Dataset, Dimensions, Label, Legend, Measures, Theme, Tooltip } from '../..';
2
2
  /**
3
3
  * 百分比面积图类型定义
4
4
  * @description 百分比面积图,适用于展示多类别占比随时间变化的趋势,Y轴以百分比形式展示占比关系
@@ -34,12 +34,47 @@ export interface AreaPercent {
34
34
  * @type {Dimensions}
35
35
  * @example [{ id: 'month', alias: '月份' }, { id: 'year', alias: '年份' }]
36
36
  */
37
- dimensions: Dimensions;
37
+ dimensions?: Dimensions;
38
38
  /**
39
39
  * 指标
40
40
  * @description 百分比面积图的指标会自动合并为一个指标, 映射到Y轴, 指标名称会与其余维度合并, 作为图例项展示.
41
41
  * @type {Measures}
42
42
  * @example [{id: 'value', alias: '数值占比', format: 'percent'}]
43
43
  */
44
- measures: Measures;
44
+ measures?: Measures;
45
+ /**
46
+ * 图表的背景颜色
47
+ * @default transparent 默认为透明背景
48
+ * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'
49
+ */
50
+ backgroundColor?: BackgroundColor;
51
+ /**
52
+ * 颜色
53
+ * @description 颜色配置, 用于定义图表的颜色方案, 包括颜色列表, 颜色映射, 颜色渐变等.
54
+ */
55
+ color?: Color;
56
+ /**
57
+ * 标签
58
+ * @description 标签配置, 用于定义图表的数据标签, 包括数据标签的位置, 格式, 样式等.
59
+ */
60
+ label?: Label;
61
+ /**
62
+ * 图例
63
+ * @description 图例配置, 用于定义图表的图例, 包括图例的位置, 格式, 样式等.
64
+ */
65
+ legend?: Legend;
66
+ /**
67
+ * 提示信息
68
+ * @description 提示信息配置, 用于定义图表的提示信息, 包括提示信息的位置, 格式, 样式等.
69
+ */
70
+ tooltip?: Tooltip;
71
+ /**
72
+ * 图表的主题, 主题是优先级较低的功能配置, 包含所有图表类型共用的通用配置, 与单类图表类型共用的图表配置
73
+ * @default light 默认为亮色主题
74
+ * @description 内置light与dark两种主题, 用户可以通过Builder自定义主题
75
+ * @example 'dark'
76
+ * @example 'light'
77
+ * @example 'customThemeName'
78
+ */
79
+ theme?: Theme;
45
80
  }