@visactor/vseed 0.1.41 → 0.1.42

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 (123) hide show
  1. package/dist/cjs/index.cjs +3 -3
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/builder.d.ts +360 -0
  4. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.d.ts +3 -0
  5. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js +22 -0
  6. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js.map +1 -0
  7. package/dist/esm/pipeline/advanced/chart/pipes/analysis/index.d.ts +1 -0
  8. package/dist/esm/pipeline/advanced/chart/pipes/analysis/index.js +1 -0
  9. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js +1 -19
  10. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
  11. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.d.ts +1 -2
  12. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js +2 -20
  13. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js.map +1 -1
  14. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js.map +1 -1
  16. package/dist/esm/pipeline/spec/chart/pipeline/area.js +7 -4
  17. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  18. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -2
  19. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  20. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +4 -2
  21. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  22. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +4 -2
  23. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  24. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +4 -2
  25. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  26. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -2
  27. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  28. package/dist/esm/pipeline/spec/chart/pipeline/column.js +4 -2
  29. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  30. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +4 -2
  31. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  32. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +4 -2
  33. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  34. package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
  35. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  36. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +3 -2
  37. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  38. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +2 -1
  39. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  40. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +3 -2
  41. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  42. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -2
  43. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  44. package/dist/esm/pipeline/spec/chart/pipeline/line.js +7 -4
  45. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  46. package/dist/esm/pipeline/spec/chart/pipeline/pie.js +4 -2
  47. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  48. package/dist/esm/pipeline/spec/chart/pipeline/radar.js +3 -1
  49. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  50. package/dist/esm/pipeline/spec/chart/pipeline/rose.js +3 -1
  51. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  52. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js +3 -1
  53. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  54. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -2
  55. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  56. package/dist/esm/pipeline/spec/chart/pipes/annotation/index.d.ts +1 -0
  57. package/dist/esm/pipeline/spec/chart/pipes/annotation/index.js +2 -1
  58. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.d.ts +2 -0
  59. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +172 -0
  60. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -0
  61. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
  62. package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
  63. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  65. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.d.ts +2 -0
  66. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +3 -1
  67. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.d.ts +2 -0
  68. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +13 -0
  69. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -0
  70. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +38 -32
  71. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  72. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.d.ts +2 -0
  73. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js +28 -0
  74. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -0
  75. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.d.ts +2 -0
  76. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js +10 -0
  77. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -0
  78. package/dist/esm/pipeline/spec/chart/pipes/region/index.d.ts +1 -0
  79. package/dist/esm/pipeline/spec/chart/pipes/region/index.js +1 -0
  80. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +2 -2
  81. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -5
  82. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  83. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +2 -2
  84. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  86. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +1 -6
  87. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  88. package/dist/esm/theme/common/color.d.ts +4 -0
  89. package/dist/esm/theme/common/color.js +6 -2
  90. package/dist/esm/theme/common/color.js.map +1 -1
  91. package/dist/esm/theme/common/table.d.ts +6 -0
  92. package/dist/esm/theme/common/table.js +4 -1
  93. package/dist/esm/theme/common/table.js.map +1 -1
  94. package/dist/esm/theme/dark/dark.js +2 -2
  95. package/dist/esm/theme/dark/dark.js.map +1 -1
  96. package/dist/esm/theme/light/light.js +2 -2
  97. package/dist/esm/theme/light/light.js.map +1 -1
  98. package/dist/esm/types/advancedVSeed.d.ts +120 -0
  99. package/dist/esm/types/properties/annotation/annotationHorizontalLine.d.ts +13 -0
  100. package/dist/esm/types/properties/config/area.d.ts +6 -0
  101. package/dist/esm/types/properties/config/bar.d.ts +9 -0
  102. package/dist/esm/types/properties/config/boxplot.d.ts +3 -0
  103. package/dist/esm/types/properties/config/color/color.d.ts +8 -0
  104. package/dist/esm/types/properties/config/color/color.js.map +1 -1
  105. package/dist/esm/types/properties/config/column.d.ts +9 -0
  106. package/dist/esm/types/properties/config/config.d.ts +60 -0
  107. package/dist/esm/types/properties/config/dualAxis.d.ts +3 -0
  108. package/dist/esm/types/properties/config/funnel.d.ts +3 -0
  109. package/dist/esm/types/properties/config/heatmap.d.ts +3 -0
  110. package/dist/esm/types/properties/config/histogram.d.ts +3 -0
  111. package/dist/esm/types/properties/config/line.d.ts +3 -0
  112. package/dist/esm/types/properties/config/pie.d.ts +9 -0
  113. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +3 -0
  114. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +4 -1
  115. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
  116. package/dist/esm/types/properties/config/rose.d.ts +6 -0
  117. package/dist/esm/types/properties/config/scatter.d.ts +3 -0
  118. package/dist/esm/types/properties/theme/customTheme.d.ts +120 -0
  119. package/dist/umd/index.js +722 -125
  120. package/dist/umd/index.js.map +1 -1
  121. package/package.json +1 -1
  122. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sort.d.ts +0 -0
  123. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sort.js +0 -0
package/dist/umd/index.js CHANGED
@@ -2306,22 +2306,6 @@
2306
2306
  ];
2307
2307
  return e.sort(t), e;
2308
2308
  }
2309
- const sortXBandAxis = (advancedVSeed, context)=>{
2310
- const result = {
2311
- ...advancedVSeed
2312
- };
2313
- const { vseed } = context;
2314
- const { sort: sortAxis } = vseed;
2315
- const { datasetReshapeInfo, dataset } = advancedVSeed;
2316
- const { unfoldInfo } = datasetReshapeInfo[0];
2317
- const xField = unfoldInfo.encodingX;
2318
- if (!sortAxis || !xField) return advancedVSeed;
2319
- if (!result.analysis) result.analysis = {};
2320
- if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
2321
- const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2));
2322
- result.analysis.orderMapping[xField] = axisOrderResult;
2323
- return result;
2324
- };
2325
2309
  const calcOrder = (sortConfig, id, dataset)=>{
2326
2310
  if (sortConfig.customOrder) return sortConfig.customOrder;
2327
2311
  const order = sortConfig.order || 'asc';
@@ -2340,6 +2324,22 @@
2340
2324
  });
2341
2325
  return chunk_QJLMYOTX_i(res.map((item)=>item[id]));
2342
2326
  };
2327
+ const sortXBandAxis = (advancedVSeed, context)=>{
2328
+ const result = {
2329
+ ...advancedVSeed
2330
+ };
2331
+ const { vseed } = context;
2332
+ const { sort: sortAxis } = vseed;
2333
+ const { datasetReshapeInfo, dataset } = advancedVSeed;
2334
+ const { unfoldInfo } = datasetReshapeInfo[0];
2335
+ const xField = unfoldInfo.encodingX;
2336
+ if (!sortAxis || !xField) return advancedVSeed;
2337
+ if (!result.analysis) result.analysis = {};
2338
+ if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
2339
+ const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2));
2340
+ result.analysis.orderMapping[xField] = axisOrderResult;
2341
+ return result;
2342
+ };
2343
2343
  const sortLegend_sortLegend = (advancedVSeed, context)=>{
2344
2344
  const result = {
2345
2345
  ...advancedVSeed
@@ -2362,28 +2362,10 @@
2362
2362
  result.analysis.orderMapping[colorId] = orderRes;
2363
2363
  return result;
2364
2364
  }
2365
- const orderRes = sortLegend_calcOrder(sortLegend, colorId, dataset?.flat(2) || []);
2365
+ const orderRes = calcOrder(sortLegend, colorId, dataset?.flat(2) || []);
2366
2366
  result.analysis.orderMapping[colorId] = orderRes;
2367
2367
  return result;
2368
2368
  };
2369
- const sortLegend_calcOrder = (sortConfig, id, dataset)=>{
2370
- if (sortConfig.customOrder) return sortConfig.customOrder;
2371
- const order = sortConfig.order || 'asc';
2372
- const orderBy = sortConfig.orderBy;
2373
- const res = chunk_NFFV4IQT_m(dataset, (a, b)=>{
2374
- const aValue = a[orderBy || id];
2375
- const bValue = b[orderBy || id];
2376
- if ('asc' === order) {
2377
- if (aValue < bValue) return -1;
2378
- if (aValue > bValue) return 1;
2379
- return 0;
2380
- }
2381
- if (aValue > bValue) return -1;
2382
- if (aValue < bValue) return 1;
2383
- return 0;
2384
- });
2385
- return chunk_QJLMYOTX_i(res.map((item)=>item[id]));
2386
- };
2387
2369
  function chunk_3ZJAREUD_i(...e) {
2388
2370
  return chunk_WIMGWYZL_u(chunk_3ZJAREUD_o, e);
2389
2371
  }
@@ -3459,23 +3441,23 @@
3459
3441
  title: {
3460
3442
  visible: true
3461
3443
  },
3462
- content: createDimensionContent(measures, foldInfo, unfoldInfo)
3444
+ content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo)
3463
3445
  }
3464
3446
  };
3465
3447
  return result;
3466
3448
  };
3467
- const createDimensionContent = (measures, foldInfo, unfoldInfo)=>{
3468
- const { measureId, measureValue } = foldInfo;
3449
+ const createDimensionContent = (dimensions, measures, foldInfo, unfoldInfo)=>{
3450
+ const { measureId, measureValue, foldMap } = foldInfo;
3469
3451
  const { encodingColor } = unfoldInfo;
3470
3452
  return [
3471
3453
  {
3472
3454
  visible: true,
3473
3455
  shapeType: 'rectRound',
3474
3456
  hasShape: true,
3475
- key: (v)=>{
3457
+ key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
3476
3458
  const datum = v;
3477
3459
  return datum && datum[encodingColor] || '';
3478
- },
3460
+ } : Object.values(foldMap)[0],
3479
3461
  value: (v)=>{
3480
3462
  const datum = v;
3481
3463
  if (!datum) return '';
@@ -3976,6 +3958,550 @@
3976
3958
  markArea: markArea
3977
3959
  };
3978
3960
  };
3961
+ const isType_isType = (value, type)=>Object.prototype.toString.call(value) === `[object ${type}]`;
3962
+ const isType = isType_isType;
3963
+ const isArray_isArray = (value)=>Array.isArray ? Array.isArray(value) : isType(value, "Array");
3964
+ const common_isArray = isArray_isArray;
3965
+ const isValid = (value)=>null != value;
3966
+ const common_isValid = isValid;
3967
+ function array_array(arr) {
3968
+ return common_isValid(arr) ? common_isArray(arr) ? arr : [
3969
+ arr
3970
+ ] : [];
3971
+ }
3972
+ const isNumber = (value, fuzzy = !1)=>{
3973
+ const type = typeof value;
3974
+ return fuzzy ? "number" === type : "number" === type || isType(value, "Number");
3975
+ };
3976
+ const common_isNumber = isNumber;
3977
+ const isNil = (value)=>null == value;
3978
+ const common_isNil = isNil;
3979
+ const clamp_clamp = function(input, min, max) {
3980
+ return input < min ? min : input > max ? max : input;
3981
+ };
3982
+ const clamp = clamp_clamp;
3983
+ function hslToRgb(h, s, l) {
3984
+ s /= 100, l /= 100;
3985
+ const c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs(h / 60 % 2 - 1)), m = l - c / 2;
3986
+ let r = 0, g = 0, b = 0;
3987
+ return 0 <= h && h < 60 ? (r = c, g = x, b = 0) : 60 <= h && h < 120 ? (r = x, g = c, b = 0) : 120 <= h && h < 180 ? (r = 0, g = c, b = x) : 180 <= h && h < 240 ? (r = 0, g = x, b = c) : 240 <= h && h < 300 ? (r = x, g = 0, b = c) : 300 <= h && h < 360 && (r = c, g = 0, b = x), r = Math.round(255 * (r + m)), g = Math.round(255 * (g + m)), b = Math.round(255 * (b + m)), {
3988
+ r: r,
3989
+ g: g,
3990
+ b: b
3991
+ };
3992
+ }
3993
+ function rgbToHsl(r, g, b) {
3994
+ r /= 255, g /= 255, b /= 255;
3995
+ const cMin = Math.min(r, g, b), cMax = Math.max(r, g, b), delta = cMax - cMin;
3996
+ let h = 0, s = 0, l = 0;
3997
+ return h = 0 === delta ? 0 : cMax === r ? (g - b) / delta % 6 : cMax === g ? (b - r) / delta + 2 : (r - g) / delta + 4, h = Math.round(60 * h), h < 0 && (h += 360), l = (cMax + cMin) / 2, s = 0 === delta ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(100 * s).toFixed(1), l = +(100 * l).toFixed(1), {
3998
+ h: h,
3999
+ s: s,
4000
+ l: l
4001
+ };
4002
+ }
4003
+ const REG_HEX = /^#([0-9a-f]{3,8})$/, DEFAULT_COLORS_OPACITY = {
4004
+ transparent: 4294967040
4005
+ };
4006
+ const DEFAULT_COLORS = {
4007
+ aliceblue: 15792383,
4008
+ antiquewhite: 16444375,
4009
+ aqua: 65535,
4010
+ aquamarine: 8388564,
4011
+ azure: 15794175,
4012
+ beige: 16119260,
4013
+ bisque: 16770244,
4014
+ black: 0,
4015
+ blanchedalmond: 16772045,
4016
+ blue: 255,
4017
+ blueviolet: 9055202,
4018
+ brown: 10824234,
4019
+ burlywood: 14596231,
4020
+ cadetblue: 6266528,
4021
+ chartreuse: 8388352,
4022
+ chocolate: 13789470,
4023
+ coral: 16744272,
4024
+ cornflowerblue: 6591981,
4025
+ cornsilk: 16775388,
4026
+ crimson: 14423100,
4027
+ cyan: 65535,
4028
+ darkblue: 139,
4029
+ darkcyan: 35723,
4030
+ darkgoldenrod: 12092939,
4031
+ darkgray: 11119017,
4032
+ darkgreen: 25600,
4033
+ darkgrey: 11119017,
4034
+ darkkhaki: 12433259,
4035
+ darkmagenta: 9109643,
4036
+ darkolivegreen: 5597999,
4037
+ darkorange: 16747520,
4038
+ darkorchid: 10040012,
4039
+ darkred: 9109504,
4040
+ darksalmon: 15308410,
4041
+ darkseagreen: 9419919,
4042
+ darkslateblue: 4734347,
4043
+ darkslategray: 3100495,
4044
+ darkslategrey: 3100495,
4045
+ darkturquoise: 52945,
4046
+ darkviolet: 9699539,
4047
+ deeppink: 16716947,
4048
+ deepskyblue: 49151,
4049
+ dimgray: 6908265,
4050
+ dimgrey: 6908265,
4051
+ dodgerblue: 2003199,
4052
+ firebrick: 11674146,
4053
+ floralwhite: 16775920,
4054
+ forestgreen: 2263842,
4055
+ fuchsia: 16711935,
4056
+ gainsboro: 14474460,
4057
+ ghostwhite: 16316671,
4058
+ gold: 16766720,
4059
+ goldenrod: 14329120,
4060
+ gray: 8421504,
4061
+ green: 32768,
4062
+ greenyellow: 11403055,
4063
+ grey: 8421504,
4064
+ honeydew: 15794160,
4065
+ hotpink: 16738740,
4066
+ indianred: 13458524,
4067
+ indigo: 4915330,
4068
+ ivory: 16777200,
4069
+ khaki: 15787660,
4070
+ lavender: 15132410,
4071
+ lavenderblush: 16773365,
4072
+ lawngreen: 8190976,
4073
+ lemonchiffon: 16775885,
4074
+ lightblue: 11393254,
4075
+ lightcoral: 15761536,
4076
+ lightcyan: 14745599,
4077
+ lightgoldenrodyellow: 16448210,
4078
+ lightgray: 13882323,
4079
+ lightgreen: 9498256,
4080
+ lightgrey: 13882323,
4081
+ lightpink: 16758465,
4082
+ lightsalmon: 16752762,
4083
+ lightseagreen: 2142890,
4084
+ lightskyblue: 8900346,
4085
+ lightslategray: 7833753,
4086
+ lightslategrey: 7833753,
4087
+ lightsteelblue: 11584734,
4088
+ lightyellow: 16777184,
4089
+ lime: 65280,
4090
+ limegreen: 3329330,
4091
+ linen: 16445670,
4092
+ magenta: 16711935,
4093
+ maroon: 8388608,
4094
+ mediumaquamarine: 6737322,
4095
+ mediumblue: 205,
4096
+ mediumorchid: 12211667,
4097
+ mediumpurple: 9662683,
4098
+ mediumseagreen: 3978097,
4099
+ mediumslateblue: 8087790,
4100
+ mediumspringgreen: 64154,
4101
+ mediumturquoise: 4772300,
4102
+ mediumvioletred: 13047173,
4103
+ midnightblue: 1644912,
4104
+ mintcream: 16121850,
4105
+ mistyrose: 16770273,
4106
+ moccasin: 16770229,
4107
+ navajowhite: 16768685,
4108
+ navy: 128,
4109
+ oldlace: 16643558,
4110
+ olive: 8421376,
4111
+ olivedrab: 7048739,
4112
+ orange: 16753920,
4113
+ orangered: 16729344,
4114
+ orchid: 14315734,
4115
+ palegoldenrod: 15657130,
4116
+ palegreen: 10025880,
4117
+ paleturquoise: 11529966,
4118
+ palevioletred: 14381203,
4119
+ papayawhip: 16773077,
4120
+ peachpuff: 16767673,
4121
+ peru: 13468991,
4122
+ pink: 16761035,
4123
+ plum: 14524637,
4124
+ powderblue: 11591910,
4125
+ purple: 8388736,
4126
+ rebeccapurple: 6697881,
4127
+ red: 16711680,
4128
+ rosybrown: 12357519,
4129
+ royalblue: 4286945,
4130
+ saddlebrown: 9127187,
4131
+ salmon: 16416882,
4132
+ sandybrown: 16032864,
4133
+ seagreen: 3050327,
4134
+ seashell: 16774638,
4135
+ sienna: 10506797,
4136
+ silver: 12632256,
4137
+ skyblue: 8900331,
4138
+ slateblue: 6970061,
4139
+ slategray: 7372944,
4140
+ slategrey: 7372944,
4141
+ snow: 16775930,
4142
+ springgreen: 65407,
4143
+ steelblue: 4620980,
4144
+ tan: 13808780,
4145
+ teal: 32896,
4146
+ thistle: 14204888,
4147
+ tomato: 16737095,
4148
+ turquoise: 4251856,
4149
+ violet: 15631086,
4150
+ wheat: 16113331,
4151
+ white: 16777215,
4152
+ whitesmoke: 16119285,
4153
+ yellow: 16776960,
4154
+ yellowgreen: 10145074
4155
+ };
4156
+ function Color_hex(value) {
4157
+ return ((value = Math.max(0, Math.min(255, Math.round(value) || 0))) < 16 ? "0" : "") + value.toString(16);
4158
+ }
4159
+ function Color_rgb(value) {
4160
+ return common_isNumber(value) ? new RGB(value >> 16, value >> 8 & 255, 255 & value, 1) : common_isArray(value) ? new RGB(value[0], value[1], value[2]) : new RGB(255, 255, 255);
4161
+ }
4162
+ function rgba(value) {
4163
+ return common_isNumber(value) ? new RGB(value >>> 24, value >>> 16 & 255, value >>> 8 & 255, 255 & value) : common_isArray(value) ? new RGB(value[0], value[1], value[2], value[3]) : new RGB(255, 255, 255, 1);
4164
+ }
4165
+ function SRGBToLinear(c) {
4166
+ return c < .04045 ? .0773993808 * c : Math.pow(.9478672986 * c + .0521327014, 2.4);
4167
+ }
4168
+ function LinearToSRGB(c) {
4169
+ return c < .0031308 ? 12.92 * c : 1.055 * Math.pow(c, .41666) - .055;
4170
+ }
4171
+ const setHex = (formatValue, forceHex)=>{
4172
+ const isHex = REG_HEX.exec(formatValue);
4173
+ if (forceHex || isHex) {
4174
+ const hex = parseInt(isHex[1], 16), hexLength = isHex[1].length;
4175
+ return 3 === hexLength ? new RGB((hex >> 8 & 15) + ((hex >> 8 & 15) << 4), (hex >> 4 & 15) + ((hex >> 4 & 15) << 4), (15 & hex) + ((15 & hex) << 4), 1) : 6 === hexLength ? Color_rgb(hex) : 8 === hexLength ? new RGB(hex >> 24 & 255, hex >> 16 & 255, hex >> 8 & 255, (255 & hex) / 255) : null;
4176
+ }
4177
+ };
4178
+ class Color {
4179
+ static Brighter(source, b = 1) {
4180
+ return 1 === b ? source : new Color(source).brighter(b).toRGBA();
4181
+ }
4182
+ static SetOpacity(source, o = 1) {
4183
+ return 1 === o ? source : new Color(source).setOpacity(o).toRGBA();
4184
+ }
4185
+ static getColorBrightness(source, model = "hsl") {
4186
+ const color = source instanceof Color ? source : new Color(source);
4187
+ switch(model){
4188
+ case "hsv":
4189
+ default:
4190
+ return color.getHSVBrightness();
4191
+ case "hsl":
4192
+ return color.getHSLBrightness();
4193
+ case "lum":
4194
+ return color.getLuminance();
4195
+ case "lum2":
4196
+ return color.getLuminance2();
4197
+ case "lum3":
4198
+ return color.getLuminance3();
4199
+ case "wcag":
4200
+ return color.getLuminanceWCAG();
4201
+ }
4202
+ }
4203
+ static parseColorString(value) {
4204
+ if (common_isValid(DEFAULT_COLORS_OPACITY[value])) return rgba(DEFAULT_COLORS_OPACITY[value]);
4205
+ if (common_isValid(DEFAULT_COLORS[value])) return Color_rgb(DEFAULT_COLORS[value]);
4206
+ const formatValue = `${value}`.trim().toLowerCase(), hexRes = setHex(formatValue);
4207
+ if (void 0 !== hexRes) return hexRes;
4208
+ if (/^(rgb|RGB|rgba|RGBA)/.test(formatValue)) {
4209
+ const aColor = formatValue.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g, "").split(",");
4210
+ return new RGB(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));
4211
+ }
4212
+ if (/^(hsl|HSL|hsla|HSLA)/.test(formatValue)) {
4213
+ const aColor = formatValue.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g, "").split(","), rgb = hslToRgb(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));
4214
+ return new RGB(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));
4215
+ }
4216
+ }
4217
+ constructor(value){
4218
+ const color = Color.parseColorString(value);
4219
+ color ? this.color = color : (console.warn(`Warn: 传入${value}无法解析为Color`), this.color = new RGB(255, 255, 255));
4220
+ }
4221
+ toRGBA() {
4222
+ return this.color.formatRgb();
4223
+ }
4224
+ toString() {
4225
+ return this.color.formatRgb();
4226
+ }
4227
+ toHex() {
4228
+ return this.color.formatHex();
4229
+ }
4230
+ toHsl() {
4231
+ return this.color.formatHsl();
4232
+ }
4233
+ brighter(k) {
4234
+ const { r: r, g: g, b: b } = this.color;
4235
+ return this.color.r = Math.max(0, Math.min(255, Math.floor(r * k))), this.color.g = Math.max(0, Math.min(255, Math.floor(g * k))), this.color.b = Math.max(0, Math.min(255, Math.floor(b * k))), this;
4236
+ }
4237
+ add(color) {
4238
+ const { r: r, g: g, b: b } = this.color;
4239
+ return this.color.r += Math.min(255, r + color.color.r), this.color.g += Math.min(255, g + color.color.g), this.color.b += Math.min(255, b + color.color.b), this;
4240
+ }
4241
+ sub(color) {
4242
+ return this.color.r = Math.max(0, this.color.r - color.color.r), this.color.g = Math.max(0, this.color.g - color.color.g), this.color.b = Math.max(0, this.color.b - color.color.b), this;
4243
+ }
4244
+ multiply(color) {
4245
+ const { r: r, g: g, b: b } = this.color;
4246
+ return this.color.r = Math.max(0, Math.min(255, Math.floor(r * color.color.r))), this.color.g = Math.max(0, Math.min(255, Math.floor(g * color.color.g))), this.color.b = Math.max(0, Math.min(255, Math.floor(b * color.color.b))), this;
4247
+ }
4248
+ getHSVBrightness() {
4249
+ return Math.max(this.color.r, this.color.g, this.color.b) / 255;
4250
+ }
4251
+ getHSLBrightness() {
4252
+ return .5 * (Math.max(this.color.r, this.color.g, this.color.b) / 255 + Math.min(this.color.r, this.color.g, this.color.b) / 255);
4253
+ }
4254
+ setHsl(h, s, l) {
4255
+ const opacity = this.color.opacity, hsl = rgbToHsl(this.color.r, this.color.g, this.color.b), rgb = hslToRgb(common_isNil(h) ? hsl.h : clamp(h, 0, 360), common_isNil(s) ? hsl.s : s >= 0 && s <= 1 ? 100 * s : s, common_isNil(l) ? hsl.l : l <= 1 && l >= 0 ? 100 * l : l);
4256
+ return this.color = new RGB(rgb.r, rgb.g, rgb.b, opacity), this;
4257
+ }
4258
+ setRGB(r, g, b) {
4259
+ return common_isNil(r) || (this.color.r = r), common_isNil(g) || (this.color.g = g), common_isNil(b) || (this.color.b = b), this;
4260
+ }
4261
+ setHex(value) {
4262
+ const formatValue = `${value}`.trim().toLowerCase(), res = setHex(formatValue, !0);
4263
+ return null != res ? res : this;
4264
+ }
4265
+ setColorName(name) {
4266
+ const hex = DEFAULT_COLORS[name.toLowerCase()];
4267
+ return void 0 !== hex ? this.setHex(hex) : console.warn("THREE.Color: Unknown color " + name), this;
4268
+ }
4269
+ setScalar(scalar) {
4270
+ return this.color.r = scalar, this.color.g = scalar, this.color.b = scalar, this;
4271
+ }
4272
+ setOpacity(o = 1) {
4273
+ return this.color.opacity = o, this;
4274
+ }
4275
+ getLuminance() {
4276
+ return (.2126 * this.color.r + .7152 * this.color.g + .0722 * this.color.b) / 255;
4277
+ }
4278
+ getLuminance2() {
4279
+ return (.2627 * this.color.r + .678 * this.color.g + .0593 * this.color.b) / 255;
4280
+ }
4281
+ getLuminance3() {
4282
+ return (.299 * this.color.r + .587 * this.color.g + .114 * this.color.b) / 255;
4283
+ }
4284
+ getLuminanceWCAG() {
4285
+ const RsRGB = this.color.r / 255, GsRGB = this.color.g / 255, BsRGB = this.color.b / 255;
4286
+ let R, G, B;
4287
+ R = RsRGB <= .03928 ? RsRGB / 12.92 : Math.pow((RsRGB + .055) / 1.055, 2.4), G = GsRGB <= .03928 ? GsRGB / 12.92 : Math.pow((GsRGB + .055) / 1.055, 2.4), B = BsRGB <= .03928 ? BsRGB / 12.92 : Math.pow((BsRGB + .055) / 1.055, 2.4);
4288
+ return .2126 * R + .7152 * G + .0722 * B;
4289
+ }
4290
+ clone() {
4291
+ return new Color(this.color.toString());
4292
+ }
4293
+ copyGammaToLinear(color, gammaFactor = 2) {
4294
+ return this.color.r = Math.pow(color.color.r, gammaFactor), this.color.g = Math.pow(color.color.g, gammaFactor), this.color.b = Math.pow(color.color.b, gammaFactor), this;
4295
+ }
4296
+ copyLinearToGamma(color, gammaFactor = 2) {
4297
+ const safeInverse = gammaFactor > 0 ? 1 / gammaFactor : 1;
4298
+ return this.color.r = Math.pow(color.color.r, safeInverse), this.color.g = Math.pow(color.color.g, safeInverse), this.color.b = Math.pow(color.color.b, safeInverse), this;
4299
+ }
4300
+ convertGammaToLinear(gammaFactor) {
4301
+ return this.copyGammaToLinear(this, gammaFactor), this;
4302
+ }
4303
+ convertLinearToGamma(gammaFactor) {
4304
+ return this.copyLinearToGamma(this, gammaFactor), this;
4305
+ }
4306
+ copySRGBToLinear(color) {
4307
+ return this.color.r = SRGBToLinear(color.color.r), this.color.g = SRGBToLinear(color.color.g), this.color.b = SRGBToLinear(color.color.b), this;
4308
+ }
4309
+ copyLinearToSRGB(color) {
4310
+ return this.color.r = LinearToSRGB(color.color.r), this.color.g = LinearToSRGB(color.color.g), this.color.b = LinearToSRGB(color.color.b), this;
4311
+ }
4312
+ convertSRGBToLinear() {
4313
+ return this.copySRGBToLinear(this), this;
4314
+ }
4315
+ convertLinearToSRGB() {
4316
+ return this.copyLinearToSRGB(this), this;
4317
+ }
4318
+ }
4319
+ class RGB {
4320
+ constructor(r, g, b, opacity){
4321
+ this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r)), this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g)), this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b)), common_isValid(opacity) ? this.opacity = isNaN(+opacity) ? 1 : Math.max(0, Math.min(1, +opacity)) : this.opacity = 1;
4322
+ }
4323
+ formatHex() {
4324
+ return `#${Color_hex(this.r) + Color_hex(this.g) + Color_hex(this.b) + (1 === this.opacity ? "" : Color_hex(255 * this.opacity))}`;
4325
+ }
4326
+ formatRgb() {
4327
+ const opacity = this.opacity;
4328
+ return `${1 === opacity ? "rgb(" : "rgba("}${this.r},${this.g},${this.b}${1 === opacity ? ")" : `,${opacity})`}`;
4329
+ }
4330
+ formatHsl() {
4331
+ const opacity = this.opacity, { h: h, s: s, l: l } = rgbToHsl(this.r, this.g, this.b);
4332
+ return `${1 === opacity ? "hsl(" : "hsla("}${h},${s}%,${l}%${1 === opacity ? ")" : `,${opacity})`}`;
4333
+ }
4334
+ toString() {
4335
+ return this.formatHex();
4336
+ }
4337
+ }
4338
+ const splitLine = (spec, context)=>{
4339
+ const { advancedVSeed } = context;
4340
+ const { annotation, chartType, datasetReshapeInfo } = advancedVSeed;
4341
+ if (!annotation || !annotation.annotationHorizontalLine) return spec;
4342
+ const baseConfig = advancedVSeed.config[chartType];
4343
+ const splitLineConfig = array_array(annotation.annotationHorizontalLine).find((item)=>!!item.splitLine);
4344
+ const splitValue = +splitLineConfig?.yValue;
4345
+ if (Number.isNaN(splitValue) || !chunk_6GTAPB47_e(splitValue)) return spec;
4346
+ const result = {
4347
+ ...spec
4348
+ };
4349
+ const colorTheme = baseConfig?.color ?? {};
4350
+ const colorConfig = {
4351
+ positiveColor: colorTheme.positiveColor || 'red',
4352
+ negativeColor: colorTheme.negativeColor || 'green',
4353
+ ...chunk_BZNENX2T_r(splitLineConfig?.splitLine) ? splitLineConfig?.splitLine : {}
4354
+ };
4355
+ const groupMark = {
4356
+ type: 'group',
4357
+ name: 'annotationHorizontalLine-splitLine',
4358
+ zIndex: 300,
4359
+ style: {
4360
+ splitConfig: (datum, ctx)=>{
4361
+ const vchart = ctx.vchart;
4362
+ const chart = vchart.getChart();
4363
+ const lineSeries = chart.getAllSeries().find((s)=>'line' === s.type || 'area' === s.type);
4364
+ if (!lineSeries) return;
4365
+ const lineMark = lineSeries.getMarkInName('line') ?? lineSeries.getMarkInName('area');
4366
+ if (!lineMark) return;
4367
+ const lineGraphics = lineMark.getGraphics();
4368
+ if (!lineGraphics || 1 !== lineGraphics.length || !lineGraphics[0]) return;
4369
+ const points = lineGraphics[0].attribute.points ?? [];
4370
+ if (lineGraphics[0].attribute.segments?.length) lineGraphics[0].attribute.segments.forEach((seg)=>{
4371
+ seg.points.forEach((pt)=>{
4372
+ points.push({
4373
+ x: pt.x,
4374
+ y: pt.y
4375
+ });
4376
+ });
4377
+ });
4378
+ if (!points || !points.length) return;
4379
+ const splitCoordinate = lineSeries.getYAxisHelper().getScale(0).scale(splitValue);
4380
+ const minY = Math.min(...points.map((p)=>p.y));
4381
+ const maxY = Math.max(...points.map((p)=>p.y));
4382
+ const ratio = (splitCoordinate - minY) / (maxY - minY);
4383
+ const lineStroke = {
4384
+ gradient: 'linear',
4385
+ x0: 0,
4386
+ x1: 0,
4387
+ y0: 0,
4388
+ y1: 1,
4389
+ stops: [
4390
+ {
4391
+ color: colorConfig.positiveColor,
4392
+ offset: 0
4393
+ },
4394
+ {
4395
+ color: colorConfig.positiveColor,
4396
+ offset: ratio
4397
+ },
4398
+ {
4399
+ color: colorConfig.negativeColor,
4400
+ offset: ratio + 0.0000001
4401
+ },
4402
+ {
4403
+ color: colorConfig.negativeColor,
4404
+ offset: 1
4405
+ }
4406
+ ]
4407
+ };
4408
+ const areaFill = {
4409
+ gradient: 'linear',
4410
+ x0: 0,
4411
+ x1: 0,
4412
+ y0: 0,
4413
+ y1: 1,
4414
+ stops: [
4415
+ {
4416
+ color: colorConfig.positiveColor,
4417
+ offset: 0
4418
+ },
4419
+ {
4420
+ color: new Color(colorConfig.positiveColor).setOpacity(0).toRGBA(),
4421
+ offset: ratio
4422
+ },
4423
+ {
4424
+ offset: ratio + 0.0000001,
4425
+ color: new Color(colorConfig.negativeColor).setOpacity(0).toRGBA()
4426
+ },
4427
+ {
4428
+ color: colorConfig.negativeColor,
4429
+ offset: 1
4430
+ }
4431
+ ]
4432
+ };
4433
+ const attrs = {
4434
+ segments: null,
4435
+ points
4436
+ };
4437
+ if ('area' === lineGraphics[0].type) {
4438
+ attrs.stroke = lineStroke;
4439
+ attrs.fill = areaFill;
4440
+ } else attrs.stroke = lineStroke;
4441
+ lineGraphics[0].setAttributes(attrs);
4442
+ lineGraphics[0].setFinalAttributes?.(attrs);
4443
+ const start = lineSeries.getRegion().getLayoutStartPoint();
4444
+ return {
4445
+ points: points.map((entry)=>({
4446
+ x: entry.x + start.x,
4447
+ y: entry.y + start.y
4448
+ })),
4449
+ splitCoordinate,
4450
+ areaFill,
4451
+ lineStroke
4452
+ };
4453
+ }
4454
+ },
4455
+ children: [
4456
+ {
4457
+ type: 'area',
4458
+ interactive: false,
4459
+ zIndex: 500,
4460
+ style: {
4461
+ fillOpacity: 0.5,
4462
+ points: (datum, ctx, opt)=>{
4463
+ const parentNode = opt.mark?._product?.parent;
4464
+ if (parentNode?.attribute?.splitConfig) {
4465
+ const { points, splitCoordinate } = parentNode.attribute.splitConfig;
4466
+ return points.map((entry)=>({
4467
+ ...entry,
4468
+ y1: splitCoordinate
4469
+ }));
4470
+ }
4471
+ return [];
4472
+ },
4473
+ fill: (datum, ctx, opt)=>{
4474
+ const parentNode = opt.mark?._product?.parent;
4475
+ if (parentNode?.attribute?.splitConfig) {
4476
+ const { areaFill } = parentNode.attribute.splitConfig;
4477
+ return areaFill;
4478
+ }
4479
+ }
4480
+ }
4481
+ }
4482
+ ]
4483
+ };
4484
+ if (!result.customMark) result.customMark = [];
4485
+ result.customMark.push(groupMark);
4486
+ const seriesSpec = 'line' === result.type || 'area' === result.type ? result : result.series?.find((s)=>'line' === s.type || 'area' === s.type);
4487
+ if (seriesSpec) {
4488
+ if (!seriesSpec.point) seriesSpec.point = {};
4489
+ if (!seriesSpec.line) seriesSpec.line = {};
4490
+ if (!seriesSpec.point.style) seriesSpec.point.style = {};
4491
+ if (!seriesSpec.line.style) seriesSpec.line.style = {};
4492
+ const measureValueKey = datasetReshapeInfo[0].foldInfo.measureValue;
4493
+ seriesSpec.point.style.fill = (datum)=>{
4494
+ console.log(datum);
4495
+ return datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4496
+ };
4497
+ seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4498
+ if (seriesSpec.label && seriesSpec.label.visible && chunk_JK3VNB42_n(seriesSpec.label.style?.fill)) seriesSpec.label.style = {
4499
+ ...seriesSpec.label.style,
4500
+ fill: (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor
4501
+ };
4502
+ }
4503
+ return result;
4504
+ };
3979
4505
  const initPivot = (spec)=>{
3980
4506
  const result = {
3981
4507
  ...spec
@@ -4007,7 +4533,7 @@
4007
4533
  isShowOverflowTextTooltip: true
4008
4534
  },
4009
4535
  corner: {
4010
- titleOnDimension: 'all'
4536
+ titleOnDimension: 'row'
4011
4537
  },
4012
4538
  animationAppear: {
4013
4539
  duration: 600,
@@ -4018,13 +4544,14 @@
4018
4544
  };
4019
4545
  const pivotGridStyle = (spec, context)=>{
4020
4546
  const { vseed, advancedVSeed } = context;
4021
- const { config, chartType } = advancedVSeed;
4547
+ const { config, chartType, dimensions } = advancedVSeed;
4022
4548
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
4023
4549
  const onlyCombination = !isPivot(vseed) && isCombination(vseed);
4024
4550
  const result = {
4025
4551
  ...spec
4026
4552
  };
4027
4553
  const transparent = 'rgba(0,0,0,0)';
4554
+ const hasColumnDimension = dimensions.some((dim)=>'column' === dim.encoding);
4028
4555
  const borderColor = themConfig.borderColor ?? '#e3e5eb';
4029
4556
  const bodyFontColor = themConfig.bodyFontColor ?? '#141414';
4030
4557
  const headerFontColor = themConfig.headerFontColor ?? '#21252c';
@@ -4042,12 +4569,12 @@
4042
4569
  bodyStyle: {
4043
4570
  borderColor,
4044
4571
  color: bodyFontColor,
4045
- borderLineWidth: [
4046
- 1,
4047
- outlineBorderLineWidth,
4048
- 0,
4049
- 1
4050
- ],
4572
+ borderLineWidth: (arg)=>[
4573
+ 0 === arg.row ? outlineBorderLineWidth : 1,
4574
+ outlineBorderLineWidth,
4575
+ 0,
4576
+ 0 === arg.col ? outlineBorderLineWidth : 1
4577
+ ],
4051
4578
  bgColor: transparent,
4052
4579
  hover: {
4053
4580
  cellBgColor: 'transparent'
@@ -4056,12 +4583,12 @@
4056
4583
  headerStyle: {
4057
4584
  borderColor,
4058
4585
  fontSize: 12,
4059
- borderLineWidth: [
4060
- outlineBorderLineWidth,
4061
- outlineBorderLineWidth,
4062
- 1,
4063
- 1
4064
- ],
4586
+ borderLineWidth: (arg)=>[
4587
+ outlineBorderLineWidth,
4588
+ outlineBorderLineWidth,
4589
+ 1,
4590
+ 0 === arg.col ? outlineBorderLineWidth : 1
4591
+ ],
4065
4592
  color: headerFontColor,
4066
4593
  textAlign: 'center',
4067
4594
  bgColor: headerBackgroundColor,
@@ -4081,12 +4608,12 @@
4081
4608
  0,
4082
4609
  4
4083
4610
  ],
4084
- borderLineWidth: [
4085
- 1,
4086
- 1,
4087
- 1,
4088
- outlineBorderLineWidth
4089
- ],
4611
+ borderLineWidth: (arg)=>[
4612
+ 0 === arg.row ? outlineBorderLineWidth : 1,
4613
+ 1,
4614
+ 0,
4615
+ outlineBorderLineWidth
4616
+ ],
4090
4617
  bgColor: headerBackgroundColor,
4091
4618
  hover: {
4092
4619
  cellBgColor: hoverHeaderBackgroundColor,
@@ -4114,13 +4641,7 @@
4114
4641
  ],
4115
4642
  bgColor: headerBackgroundColor,
4116
4643
  frameStyle: {
4117
- borderColor,
4118
- borderLineWidth: [
4119
- outlineBorderLineWidth,
4120
- 0,
4121
- 0,
4122
- outlineBorderLineWidth
4123
- ]
4644
+ borderColor
4124
4645
  },
4125
4646
  hover: {
4126
4647
  cellBgColor: hoverHeaderBackgroundColor,
@@ -4134,9 +4655,9 @@
4134
4655
  frameStyle: {
4135
4656
  borderColor,
4136
4657
  borderLineWidth: [
4658
+ outlineBorderLineWidth,
4137
4659
  outlineBorderLineWidth,
4138
4660
  1,
4139
- 0,
4140
4661
  1
4141
4662
  ]
4142
4663
  },
@@ -4148,7 +4669,7 @@
4148
4669
  cornerLeftBottomCellStyle: {
4149
4670
  borderColor,
4150
4671
  borderLineWidth: [
4151
- 1,
4672
+ outlineBorderLineWidth,
4152
4673
  0,
4153
4674
  outlineBorderLineWidth,
4154
4675
  outlineBorderLineWidth
@@ -4169,14 +4690,19 @@
4169
4690
  },
4170
4691
  cornerRightBottomCellStyle: {
4171
4692
  borderColor,
4172
- borderLineWidth: 0,
4173
4693
  bgColor: headerBackgroundColor,
4694
+ borderLineWidth: [
4695
+ 1,
4696
+ outlineBorderLineWidth,
4697
+ outlineBorderLineWidth,
4698
+ 1
4699
+ ],
4174
4700
  frameStyle: {
4175
4701
  borderColor,
4176
4702
  borderLineWidth: [
4177
4703
  1,
4178
- 1,
4179
- 1,
4704
+ outlineBorderLineWidth,
4705
+ outlineBorderLineWidth,
4180
4706
  1
4181
4707
  ]
4182
4708
  },
@@ -4186,9 +4712,15 @@
4186
4712
  },
4187
4713
  rightFrozenStyle: {
4188
4714
  borderColor,
4189
- borderLineWidth: 1,
4190
4715
  bgColor: headerBackgroundColor,
4716
+ borderLineWidth: (arg)=>[
4717
+ 0 === arg.row || hasColumnDimension && 1 === arg.row ? outlineBorderLineWidth : 1,
4718
+ outlineBorderLineWidth,
4719
+ 0,
4720
+ 1
4721
+ ],
4191
4722
  hover: {
4723
+ borderLineWidth: 0,
4192
4724
  cellBgColor: hoverHeaderBackgroundColor
4193
4725
  }
4194
4726
  },
@@ -4300,6 +4832,16 @@
4300
4832
  records: records
4301
4833
  };
4302
4834
  };
4835
+ const pivotAxisStyle = (axisStyle)=>(spec, context)=>{
4836
+ const result = axisStyle(spec, context);
4837
+ if (result.axes) result.axes.forEach((axis)=>{
4838
+ axis.domainLine = {
4839
+ visible: false
4840
+ };
4841
+ if (axis.grid && axis.grid.visible && axis.grid.style) axis.grid.style.strokeOpacity = 0.3;
4842
+ });
4843
+ return result;
4844
+ };
4303
4845
  const pivotRowDimensions = (spec, context)=>{
4304
4846
  const result = {
4305
4847
  ...spec
@@ -4334,6 +4876,31 @@
4334
4876
  columns: columns
4335
4877
  };
4336
4878
  };
4879
+ const pivotTitle = (spec, context)=>{
4880
+ const result = {
4881
+ ...spec
4882
+ };
4883
+ const { advancedVSeed } = context;
4884
+ const { config, chartType } = advancedVSeed;
4885
+ const themConfig = config?.[chartType]?.pivotGrid ?? {};
4886
+ if (result.columns && result.columns.length > 0) result.title = {
4887
+ text: spec.columns.map((entry)=>entry.title).join('/'),
4888
+ align: 'center',
4889
+ orient: 'top',
4890
+ padding: [
4891
+ 2,
4892
+ 0,
4893
+ 0,
4894
+ 0
4895
+ ],
4896
+ textStyle: {
4897
+ fontSize: themConfig.titleFontSize ?? 12,
4898
+ fill: themConfig.titleFontColor ?? '#000',
4899
+ fontWeight: themConfig.titleFontWeight ?? 'bold'
4900
+ }
4901
+ };
4902
+ return result;
4903
+ };
4337
4904
  const pivotDiscreteLegend = (spec, context)=>{
4338
4905
  const result = {
4339
4906
  ...spec
@@ -4552,7 +5119,8 @@
4552
5119
  annotationPoint_annotationPoint,
4553
5120
  annotationVerticalLine_annotationVerticalLine,
4554
5121
  annotationHorizontalLine_annotationHorizontalLine,
4555
- annotationArea_annotationArea
5122
+ annotationArea_annotationArea,
5123
+ splitLine
4556
5124
  ];
4557
5125
  const pivotLine = [
4558
5126
  initPivot,
@@ -4566,7 +5134,7 @@
4566
5134
  datasetXY,
4567
5135
  progressive,
4568
5136
  xBand,
4569
- yLinear,
5137
+ pivotAxisStyle(yLinear),
4570
5138
  verticalCrosshairLine,
4571
5139
  colorPointStyleFill(pointStyle_pointStyle),
4572
5140
  pointStateDimensionHover,
@@ -4576,10 +5144,12 @@
4576
5144
  annotationPoint_annotationPoint,
4577
5145
  annotationVerticalLine_annotationVerticalLine,
4578
5146
  annotationHorizontalLine_annotationHorizontalLine,
4579
- annotationArea_annotationArea
5147
+ annotationArea_annotationArea,
5148
+ splitLine
4580
5149
  ]),
4581
5150
  pivotRowDimensions,
4582
5151
  pivotColumnDimensions,
5152
+ pivotTitle,
4583
5153
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
4584
5154
  ];
4585
5155
  const lineSpecPipeline = [
@@ -5070,23 +5640,10 @@
5070
5640
  markArea: markArea
5071
5641
  };
5072
5642
  };
5073
- const isType_isType = (value, type)=>Object.prototype.toString.call(value) === `[object ${type}]`;
5074
- const isType = isType_isType;
5075
- const isArray_isArray = (value)=>Array.isArray ? Array.isArray(value) : isType(value, "Array");
5076
- const common_isArray = isArray_isArray;
5077
- const isValid = (value)=>null != value;
5078
- const common_isValid = isValid;
5079
- function array_array(arr) {
5080
- return common_isValid(arr) ? common_isArray(arr) ? arr : [
5081
- arr
5082
- ] : [];
5083
- }
5084
5643
  function clamper(a, b) {
5085
5644
  let t;
5086
5645
  return a > b && (t = a, a = b, b = t), (x)=>Math.max(a, Math.min(b, x));
5087
5646
  }
5088
- const isNil = (value)=>null == value;
5089
- const common_isNil = isNil;
5090
5647
  function invNorm(p) {
5091
5648
  if (p <= 0 || p >= 1) return 0;
5092
5649
  const c1 = -0.00778489400243029, c2 = -0.322396458041136, c3 = -2.40075827716184, c4 = -2.54973253934373, c5 = 4.37466414146497, c6 = 2.93816398269878, d1 = .00778469570904146, d2 = .32246712907004, d3 = 2.445134137143, d4 = 3.75440866190742;
@@ -5548,13 +6105,14 @@
5548
6105
  pivotIndicators_pivotIndicators([
5549
6106
  initColumn,
5550
6107
  stackCornerRadius_stackCornerRadius,
6108
+ barMaxWidth_barMaxWidth,
5551
6109
  stackInverse,
5552
6110
  colorAdapter(color_color, linearColor),
5553
6111
  background_backgroundColor,
5554
6112
  datasetXY,
5555
6113
  progressive,
5556
6114
  xBand,
5557
- yLinear,
6115
+ pivotAxisStyle(yLinear),
5558
6116
  label_label,
5559
6117
  tooltip_tooltip,
5560
6118
  verticalCrosshairRect,
@@ -5567,6 +6125,7 @@
5567
6125
  ]),
5568
6126
  pivotRowDimensions,
5569
6127
  pivotColumnDimensions,
6128
+ pivotTitle,
5570
6129
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
5571
6130
  ];
5572
6131
  const columnSpecPipeline = [
@@ -5748,12 +6307,13 @@
5748
6307
  pivotIndicators_pivotIndicators([
5749
6308
  initColumnParallel,
5750
6309
  stackCornerRadius_stackCornerRadius,
6310
+ barMaxWidth_barMaxWidth,
5751
6311
  colorAdapter(color_color, linearColor),
5752
6312
  background_backgroundColor,
5753
6313
  datasetXY,
5754
6314
  progressive,
5755
6315
  xBand,
5756
- yLinear,
6316
+ pivotAxisStyle(yLinear),
5757
6317
  label_label,
5758
6318
  tooltip_tooltip,
5759
6319
  verticalCrosshairRect,
@@ -5765,6 +6325,7 @@
5765
6325
  ]),
5766
6326
  pivotRowDimensions,
5767
6327
  pivotColumnDimensions,
6328
+ pivotTitle,
5768
6329
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
5769
6330
  ];
5770
6331
  const columnParallelSpecPipeline = [
@@ -5842,13 +6403,14 @@
5842
6403
  initColumn,
5843
6404
  stackCornerRadius_stackCornerRadius,
5844
6405
  stackInverse,
6406
+ barMaxWidth_barMaxWidth,
5845
6407
  colorAdapter(color_color, linearColor),
5846
6408
  percent_percent,
5847
6409
  background_backgroundColor,
5848
6410
  datasetXY,
5849
6411
  progressive,
5850
6412
  xBand,
5851
- yLinear,
6413
+ pivotAxisStyle(yLinear),
5852
6414
  label_label,
5853
6415
  tooltip_tooltip,
5854
6416
  verticalCrosshairRect,
@@ -5860,6 +6422,7 @@
5860
6422
  ]),
5861
6423
  pivotRowDimensions,
5862
6424
  pivotColumnDimensions,
6425
+ pivotTitle,
5863
6426
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
5864
6427
  ];
5865
6428
  const columnPercentSpecPipeline = [
@@ -6282,12 +6845,13 @@
6282
6845
  pivotIndicators_pivotIndicators([
6283
6846
  initBar,
6284
6847
  stackCornerRadius_stackCornerRadius,
6848
+ barMaxWidth_barMaxWidth,
6285
6849
  colorAdapter(color_color, linearColor),
6286
6850
  background_backgroundColor,
6287
6851
  datasetYX,
6288
6852
  progressive,
6289
6853
  xLinear,
6290
- yBand,
6854
+ pivotAxisStyle(yBand),
6291
6855
  label_label,
6292
6856
  tooltip_tooltip,
6293
6857
  colorBarStyleFill(barStyle_barStyle),
@@ -6299,6 +6863,7 @@
6299
6863
  ]),
6300
6864
  pivotRowDimensions,
6301
6865
  pivotColumnDimensions,
6866
+ pivotTitle,
6302
6867
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
6303
6868
  ];
6304
6869
  const barSpecPipeline = [
@@ -6395,11 +6960,12 @@
6395
6960
  pivotIndicators_pivotIndicators([
6396
6961
  initBarParallel,
6397
6962
  stackCornerRadius_stackCornerRadius,
6963
+ barMaxWidth_barMaxWidth,
6398
6964
  colorAdapter(color_color, linearColor),
6399
6965
  background_backgroundColor,
6400
6966
  datasetYX,
6401
6967
  xLinear,
6402
- yBand,
6968
+ pivotAxisStyle(yBand),
6403
6969
  label_label,
6404
6970
  tooltip_tooltip,
6405
6971
  colorBarStyleFill(barStyle_barStyle),
@@ -6411,6 +6977,7 @@
6411
6977
  ]),
6412
6978
  pivotRowDimensions,
6413
6979
  pivotColumnDimensions,
6980
+ pivotTitle,
6414
6981
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
6415
6982
  ];
6416
6983
  const barParallelSpecPipeline = [
@@ -6479,12 +7046,13 @@
6479
7046
  pivotIndicators_pivotIndicators([
6480
7047
  initBar,
6481
7048
  stackCornerRadius_stackCornerRadius,
7049
+ barMaxWidth_barMaxWidth,
6482
7050
  colorAdapter(color_color, linearColor),
6483
7051
  background_backgroundColor,
6484
7052
  percent_percent,
6485
7053
  datasetYX,
6486
- yBand,
6487
7054
  xLinear,
7055
+ pivotAxisStyle(yBand),
6488
7056
  label_label,
6489
7057
  tooltip_tooltip,
6490
7058
  colorBarStyleFill(barStyle_barStyle),
@@ -6496,6 +7064,7 @@
6496
7064
  ]),
6497
7065
  pivotRowDimensions,
6498
7066
  pivotColumnDimensions,
7067
+ pivotTitle,
6499
7068
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
6500
7069
  ];
6501
7070
  const barPercentSpecPipeline = [
@@ -6660,7 +7229,8 @@
6660
7229
  annotationPoint_annotationPoint,
6661
7230
  annotationVerticalLine_annotationVerticalLine,
6662
7231
  annotationHorizontalLine_annotationHorizontalLine,
6663
- annotationArea_annotationArea
7232
+ annotationArea_annotationArea,
7233
+ splitLine
6664
7234
  ];
6665
7235
  const pivotArea = [
6666
7236
  initPivot,
@@ -6675,7 +7245,7 @@
6675
7245
  datasetXY,
6676
7246
  progressive,
6677
7247
  xBand,
6678
- yLinear,
7248
+ pivotAxisStyle(yLinear),
6679
7249
  label_label,
6680
7250
  tooltip_tooltip,
6681
7251
  verticalCrosshairLine,
@@ -6686,10 +7256,12 @@
6686
7256
  annotationPoint_annotationPoint,
6687
7257
  annotationVerticalLine_annotationVerticalLine,
6688
7258
  annotationHorizontalLine_annotationHorizontalLine,
6689
- annotationArea_annotationArea
7259
+ annotationArea_annotationArea,
7260
+ splitLine
6690
7261
  ]),
6691
7262
  pivotRowDimensions,
6692
7263
  pivotColumnDimensions,
7264
+ pivotTitle,
6693
7265
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
6694
7266
  ];
6695
7267
  const areaSpecPipeline = [
@@ -6766,7 +7338,7 @@
6766
7338
  datasetXY,
6767
7339
  progressive,
6768
7340
  xBand,
6769
- yLinear,
7341
+ pivotAxisStyle(yLinear),
6770
7342
  label_label,
6771
7343
  tooltip_tooltip,
6772
7344
  verticalCrosshairLine,
@@ -6781,6 +7353,7 @@
6781
7353
  ]),
6782
7354
  pivotRowDimensions,
6783
7355
  pivotColumnDimensions,
7356
+ pivotTitle,
6784
7357
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
6785
7358
  ];
6786
7359
  const areaPercentSpecPipeline = [
@@ -7269,12 +7842,7 @@
7269
7842
  visible: true,
7270
7843
  hasShape: true,
7271
7844
  shapeType: 'rectRound',
7272
- key: (v)=>{
7273
- const { measureId, foldMap } = foldInfo;
7274
- const datum = v;
7275
- const id = datum[measureId];
7276
- return foldMap[id] || id;
7277
- },
7845
+ key: Object.values(foldInfo.foldMap)[0],
7278
7846
  value: (v)=>{
7279
7847
  const { measureId, measureValue } = foldInfo;
7280
7848
  const datum = v;
@@ -7757,7 +8325,7 @@
7757
8325
  datasetScatter,
7758
8326
  progressive,
7759
8327
  xLinear,
7760
- yLinear,
8328
+ pivotAxisStyle(yLinear),
7761
8329
  scatterSize,
7762
8330
  labelScatter,
7763
8331
  tooltipScatter,
@@ -7774,6 +8342,7 @@
7774
8342
  ]),
7775
8343
  pivotRowDimensions,
7776
8344
  pivotColumnDimensions,
8345
+ pivotTitle,
7777
8346
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
7778
8347
  ];
7779
8348
  const scatterSpecPipeline = [
@@ -8457,7 +9026,7 @@
8457
9026
  title: {
8458
9027
  visible: true
8459
9028
  },
8460
- content: createDimensionContent(measures, foldInfoList[0], unfoldInfo)
9029
+ content: createDimensionContent(dimensions, measures, foldInfoList[0], unfoldInfo)
8461
9030
  }
8462
9031
  };
8463
9032
  return result;
@@ -8488,7 +9057,7 @@
8488
9057
  title: {
8489
9058
  visible: true
8490
9059
  },
8491
- content: createDimensionContent(measures, foldInfoList[1], unfoldInfo)
9060
+ content: createDimensionContent(dimensions, measures, foldInfoList[1], unfoldInfo)
8492
9061
  }
8493
9062
  };
8494
9063
  return result;
@@ -8787,7 +9356,7 @@
8787
9356
  ]),
8788
9357
  xBand,
8789
9358
  yLinearPrimary,
8790
- yLinearSecondary,
9359
+ pivotAxisStyle(yLinearSecondary),
8791
9360
  colorAdapter(color_color, linearColor),
8792
9361
  background_backgroundColor,
8793
9362
  verticalCrosshairRect,
@@ -8798,6 +9367,7 @@
8798
9367
  ]),
8799
9368
  pivotRowDimensions,
8800
9369
  pivotColumnDimensions,
9370
+ pivotTitle,
8801
9371
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
8802
9372
  ];
8803
9373
  const dualAxisSpecPipeline = [
@@ -8978,6 +9548,13 @@
8978
9548
  ...spec,
8979
9549
  hideIndicatorName: true
8980
9550
  });
9551
+ const addRegionPadding = (spec)=>{
9552
+ const result = {
9553
+ ...spec
9554
+ };
9555
+ if (result.region && result.region.length > 0) result.region[0].padding = 10;
9556
+ return result;
9557
+ };
8981
9558
  const pie = [
8982
9559
  initPie,
8983
9560
  colorAdapter(color_color, linearColor),
@@ -9011,10 +9588,12 @@
9011
9588
  annotationPoint_annotationPoint,
9012
9589
  annotationVerticalLine_annotationVerticalLine,
9013
9590
  annotationHorizontalLine_annotationHorizontalLine,
9014
- annotationArea_annotationArea
9591
+ annotationArea_annotationArea,
9592
+ addRegionPadding
9015
9593
  ]),
9016
9594
  pivotRowDimensions,
9017
9595
  pivotColumnDimensions,
9596
+ pivotTitle,
9018
9597
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9019
9598
  ];
9020
9599
  const pieSpecPipeline = [
@@ -9095,6 +9674,7 @@
9095
9674
  datasetPivot,
9096
9675
  pivotIndicators_pivotIndicators([
9097
9676
  initDonut,
9677
+ addRegionPadding,
9098
9678
  colorAdapter(color_color, linearColor),
9099
9679
  background_backgroundColor,
9100
9680
  datasetXY,
@@ -9109,6 +9689,7 @@
9109
9689
  ]),
9110
9690
  pivotRowDimensions,
9111
9691
  pivotColumnDimensions,
9692
+ pivotTitle,
9112
9693
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9113
9694
  ];
9114
9695
  const donutSpecPipeline = [
@@ -9315,6 +9896,7 @@
9315
9896
  datasetPivot,
9316
9897
  pivotIndicators_pivotIndicators([
9317
9898
  initRose,
9899
+ addRegionPadding,
9318
9900
  stackCornerRadius_stackCornerRadius,
9319
9901
  stackInverse,
9320
9902
  colorAdapter(color_color, linearColor),
@@ -9329,6 +9911,7 @@
9329
9911
  ]),
9330
9912
  pivotRowDimensions,
9331
9913
  pivotColumnDimensions,
9914
+ pivotTitle,
9332
9915
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9333
9916
  ];
9334
9917
  const roseSpecPipeline = [
@@ -9435,6 +10018,7 @@
9435
10018
  datasetPivot,
9436
10019
  pivotIndicators_pivotIndicators([
9437
10020
  initRoseParallel,
10021
+ addRegionPadding,
9438
10022
  stackCornerRadius_stackCornerRadius,
9439
10023
  colorAdapter(color_color, linearColor),
9440
10024
  background_backgroundColor,
@@ -9452,6 +10036,7 @@
9452
10036
  ]),
9453
10037
  pivotRowDimensions,
9454
10038
  pivotColumnDimensions,
10039
+ pivotTitle,
9455
10040
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9456
10041
  ];
9457
10042
  const roseParallelSpecPipeline = [
@@ -9652,6 +10237,7 @@
9652
10237
  datasetPivot,
9653
10238
  pivotIndicators_pivotIndicators([
9654
10239
  initRadar,
10240
+ addRegionPadding,
9655
10241
  colorAdapter(color_color, linearColor),
9656
10242
  background_backgroundColor,
9657
10243
  datasetXY,
@@ -9668,6 +10254,7 @@
9668
10254
  ]),
9669
10255
  pivotRowDimensions,
9670
10256
  pivotColumnDimensions,
10257
+ pivotTitle,
9671
10258
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9672
10259
  ];
9673
10260
  const radarSpecPipeline = [
@@ -9884,6 +10471,7 @@
9884
10471
  ]),
9885
10472
  pivotRowDimensions,
9886
10473
  pivotColumnDimensions,
10474
+ pivotTitle,
9887
10475
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
9888
10476
  ];
9889
10477
  const funnelSpecPipeline = [
@@ -10190,7 +10778,7 @@
10190
10778
  pivotIndicatorsAsRow,
10191
10779
  datasetPivot,
10192
10780
  pivotIndicators_pivotIndicators([
10193
- initHeatmap,
10781
+ pivotAxisStyle(initHeatmap),
10194
10782
  background_backgroundColor,
10195
10783
  datasetXY,
10196
10784
  colorAdapter(color_color, linearColor),
@@ -10204,6 +10792,7 @@
10204
10792
  ]),
10205
10793
  pivotRowDimensions,
10206
10794
  pivotColumnDimensions,
10795
+ pivotTitle,
10207
10796
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
10208
10797
  ];
10209
10798
  const heatmapSpecPipeline = [
@@ -10312,10 +10901,6 @@
10312
10901
  ...tooltip
10313
10902
  ]);
10314
10903
  };
10315
- const clamp_clamp = function(input, min, max) {
10316
- return input < min ? min : input > max ? max : input;
10317
- };
10318
- const clamp = clamp_clamp;
10319
10904
  function toNumber(a) {
10320
10905
  return Number(a);
10321
10906
  }
@@ -10747,7 +11332,7 @@
10747
11332
  datasetBoxplot,
10748
11333
  progressive,
10749
11334
  xBand,
10750
- yLinear,
11335
+ pivotAxisStyle(yLinear),
10751
11336
  label_label,
10752
11337
  tooltipBoxplot,
10753
11338
  colorBarStyleFill(barStyle_barStyle),
@@ -10759,6 +11344,7 @@
10759
11344
  ]),
10760
11345
  pivotRowDimensions,
10761
11346
  pivotColumnDimensions,
11347
+ pivotTitle,
10762
11348
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
10763
11349
  ];
10764
11350
  const boxplotSpecPipeline = [
@@ -11622,7 +12208,7 @@
11622
12208
  datasetHistogram,
11623
12209
  progressive,
11624
12210
  xLinear,
11625
- yLinear,
12211
+ pivotAxisStyle(yLinear),
11626
12212
  label_label,
11627
12213
  tooltipHistogram,
11628
12214
  colorBarStyleFill(barStyle_barStyle),
@@ -11636,6 +12222,7 @@
11636
12222
  ]),
11637
12223
  pivotRowDimensions,
11638
12224
  pivotColumnDimensions,
12225
+ pivotTitle,
11639
12226
  colorAdapter(pivotDiscreteLegend, pivotColorLegend)
11640
12227
  ];
11641
12228
  const histogramSpecPipeline = [
@@ -11707,11 +12294,15 @@
11707
12294
  ];
11708
12295
  const getLightColor = ()=>({
11709
12296
  linearColorScheme: getLightLinearColorScheme(),
11710
- colorScheme: getLightColorScheme()
12297
+ colorScheme: getLightColorScheme(),
12298
+ positiveColor: '#7E5DFF',
12299
+ negativeColor: '#EB3373'
11711
12300
  });
11712
12301
  const getDarkColor = ()=>({
11713
12302
  linearColorScheme: getDarkLinearColorScheme(),
11714
- colorScheme: getDarkColorScheme()
12303
+ colorScheme: getDarkColorScheme(),
12304
+ positiveColor: '#7E5DFF',
12305
+ negativeColor: '#EB3373'
11715
12306
  });
11716
12307
  const getDefaultLabel = ()=>({
11717
12308
  enable: true,
@@ -11779,7 +12370,10 @@
11779
12370
  headerFontColor: tableConfig.headerFontColor,
11780
12371
  headerBackgroundColor: 'transparent',
11781
12372
  hoverHeaderBackgroundColor: tableConfig.hoverHeaderBackgroundColor,
11782
- hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor
12373
+ hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor,
12374
+ titleFontColor: tableConfig.headerFontColor,
12375
+ titleFontSize: tableConfig.headerFontSize,
12376
+ titleFontWeight: 'bold'
11783
12377
  });
11784
12378
  const getLightPivotChartGridConfig = ()=>pickPivotChartGridConfig(getLightTableConfig());
11785
12379
  const getDarkPivotChartGridConfig = ()=>pickPivotChartGridConfig(getDarkTableConfig());
@@ -12326,7 +12920,7 @@
12326
12920
  label: {
12327
12921
  ...baseConfig.label,
12328
12922
  showValuePercent: true,
12329
- labelLayout: 'labelLine',
12923
+ labelLayout: 'arc',
12330
12924
  showDimension: true
12331
12925
  },
12332
12926
  pivotGrid: getLightPivotChartGridConfig()
@@ -12336,7 +12930,7 @@
12336
12930
  label: {
12337
12931
  ...baseConfig.label,
12338
12932
  showValuePercent: true,
12339
- labelLayout: 'labelLine',
12933
+ labelLayout: 'arc',
12340
12934
  showDimension: true
12341
12935
  },
12342
12936
  pivotGrid: getLightPivotChartGridConfig()
@@ -12589,7 +13183,7 @@
12589
13183
  label: {
12590
13184
  ...baseConfig.label,
12591
13185
  showValuePercent: true,
12592
- labelLayout: 'labelLine',
13186
+ labelLayout: 'arc',
12593
13187
  showDimension: true
12594
13188
  },
12595
13189
  pivotGrid: getDarkPivotChartGridConfig()
@@ -12599,7 +13193,7 @@
12599
13193
  label: {
12600
13194
  ...baseConfig.label,
12601
13195
  showValuePercent: true,
12602
- labelLayout: 'labelLine',
13196
+ labelLayout: 'arc',
12603
13197
  showDimension: true
12604
13198
  },
12605
13199
  pivotGrid: getDarkPivotChartGridConfig()
@@ -16720,7 +17314,10 @@
16720
17314
  outlineBorderLineWidth: schemas_number().nullish(),
16721
17315
  frameCornerRadius: schemas_number().nullish(),
16722
17316
  minChartWidth: schemas_number().nullish(),
16723
- minChartHeight: schemas_number().nullish()
17317
+ minChartHeight: schemas_number().nullish(),
17318
+ titleFontColor: schemas_string().nullish(),
17319
+ titleFontSize: schemas_number().nullish(),
17320
+ titleFontWeight: schemas_string().nullish()
16724
17321
  });
16725
17322
  const zLineConfig = schemas_object({
16726
17323
  backgroundColor: zBackgroundColor.nullish(),