@visactor/vseed 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/builder/builder/builder.d.ts +4 -2
  2. package/dist/dataReshape/foldMeasures.d.ts +2 -2
  3. package/dist/index.cjs +520 -370
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.js +533 -383
  6. package/dist/index.js.map +1 -1
  7. package/dist/pipeline/advanced/chart/pipes/init/index.d.ts +1 -0
  8. package/dist/pipeline/advanced/chart/pipes/init/utils.d.ts +2 -0
  9. package/dist/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -0
  10. package/dist/types/advancedVSeed.d.ts +16 -5
  11. package/dist/types/chartType/area/zArea.d.ts +16 -5
  12. package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +16 -5
  13. package/dist/types/chartType/bar/zBar.d.ts +16 -5
  14. package/dist/types/chartType/barParallel/zBarParallel.d.ts +16 -5
  15. package/dist/types/chartType/barPercent/zBarPercent.d.ts +16 -5
  16. package/dist/types/chartType/column/zColumn.d.ts +16 -5
  17. package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +16 -5
  18. package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +16 -5
  19. package/dist/types/chartType/donut/zDonut.d.ts +16 -5
  20. package/dist/types/chartType/dualAxis/zDualAxis.d.ts +36 -25
  21. package/dist/types/chartType/funnel/zFunnel.d.ts +16 -5
  22. package/dist/types/chartType/heatmap/zHeatmap.d.ts +16 -5
  23. package/dist/types/chartType/line/zLine.d.ts +16 -5
  24. package/dist/types/chartType/pie/zPie.d.ts +16 -5
  25. package/dist/types/chartType/pivotTable/zPivotTable.d.ts +16 -5
  26. package/dist/types/chartType/radar/zRadar.d.ts +16 -5
  27. package/dist/types/chartType/rose/zRose.d.ts +16 -5
  28. package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +16 -5
  29. package/dist/types/chartType/scatter/zScatter.d.ts +36 -25
  30. package/dist/types/chartType/table/zTable.d.ts +16 -5
  31. package/dist/types/properties/dimensions/dimensions.d.ts +16 -0
  32. package/dist/types/properties/dimensions/zDimensions.d.ts +33 -0
  33. package/dist/types/properties/measures/zDualMeasures.d.ts +40 -40
  34. package/dist/types/properties/measures/zMeasures.d.ts +15 -15
  35. package/dist/types/properties/measures/zScatterMeasures.d.ts +40 -40
  36. package/dist/types/zVseed.d.ts +360 -140
  37. package/dist/umd/index.js +534 -370
  38. package/dist/umd/index.js.map +1 -1
  39. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1271,6 +1271,57 @@ const initAdvancedVSeed_initAdvancedVSeed = (advancedVSeed, context)=>{
1271
1271
  locale: locale || 'zh-CN'
1272
1272
  };
1273
1273
  };
1274
+ const ORIGINAL_DATA = '__OriginalData__';
1275
+ const Separator = '-';
1276
+ const FoldMeasureName = '__MeaName__';
1277
+ const FoldMeasureId = '__MeaId__';
1278
+ const FoldMeasureValue = '__MeaValue__';
1279
+ const MeasureName = FoldMeasureName;
1280
+ const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
1281
+ const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
1282
+ const FoldXMeasureValue = '__MeaXValue__';
1283
+ const FoldYMeasureValue = '__MeaYValue__';
1284
+ const XEncoding = '__Dim_X__';
1285
+ const YEncoding = '__Dim_Y__';
1286
+ const AngleEncoding = '__Dim_Angle__';
1287
+ const DetailEncoding = '__Dim_Detail__';
1288
+ const ColorEncoding = '__Dim_Color__';
1289
+ const ColorIdEncoding = '__Dim_ColorId__';
1290
+ const getBasicDimensions = (vseed)=>{
1291
+ const { dimensions, dataset } = vseed;
1292
+ const MeaName = {
1293
+ id: MeasureName,
1294
+ alias: intl.i18n`指标名称`,
1295
+ encoding: 'detail'
1296
+ };
1297
+ if (!dataset) throw new Error('dataset is required');
1298
+ if (0 === dataset.length) return [];
1299
+ if (dimensions) {
1300
+ const basicDimensions = dimensions.map((dim)=>({
1301
+ location: 'dimension',
1302
+ ...dim
1303
+ }));
1304
+ if (basicDimensions.some((dim)=>dim.id === MeasureName)) return basicDimensions;
1305
+ basicDimensions.push(MeaName);
1306
+ return basicDimensions;
1307
+ }
1308
+ const top100dataset = dataset.slice(0, 100);
1309
+ const sample = top100dataset.reduce((prev, cur)=>({
1310
+ ...prev,
1311
+ ...cur
1312
+ }), {});
1313
+ const basicDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
1314
+ '',
1315
+ null,
1316
+ void 0
1317
+ ].includes(key)).map((dim)=>({
1318
+ id: dim,
1319
+ alias: dim,
1320
+ location: 'dimension'
1321
+ }));
1322
+ basicDimensions.push(MeaName);
1323
+ return basicDimensions;
1324
+ };
1274
1325
  const getBasicMeasures = (vseed)=>{
1275
1326
  const { dataset, measures } = vseed;
1276
1327
  if (!measures || 0 === measures.length) return generateMeasuresByDataset(dataset);
@@ -1304,6 +1355,54 @@ const isMeasureTreeWithParentId = (vseed)=>{
1304
1355
  if (!measures) return false;
1305
1356
  return measures.some((measure)=>'parentId' in measure);
1306
1357
  };
1358
+ const encodingForLine = (advancedVSeed, context)=>{
1359
+ const { vseed } = context;
1360
+ const { measures: vseedMeasures = [] } = vseed;
1361
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
1362
+ const dimensions = getBasicDimensions(vseed);
1363
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
1364
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
1365
+ const encoding = {};
1366
+ if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
1367
+ else generateDefaultDimensionEncoding(dimensions, encoding);
1368
+ if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
1369
+ else generateDefaultMeasureEncoding(measures, encoding);
1370
+ return {
1371
+ ...advancedVSeed,
1372
+ encoding
1373
+ };
1374
+ };
1375
+ const generateDefaultMeasureEncoding = (measures, encoding)=>{
1376
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
1377
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1378
+ };
1379
+ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
1380
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
1381
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
1382
+ encoding.x = uniqueDimIds.slice(0, 1);
1383
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
1384
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
1385
+ encoding.tooltip = uniqueDimIds;
1386
+ encoding.label = [];
1387
+ encoding.row = [];
1388
+ encoding.column = [];
1389
+ };
1390
+ const generateMeasureEncoding = (measures, encoding)=>{
1391
+ encoding.tooltip = measures.map((item)=>item.id);
1392
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1393
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
1394
+ if (color.length > 0) encoding.color = color;
1395
+ };
1396
+ const generateDimensionEncoding = (dimensions, encoding)=>{
1397
+ encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1398
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
1399
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
1400
+ if (0 === encoding.x.length) encoding.x = [
1401
+ dimensions[0].id
1402
+ ];
1403
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
1404
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
1405
+ };
1307
1406
  const measureDepth = (measures = [])=>{
1308
1407
  if (!measures) return 0;
1309
1408
  let depth = 1;
@@ -1324,7 +1423,7 @@ const isPivotChart = (vseed)=>{
1324
1423
  if (isVTable(vseed)) return false;
1325
1424
  if (isMeasureTreeWithParentId(vseed)) {
1326
1425
  const parentIds = vseed.measures?.map((measure)=>measure.parentId);
1327
- return parentIds && parentIds.length > 1;
1426
+ return parentIds && (0, external_remeda_namespaceObject.unique)(parentIds).length > 1;
1328
1427
  }
1329
1428
  if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
1330
1429
  const { dimensions = [] } = vseed;
@@ -1395,22 +1494,6 @@ const basicMeasuresToMeasureTree = (measures)=>{
1395
1494
  }
1396
1495
  ];
1397
1496
  };
1398
- const ORIGINAL_DATA = '__OriginalData__';
1399
- const Separator = '-';
1400
- const FoldMeasureName = '__MeaName__';
1401
- const FoldMeasureId = '__MeaId__';
1402
- const FoldMeasureValue = '__MeaValue__';
1403
- const MeasureName = FoldMeasureName;
1404
- const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
1405
- const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
1406
- const FoldXMeasureValue = '__MeaXValue__';
1407
- const FoldYMeasureValue = '__MeaYValue__';
1408
- const XEncoding = '__Dim_X__';
1409
- const YEncoding = '__Dim_Y__';
1410
- const AngleEncoding = '__Dim_Angle__';
1411
- const DetailEncoding = '__Dim_Detail__';
1412
- const ColorEncoding = '__Dim_Color__';
1413
- const ColorIdEncoding = '__Dim_ColorId__';
1414
1497
  const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
1415
1498
  const result = {
1416
1499
  ...advancedVSeed
@@ -1450,52 +1533,13 @@ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
1450
1533
  result.dimensions.push(MeaName);
1451
1534
  return result;
1452
1535
  };
1453
- const encodingForLine = (advancedVSeed, context)=>{
1454
- const { vseed } = context;
1455
- const { dimensions } = advancedVSeed;
1456
- if (!dimensions) return advancedVSeed;
1457
- const encoding = vseed.encoding;
1458
- if (encoding) {
1459
- const x = encoding.x || [
1460
- dimensions[0].id
1461
- ];
1462
- const color = encoding.color || [
1463
- (dimensions[1] || dimensions[0]).id
1464
- ];
1465
- const detail = encoding.detail || [];
1466
- const mergedDetail = 0 === detail.length ? dimensions.map((d)=>d.id).filter((id)=>!x.includes(id)) : encoding.detail;
1467
- return {
1468
- ...advancedVSeed,
1469
- encoding: {
1470
- ...encoding,
1471
- x,
1472
- color,
1473
- detail: mergedDetail
1474
- }
1475
- };
1476
- }
1477
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
1478
- const mergedEncoding = {
1479
- x: dimensions.slice(0, 1).map((item)=>item.id),
1480
- color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
1481
- detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
1482
- tooltip: dimensions.map((item)=>item.id),
1483
- label: [],
1484
- row: [],
1485
- column: []
1486
- };
1487
- return {
1488
- ...advancedVSeed,
1489
- encoding: mergedEncoding
1490
- };
1491
- };
1492
1536
  const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
1493
1537
  const { vseed } = context;
1494
1538
  const usePivotChart = isPivotChart(vseed);
1495
1539
  if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
1496
1540
  return execPipeline(pipeline, context, advancedVSeed);
1497
1541
  };
1498
- const foldMeasures = (dataset, measures, encoding, options)=>{
1542
+ const foldMeasures = (dataset, measures, options)=>{
1499
1543
  const { measureId, measureName, measureValue, colorMeasureId } = options || {};
1500
1544
  const foldInfo = {
1501
1545
  measureId,
@@ -1596,7 +1640,7 @@ const applyEncoding = (encoding, dimensions, datum, separator)=>{
1596
1640
  };
1597
1641
  const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
1598
1642
  const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId } = options || {};
1599
- const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, encoding, {
1643
+ const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, {
1600
1644
  measureId: foldMeasureId,
1601
1645
  measureName: foldMeasureName,
1602
1646
  measureValue: foldMeasureValue,
@@ -1640,7 +1684,7 @@ const reshapeWithEncoding = (advancedVSeed, context)=>{
1640
1684
  const { dimensions, measures, encoding } = advancedVSeed;
1641
1685
  if (!measures || !dimensions || !dataset || !encoding) return result;
1642
1686
  if (0 === measures.length) throw new Error('measures can not be empty');
1643
- const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
1687
+ const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (item)=>item.id), (0, external_remeda_namespaceObject.uniqueBy)(findAllMeasures(measures), (item)=>item.id), encoding, {
1644
1688
  colorMeasureId: getColorMeasureId(advancedVSeed)
1645
1689
  });
1646
1690
  return {
@@ -1677,7 +1721,7 @@ const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
1677
1721
  const measures = measureGroup.children;
1678
1722
  if (!measures) return;
1679
1723
  const groupId = measureGroup.id;
1680
- const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
1724
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (item)=>item.id), (0, external_remeda_namespaceObject.uniqueBy)(measures, (item)=>item.id), encoding, {
1681
1725
  foldMeasureValue: `${FoldMeasureValue}${groupId}`,
1682
1726
  colorMeasureId: getColorMeasureId(advancedVSeed)
1683
1727
  });
@@ -1886,9 +1930,9 @@ const annotation_annotation = (advancedVSeed, context)=>{
1886
1930
  };
1887
1931
  const lineAdvancedPipeline = [
1888
1932
  initAdvancedVSeed_initAdvancedVSeed,
1933
+ encodingForLine,
1889
1934
  buildMeasures,
1890
1935
  autoDimensions_autoDimensions,
1891
- encodingForLine,
1892
1936
  pivotAdapter([
1893
1937
  reshapeWithEncoding
1894
1938
  ], [
@@ -3689,51 +3733,58 @@ const registerLine = ()=>{
3689
3733
  };
3690
3734
  const encodingForColumn = (advancedVSeed, context)=>{
3691
3735
  const { vseed } = context;
3692
- const { dimensions } = advancedVSeed;
3693
- if (!dimensions) return advancedVSeed;
3694
- const encoding = vseed.encoding;
3695
- if (encoding) {
3696
- const x = encoding.x || [
3697
- dimensions[0].id
3698
- ];
3699
- const color = encoding.color || [
3700
- (dimensions[1] || dimensions[0]).id
3701
- ];
3702
- const detail = encoding.detail || [];
3703
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
3704
- ...color,
3705
- ...detail
3706
- ]) : detail;
3707
- return {
3708
- ...advancedVSeed,
3709
- encoding: {
3710
- ...encoding,
3711
- x,
3712
- color,
3713
- detail: mergedDetail
3714
- }
3715
- };
3716
- }
3717
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
3718
- const mergedEncoding = {
3719
- x: dimensions.slice(0, 1).map((item)=>item.id),
3720
- color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
3721
- detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
3722
- tooltip: dimensions.map((item)=>item.id),
3723
- label: [],
3724
- row: [],
3725
- column: []
3726
- };
3736
+ const { measures: vseedMeasures = [] } = vseed;
3737
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
3738
+ const dimensions = getBasicDimensions(vseed);
3739
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
3740
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
3741
+ const encoding = {};
3742
+ if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding);
3743
+ else column_generateDefaultDimensionEncoding(dimensions, encoding);
3744
+ if (hasMeasureEncoding) column_generateMeasureEncoding(measures, encoding);
3745
+ else column_generateDefaultMeasureEncoding(measures, encoding);
3727
3746
  return {
3728
3747
  ...advancedVSeed,
3729
- encoding: mergedEncoding
3748
+ encoding
3730
3749
  };
3731
3750
  };
3751
+ const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
3752
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
3753
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
3754
+ };
3755
+ const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
3756
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
3757
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
3758
+ encoding.x = uniqueDimIds.slice(0, 1);
3759
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
3760
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
3761
+ encoding.tooltip = uniqueDimIds;
3762
+ encoding.label = [];
3763
+ encoding.row = [];
3764
+ encoding.column = [];
3765
+ };
3766
+ const column_generateMeasureEncoding = (measures, encoding)=>{
3767
+ encoding.tooltip = measures.map((item)=>item.id);
3768
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
3769
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
3770
+ if (color.length > 0) encoding.color = color;
3771
+ return encoding;
3772
+ };
3773
+ const column_generateDimensionEncoding = (dimensions, encoding)=>{
3774
+ encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
3775
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
3776
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
3777
+ if (0 === encoding.x.length) encoding.x = [
3778
+ dimensions[0].id
3779
+ ];
3780
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
3781
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
3782
+ };
3732
3783
  const columnAdvancedPipeline = [
3733
3784
  initAdvancedVSeed_initAdvancedVSeed,
3785
+ encodingForColumn,
3734
3786
  buildMeasures,
3735
3787
  autoDimensions_autoDimensions,
3736
- encodingForColumn,
3737
3788
  pivotAdapter([
3738
3789
  reshapeWithEncoding
3739
3790
  ], [
@@ -4180,9 +4231,9 @@ const registerColumn = ()=>{
4180
4231
  };
4181
4232
  const columnParallelAdvancedPipeline = [
4182
4233
  initAdvancedVSeed_initAdvancedVSeed,
4234
+ encodingForColumn,
4183
4235
  buildMeasures,
4184
4236
  autoDimensions_autoDimensions,
4185
- encodingForColumn,
4186
4237
  pivotAdapter([
4187
4238
  reshapeWithEncoding
4188
4239
  ], [
@@ -4277,9 +4328,9 @@ const registerColumnParallel = ()=>{
4277
4328
  };
4278
4329
  const columnPercentAdvancedPipeline = [
4279
4330
  initAdvancedVSeed_initAdvancedVSeed,
4331
+ encodingForColumn,
4280
4332
  buildMeasures,
4281
4333
  autoDimensions_autoDimensions,
4282
- encodingForColumn,
4283
4334
  pivotAdapter([
4284
4335
  reshapeWithEncoding
4285
4336
  ], [
@@ -4358,46 +4409,53 @@ const registerColumnPercent = ()=>{
4358
4409
  };
4359
4410
  const encodingForBar = (advancedVSeed, context)=>{
4360
4411
  const { vseed } = context;
4361
- const { dimensions } = advancedVSeed;
4362
- if (!dimensions) return advancedVSeed;
4363
- const encoding = vseed.encoding;
4364
- if (encoding) {
4365
- const y = encoding.y || [
4366
- dimensions[0].id
4367
- ];
4368
- const color = encoding.color || [
4369
- (dimensions[1] || dimensions[0]).id
4370
- ];
4371
- const detail = encoding.detail || [];
4372
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
4373
- ...color,
4374
- ...detail
4375
- ]) : detail;
4376
- return {
4377
- ...advancedVSeed,
4378
- encoding: {
4379
- ...encoding,
4380
- y,
4381
- color,
4382
- detail: mergedDetail
4383
- }
4384
- };
4385
- }
4386
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
4387
- const mergedEncoding = {
4388
- y: dimensions.slice(0, 1).map((item)=>item.id),
4389
- color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
4390
- detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
4391
- tooltip: dimensions.map((item)=>item.id),
4392
- label: [],
4393
- row: [],
4394
- column: []
4395
- };
4412
+ const { measures: vseedMeasures = [] } = vseed;
4413
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
4414
+ const dimensions = getBasicDimensions(vseed);
4415
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
4416
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
4417
+ const encoding = {};
4418
+ if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding);
4419
+ else bar_generateDefaultDimensionEncoding(dimensions, encoding);
4420
+ if (hasMeasureEncoding) bar_generateMeasureEncoding(measures, encoding);
4421
+ else bar_generateDefaultMeasureEncoding(measures, encoding);
4396
4422
  return {
4397
4423
  ...advancedVSeed,
4398
- encoding: mergedEncoding
4424
+ encoding
4399
4425
  };
4400
4426
  };
4427
+ const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
4428
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
4429
+ encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4430
+ };
4431
+ const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
4432
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
4433
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
4434
+ encoding.y = uniqueDimIds.slice(0, 1);
4435
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
4436
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
4437
+ encoding.tooltip = uniqueDimIds;
4438
+ encoding.label = [];
4439
+ encoding.row = [];
4440
+ encoding.column = [];
4441
+ };
4442
+ const bar_generateMeasureEncoding = (measures, encoding)=>{
4443
+ encoding.tooltip = measures.map((item)=>item.id);
4444
+ encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4445
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4446
+ if (color.length > 0) encoding.color = color;
4447
+ return encoding;
4448
+ };
4449
+ const bar_generateDimensionEncoding = (dimensions, encoding)=>{
4450
+ encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4451
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4452
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
4453
+ if (0 === encoding.y.length) encoding.y = [
4454
+ dimensions[0].id
4455
+ ];
4456
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
4457
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
4458
+ };
4401
4459
  const sortYBandAxis = (advancedVSeed, context)=>{
4402
4460
  const result = {
4403
4461
  ...advancedVSeed
@@ -4416,9 +4474,9 @@ const sortYBandAxis = (advancedVSeed, context)=>{
4416
4474
  };
4417
4475
  const barAdvancedPipeline = [
4418
4476
  initAdvancedVSeed_initAdvancedVSeed,
4477
+ encodingForBar,
4419
4478
  buildMeasures,
4420
4479
  autoDimensions_autoDimensions,
4421
- encodingForBar,
4422
4480
  pivotAdapter([
4423
4481
  reshapeWithEncoding
4424
4482
  ], [
@@ -4936,9 +4994,9 @@ const registerBarPercent = ()=>{
4936
4994
  };
4937
4995
  const areaAdvancedPipeline = [
4938
4996
  initAdvancedVSeed_initAdvancedVSeed,
4997
+ encodingForColumn,
4939
4998
  buildMeasures,
4940
4999
  autoDimensions_autoDimensions,
4941
- encodingForColumn,
4942
5000
  pivotAdapter([
4943
5001
  reshapeWithEncoding
4944
5002
  ], [
@@ -5094,9 +5152,9 @@ const registerArea = ()=>{
5094
5152
  };
5095
5153
  const areaPercentAdvancedPipeline = [
5096
5154
  initAdvancedVSeed_initAdvancedVSeed,
5155
+ encodingForColumn,
5097
5156
  buildMeasures,
5098
5157
  autoDimensions_autoDimensions,
5099
- encodingForColumn,
5100
5158
  pivotAdapter([
5101
5159
  reshapeWithEncoding
5102
5160
  ], [
@@ -5170,6 +5228,49 @@ const registerAreaPercent = ()=>{
5170
5228
  Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
5171
5229
  Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
5172
5230
  };
5231
+ const encodingForScatter = (advancedVSeed, context)=>{
5232
+ const { vseed } = context;
5233
+ const { measures: vseedMeasures = [] } = vseed;
5234
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
5235
+ const dimensions = getBasicDimensions(vseed);
5236
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
5237
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
5238
+ const encoding = {};
5239
+ if (hasDimensionEncoding) scatter_generateDimensionEncoding(dimensions, encoding);
5240
+ else scatter_generateDefaultDimensionEncoding(dimensions, encoding);
5241
+ if (hasMeasureEncoding) scatter_generateMeasureEncoding(measures, encoding);
5242
+ else scatter_generateDefaultMeasureEncoding(measures, encoding);
5243
+ return {
5244
+ ...advancedVSeed,
5245
+ encoding
5246
+ };
5247
+ };
5248
+ const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
5249
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
5250
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5251
+ };
5252
+ const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
5253
+ const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
5254
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensionsWithoutMeasureName.map((d)=>d.id));
5255
+ encoding.color = uniqueDimIds.slice(0);
5256
+ encoding.detail = uniqueDimIds.slice(0);
5257
+ encoding.tooltip = uniqueDimIds;
5258
+ encoding.label = [];
5259
+ encoding.row = [];
5260
+ encoding.column = [];
5261
+ };
5262
+ const scatter_generateMeasureEncoding = (measures, encoding)=>{
5263
+ encoding.tooltip = measures.map((item)=>item.id);
5264
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5265
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5266
+ if (color.length > 0) encoding.color = color;
5267
+ };
5268
+ const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
5269
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5270
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
5271
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5272
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5273
+ };
5173
5274
  const buildMeasuresForScatter = (advancedVSeed, context)=>{
5174
5275
  const { vseed } = context;
5175
5276
  if (isMeasureTreeWithChildren(vseed)) {
@@ -5260,52 +5361,16 @@ const buildMeasuresForScatter_generateMeasuresByParentId = (measures)=>{
5260
5361
  const encoding = Array.isArray(item.encoding) ? item.encoding : [
5261
5362
  item.encoding
5262
5363
  ];
5263
- const isY = encoding.includes('yAxis');
5264
5364
  const isX = encoding.includes('xAxis');
5365
+ const isY = encoding.includes('yAxis');
5366
+ const isEmpty = !encoding.length;
5265
5367
  if (isY) scatterChart.yMeasures.push(item);
5266
5368
  else if (isX) scatterChart.xMeasures.push(item);
5267
- else if (!isY && !isX) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
5369
+ else if (isEmpty) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
5268
5370
  else scatterChart.xMeasures.push(item);
5269
5371
  });
5270
5372
  return scatterMeasuresToMeasureTree(scatterMeasures);
5271
5373
  };
5272
- const encodingForScatter = (advancedVSeed, context)=>{
5273
- const { vseed } = context;
5274
- const { dimensions } = advancedVSeed;
5275
- if (!dimensions) return advancedVSeed;
5276
- const encoding = vseed.encoding;
5277
- if (encoding) {
5278
- const detail = encoding.detail || [];
5279
- const color = encoding.color || [
5280
- (dimensions[1] || dimensions[0]).id
5281
- ];
5282
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
5283
- ...color,
5284
- ...detail
5285
- ]) : detail;
5286
- return {
5287
- ...advancedVSeed,
5288
- encoding: {
5289
- ...encoding,
5290
- color,
5291
- detail: mergedDetail
5292
- }
5293
- };
5294
- }
5295
- const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
5296
- const mergedEncoding = {
5297
- color: dimensions.slice(0).map((item)=>item.id),
5298
- detail: dimensionsWithoutMeasureName.slice(0).map((item)=>item.id),
5299
- tooltip: dimensionsWithoutMeasureName.map((item)=>item.id),
5300
- label: [],
5301
- row: [],
5302
- column: []
5303
- };
5304
- return {
5305
- ...advancedVSeed,
5306
- encoding: mergedEncoding
5307
- };
5308
- };
5309
5374
  const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
5310
5375
  const result = {
5311
5376
  ...advancedVSeed
@@ -5322,7 +5387,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
5322
5387
  const xMeasures = measures[0];
5323
5388
  const yMeasures = measures[1] || xMeasures;
5324
5389
  if (xMeasures && xMeasures.children) {
5325
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
5390
+ const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(xMeasures.children, (d)=>d.id), encoding, {
5326
5391
  foldMeasureValue: FoldXMeasureValue,
5327
5392
  colorItemAsId: true,
5328
5393
  colorMeasureId: getColorMeasureId(advancedVSeed)
@@ -5332,7 +5397,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
5332
5397
  unfoldInfoList.push(unfoldInfo);
5333
5398
  }
5334
5399
  if (yMeasures && yMeasures.children) {
5335
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
5400
+ const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(yMeasures.children, (d)=>d.id), encoding, {
5336
5401
  foldMeasureValue: FoldYMeasureValue,
5337
5402
  colorItemAsId: true,
5338
5403
  colorMeasureId: getColorMeasureId(advancedVSeed)
@@ -5436,9 +5501,9 @@ const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
5436
5501
  };
5437
5502
  const scatterAdvancedPipeline = [
5438
5503
  initAdvancedVSeed_initAdvancedVSeed,
5504
+ encodingForScatter,
5439
5505
  buildMeasuresForScatter,
5440
5506
  autoDimensions_autoDimensions,
5441
- encodingForScatter,
5442
5507
  pivotAdapter([
5443
5508
  reshapeWithScatterEncoding
5444
5509
  ], [
@@ -5583,6 +5648,55 @@ const registerScatter = ()=>{
5583
5648
  Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
5584
5649
  Builder._specPipelineMap.scatter = scatterSpecPipeline;
5585
5650
  };
5651
+ const encodingForDualAxis = (advancedVSeed, context)=>{
5652
+ const { vseed } = context;
5653
+ const { measures: vseedMeasures = [] } = vseed;
5654
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
5655
+ const dimensions = getBasicDimensions(vseed);
5656
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
5657
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
5658
+ const encoding = {};
5659
+ if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding);
5660
+ else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
5661
+ if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
5662
+ else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
5663
+ return {
5664
+ ...advancedVSeed,
5665
+ encoding
5666
+ };
5667
+ };
5668
+ const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
5669
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
5670
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5671
+ };
5672
+ const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
5673
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
5674
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
5675
+ encoding.x = uniqueDimIds.slice(0, 1);
5676
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
5677
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
5678
+ encoding.tooltip = uniqueDimIds;
5679
+ encoding.label = [];
5680
+ encoding.row = [];
5681
+ encoding.column = [];
5682
+ };
5683
+ const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
5684
+ encoding.tooltip = measures.map((item)=>item.id);
5685
+ encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5686
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5687
+ if (color.length > 0) encoding.color = color;
5688
+ return encoding;
5689
+ };
5690
+ const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
5691
+ encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5692
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5693
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
5694
+ if (0 === encoding.x.length) encoding.x = [
5695
+ dimensions[0].id
5696
+ ];
5697
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5698
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5699
+ };
5586
5700
  const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
5587
5701
  const { vseed } = context;
5588
5702
  if (isMeasureTreeWithChildren(vseed)) {
@@ -5675,54 +5789,14 @@ const buildMeasuresForDualAxis_generateMeasuresByParentId = (measures)=>{
5675
5789
  ];
5676
5790
  const isPrimary = encoding.includes('primaryYAxis');
5677
5791
  const isSecondary = encoding.includes('secondaryYAxis');
5792
+ const isEmpty = !item.encoding;
5678
5793
  if (isPrimary) dualChart.primaryMeasures.push(item);
5679
5794
  else if (isSecondary) dualChart.secondaryMeasures.push(item);
5680
- else if (!isPrimary && !isSecondary) if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
5795
+ else if (isEmpty) if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
5681
5796
  else dualChart.secondaryMeasures.push(item);
5682
5797
  });
5683
5798
  return dualMeasuresToMeasureTree(dualMeasures);
5684
5799
  };
5685
- const encodingForDualAxis = (advancedVSeed, context)=>{
5686
- const { vseed } = context;
5687
- const { dimensions } = advancedVSeed;
5688
- if (!dimensions) return advancedVSeed;
5689
- const encoding = vseed.encoding;
5690
- if (encoding) {
5691
- const x = encoding.x || [
5692
- dimensions[0].id
5693
- ];
5694
- const color = encoding.color || [
5695
- (dimensions[1] || dimensions[0]).id
5696
- ];
5697
- const detail = encoding.detail || [];
5698
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
5699
- ...color,
5700
- ...detail
5701
- ]) : detail;
5702
- return {
5703
- ...advancedVSeed,
5704
- encoding: {
5705
- ...encoding,
5706
- x,
5707
- color,
5708
- detail: mergedDetail
5709
- }
5710
- };
5711
- }
5712
- const mergedEncoding = {
5713
- x: dimensions.slice(0, 1).map((item)=>item.id),
5714
- color: dimensions.slice(1).map((item)=>item.id),
5715
- detail: dimensions.slice(1).map((item)=>item.id),
5716
- tooltip: dimensions.map((item)=>item.id),
5717
- label: [],
5718
- row: [],
5719
- column: []
5720
- };
5721
- return {
5722
- ...advancedVSeed,
5723
- encoding: mergedEncoding
5724
- };
5725
- };
5726
5800
  const reshapeWithDualEncoding = (advancedVSeed, context)=>{
5727
5801
  const result = {
5728
5802
  ...advancedVSeed
@@ -5872,9 +5946,9 @@ const dualAxisConfig = (advancedVSeed, context)=>{
5872
5946
  };
5873
5947
  const dualAxisAdvancedPipeline = [
5874
5948
  initAdvancedVSeed_initAdvancedVSeed,
5949
+ encodingForDualAxis,
5875
5950
  buildMeasuresForDualAxis,
5876
5951
  autoDimensions_autoDimensions,
5877
- encodingForDualAxis,
5878
5952
  pivotAdapter([
5879
5953
  reshapeWithDualEncoding
5880
5954
  ], [
@@ -6709,33 +6783,51 @@ const registerDualAxis = ()=>{
6709
6783
  };
6710
6784
  const encodingForPie = (advancedVSeed, context)=>{
6711
6785
  const { vseed } = context;
6712
- const { dimensions } = advancedVSeed;
6713
- if (!dimensions) return advancedVSeed;
6714
- const encoding = vseed.encoding;
6715
- if (encoding) return {
6716
- ...advancedVSeed,
6717
- encoding: {
6718
- ...encoding
6719
- }
6720
- };
6721
- const mergedEncoding = {
6722
- color: dimensions.slice(0).map((item)=>item.id),
6723
- detail: dimensions.slice(0).map((item)=>item.id),
6724
- tooltip: dimensions.map((item)=>item.id),
6725
- label: [],
6726
- row: [],
6727
- column: []
6728
- };
6786
+ const { measures: vseedMeasures = [] } = vseed;
6787
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
6788
+ const dimensions = getBasicDimensions(vseed);
6789
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
6790
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
6791
+ const encoding = {};
6792
+ if (hasDimensionEncoding) pie_generateDimensionEncoding(dimensions, encoding);
6793
+ else pie_generateDefaultDimensionEncoding(dimensions, encoding);
6794
+ if (hasMeasureEncoding) pie_generateMeasureEncoding(measures, encoding);
6795
+ else pie_generateDefaultMeasureEncoding(measures, encoding);
6729
6796
  return {
6730
6797
  ...advancedVSeed,
6731
- encoding: mergedEncoding
6732
- };
6798
+ encoding
6799
+ };
6800
+ };
6801
+ const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
6802
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
6803
+ encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
6804
+ };
6805
+ const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
6806
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
6807
+ encoding.color = uniqueDimIds.slice(0);
6808
+ encoding.detail = uniqueDimIds.slice(0);
6809
+ encoding.tooltip = uniqueDimIds;
6810
+ encoding.label = [];
6811
+ encoding.row = [];
6812
+ encoding.column = [];
6813
+ };
6814
+ const pie_generateMeasureEncoding = (measures, encoding)=>{
6815
+ encoding.tooltip = measures.map((item)=>item.id);
6816
+ encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
6817
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
6818
+ if (color.length > 0) encoding.color = color;
6819
+ };
6820
+ const pie_generateDimensionEncoding = (dimensions, encoding)=>{
6821
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
6822
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
6823
+ if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
6824
+ if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
6733
6825
  };
6734
6826
  const pieAdvancedPipeline = [
6735
6827
  initAdvancedVSeed_initAdvancedVSeed,
6828
+ encodingForPie,
6736
6829
  buildMeasures,
6737
6830
  autoDimensions_autoDimensions,
6738
- encodingForPie,
6739
6831
  pivotAdapter([
6740
6832
  reshapeWithEncoding
6741
6833
  ], [
@@ -6914,51 +7006,57 @@ const registerDonut = ()=>{
6914
7006
  };
6915
7007
  const encodingForRose = (advancedVSeed, context)=>{
6916
7008
  const { vseed } = context;
6917
- const { dimensions } = advancedVSeed;
6918
- if (!dimensions) return advancedVSeed;
6919
- const encoding = vseed.encoding;
6920
- if (encoding) {
6921
- const angle = encoding.angle || [
6922
- dimensions[0].id
6923
- ];
6924
- const color = encoding.color || [
6925
- (dimensions[1] || dimensions[0]).id
6926
- ];
6927
- const detail = encoding.detail || [];
6928
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
6929
- ...color,
6930
- ...detail
6931
- ]) : detail;
6932
- return {
6933
- ...advancedVSeed,
6934
- encoding: {
6935
- ...encoding,
6936
- angle,
6937
- color,
6938
- detail: mergedDetail
6939
- }
6940
- };
6941
- }
6942
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
6943
- const mergedEncoding = {
6944
- angle: dimensions.slice(0, 1).map((item)=>item.id),
6945
- color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
6946
- detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
6947
- tooltip: dimensions.map((item)=>item.id),
6948
- label: [],
6949
- row: [],
6950
- column: []
6951
- };
7009
+ const { measures: vseedMeasures = [] } = vseed;
7010
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
7011
+ const dimensions = getBasicDimensions(vseed);
7012
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
7013
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
7014
+ const encoding = {};
7015
+ if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding);
7016
+ else rose_generateDefaultDimensionEncoding(dimensions, encoding);
7017
+ if (hasMeasureEncoding) rose_generateMeasureEncoding(measures, encoding);
7018
+ else rose_generateDefaultMeasureEncoding(measures, encoding);
6952
7019
  return {
6953
7020
  ...advancedVSeed,
6954
- encoding: mergedEncoding
7021
+ encoding
6955
7022
  };
6956
7023
  };
7024
+ const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
7025
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
7026
+ encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7027
+ };
7028
+ const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7029
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
7030
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
7031
+ encoding.angle = uniqueDimIds.slice(0, 1);
7032
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7033
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7034
+ encoding.tooltip = uniqueDimIds;
7035
+ encoding.label = [];
7036
+ encoding.row = [];
7037
+ encoding.column = [];
7038
+ };
7039
+ const rose_generateMeasureEncoding = (measures, encoding)=>{
7040
+ encoding.tooltip = measures.map((item)=>item.id);
7041
+ encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7042
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7043
+ if (color.length > 0) encoding.color = color;
7044
+ };
7045
+ const rose_generateDimensionEncoding = (dimensions, encoding)=>{
7046
+ encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7047
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7048
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7049
+ if (0 === encoding.angle.length) encoding.angle = [
7050
+ dimensions[0].id
7051
+ ];
7052
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
7053
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
7054
+ };
6957
7055
  const roseAdvancedPipeline = [
6958
7056
  initAdvancedVSeed_initAdvancedVSeed,
7057
+ encodingForRose,
6959
7058
  buildMeasures,
6960
7059
  autoDimensions_autoDimensions,
6961
- encodingForRose,
6962
7060
  pivotAdapter([
6963
7061
  reshapeWithEncoding
6964
7062
  ], [
@@ -7125,9 +7223,9 @@ const registerRose = ()=>{
7125
7223
  };
7126
7224
  const roseParallelAdvancedPipeline = [
7127
7225
  initAdvancedVSeed_initAdvancedVSeed,
7226
+ encodingForRose,
7128
7227
  buildMeasures,
7129
7228
  autoDimensions_autoDimensions,
7130
- encodingForRose,
7131
7229
  pivotAdapter([
7132
7230
  reshapeWithEncoding
7133
7231
  ], [
@@ -7233,50 +7331,57 @@ const registerRoseParallel = ()=>{
7233
7331
  };
7234
7332
  const encodingForRadar = (advancedVSeed, context)=>{
7235
7333
  const { vseed } = context;
7236
- const { dimensions } = advancedVSeed;
7237
- if (!dimensions) return advancedVSeed;
7238
- const encoding = vseed.encoding;
7239
- if (encoding) {
7240
- const angle = encoding.angle || [
7241
- dimensions[0].id
7242
- ];
7243
- const color = encoding.color || [
7244
- (dimensions[1] || dimensions[0]).id
7245
- ];
7246
- const detail = encoding.detail || [];
7247
- const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
7248
- ...color,
7249
- ...detail
7250
- ]) : detail;
7251
- return {
7252
- ...advancedVSeed,
7253
- encoding: {
7254
- ...encoding,
7255
- angle,
7256
- color,
7257
- detail: mergedDetail
7258
- }
7259
- };
7260
- }
7261
- const mergedEncoding = {
7262
- angle: dimensions.slice(0, 1).map((item)=>item.id),
7263
- color: dimensions.slice(1).map((item)=>item.id),
7264
- detail: dimensions.slice(1).map((item)=>item.id),
7265
- tooltip: dimensions.map((item)=>item.id),
7266
- label: [],
7267
- row: [],
7268
- column: []
7269
- };
7334
+ const { measures: vseedMeasures = [] } = vseed;
7335
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
7336
+ const dimensions = getBasicDimensions(vseed);
7337
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
7338
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
7339
+ const encoding = {};
7340
+ if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding);
7341
+ else radar_generateDefaultDimensionEncoding(dimensions, encoding);
7342
+ if (hasMeasureEncoding) radar_generateMeasureEncoding(measures, encoding);
7343
+ else radar_generateDefaultMeasureEncoding(measures, encoding);
7270
7344
  return {
7271
7345
  ...advancedVSeed,
7272
- encoding: mergedEncoding
7346
+ encoding
7273
7347
  };
7274
7348
  };
7349
+ const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
7350
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
7351
+ encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7352
+ };
7353
+ const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7354
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
7355
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
7356
+ encoding.angle = uniqueDimIds.slice(0, 1);
7357
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7358
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7359
+ encoding.tooltip = uniqueDimIds;
7360
+ encoding.label = [];
7361
+ encoding.row = [];
7362
+ encoding.column = [];
7363
+ };
7364
+ const radar_generateMeasureEncoding = (measures, encoding)=>{
7365
+ encoding.tooltip = measures.map((item)=>item.id);
7366
+ encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7367
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7368
+ if (color.length > 0) encoding.color = color;
7369
+ };
7370
+ const radar_generateDimensionEncoding = (dimensions, encoding)=>{
7371
+ encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7372
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7373
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7374
+ if (0 === encoding.angle.length) encoding.angle = [
7375
+ dimensions[0].id
7376
+ ];
7377
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
7378
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
7379
+ };
7275
7380
  const radarAdvancedPipeline = [
7276
7381
  initAdvancedVSeed_initAdvancedVSeed,
7382
+ encodingForRadar,
7277
7383
  buildMeasures,
7278
7384
  autoDimensions_autoDimensions,
7279
- encodingForRadar,
7280
7385
  pivotAdapter([
7281
7386
  reshapeWithEncoding
7282
7387
  ], [
@@ -7412,33 +7517,51 @@ const registerRadar = ()=>{
7412
7517
  };
7413
7518
  const encodingForFunnel = (advancedVSeed, context)=>{
7414
7519
  const { vseed } = context;
7415
- const { dimensions } = advancedVSeed;
7416
- if (!dimensions) return advancedVSeed;
7417
- const encoding = vseed.encoding;
7418
- if (encoding) return {
7419
- ...advancedVSeed,
7420
- encoding: {
7421
- ...encoding
7422
- }
7423
- };
7424
- const mergedEncoding = {
7425
- color: dimensions.slice(0).map((item)=>item.id),
7426
- detail: dimensions.slice(0).map((item)=>item.id),
7427
- tooltip: dimensions.map((item)=>item.id),
7428
- label: [],
7429
- row: [],
7430
- column: []
7431
- };
7520
+ const { measures: vseedMeasures = [] } = vseed;
7521
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
7522
+ const dimensions = getBasicDimensions(vseed);
7523
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
7524
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
7525
+ const encoding = {};
7526
+ if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding);
7527
+ else funnel_generateDefaultDimensionEncoding(dimensions, encoding);
7528
+ if (hasMeasureEncoding) funnel_generateMeasureEncoding(measures, encoding);
7529
+ else funnel_generateDefaultMeasureEncoding(measures, encoding);
7432
7530
  return {
7433
7531
  ...advancedVSeed,
7434
- encoding: mergedEncoding
7435
- };
7532
+ encoding
7533
+ };
7534
+ };
7535
+ const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
7536
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
7537
+ encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7538
+ };
7539
+ const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7540
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
7541
+ encoding.color = uniqueDimIds.slice(0);
7542
+ encoding.detail = uniqueDimIds.slice(0);
7543
+ encoding.tooltip = uniqueDimIds;
7544
+ encoding.label = [];
7545
+ encoding.row = [];
7546
+ encoding.column = [];
7547
+ };
7548
+ const funnel_generateMeasureEncoding = (measures, encoding)=>{
7549
+ encoding.tooltip = measures.map((item)=>item.id);
7550
+ encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7551
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7552
+ if (color.length > 0) encoding.color = color;
7553
+ };
7554
+ const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
7555
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7556
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7557
+ if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
7558
+ if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
7436
7559
  };
7437
7560
  const funnelAdvancedPipeline = [
7438
7561
  initAdvancedVSeed_initAdvancedVSeed,
7562
+ encodingForFunnel,
7439
7563
  buildMeasures,
7440
7564
  autoDimensions_autoDimensions,
7441
- encodingForFunnel,
7442
7565
  pivotAdapter([
7443
7566
  reshapeWithEncoding
7444
7567
  ], [
@@ -7531,45 +7654,61 @@ const registerFunnel = ()=>{
7531
7654
  };
7532
7655
  const encodingForHeatmap = (advancedVSeed, context)=>{
7533
7656
  const { vseed } = context;
7534
- const { dimensions } = advancedVSeed;
7535
- if (!dimensions) return advancedVSeed;
7536
- const encoding = vseed.encoding;
7537
- if (encoding) {
7538
- const x = encoding.x || [
7539
- dimensions[0].id
7540
- ];
7541
- const y = encoding.y || [
7542
- (dimensions[1] || dimensions[0]).id
7543
- ];
7544
- return {
7545
- ...advancedVSeed,
7546
- encoding: {
7547
- x,
7548
- y,
7549
- ...encoding
7550
- }
7551
- };
7552
- }
7553
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
7554
- const mergedEncoding = {
7555
- x: dimensions.slice(0, 1).map((item)=>item.id),
7556
- y: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
7557
- color: dimensions.slice(0).map((item)=>item.id),
7558
- tooltip: dimensions.map((item)=>item.id),
7559
- label: [],
7560
- row: [],
7561
- column: []
7562
- };
7657
+ const { measures: vseedMeasures = [] } = vseed;
7658
+ const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
7659
+ const dimensions = getBasicDimensions(vseed);
7660
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
7661
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
7662
+ const encoding = {};
7663
+ if (hasDimensionEncoding) heatmap_generateDimensionEncoding(dimensions, encoding);
7664
+ else heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
7665
+ if (hasMeasureEncoding) heatmap_generateMeasureEncoding(measures, encoding);
7666
+ else heatmap_generateDefaultMeasureEncoding(measures, encoding);
7563
7667
  return {
7564
7668
  ...advancedVSeed,
7565
- encoding: mergedEncoding
7669
+ encoding
7566
7670
  };
7567
7671
  };
7672
+ const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
7673
+ encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
7674
+ encoding.color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
7675
+ };
7676
+ const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7677
+ const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
7678
+ const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
7679
+ encoding.x = uniqueDimIds.slice(0, 1);
7680
+ encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7681
+ encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7682
+ encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7683
+ encoding.tooltip = uniqueDimIds;
7684
+ encoding.label = [];
7685
+ encoding.row = [];
7686
+ encoding.column = [];
7687
+ };
7688
+ const heatmap_generateMeasureEncoding = (measures, encoding)=>{
7689
+ encoding.tooltip = measures.map((item)=>item.id);
7690
+ const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7691
+ if (color.length > 0) encoding.color = color;
7692
+ return encoding;
7693
+ };
7694
+ const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
7695
+ encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
7696
+ encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
7697
+ encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7698
+ encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7699
+ if (0 === encoding.x.length) encoding.x = [
7700
+ dimensions[0].id
7701
+ ];
7702
+ if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
7703
+ else encoding.y = dimensions.slice(0).map((item)=>item.id);
7704
+ if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
7705
+ if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
7706
+ };
7568
7707
  const heatmapAdvancedPipeline = [
7569
7708
  initAdvancedVSeed_initAdvancedVSeed,
7709
+ encodingForHeatmap,
7570
7710
  buildMeasures,
7571
7711
  autoDimensions_autoDimensions,
7572
- encodingForHeatmap,
7573
7712
  pivotAdapter([
7574
7713
  reshapeWithEncoding
7575
7714
  ], [
@@ -8390,7 +8529,18 @@ const zDimension = external_zod_namespaceObject.z.object({
8390
8529
  'dimension',
8391
8530
  'rowDimension',
8392
8531
  'columnDimension'
8393
- ]).default('dimension')
8532
+ ]).default('dimension'),
8533
+ encoding: external_zod_namespaceObject.z["enum"]([
8534
+ 'xAxis',
8535
+ 'yAxis',
8536
+ 'angle',
8537
+ 'color',
8538
+ 'detail',
8539
+ 'tooltip',
8540
+ 'label',
8541
+ 'row',
8542
+ 'column'
8543
+ ]).optional()
8394
8544
  });
8395
8545
  const zDimensionGroup = external_zod_namespaceObject.z.object({
8396
8546
  id: external_zod_namespaceObject.z.string(),