cx 25.6.1 → 25.6.2

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 (99) hide show
  1. package/dist/charts.js +99 -8
  2. package/dist/manifest.js +714 -714
  3. package/package.json +1 -1
  4. package/src/charts/Legend.d.ts +45 -45
  5. package/src/charts/LegendEntry.js +128 -128
  6. package/src/charts/LegendEntry.scss +27 -27
  7. package/src/charts/LineGraph.d.ts +9 -0
  8. package/src/charts/LineGraph.js +77 -7
  9. package/src/charts/PieChart.d.ts +92 -92
  10. package/src/charts/RangeMarker.js +159 -159
  11. package/src/charts/axis/Axis.d.ts +113 -113
  12. package/src/charts/axis/Axis.js +280 -280
  13. package/src/charts/axis/CategoryAxis.d.ts +30 -30
  14. package/src/charts/axis/CategoryAxis.js +241 -241
  15. package/src/charts/axis/NumericAxis.js +351 -351
  16. package/src/charts/axis/Stack.js +55 -55
  17. package/src/charts/axis/TimeAxis.js +611 -611
  18. package/src/charts/helpers/SnapPointFinder.js +69 -69
  19. package/src/data/Binding.spec.js +69 -69
  20. package/src/data/Expression.js +229 -229
  21. package/src/data/Expression.spec.js +229 -229
  22. package/src/data/StringTemplate.js +92 -92
  23. package/src/data/StringTemplate.spec.js +132 -132
  24. package/src/data/StructuredSelector.js +132 -132
  25. package/src/data/getAccessor.spec.js +11 -11
  26. package/src/data/getSelector.js +49 -49
  27. package/src/hooks/createLocalStorageRef.d.ts +3 -3
  28. package/src/hooks/createLocalStorageRef.js +20 -20
  29. package/src/index.scss +6 -6
  30. package/src/ui/Culture.d.ts +57 -57
  31. package/src/ui/Culture.js +139 -139
  32. package/src/ui/FocusManager.js +171 -171
  33. package/src/ui/Format.js +108 -108
  34. package/src/ui/HoverSync.js +147 -147
  35. package/src/ui/Repeater.d.ts +61 -61
  36. package/src/ui/index.d.ts +42 -42
  37. package/src/ui/layout/ContentPlaceholder.d.ts +19 -19
  38. package/src/ui/layout/ContentPlaceholder.js +105 -105
  39. package/src/ui/layout/ContentPlaceholder.spec.js +579 -579
  40. package/src/ui/layout/LabelsTopLayout.js +134 -134
  41. package/src/util/Format.js +270 -270
  42. package/src/util/date/encodeDate.d.ts +1 -1
  43. package/src/util/date/encodeDate.js +8 -8
  44. package/src/util/date/encodeDateWithTimezoneOffset.d.ts +1 -1
  45. package/src/util/date/index.d.ts +11 -11
  46. package/src/util/date/index.js +11 -11
  47. package/src/util/date/parseDateInvariant.d.ts +3 -3
  48. package/src/util/date/parseDateInvariant.js +20 -20
  49. package/src/util/getSearchQueryPredicate.js +59 -59
  50. package/src/util/index.d.ts +51 -51
  51. package/src/util/index.js +54 -54
  52. package/src/util/isValidIdentifierName.d.ts +1 -1
  53. package/src/util/isValidIdentifierName.js +5 -5
  54. package/src/util/isValidIdentifierName.spec.js +33 -33
  55. package/src/util/scss/add-rules.scss +38 -38
  56. package/src/widgets/CxCredit.scss +37 -37
  57. package/src/widgets/HighlightedSearchText.js +36 -36
  58. package/src/widgets/HighlightedSearchText.scss +18 -18
  59. package/src/widgets/List.scss +91 -91
  60. package/src/widgets/drag-drop/DropZone.js +214 -214
  61. package/src/widgets/form/Calendar.js +618 -618
  62. package/src/widgets/form/Calendar.scss +196 -196
  63. package/src/widgets/form/Checkbox.scss +127 -127
  64. package/src/widgets/form/ColorField.js +397 -397
  65. package/src/widgets/form/ColorField.scss +96 -96
  66. package/src/widgets/form/ColorPicker.scss +283 -283
  67. package/src/widgets/form/DateTimeField.js +576 -576
  68. package/src/widgets/form/DateTimePicker.js +392 -392
  69. package/src/widgets/form/LookupField.d.ts +179 -179
  70. package/src/widgets/form/LookupField.scss +219 -219
  71. package/src/widgets/form/MonthPicker.scss +118 -118
  72. package/src/widgets/form/NumberField.js +459 -459
  73. package/src/widgets/form/NumberField.scss +61 -61
  74. package/src/widgets/form/Radio.scss +121 -121
  75. package/src/widgets/form/Select.scss +99 -99
  76. package/src/widgets/form/Slider.scss +118 -118
  77. package/src/widgets/form/Switch.scss +140 -140
  78. package/src/widgets/form/TextArea.scss +43 -43
  79. package/src/widgets/form/TextField.js +290 -290
  80. package/src/widgets/form/TextField.scss +55 -55
  81. package/src/widgets/form/UploadButton.d.ts +34 -34
  82. package/src/widgets/form/variables.scss +353 -353
  83. package/src/widgets/grid/Grid.d.ts +442 -442
  84. package/src/widgets/grid/GridRow.js +228 -228
  85. package/src/widgets/grid/TreeNode.d.ts +23 -23
  86. package/src/widgets/grid/TreeNode.scss +88 -88
  87. package/src/widgets/grid/variables.scss +133 -133
  88. package/src/widgets/nav/LinkButton.js +128 -128
  89. package/src/widgets/nav/Menu.scss +74 -74
  90. package/src/widgets/overlay/Dropdown.js +612 -612
  91. package/src/widgets/overlay/FlyweightTooltipTracker.js +39 -39
  92. package/src/widgets/overlay/Overlay.d.ts +73 -73
  93. package/src/widgets/overlay/Window.js +202 -202
  94. package/src/widgets/overlay/captureMouse.js +124 -124
  95. package/src/widgets/overlay/createHotPromiseWindowFactory.d.ts +18 -18
  96. package/src/widgets/overlay/createHotPromiseWindowFactory.js +56 -56
  97. package/src/widgets/overlay/index.d.ts +11 -11
  98. package/src/widgets/overlay/index.js +11 -11
  99. package/src/widgets/variables.scss +144 -144
package/dist/charts.js CHANGED
@@ -3330,6 +3330,8 @@ var LineGraph = /*#__PURE__*/ (function (_Widget) {
3330
3330
  active: true,
3331
3331
  stack: undefined,
3332
3332
  stacked: undefined,
3333
+ smooth: undefined,
3334
+ smoothingRatio: undefined,
3333
3335
  },
3334
3336
  ]),
3335
3337
  );
@@ -3337,6 +3339,10 @@ var LineGraph = /*#__PURE__*/ (function (_Widget) {
3337
3339
  _proto.prepareData = function prepareData(context, instance) {
3338
3340
  var data = instance.data;
3339
3341
  if (data.name && !data.colorName) data.colorName = data.name;
3342
+ if (data.smooth && data.smoothingRatio != null) {
3343
+ if (data.smoothingRatio < 0) data.smoothingRatio = 0;
3344
+ if (data.smoothingRatio > 0.4) data.smoothingRatio = 0.4;
3345
+ }
3340
3346
  _Widget.prototype.prepareData.call(this, context, instance);
3341
3347
  };
3342
3348
  _proto.explore = function explore(context, instance) {
@@ -3443,18 +3449,24 @@ var LineGraph = /*#__PURE__*/ (function (_Widget) {
3443
3449
  return spans;
3444
3450
  };
3445
3451
  _proto.render = function render(context, instance, key) {
3446
- var _stateMods;
3452
+ var _stateMods,
3453
+ _this4 = this;
3447
3454
  var data = instance.data,
3448
3455
  lineSpans = instance.lineSpans;
3449
3456
  if (!lineSpans) return null;
3450
3457
  var stateMods = ((_stateMods = {}), (_stateMods["color-" + data.colorIndex] = data.colorIndex != null), _stateMods);
3451
3458
  var line, area;
3459
+ var r = data.smoothingRatio;
3460
+ var linePath = "";
3452
3461
  if (data.line) {
3453
- var linePath = "";
3454
3462
  lineSpans.forEach(function (span) {
3455
3463
  span.forEach(function (p, i) {
3456
- linePath += i == 0 ? " M " : " L ";
3457
- linePath += p.x + " " + p.y;
3464
+ linePath +=
3465
+ i == 0
3466
+ ? "M " + p.x + " " + p.y
3467
+ : !data.smooth || span.length < 2
3468
+ ? "L " + p.x + " " + p.y
3469
+ : _this4.getCurvedPathSegment(p, span, i - 1, i - 2, i - 1, i + 1, r);
3458
3470
  });
3459
3471
  });
3460
3472
  line = /*#__PURE__*/ jsx("path", {
@@ -3468,12 +3480,32 @@ var LineGraph = /*#__PURE__*/ (function (_Widget) {
3468
3480
  lineSpans.forEach(function (span) {
3469
3481
  var closePath = "";
3470
3482
  span.forEach(function (p, i) {
3471
- areaPath += i == 0 ? " M " : " L ";
3472
- areaPath += p.x + " " + p.y;
3473
- if (data.area) closePath = "L " + p.x + " " + p.y0 + " " + closePath;
3483
+ var segment = "";
3484
+ if (i == 0) {
3485
+ segment = "M " + p.x + " " + p.y;
3486
+
3487
+ // closing point
3488
+ closePath =
3489
+ !data.smooth || span.length < 2
3490
+ ? "L " + p.x + " " + p.y0
3491
+ : _this4.getCurvedPathSegment(p, span, i + 1, i + 2, i + 1, i - 1, r, "y0");
3492
+ } else {
3493
+ if (!data.smooth) {
3494
+ segment = "L " + p.x + " " + p.y;
3495
+ closePath = "L " + p.x + " " + p.y0 + closePath;
3496
+ } else {
3497
+ segment = _this4.getCurvedPathSegment(p, span, i - 1, i - 2, i - 1, i + 1, r, "y");
3498
+
3499
+ // closing point
3500
+ if (i < span.length - 1)
3501
+ closePath = _this4.getCurvedPathSegment(p, span, i + 1, i + 2, i + 1, i - 1, r, "y0") + closePath;
3502
+ }
3503
+ }
3504
+ areaPath += segment;
3474
3505
  });
3506
+ areaPath += "L " + span[span.length - 1].x + " " + span[span.length - 1].y0;
3475
3507
  areaPath += closePath;
3476
- areaPath += "L " + span[0].x + " " + span[0].y;
3508
+ areaPath += "Z";
3477
3509
  });
3478
3510
  area = /*#__PURE__*/ jsx("path", {
3479
3511
  className: this.CSS.element(this.baseClass, "area", stateMods),
@@ -3490,6 +3522,63 @@ var LineGraph = /*#__PURE__*/ (function (_Widget) {
3490
3522
  key,
3491
3523
  );
3492
3524
  };
3525
+ _proto.getCurvedPathSegment = function getCurvedPathSegment(p, points, i1, i2, j1, j2, r, yField) {
3526
+ if (yField === void 0) {
3527
+ yField = "y";
3528
+ }
3529
+ var _this$getControlPoint = this.getControlPoint({
3530
+ cp: points[i1],
3531
+ pp: points[i2],
3532
+ r: r,
3533
+ np: p,
3534
+ yField: yField,
3535
+ }),
3536
+ sx = _this$getControlPoint[0],
3537
+ sy = _this$getControlPoint[1];
3538
+ var _this$getControlPoint2 = this.getControlPoint({
3539
+ cp: p,
3540
+ pp: points[j1],
3541
+ np: points[j2],
3542
+ r: r,
3543
+ reverse: true,
3544
+ yField: yField,
3545
+ }),
3546
+ ex = _this$getControlPoint2[0],
3547
+ ey = _this$getControlPoint2[1];
3548
+ return "C " + sx + " " + sy + ", " + ex + " " + ey + ", " + p.x + " " + p[yField];
3549
+ };
3550
+ _proto.getControlPoint = function getControlPoint(_ref) {
3551
+ var cp = _ref.cp,
3552
+ pp = _ref.pp,
3553
+ np = _ref.np,
3554
+ r = _ref.r,
3555
+ reverse = _ref.reverse,
3556
+ _ref$yField = _ref.yField,
3557
+ yField = _ref$yField === void 0 ? "y" : _ref$yField;
3558
+ // When 'current' is the first or last point of the array 'previous' or 'next' don't exist. Replace with 'current'.
3559
+ var p = pp || cp;
3560
+ var n = np || cp;
3561
+
3562
+ // Properties of the opposed-line
3563
+ var _this$getLineInfo = this.getLineInfo(p.x, p[yField], n.x, n[yField]),
3564
+ angle = _this$getLineInfo.angle,
3565
+ length = _this$getLineInfo.length;
3566
+ // If it is end-control-point, add PI to the angle to go backward
3567
+ angle = angle + (reverse ? Math.PI : 0);
3568
+ length = length * r;
3569
+ // The control point position is relative to the current point
3570
+ var x = cp.x + Math.cos(angle) * length;
3571
+ var y = cp[yField] + Math.sin(angle) * length;
3572
+ return [x, y];
3573
+ };
3574
+ _proto.getLineInfo = function getLineInfo(p1x, p1y, p2x, p2y) {
3575
+ var lengthX = p2x - p1x;
3576
+ var lengthY = p2y - p1y;
3577
+ return {
3578
+ length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),
3579
+ angle: Math.atan2(lengthY, lengthX),
3580
+ };
3581
+ };
3493
3582
  return LineGraph;
3494
3583
  })(Widget);
3495
3584
  LineGraph.prototype.xAxis = "x";
@@ -3507,6 +3596,8 @@ LineGraph.prototype.legendAction = "auto";
3507
3596
  LineGraph.prototype.legendShape = "rect";
3508
3597
  LineGraph.prototype.stack = "stack";
3509
3598
  LineGraph.prototype.hiddenBase = false;
3599
+ LineGraph.prototype.smooth = false;
3600
+ LineGraph.prototype.smoothingRatio = 0.05;
3510
3601
  Widget.alias("line-graph", LineGraph);
3511
3602
 
3512
3603
  var ColumnBarGraphBase = /*#__PURE__*/ (function (_Widget) {