minerva-design 1.7.1 → 1.8.0

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 (34) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/custom-elements.json +10 -2
  3. package/dist/angular/fesm2022/minerva-angular.mjs +40 -5
  4. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  5. package/dist/angular/types/minerva-angular.d.ts +14 -1
  6. package/dist/charts/react/charts.cjs +1 -1
  7. package/dist/charts/react/charts.cjs.map +1 -1
  8. package/dist/charts/react/charts.js +120 -97
  9. package/dist/charts/react/charts.js.map +1 -1
  10. package/dist/charts/react/types.d.cts +8 -0
  11. package/dist/charts/react/types.d.ts +8 -0
  12. package/dist/core/contracts.cjs +1 -1
  13. package/dist/core/contracts.cjs.map +1 -1
  14. package/dist/core/contracts.js +1 -1
  15. package/dist/core/contracts.js.map +1 -1
  16. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +4 -0
  17. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -1
  18. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +48 -37
  19. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  20. package/dist/vue/components/Chart/cartesian.d.ts +1 -0
  21. package/dist/vue/components/Chart/cartesian.js +1 -0
  22. package/dist/vue/components/Chart/cartesian.js.map +1 -1
  23. package/dist/web-components/components/chart/chart.d.ts +1 -0
  24. package/dist/web-components/components/chart/chart.js +1 -0
  25. package/dist/web-components/components/chart/chart.js.map +1 -1
  26. package/dist/web-components/components/chart/charts.d.ts +6 -1
  27. package/dist/web-components/components/chart/charts.js +31 -15
  28. package/dist/web-components/components/chart/charts.js.map +1 -1
  29. package/dist/web-components/html-custom-data.json +2 -2
  30. package/dist/web-components/types/react.d.ts +2 -0
  31. package/dist/web-components/types/solid.d.ts +2 -0
  32. package/dist/web-components/types/svelte.d.ts +2 -0
  33. package/dist/web-components/types/vue.d.ts +2 -0
  34. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # minerva-design
2
2
 
3
+ ## 1.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b8036ec: QuadrantChart: drag and double-click feedback. React gets `onPointDrag`, which reports every move of a dragged dot with the quadrant under the pointer, and `onPointDoubleClick`, which fires when the same dot is clicked twice quickly (`onPointClick` still fires for each click). While a dot is dragged, React also highlights the quadrant it would drop into. The same events are on Vue (`pointDrag`, `pointDoubleClick`), Angular (`pointDrag`, `pointDoubleClick`), and `<minerva-quadrant-chart>` (`minerva-point-drag`, `minerva-point-double-click`). Setting `onPointDrag` alone now makes the dots draggable, the same as `onPointDrop`.
8
+
3
9
  ## 1.7.1
4
10
 
5
11
  ### Patch Changes
@@ -7431,7 +7431,7 @@
7431
7431
  "text": "boolean"
7432
7432
  },
7433
7433
  "default": "false",
7434
- "description": "Lets the user drag the dots (`minerva-point-drop`)",
7434
+ "description": "Lets the user drag the dots (`minerva-point-drag`, `minerva-point-drop`)",
7435
7435
  "attribute": "drag-points"
7436
7436
  },
7437
7437
  {
@@ -7543,10 +7543,18 @@
7543
7543
  "module": "src/components/chart/chart.ts"
7544
7544
  }
7545
7545
  },
7546
+ {
7547
+ "description": "The same dot was clicked twice in quick succession; detail: { point, index }",
7548
+ "name": "minerva-point-double-click"
7549
+ },
7546
7550
  {
7547
7551
  "description": "The empty area of a quadrant was clicked; detail: { quadrant, x, y }",
7548
7552
  "name": "minerva-quadrant-click"
7549
7553
  },
7554
+ {
7555
+ "description": "A dot is being dragged (on every move); detail: { point, index, x, y, quadrant }",
7556
+ "name": "minerva-point-drag"
7557
+ },
7550
7558
  {
7551
7559
  "description": "A dragged dot was released; detail: { point, index, x, y, quadrant }",
7552
7560
  "name": "minerva-point-drop"
@@ -7659,7 +7667,7 @@
7659
7667
  "text": "boolean"
7660
7668
  },
7661
7669
  "default": "false",
7662
- "description": "Lets the user drag the dots (`minerva-point-drop`)",
7670
+ "description": "Lets the user drag the dots (`minerva-point-drag`, `minerva-point-drop`)",
7663
7671
  "fieldName": "dragPoints"
7664
7672
  },
7665
7673
  {
@@ -32025,6 +32025,7 @@ var MnCartesianChartBase = class MnCartesianChartBase extends MnChartEngine {
32025
32025
  chart.on("plotClick", (event) => this.plotClicked?.(event)),
32026
32026
  chart.on("zoom", (view) => this.zoom.emit(view)),
32027
32027
  chart.on("renderer", (renderer) => this.rendererChange.emit(renderer)),
32028
+ chart.on("drag", (event) => this.dragged?.(event)),
32028
32029
  chart.on("drop", (event) => this.dropped?.(event))
32029
32030
  ];
32030
32031
  }
@@ -33395,6 +33396,7 @@ i0.ɵɵngDeclareClassMetadata({
33395
33396
  }]
33396
33397
  }
33397
33398
  });
33399
+ const DOUBLE_CLICK_MS = 400;
33398
33400
  var MnQuadrantChart = class MnQuadrantChart extends MnCartesianChartBase {
33399
33401
  constructor() {
33400
33402
  super(...arguments);
@@ -33426,8 +33428,11 @@ var MnQuadrantChart = class MnQuadrantChart extends MnCartesianChartBase {
33426
33428
  transform: booleanAttribute
33427
33429
  });
33428
33430
  this.pointClick = output();
33431
+ this.pointDoubleClick = output();
33429
33432
  this.quadrantClick = output();
33433
+ this.pointDrag = output();
33430
33434
  this.pointDrop = output();
33435
+ this.lastClick = null;
33431
33436
  }
33432
33437
  geometry() {
33433
33438
  return {
@@ -33456,7 +33461,19 @@ var MnQuadrantChart = class MnQuadrantChart extends MnCartesianChartBase {
33456
33461
  clicked(event) {
33457
33462
  const index = event.items[0]?.index;
33458
33463
  const point = index === void 0 ? void 0 : this.points()[index];
33459
- if (point && index !== void 0) this.pointClick.emit({
33464
+ if (!point || index === void 0) return;
33465
+ const now = Date.now();
33466
+ const last = this.lastClick;
33467
+ const double = last?.index === index && now - last.time < DOUBLE_CLICK_MS;
33468
+ this.lastClick = double ? null : {
33469
+ index,
33470
+ time: now
33471
+ };
33472
+ this.pointClick.emit({
33473
+ point,
33474
+ index
33475
+ });
33476
+ if (double) this.pointDoubleClick.emit({
33460
33477
  point,
33461
33478
  index
33462
33479
  });
@@ -33468,17 +33485,25 @@ var MnQuadrantChart = class MnQuadrantChart extends MnCartesianChartBase {
33468
33485
  y: event.y
33469
33486
  });
33470
33487
  }
33471
- dropped(event) {
33488
+ dropAt(event) {
33472
33489
  const index = event.item.index;
33473
33490
  const point = this.points()[index];
33474
- if (!point) return;
33475
- this.pointDrop.emit({
33491
+ if (!point) return null;
33492
+ return {
33476
33493
  point,
33477
33494
  index,
33478
33495
  x: event.x,
33479
33496
  y: event.y,
33480
33497
  quadrant: quadrantOf(this.geometry(), event.x, event.y)
33481
- });
33498
+ };
33499
+ }
33500
+ dragged(event) {
33501
+ const target = this.dropAt(event);
33502
+ if (target) this.pointDrag.emit(target);
33503
+ }
33504
+ dropped(event) {
33505
+ const target = this.dropAt(event);
33506
+ if (target) this.pointDrop.emit(target);
33482
33507
  }
33483
33508
  static {
33484
33509
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -33606,7 +33631,9 @@ var MnQuadrantChart = class MnQuadrantChart extends MnCartesianChartBase {
33606
33631
  },
33607
33632
  outputs: {
33608
33633
  pointClick: "pointClick",
33634
+ pointDoubleClick: "pointDoubleClick",
33609
33635
  quadrantClick: "quadrantClick",
33636
+ pointDrag: "pointDrag",
33610
33637
  pointDrop: "pointDrop"
33611
33638
  },
33612
33639
  usesInheritance: true,
@@ -33755,10 +33782,18 @@ i0.ɵɵngDeclareClassMetadata({
33755
33782
  type: i0.Output,
33756
33783
  args: ["pointClick"]
33757
33784
  }],
33785
+ pointDoubleClick: [{
33786
+ type: i0.Output,
33787
+ args: ["pointDoubleClick"]
33788
+ }],
33758
33789
  quadrantClick: [{
33759
33790
  type: i0.Output,
33760
33791
  args: ["quadrantClick"]
33761
33792
  }],
33793
+ pointDrag: [{
33794
+ type: i0.Output,
33795
+ args: ["pointDrag"]
33796
+ }],
33762
33797
  pointDrop: [{
33763
33798
  type: i0.Output,
33764
33799
  args: ["pointDrop"]