@visactor/vseed 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js +2 -3
  4. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
  5. package/dist/esm/pipeline/advanced/table/pipes/default/index.d.ts +0 -1
  6. package/dist/esm/pipeline/advanced/table/pipes/default/index.js +1 -2
  7. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js +6 -3
  8. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
  9. package/dist/esm/pipeline/advanced/table/pipes/index.d.ts +0 -1
  10. package/dist/esm/pipeline/advanced/table/pipes/index.js +0 -1
  11. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +1 -1
  12. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  13. package/dist/esm/pipeline/spec/table/pipeline/table.js +2 -1
  14. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  15. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +1 -3
  16. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  17. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js +2 -12
  18. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  19. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js +3 -2
  20. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  21. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +3 -2
  22. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  23. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +20 -25
  24. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  25. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +2 -12
  26. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  27. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.d.ts +2 -0
  28. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js +51 -0
  29. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js.map +1 -0
  30. package/dist/esm/pipeline/spec/table/pipes/theme/index.d.ts +1 -0
  31. package/dist/esm/pipeline/spec/table/pipes/theme/index.js +1 -0
  32. package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +6 -0
  33. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +1 -0
  34. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +1 -0
  35. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  36. package/dist/umd/index.js +191 -198
  37. package/dist/umd/index.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.d.ts +0 -2
  40. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js +0 -19
  41. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +0 -1
  42. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.d.ts +0 -1
  43. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.js +0 -2
  44. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.d.ts +0 -2
  45. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js +0 -32
  46. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -3086,6 +3086,54 @@ self.R = R;
3086
3086
  };
3087
3087
  return result;
3088
3088
  };
3089
+ const bottomFrozenStyle = (spec, context)=>{
3090
+ const result = {
3091
+ ...spec
3092
+ };
3093
+ const { advancedVSeed } = context;
3094
+ const { config, chartType } = advancedVSeed;
3095
+ const themConfig = config?.[chartType];
3096
+ if (!result.theme || !themConfig) return result;
3097
+ const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)';
3098
+ const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5';
3099
+ const fontColor = themConfig.headerFontColor || '#1B1F23';
3100
+ const fontSize = themConfig.headerFontSize || 12;
3101
+ const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff';
3102
+ const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff';
3103
+ result.theme.bottomFrozenStyle = {
3104
+ borderColor,
3105
+ borderLineWidth: 1,
3106
+ padding: [
3107
+ 8,
3108
+ 12,
3109
+ 8,
3110
+ 12
3111
+ ],
3112
+ textAlign: 'center',
3113
+ hover: {
3114
+ cellBgColor: hoverCellBgColor,
3115
+ inlineRowBgColor: hoverInlineColor,
3116
+ inlineColumnBgColor: hoverInlineColor
3117
+ },
3118
+ frameStyle: {
3119
+ borderColor,
3120
+ borderLineWidth: [
3121
+ 0,
3122
+ 0,
3123
+ 1,
3124
+ 0
3125
+ ]
3126
+ },
3127
+ fontSize,
3128
+ fontVariant: 'normal',
3129
+ fontStyle: 'normal',
3130
+ fontWeight: 'bold',
3131
+ color: fontColor,
3132
+ bgColor: backgroundColor,
3133
+ lineHeight: 1.5 * fontSize
3134
+ };
3135
+ return result;
3136
+ };
3089
3137
  const tableThemeStyle = (spec, context)=>{
3090
3138
  const result = {
3091
3139
  ...spec
@@ -3213,6 +3261,7 @@ self.R = R;
3213
3261
  columnsAggregation,
3214
3262
  bodyStyle,
3215
3263
  headerStyle,
3264
+ bottomFrozenStyle,
3216
3265
  tableThemeStyle,
3217
3266
  selectionStyle,
3218
3267
  tableBodyCell
@@ -3221,30 +3270,20 @@ self.R = R;
3221
3270
  Builder.registerAdvancedPipeline('table', tableAdvancedPipeline);
3222
3271
  Builder.registerSpecPipeline('table', tableSpecPipeline);
3223
3272
  };
3224
- const defaultMeasureId = (advancedVSeed)=>{
3225
- const result = {
3226
- ...advancedVSeed
3227
- };
3228
- const measures = findAllMeasures(advancedVSeed.measureTree);
3229
- if (measures.length > 1 && !findTreeNodesBy(advancedVSeed.dimensionTree, (dim)=>dim.id === MeasureId || dim.id === MeasureName).length) result.dimensionTree.push({
3230
- id: MeasureId,
3231
- alias: intl.i18n`指标名称`,
3232
- encoding: 'row'
3233
- });
3234
- return result;
3235
- };
3236
3273
  const encodingForPivotTable = (advancedVSeed)=>{
3237
3274
  const { measureTree = [], dimensionTree = [] } = advancedVSeed;
3238
3275
  const measures = findAllMeasures(measureTree);
3239
- const hasDimensionEncoding = dimensionTree.some((item)=>item.encoding);
3276
+ const filteredDimensionTree = dimensionTree.filter((dim)=>dim.id !== MeasureId && dim.id !== MeasureName);
3277
+ const hasDimensionEncoding = filteredDimensionTree.some((item)=>item.encoding);
3240
3278
  const hasMeasureEncoding = measures.some((item)=>item.encoding);
3241
3279
  const encoding = {};
3242
- if (hasDimensionEncoding) generateDimensionEncoding(dimensionTree, encoding);
3243
- else generateDefaultDimensionEncoding(dimensionTree, encoding);
3280
+ if (hasDimensionEncoding) generateDimensionEncoding(filteredDimensionTree, encoding);
3281
+ else generateDefaultDimensionEncoding(filteredDimensionTree, encoding);
3244
3282
  if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
3245
3283
  else generateDefaultMeasureEncoding(measures, encoding);
3246
3284
  return {
3247
3285
  ...advancedVSeed,
3286
+ dimensionTree: filteredDimensionTree,
3248
3287
  encoding
3249
3288
  };
3250
3289
  };
@@ -3279,91 +3318,6 @@ self.R = R;
3279
3318
  encoding.tooltip = measures.map((item)=>item.id);
3280
3319
  encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
3281
3320
  };
3282
- const foldMeasures = (dataset, measures, options)=>{
3283
- const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {};
3284
- const foldInfo = {
3285
- measureId,
3286
- measureName,
3287
- measureValue,
3288
- statistics: {
3289
- max: -1 / 0,
3290
- min: 1 / 0,
3291
- sum: 0,
3292
- count: 0,
3293
- colorMin: 1 / 0,
3294
- colorMax: -1 / 0
3295
- },
3296
- foldMap: {}
3297
- };
3298
- if (!allowEmptyFold && 0 === measures.length) return {
3299
- dataset,
3300
- foldInfo
3301
- };
3302
- const result = new Array(dataset.length * measures.length);
3303
- let index = 0;
3304
- for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
3305
- const datum = chunk_KI5X74E2_y({
3306
- ...dataset[i]
3307
- }, omitIds);
3308
- datum[ORIGINAL_DATA] = dataset[i];
3309
- const measure = measures[j];
3310
- const { id, alias } = measure;
3311
- datum[id] = dataset[i][id];
3312
- datum[measureId] = id;
3313
- datum[measureName] = alias || id;
3314
- datum[measureValue] = dataset[i][id];
3315
- const valueNumber = Number(datum[id]);
3316
- foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
3317
- foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
3318
- foldInfo.statistics.sum += valueNumber;
3319
- foldInfo.statistics.count++;
3320
- if ('color' === measure.encoding) {
3321
- foldInfo.statistics.colorMin = foldInfo.statistics.min;
3322
- foldInfo.statistics.colorMax = foldInfo.statistics.max;
3323
- datum[ColorEncoding] = valueNumber;
3324
- datum[ColorIdEncoding] = measure.id;
3325
- } else if (colorMeasureId) {
3326
- const value = datum[ORIGINAL_DATA][colorMeasureId];
3327
- datum[ColorEncoding] = value;
3328
- datum[ColorIdEncoding] = colorMeasureId;
3329
- const valueNumber = Number(value);
3330
- foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber);
3331
- foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber);
3332
- }
3333
- foldInfo.foldMap[id] = alias;
3334
- result[index++] = datum;
3335
- }
3336
- return {
3337
- dataset: result,
3338
- foldInfo
3339
- };
3340
- };
3341
- const reshapePivotTable = (advancedVSeed, context)=>{
3342
- const result = {
3343
- ...advancedVSeed
3344
- };
3345
- const { vseed } = context;
3346
- const { dataset, chartType } = vseed;
3347
- const { measureTree } = advancedVSeed;
3348
- const { dataset: newDatasets, foldInfo } = foldMeasures(dataset, findAllMeasures(measureTree), {
3349
- measureId: FoldMeasureId,
3350
- measureName: FoldMeasureName,
3351
- measureValue: FoldMeasureValue,
3352
- allowEmptyFold: false
3353
- });
3354
- const datasetReshapeInfo = [
3355
- {
3356
- id: String(chartType),
3357
- index: 0,
3358
- foldInfo
3359
- }
3360
- ];
3361
- return {
3362
- ...result,
3363
- dataset: newDatasets,
3364
- datasetReshapeInfo: datasetReshapeInfo
3365
- };
3366
- };
3367
3321
  const pivotTableConfig = (advancedVSeed, context)=>{
3368
3322
  const { vseed } = context;
3369
3323
  const { chartType } = vseed;
@@ -3397,10 +3351,9 @@ self.R = R;
3397
3351
  initAdvancedVSeed,
3398
3352
  defaultMeasures_defaultMeasures,
3399
3353
  defaultDimensions,
3400
- defaultMeasureId,
3401
3354
  cellStyle_cellStyle,
3402
3355
  encodingForPivotTable,
3403
- reshapePivotTable,
3356
+ records_records,
3404
3357
  pivotTableConfig,
3405
3358
  theme_theme
3406
3359
  ];
@@ -3454,21 +3407,13 @@ self.R = R;
3454
3407
  const { encoding } = advancedVSeed;
3455
3408
  const dimensions = advancedVSeed.dimensionTree;
3456
3409
  const columns = dimensions.filter((item)=>encoding.column?.includes(item.id));
3457
- const allMeasures = findAllMeasures(advancedVSeed.measureTree);
3458
3410
  return {
3459
3411
  ...spec,
3460
- columns: columns.map((item)=>{
3461
- const res = {
3412
+ columns: columns.map((item)=>({
3462
3413
  dimensionKey: item.id,
3463
3414
  title: item.alias || item.id,
3464
3415
  width: 'auto'
3465
- };
3466
- if (item.id === MeasureId) res.headerFormat = (measureId)=>{
3467
- const measure = allMeasures.find((m)=>m.id === measureId);
3468
- return measure?.alias ?? measureId;
3469
- };
3470
- return res;
3471
- })
3416
+ }))
3472
3417
  };
3473
3418
  };
3474
3419
  const pivotRows = (spec, context)=>{
@@ -3476,64 +3421,52 @@ self.R = R;
3476
3421
  const dimensions = advancedVSeed.dimensionTree;
3477
3422
  const { encoding } = advancedVSeed;
3478
3423
  const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
3479
- const allMeasures = findAllMeasures(advancedVSeed.measureTree);
3480
3424
  return {
3481
3425
  ...spec,
3482
- rows: rows.map((item)=>{
3483
- const res = {
3426
+ rows: rows.map((item)=>({
3484
3427
  dimensionKey: item.id,
3485
3428
  title: item.alias || item.id,
3486
3429
  width: 'auto'
3487
- };
3488
- if (item.id === MeasureId) res.headerFormat = (measureId)=>{
3489
- const measure = allMeasures.find((m)=>m.id === measureId);
3490
- return measure?.alias ?? measureId;
3491
- };
3492
- return res;
3493
- })
3494
- };
3495
- };
3496
- const titleOnDimension = (spec)=>{
3497
- const { rows = [], columns = [] } = spec;
3498
- return {
3499
- ...spec,
3500
- corner: {
3501
- titleOnDimension: rows.length <= 1 && columns.length >= 1 ? 'column' : 'row'
3502
- }
3430
+ }))
3503
3431
  };
3504
3432
  };
3505
3433
  const pivotIndicators = (spec, context)=>{
3506
- const { advancedVSeed } = context;
3507
- const { measureTree, datasetReshapeInfo } = advancedVSeed;
3508
- const { foldInfo } = datasetReshapeInfo[0];
3509
- const hasRow = spec?.rows?.length > 0;
3510
- const foldMapValues = Object.values(foldInfo.foldMap);
3434
+ const { advancedVSeed, vseed } = context;
3435
+ const { measureTree } = advancedVSeed;
3436
+ const measures = findAllMeasures(measureTree);
3437
+ const indicatorsAsCol = vseed.indicatorsAsCol ?? false;
3511
3438
  return {
3512
3439
  ...spec,
3513
3440
  indicatorTitle: intl.i18n`指标名称`,
3514
- indicatorsAsCol: hasRow,
3515
- hideIndicatorName: hasRow,
3516
- indicators: [
3517
- {
3441
+ indicatorsAsCol,
3442
+ hideIndicatorName: measures.length <= 1,
3443
+ indicators: measures.map((measure)=>{
3444
+ const formatter = createFormatterByMeasure(measure);
3445
+ return {
3518
3446
  cellType: 'text',
3519
- indicatorKey: foldInfo.measureValue,
3520
- title: foldMapValues.length > 1 ? '' : foldMapValues[0],
3447
+ indicatorKey: measure.id,
3448
+ title: measure.alias || measure.id,
3521
3449
  width: 'auto',
3522
- format: pivotIndicators_fieldFormat(measureTree, foldInfo)
3523
- }
3524
- ]
3450
+ format: (value, col, row, table)=>{
3451
+ if (!chunk_6GTAPB47_e(col) || !chunk_6GTAPB47_e(row) || !table) return value;
3452
+ const datum = table.getCellOriginRecord(col, row);
3453
+ if (!datum?.[0]) return value;
3454
+ return formatter(value);
3455
+ }
3456
+ };
3457
+ })
3525
3458
  };
3526
3459
  };
3527
- const pivotIndicators_fieldFormat = (measureTree, foldInfo)=>(value, col, row, table)=>{
3528
- if (!chunk_6GTAPB47_e(col) || !chunk_6GTAPB47_e(row) || !table) return value;
3529
- const datum = table.getCellOriginRecord(col, row);
3530
- if (!datum[0]) return value;
3531
- const { measureId: foldMeasureId } = foldInfo;
3532
- const measureId = datum[0][foldMeasureId];
3533
- const measure = findMeasureById(measureTree, measureId);
3534
- const formatter = createFormatterByMeasure(measure);
3535
- return formatter(value);
3460
+ const titleOnDimension = (spec)=>{
3461
+ const { rows = [], columns = [], indicatorsAsCol, indicators = [] } = spec;
3462
+ const rowsLength = rows.length + (indicatorsAsCol ? 0 : indicators?.length > 0 ? 1 : 0);
3463
+ return {
3464
+ ...spec,
3465
+ corner: {
3466
+ titleOnDimension: rowsLength <= 1 && columns.length >= 1 && !indicatorsAsCol ? 'column' : 'row'
3467
+ }
3536
3468
  };
3469
+ };
3537
3470
  const rowHeaderStyle = (spec, context)=>{
3538
3471
  const result = {
3539
3472
  ...spec
@@ -3659,7 +3592,6 @@ self.R = R;
3659
3592
  headerPaths.forEach((path)=>{
3660
3593
  if (path.dimensionKey) originalDatum[path.dimensionKey] = path.value;
3661
3594
  });
3662
- if (!chunk_JK3VNB42_n(originalDatum[MeasureId]) && !chunk_JK3VNB42_n(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
3663
3595
  const currentCellData = getCellOriginalDataByDatum(datum, hasDynamicFilter, originalDatum);
3664
3596
  const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
3665
3597
  const shouldApply = style.dynamicFilter ? selectorWithDynamicFilter(currentCellData || originalDatum, style.dynamicFilter, style.selector) : selector_selector(originalDatum, style.selector);
@@ -3694,7 +3626,7 @@ self.R = R;
3694
3626
  const measures = findAllMeasures(advancedVSeed.measureTree);
3695
3627
  const aggregationRules = measures.map((measure)=>({
3696
3628
  field: measure.id,
3697
- aggregationType: 'NONE',
3629
+ aggregationType: 'SUM',
3698
3630
  indicatorKey: measure.id
3699
3631
  }));
3700
3632
  const dataConfigObj = {
@@ -3704,9 +3636,9 @@ self.R = R;
3704
3636
  if (totals) {
3705
3637
  const grandTotalLabel = intl.i18n`总计`;
3706
3638
  const subTotalLabel = intl.i18n`小计`;
3707
- const dimensionIds = (advancedVSeed.dimensionTree || []).map((dim)=>dim.id);
3708
3639
  dataConfigObj.totals = {};
3709
3640
  if (totals.row) {
3641
+ const dimensionIds = (advancedVSeed.dimensionTree || []).filter((dim)=>'row' === dim.encoding).map((dim)=>dim.id);
3710
3642
  const rowSubDimensions = totals.row.subTotalsDimensions?.filter((dim)=>dimensionIds.includes(dim));
3711
3643
  const normalizedRowSubDimensions = totals.row.showSubTotals && (!rowSubDimensions || 0 === rowSubDimensions.length) ? dimensionIds.length > 0 ? [
3712
3644
  dimensionIds[0]
@@ -3720,6 +3652,7 @@ self.R = R;
3720
3652
  };
3721
3653
  }
3722
3654
  if (totals.column) {
3655
+ const dimensionIds = (advancedVSeed.dimensionTree || []).filter((dim)=>'column' === dim.encoding).map((dim)=>dim.id);
3723
3656
  const columnSubDimensions = totals.column.subTotalsDimensions?.filter((dim)=>dimensionIds.includes(dim));
3724
3657
  const normalizedColumnSubDimensions = totals.column.showSubTotals && (!columnSubDimensions || 0 === columnSubDimensions.length) ? dimensionIds.length > 0 ? [
3725
3658
  dimensionIds[0]
@@ -3742,8 +3675,8 @@ self.R = R;
3742
3675
  initPivotTable,
3743
3676
  pivotColumns,
3744
3677
  pivotRows,
3745
- titleOnDimension,
3746
3678
  pivotIndicators,
3679
+ titleOnDimension,
3747
3680
  bodyStyle,
3748
3681
  headerStyle,
3749
3682
  rowHeaderStyle,
@@ -3843,7 +3776,7 @@ self.R = R;
3843
3776
  dimensions: newDimensions
3844
3777
  };
3845
3778
  };
3846
- const defaultMeasureId_defaultMeasureId = (advancedVSeed)=>{
3779
+ const defaultMeasureId = (advancedVSeed)=>{
3847
3780
  const result = {
3848
3781
  ...advancedVSeed
3849
3782
  };
@@ -3993,6 +3926,65 @@ self.R = R;
3993
3926
  });
3994
3927
  };
3995
3928
  }
3929
+ const foldMeasures = (dataset, measures, options)=>{
3930
+ const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {};
3931
+ const foldInfo = {
3932
+ measureId,
3933
+ measureName,
3934
+ measureValue,
3935
+ statistics: {
3936
+ max: -1 / 0,
3937
+ min: 1 / 0,
3938
+ sum: 0,
3939
+ count: 0,
3940
+ colorMin: 1 / 0,
3941
+ colorMax: -1 / 0
3942
+ },
3943
+ foldMap: {}
3944
+ };
3945
+ if (!allowEmptyFold && 0 === measures.length) return {
3946
+ dataset,
3947
+ foldInfo
3948
+ };
3949
+ const result = new Array(dataset.length * measures.length);
3950
+ let index = 0;
3951
+ for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
3952
+ const datum = chunk_KI5X74E2_y({
3953
+ ...dataset[i]
3954
+ }, omitIds);
3955
+ datum[ORIGINAL_DATA] = dataset[i];
3956
+ const measure = measures[j];
3957
+ const { id, alias } = measure;
3958
+ datum[id] = dataset[i][id];
3959
+ datum[measureId] = id;
3960
+ datum[measureName] = alias || id;
3961
+ datum[measureValue] = dataset[i][id];
3962
+ const valueNumber = Number(datum[id]);
3963
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
3964
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
3965
+ foldInfo.statistics.sum += valueNumber;
3966
+ foldInfo.statistics.count++;
3967
+ if ('color' === measure.encoding) {
3968
+ foldInfo.statistics.colorMin = foldInfo.statistics.min;
3969
+ foldInfo.statistics.colorMax = foldInfo.statistics.max;
3970
+ datum[ColorEncoding] = valueNumber;
3971
+ datum[ColorIdEncoding] = measure.id;
3972
+ } else if (colorMeasureId) {
3973
+ const value = datum[ORIGINAL_DATA][colorMeasureId];
3974
+ datum[ColorEncoding] = value;
3975
+ datum[ColorIdEncoding] = colorMeasureId;
3976
+ const valueNumber = Number(value);
3977
+ foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber);
3978
+ foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber);
3979
+ }
3980
+ foldInfo.foldMap[id] = alias;
3981
+ result[index++] = datum;
3982
+ }
3983
+ return {
3984
+ dataset: result,
3985
+ foldInfo
3986
+ };
3987
+ };
3996
3988
  const unfoldDimensions = (dataset, dimensions, encoding, options)=>{
3997
3989
  const { separator } = options;
3998
3990
  const unfoldInfo = {
@@ -4283,7 +4275,7 @@ self.R = R;
4283
4275
  initAdvancedVSeed_initAdvancedVSeed,
4284
4276
  default_defaultMeasures_defaultMeasures,
4285
4277
  defaultDimensions_defaultDimensions,
4286
- defaultMeasureId_defaultMeasureId,
4278
+ defaultMeasureId,
4287
4279
  encodingAdapter([
4288
4280
  buildMeasures([
4289
4281
  'yAxis',
@@ -6038,11 +6030,11 @@ self.R = R;
6038
6030
  markArea: markArea
6039
6031
  };
6040
6032
  };
6041
- const isNumber = (value, fuzzy = !1)=>{
6033
+ const isNumber_isNumber = (value, fuzzy = !1)=>{
6042
6034
  const type = typeof value;
6043
6035
  return fuzzy ? "number" === type : "number" === type || isType(value, "Number");
6044
6036
  };
6045
- const common_isNumber = isNumber;
6037
+ const isNumber = isNumber_isNumber;
6046
6038
  const clamp_clamp = function(input, min, max) {
6047
6039
  return input < min ? min : input > max ? max : input;
6048
6040
  };
@@ -6224,10 +6216,10 @@ self.R = R;
6224
6216
  return ((value = Math.max(0, Math.min(255, Math.round(value) || 0))) < 16 ? "0" : "") + value.toString(16);
6225
6217
  }
6226
6218
  function Color_rgb(value) {
6227
- 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);
6219
+ return 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);
6228
6220
  }
6229
6221
  function rgba(value) {
6230
- 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);
6222
+ return 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);
6231
6223
  }
6232
6224
  function SRGBToLinear(c) {
6233
6225
  return c < .04045 ? .0773993808 * c : Math.pow(.9478672986 * c + .0521327014, 2.4);
@@ -7499,7 +7491,7 @@ self.R = R;
7499
7491
  initAdvancedVSeed_initAdvancedVSeed,
7500
7492
  default_defaultMeasures_defaultMeasures,
7501
7493
  defaultDimensions_defaultDimensions,
7502
- defaultMeasureId_defaultMeasureId,
7494
+ defaultMeasureId,
7503
7495
  encodingAdapter([
7504
7496
  buildMeasures([
7505
7497
  'yAxis',
@@ -8394,7 +8386,7 @@ self.R = R;
8394
8386
  initAdvancedVSeed_initAdvancedVSeed,
8395
8387
  default_defaultMeasures_defaultMeasures,
8396
8388
  defaultDimensions_defaultDimensions,
8397
- defaultMeasureId_defaultMeasureId,
8389
+ defaultMeasureId,
8398
8390
  encodingAdapter([
8399
8391
  buildMeasures([
8400
8392
  'yAxis',
@@ -8564,7 +8556,7 @@ self.R = R;
8564
8556
  initAdvancedVSeed_initAdvancedVSeed,
8565
8557
  default_defaultMeasures_defaultMeasures,
8566
8558
  defaultDimensions_defaultDimensions,
8567
- defaultMeasureId_defaultMeasureId,
8559
+ defaultMeasureId,
8568
8560
  encodingAdapter([
8569
8561
  buildMeasures([
8570
8562
  'yAxis',
@@ -8750,7 +8742,7 @@ self.R = R;
8750
8742
  initAdvancedVSeed_initAdvancedVSeed,
8751
8743
  default_defaultMeasures_defaultMeasures,
8752
8744
  defaultDimensions_defaultDimensions,
8753
- defaultMeasureId_defaultMeasureId,
8745
+ defaultMeasureId,
8754
8746
  encodingAdapter([
8755
8747
  buildMeasures([
8756
8748
  'xAxis',
@@ -9094,7 +9086,7 @@ self.R = R;
9094
9086
  initAdvancedVSeed_initAdvancedVSeed,
9095
9087
  default_defaultMeasures_defaultMeasures,
9096
9088
  defaultDimensions_defaultDimensions,
9097
- defaultMeasureId_defaultMeasureId,
9089
+ defaultMeasureId,
9098
9090
  encodingAdapter([
9099
9091
  buildMeasures([
9100
9092
  'xAxis',
@@ -9423,7 +9415,7 @@ self.R = R;
9423
9415
  initAdvancedVSeed_initAdvancedVSeed,
9424
9416
  default_defaultMeasures_defaultMeasures,
9425
9417
  defaultDimensions_defaultDimensions,
9426
- defaultMeasureId_defaultMeasureId,
9418
+ defaultMeasureId,
9427
9419
  encodingAdapter([
9428
9420
  buildMeasures([
9429
9421
  'yAxis',
@@ -9961,7 +9953,7 @@ self.R = R;
9961
9953
  initAdvancedVSeed_initAdvancedVSeed,
9962
9954
  default_defaultMeasures_defaultMeasures,
9963
9955
  defaultDimensions_defaultDimensions,
9964
- defaultMeasureId_defaultMeasureId,
9956
+ defaultMeasureId,
9965
9957
  encodingAdapter([
9966
9958
  buildMeasuresForScatter,
9967
9959
  addPivotDimensionsForScatter,
@@ -10927,7 +10919,7 @@ self.R = R;
10927
10919
  initAdvancedVSeed_initAdvancedVSeed,
10928
10920
  default_defaultMeasures_defaultMeasures,
10929
10921
  defaultDimensions_defaultDimensions,
10930
- defaultMeasureId_defaultMeasureId,
10922
+ defaultMeasureId,
10931
10923
  encodingAdapter([
10932
10924
  buildMeasures([
10933
10925
  'yAxis',
@@ -11190,7 +11182,7 @@ self.R = R;
11190
11182
  initAdvancedVSeed_initAdvancedVSeed,
11191
11183
  default_defaultMeasures_defaultMeasures,
11192
11184
  defaultDimensions_defaultDimensions,
11193
- defaultMeasureId_defaultMeasureId,
11185
+ defaultMeasureId,
11194
11186
  encodingAdapter([
11195
11187
  buildMeasures([
11196
11188
  'angle',
@@ -11550,7 +11542,7 @@ self.R = R;
11550
11542
  initAdvancedVSeed_initAdvancedVSeed,
11551
11543
  default_defaultMeasures_defaultMeasures,
11552
11544
  defaultDimensions_defaultDimensions,
11553
- defaultMeasureId_defaultMeasureId,
11545
+ defaultMeasureId,
11554
11546
  encodingAdapter([
11555
11547
  buildMeasures([
11556
11548
  'angle',
@@ -11621,7 +11613,7 @@ self.R = R;
11621
11613
  initAdvancedVSeed_initAdvancedVSeed,
11622
11614
  default_defaultMeasures_defaultMeasures,
11623
11615
  defaultDimensions_defaultDimensions,
11624
- defaultMeasureId_defaultMeasureId,
11616
+ defaultMeasureId,
11625
11617
  encodingAdapter([
11626
11618
  buildMeasures([
11627
11619
  'xAxis',
@@ -11740,7 +11732,7 @@ self.R = R;
11740
11732
  initAdvancedVSeed_initAdvancedVSeed,
11741
11733
  default_defaultMeasures_defaultMeasures,
11742
11734
  defaultDimensions_defaultDimensions,
11743
- defaultMeasureId_defaultMeasureId,
11735
+ defaultMeasureId,
11744
11736
  encodingAdapter([
11745
11737
  buildMeasures([
11746
11738
  'xAxis',
@@ -11832,7 +11824,7 @@ self.R = R;
11832
11824
  initAdvancedVSeed_initAdvancedVSeed,
11833
11825
  default_defaultMeasures_defaultMeasures,
11834
11826
  defaultDimensions_defaultDimensions,
11835
- defaultMeasureId_defaultMeasureId,
11827
+ defaultMeasureId,
11836
11828
  encodingAdapter([
11837
11829
  buildMeasures([
11838
11830
  'yAxis',
@@ -12018,7 +12010,7 @@ self.R = R;
12018
12010
  initAdvancedVSeed_initAdvancedVSeed,
12019
12011
  default_defaultMeasures_defaultMeasures,
12020
12012
  defaultDimensions_defaultDimensions,
12021
- defaultMeasureId_defaultMeasureId,
12013
+ defaultMeasureId,
12022
12014
  encodingAdapter([
12023
12015
  buildMeasures([
12024
12016
  'yAxis',
@@ -12191,7 +12183,7 @@ self.R = R;
12191
12183
  initAdvancedVSeed_initAdvancedVSeed,
12192
12184
  default_defaultMeasures_defaultMeasures,
12193
12185
  defaultDimensions_defaultDimensions,
12194
- defaultMeasureId_defaultMeasureId,
12186
+ defaultMeasureId,
12195
12187
  encodingAdapter([
12196
12188
  buildMeasuresForScatter,
12197
12189
  addPivotDimensionsForScatter,
@@ -12558,7 +12550,7 @@ self.R = R;
12558
12550
  initAdvancedVSeed_initAdvancedVSeed,
12559
12551
  default_defaultMeasures_defaultMeasures,
12560
12552
  defaultDimensions_defaultDimensions,
12561
- defaultMeasureId_defaultMeasureId,
12553
+ defaultMeasureId,
12562
12554
  encodingAdapter([
12563
12555
  buildMeasuresForDualAxis,
12564
12556
  defaultEncodingForDualAxis
@@ -12968,27 +12960,27 @@ self.R = R;
12968
12960
  };
12969
12961
  const isObjectLike = (value)=>"object" == typeof value && null !== value;
12970
12962
  const common_isObjectLike = isObjectLike;
12971
- const isPlainObject = function(value) {
12963
+ const isPlainObject_isPlainObject = function(value) {
12972
12964
  if (!common_isObjectLike(value) || !isType(value, "Object")) return !1;
12973
12965
  if (null === Object.getPrototypeOf(value)) return !0;
12974
12966
  let proto = value;
12975
12967
  for(; null !== Object.getPrototypeOf(proto);)proto = Object.getPrototypeOf(proto);
12976
12968
  return Object.getPrototypeOf(value) === proto;
12977
12969
  };
12978
- const common_isPlainObject = isPlainObject;
12979
- const isString = (value, fuzzy = !1)=>{
12970
+ const isPlainObject = isPlainObject_isPlainObject;
12971
+ const isString_isString = (value, fuzzy = !1)=>{
12980
12972
  const type = typeof value;
12981
12973
  return fuzzy ? "string" === type : "string" === type || isType(value, "String");
12982
12974
  };
12983
- const common_isString = isString;
12975
+ const isString = isString_isString;
12984
12976
  function pickWithout(obj, keys) {
12985
- if (!obj || !common_isPlainObject(obj)) return obj;
12977
+ if (!obj || !isPlainObject(obj)) return obj;
12986
12978
  const result = {};
12987
12979
  return Object.keys(obj).forEach((k)=>{
12988
12980
  const v = obj[k];
12989
12981
  let match = !1;
12990
12982
  keys.forEach((itKey)=>{
12991
- (common_isString(itKey) && itKey === k || itKey instanceof RegExp && k.match(itKey)) && (match = !0);
12983
+ (isString(itKey) && itKey === k || itKey instanceof RegExp && k.match(itKey)) && (match = !0);
12992
12984
  }), match || (result[k] = v);
12993
12985
  }), result;
12994
12986
  }
@@ -13165,7 +13157,7 @@ self.R = R;
13165
13157
  initAdvancedVSeed_initAdvancedVSeed,
13166
13158
  default_defaultMeasures_defaultMeasures,
13167
13159
  defaultDimensions_defaultDimensions,
13168
- defaultMeasureId_defaultMeasureId,
13160
+ defaultMeasureId,
13169
13161
  encodingAdapter([
13170
13162
  buildMeasures([
13171
13163
  'angle',
@@ -13260,7 +13252,7 @@ self.R = R;
13260
13252
  initAdvancedVSeed_initAdvancedVSeed,
13261
13253
  default_defaultMeasures_defaultMeasures,
13262
13254
  defaultDimensions_defaultDimensions,
13263
- defaultMeasureId_defaultMeasureId,
13255
+ defaultMeasureId,
13264
13256
  encodingAdapter([
13265
13257
  buildMeasures([
13266
13258
  'angle',
@@ -13408,7 +13400,7 @@ self.R = R;
13408
13400
  initAdvancedVSeed_initAdvancedVSeed,
13409
13401
  default_defaultMeasures_defaultMeasures,
13410
13402
  defaultDimensions_defaultDimensions,
13411
- defaultMeasureId_defaultMeasureId,
13403
+ defaultMeasureId,
13412
13404
  encodingAdapter([
13413
13405
  buildMeasures([
13414
13406
  'angle',
@@ -13564,7 +13556,7 @@ self.R = R;
13564
13556
  initAdvancedVSeed_initAdvancedVSeed,
13565
13557
  default_defaultMeasures_defaultMeasures,
13566
13558
  defaultDimensions_defaultDimensions,
13567
- defaultMeasureId_defaultMeasureId,
13559
+ defaultMeasureId,
13568
13560
  encodingAdapter([
13569
13561
  buildMeasures([
13570
13562
  'radius',
@@ -13762,7 +13754,7 @@ self.R = R;
13762
13754
  initAdvancedVSeed_initAdvancedVSeed,
13763
13755
  default_defaultMeasures_defaultMeasures,
13764
13756
  defaultDimensions_defaultDimensions,
13765
- defaultMeasureId_defaultMeasureId,
13757
+ defaultMeasureId,
13766
13758
  encodingAdapter([
13767
13759
  buildMeasures([
13768
13760
  'radius',
@@ -13979,7 +13971,7 @@ self.R = R;
13979
13971
  initAdvancedVSeed_initAdvancedVSeed,
13980
13972
  default_defaultMeasures_defaultMeasures,
13981
13973
  defaultDimensions_defaultDimensions,
13982
- defaultMeasureId_defaultMeasureId,
13974
+ defaultMeasureId,
13983
13975
  encodingAdapter([
13984
13976
  buildMeasures([
13985
13977
  'size',
@@ -14230,7 +14222,7 @@ self.R = R;
14230
14222
  initAdvancedVSeed_initAdvancedVSeed,
14231
14223
  default_defaultMeasures_defaultMeasures,
14232
14224
  defaultDimensions_defaultDimensions,
14233
- defaultMeasureId_defaultMeasureId,
14225
+ defaultMeasureId,
14234
14226
  encodingAdapter([
14235
14227
  buildMeasures([
14236
14228
  'color',
@@ -14841,7 +14833,7 @@ self.R = R;
14841
14833
  initAdvancedVSeed_initAdvancedVSeed,
14842
14834
  default_defaultMeasures_defaultMeasures,
14843
14835
  defaultDimensions_defaultDimensions,
14844
- defaultMeasureId_defaultMeasureId,
14836
+ defaultMeasureId,
14845
14837
  boxplotConfig,
14846
14838
  encodingAdapter([
14847
14839
  buildMeasures([
@@ -15318,7 +15310,7 @@ self.R = R;
15318
15310
  const length = objValue.length;
15319
15311
  for(; ++index < length;)newValue[index] = objValue[index];
15320
15312
  }
15321
- } else common_isPlainObject(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
15313
+ } else isPlainObject(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
15322
15314
  isCommon && baseMerge(newValue, srcValue, shallowArray, skipTargetArray), assignMergeValue(target, key, newValue);
15323
15315
  }
15324
15316
  function assignMergeValue(target, key, value) {
@@ -16584,7 +16576,7 @@ self.R = R;
16584
16576
  initAdvancedVSeed_initAdvancedVSeed,
16585
16577
  default_defaultMeasures_defaultMeasures,
16586
16578
  defaultDimensions_defaultDimensions,
16587
- defaultMeasureId_defaultMeasureId,
16579
+ defaultMeasureId,
16588
16580
  encodingAdapter([
16589
16581
  buildMeasures([
16590
16582
  'size',
@@ -17056,7 +17048,7 @@ self.R = R;
17056
17048
  initAdvancedVSeed_initAdvancedVSeed,
17057
17049
  default_defaultMeasures_defaultMeasures,
17058
17050
  defaultDimensions_defaultDimensions,
17059
- defaultMeasureId_defaultMeasureId,
17051
+ defaultMeasureId,
17060
17052
  encodingAdapter([
17061
17053
  buildMeasures([
17062
17054
  'size',
@@ -17283,7 +17275,7 @@ self.R = R;
17283
17275
  initAdvancedVSeed_initAdvancedVSeed,
17284
17276
  default_defaultMeasures_defaultMeasures,
17285
17277
  defaultDimensions_defaultDimensions,
17286
- defaultMeasureId_defaultMeasureId,
17278
+ defaultMeasureId,
17287
17279
  encodingAdapter([
17288
17280
  buildMeasures([
17289
17281
  'size',
@@ -24120,6 +24112,7 @@ self.R = R;
24120
24112
  selectedBorderColor: schemas_string().nullish(),
24121
24113
  selectedBackgroundColor: schemas_string().nullish(),
24122
24114
  bodyCellStyle: schemas_array(zBodyCellStyle).or(zBodyCellStyle).nullish(),
24115
+ indicatorsAsCol: schemas_boolean().nullish(),
24123
24116
  totals: zPivotTableTotals.nullish(),
24124
24117
  theme: zTheme.nullish(),
24125
24118
  locale: zLocale.nullish()