@ni/nimble-components 18.5.3 → 18.5.5

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 (35) hide show
  1. package/dist/all-components-bundle.js +298 -71
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +421 -365
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/table/components/row/styles.js +0 -1
  6. package/dist/esm/table/components/row/styles.js.map +1 -1
  7. package/dist/esm/wafer-map/index.d.ts +25 -4
  8. package/dist/esm/wafer-map/index.js +45 -4
  9. package/dist/esm/wafer-map/index.js.map +1 -1
  10. package/dist/esm/wafer-map/modules/computations.d.ts +8 -7
  11. package/dist/esm/wafer-map/modules/computations.js +38 -37
  12. package/dist/esm/wafer-map/modules/computations.js.map +1 -1
  13. package/dist/esm/wafer-map/modules/data-manager.d.ts +8 -4
  14. package/dist/esm/wafer-map/modules/data-manager.js +10 -0
  15. package/dist/esm/wafer-map/modules/data-manager.js.map +1 -1
  16. package/dist/esm/wafer-map/modules/event-coordinator.d.ts +1 -1
  17. package/dist/esm/wafer-map/modules/event-coordinator.js +6 -12
  18. package/dist/esm/wafer-map/modules/event-coordinator.js.map +1 -1
  19. package/dist/esm/wafer-map/modules/hover-handler.d.ts +12 -0
  20. package/dist/esm/wafer-map/modules/hover-handler.js +56 -0
  21. package/dist/esm/wafer-map/modules/hover-handler.js.map +1 -0
  22. package/dist/esm/wafer-map/modules/prerendering.d.ts +2 -2
  23. package/dist/esm/wafer-map/modules/prerendering.js +4 -2
  24. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  25. package/dist/esm/wafer-map/modules/rendering.d.ts +2 -1
  26. package/dist/esm/wafer-map/modules/rendering.js +38 -15
  27. package/dist/esm/wafer-map/modules/rendering.js.map +1 -1
  28. package/dist/esm/wafer-map/styles.js +27 -0
  29. package/dist/esm/wafer-map/styles.js.map +1 -1
  30. package/dist/esm/wafer-map/template.js +8 -0
  31. package/dist/esm/wafer-map/template.js.map +1 -1
  32. package/dist/esm/wafer-map/types.d.ts +9 -0
  33. package/dist/esm/wafer-map/types.js +4 -0
  34. package/dist/esm/wafer-map/types.js.map +1 -1
  35. package/package.json +13 -7
@@ -4,12 +4,13 @@ import type { WaferMap } from '..';
4
4
  */
5
5
  export declare class RenderingModule {
6
6
  private readonly wafermap;
7
- private readonly context;
8
7
  private readonly dies;
9
8
  private readonly dimensions;
10
9
  private readonly labelFontSize;
11
10
  constructor(wafermap: WaferMap);
12
11
  drawWafer(): void;
12
+ renderHover(): void;
13
+ private calculateHoverTransform;
13
14
  private renderDies;
14
15
  private renderText;
15
16
  private clearCanvas;
@@ -1,21 +1,44 @@
1
+ import { HoverDieOpacity } from '../types';
1
2
  /**
2
3
  * Responsible for drawing the dies inside the wafer map, adding dieText and scaling the canvas
3
4
  */
4
5
  export class RenderingModule {
5
6
  constructor(wafermap) {
6
7
  this.wafermap = wafermap;
7
- this.context = wafermap.canvas.getContext('2d');
8
8
  this.dies = wafermap.dataManager.diesRenderInfo;
9
9
  this.dimensions = wafermap.dataManager.dieDimensions;
10
10
  this.labelFontSize = wafermap.dataManager.labelsFontSize;
11
11
  }
12
12
  drawWafer() {
13
- this.context.save();
13
+ this.wafermap.canvasContext.save();
14
14
  this.clearCanvas();
15
15
  this.scaleCanvas();
16
16
  this.renderDies();
17
17
  this.renderText();
18
- this.context.restore();
18
+ this.wafermap.canvasContext.restore();
19
+ this.renderHover();
20
+ }
21
+ renderHover() {
22
+ this.wafermap.hoverWidth = this.wafermap.dataManager.dieDimensions.width
23
+ * this.wafermap.transform.k;
24
+ this.wafermap.hoverHeight = this.wafermap.dataManager.dieDimensions.height
25
+ * this.wafermap.transform.k;
26
+ this.wafermap.hoverOpacity = this.wafermap.hoverDie === undefined
27
+ ? HoverDieOpacity.hide
28
+ : HoverDieOpacity.show;
29
+ this.wafermap.hoverTransform = this.calculateHoverTransform();
30
+ }
31
+ calculateHoverTransform() {
32
+ if (this.wafermap.hoverDie !== undefined) {
33
+ const scaledX = this.wafermap.dataManager.horizontalScale(this.wafermap.hoverDie.x);
34
+ const scaledY = this.wafermap.dataManager.verticalScale(this.wafermap.hoverDie.y);
35
+ const transformedPoint = this.wafermap.transform.apply([
36
+ scaledX + this.wafermap.dataManager.margin.left,
37
+ scaledY + this.wafermap.dataManager.margin.top
38
+ ]);
39
+ return `translate(${transformedPoint[0]}, ${transformedPoint[1]})`;
40
+ }
41
+ return '';
19
42
  }
20
43
  renderDies() {
21
44
  this.dies.sort((a, b) => {
@@ -30,12 +53,12 @@ export class RenderingModule {
30
53
  let prev;
31
54
  for (const die of this.dies) {
32
55
  if (!prev) {
33
- this.context.fillStyle = die.fillStyle;
56
+ this.wafermap.canvasContext.fillStyle = die.fillStyle;
34
57
  }
35
58
  if (prev && die.fillStyle !== prev.fillStyle && die.fillStyle) {
36
- this.context.fillStyle = die.fillStyle;
59
+ this.wafermap.canvasContext.fillStyle = die.fillStyle;
37
60
  }
38
- this.context.fillRect(die.x, die.y, this.dimensions.width, this.dimensions.height);
61
+ this.wafermap.canvasContext.fillRect(die.x, die.y, this.dimensions.width, this.dimensions.height);
39
62
  prev = die;
40
63
  }
41
64
  }
@@ -44,25 +67,25 @@ export class RenderingModule {
44
67
  * this.dimensions.height
45
68
  * (this.wafermap.transform.k || 1);
46
69
  const fontsize = this.labelFontSize;
47
- this.context.font = `${fontsize.toString()}px sans-serif`;
48
- this.context.fillStyle = '#ffffff';
49
- this.context.textAlign = 'center';
50
- this.context.lineCap = 'butt';
51
- const approxTextHeight = this.context.measureText('M');
70
+ this.wafermap.canvasContext.font = `${fontsize.toString()}px sans-serif`;
71
+ this.wafermap.canvasContext.fillStyle = '#ffffff';
72
+ this.wafermap.canvasContext.textAlign = 'center';
73
+ this.wafermap.canvasContext.lineCap = 'butt';
74
+ const approxTextHeight = this.wafermap.canvasContext.measureText('M');
52
75
  if (dieSize >= 50) {
53
76
  for (const die of this.dies) {
54
- this.context.fillText(die.text, die.x + this.dimensions.width / 2, die.y
77
+ this.wafermap.canvasContext.fillText(die.text, die.x + this.dimensions.width / 2, die.y
55
78
  + this.dimensions.height / 2
56
79
  + approxTextHeight.width / 2, this.dimensions.width - (this.dimensions.width / 100) * 20);
57
80
  }
58
81
  }
59
82
  }
60
83
  clearCanvas() {
61
- this.context.clearRect(0, 0, this.wafermap.canvasWidth * this.wafermap.transform.k, this.wafermap.canvasHeight * this.wafermap.transform.k);
84
+ this.wafermap.canvasContext.clearRect(0, 0, this.wafermap.canvasWidth * this.wafermap.transform.k, this.wafermap.canvasHeight * this.wafermap.transform.k);
62
85
  }
63
86
  scaleCanvas() {
64
- this.context.translate(this.wafermap.transform.x, this.wafermap.transform.y);
65
- this.context.scale(this.wafermap.transform.k, this.wafermap.transform.k);
87
+ this.wafermap.canvasContext.translate(this.wafermap.transform.x, this.wafermap.transform.y);
88
+ this.wafermap.canvasContext.scale(this.wafermap.transform.k, this.wafermap.transform.k);
66
89
  }
67
90
  }
68
91
  //# sourceMappingURL=rendering.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rendering.js","sourceRoot":"","sources":["../../../../src/wafer-map/modules/rendering.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,eAAe;IAMxB,YAAoC,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAClD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAY,CAAC,aAAa,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC;IAC9D,CAAC;IAEM,SAAS;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACZ;YACD,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE;gBAC3B,OAAO,CAAC,CAAC,CAAC;aACb;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,IAA+B,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE;gBACP,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;aAC1C;YACD,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE;gBAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;aAC1C;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CACjB,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;YACF,IAAI,GAAG,GAAG,CAAC;SACd;IACL,CAAC;IAEO,UAAU;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;cAC/B,IAAI,CAAC,UAAU,CAAC,MAAM;cACtB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,OAAO,IAAI,EAAE,EAAE;YACf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CACjB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EACjC,GAAG,CAAC,CAAC;sBACC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;sBAC1B,gBAAgB,CAAC,KAAK,GAAG,CAAC,EAChC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAC7D,CAAC;aACL;SACJ;IACL,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACrD,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CACzD,CAAC;IACN,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAC5B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,CACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAC5B,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"rendering.js","sourceRoot":"","sources":["../../../../src/wafer-map/modules/rendering.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { css } from '@microsoft/fast-element';
2
+ import { DigitalGreenLight } from '@ni/nimble-tokens/dist/styledictionary/js/tokens';
2
3
  import { borderColor, borderWidth } from '../theme-provider/design-tokens';
3
4
  export const styles = css `
4
5
  :host {
@@ -57,5 +58,31 @@ export const styles = css `
57
58
  display: inline-block;
58
59
  position: absolute;
59
60
  }
61
+
62
+ .hover-layer {
63
+ position: absolute;
64
+ pointer-events: none;
65
+ width: 100%;
66
+ height: 100%;
67
+ }
68
+
69
+ .hover-rect {
70
+ fill: transparent;
71
+ stroke: white;
72
+ outline-style: solid;
73
+ outline-color: ${DigitalGreenLight};
74
+ }
75
+
76
+ .hover-rect.show {
77
+ opacity: 1;
78
+ stroke-width: 2px;
79
+ outline-width: 2px;
80
+ }
81
+
82
+ .hover-rect.hide {
83
+ opacity: 0;
84
+ stroke-width: 0px;
85
+ outline-width: 0px;
86
+ }
60
87
  `;
61
88
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/wafer-map/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiDD,WAAW;kBACjB,WAAW;;;;;;;CAO5B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/wafer-map/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiDD,WAAW;kBACjB,WAAW;;;;;;;;;;;;;;;;;;;yBAmBJ,iBAAiB;;;;;;;;;;;;;;CAczC,CAAC"}
@@ -20,6 +20,14 @@ export const template = html `
20
20
  </g>
21
21
  </svg>
22
22
  <canvas class="wafer-map-canvas" ${ref('canvas')}></canvas>
23
+ <svg class="hover-layer">
24
+ <rect
25
+ class="hover-rect ${x => x.hoverOpacity}"
26
+ transform="${x => x.hoverTransform}"
27
+ width="${x => x.hoverWidth}"
28
+ height="${x => x.hoverHeight}"
29
+ />
30
+ </svg>
23
31
  </div>
24
32
  `;
25
33
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/wafer-map/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAGpD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU;;;iBAGrB,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;kCAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;;;;;;;;;;;;;;;;2CAgBT,GAAG,CAAC,QAAQ,CAAC;;CAEvD,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/wafer-map/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAGpD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU;;;iBAGrB,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;kCAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;;;;;;;;;;;;;;;;2CAgBT,GAAG,CAAC,QAAQ,CAAC;;;oCAGpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;yBACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;0BAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;;;;CAI3C,CAAC"}
@@ -13,6 +13,11 @@ export declare const WaferMapOrientation: {
13
13
  readonly right: "right";
14
14
  };
15
15
  export declare type WaferMapOrientation = (typeof WaferMapOrientation)[keyof typeof WaferMapOrientation];
16
+ export declare const HoverDieOpacity: {
17
+ readonly show: "show";
18
+ readonly hide: "hide";
19
+ };
20
+ export declare type HoverDieOpacity = (typeof HoverDieOpacity)[keyof typeof HoverDieOpacity];
16
21
  export declare const WaferMapColorScaleMode: {
17
22
  readonly linear: "linear";
18
23
  readonly ordinal: "ordinal";
@@ -50,3 +55,7 @@ export interface DieRenderInfo {
50
55
  readonly fillStyle: string;
51
56
  readonly text: string;
52
57
  }
58
+ export interface PointCoordinates {
59
+ readonly x: number;
60
+ readonly y: number;
61
+ }
@@ -10,6 +10,10 @@ export const WaferMapOrientation = {
10
10
  left: 'left',
11
11
  right: 'right'
12
12
  };
13
+ export const HoverDieOpacity = {
14
+ show: 'show',
15
+ hide: 'hide'
16
+ };
13
17
  export const WaferMapColorScaleMode = {
14
18
  linear: 'linear',
15
19
  ordinal: 'ordinal'
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wafer-map/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;CACf,CAAC;AAKX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACR,CAAC;AAKX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACZ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wafer-map/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;CACf,CAAC;AAKX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACR,CAAC;AAKX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACN,CAAC;AAKX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-components",
3
- "version": "18.5.3",
3
+ "version": "18.5.5",
4
4
  "description": "Styled web components for the NI Nimble Design System",
5
5
  "scripts": {
6
6
  "build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
@@ -14,6 +14,7 @@
14
14
  "invoke-publish": "npm publish",
15
15
  "storybook": "start-storybook -p 6006",
16
16
  "build-storybook": "build-storybook -o dist/storybook",
17
+ "storybook-open-webkit": "playwright wk http://localhost:6006",
17
18
  "build-components": "tsc -p ./tsconfig.json",
18
19
  "build-components:watch": "tsc -p ./tsconfig.json -w",
19
20
  "bundle-components": "rollup --bundleConfigAsCjs --config",
@@ -30,6 +31,8 @@
30
31
  "test-chrome:watch": "karma start karma.conf.js --browsers=ChromeHeadlessOpt --watch-extensions js",
31
32
  "test-chrome": "karma start karma.conf.js --browsers=ChromeHeadlessOpt --single-run",
32
33
  "test-firefox": "karma start karma.conf.js --browsers=FirefoxHeadless --single-run",
34
+ "test-webkit": "karma start karma.conf.js --browsers=WebkitHeadless --single-run",
35
+ "test-webkit:debugger": "karma start karma.conf.js --browsers=Webkit",
33
36
  "test": "npm run test-chrome:verbose"
34
37
  },
35
38
  "repository": {
@@ -52,14 +55,16 @@
52
55
  "@ni/nimble-tokens": "^4.7.0",
53
56
  "@tanstack/table-core": "^8.7.0",
54
57
  "@tanstack/virtual-core": "^3.0.0-beta.44",
55
- "@types/d3": "^7.4.0",
58
+ "@types/d3-array": "^3.0.4",
59
+ "@types/d3-random": "^3.0.1",
56
60
  "@types/d3-scale": "^4.0.2",
57
- "@types/d3-zoom": "^3.0.0",
58
61
  "@types/d3-selection": "^3.0.0",
59
- "d3-selection": "^3.0.0",
60
- "d3-zoom": "^3.0.0",
62
+ "@types/d3-zoom": "^3.0.0",
63
+ "d3-array": "^3.2.2",
61
64
  "d3-random": "^3.0.1",
62
65
  "d3-scale": "^4.0.2",
66
+ "d3-selection": "^3.0.0",
67
+ "d3-zoom": "^3.0.0",
63
68
  "tslib": "^2.2.0"
64
69
  },
65
70
  "devDependencies": {
@@ -72,6 +77,7 @@
72
77
  "@rollup/plugin-commonjs": "^24.0.1",
73
78
  "@rollup/plugin-node-resolve": "^15.0.1",
74
79
  "@rollup/plugin-replace": "^5.0.1",
80
+ "@rollup/plugin-terser": "^0.4.0",
75
81
  "@storybook/addon-a11y": "^6.5.10",
76
82
  "@storybook/addon-actions": "^6.5.10",
77
83
  "@storybook/addon-docs": "^6.5.10",
@@ -102,14 +108,14 @@
102
108
  "karma-source-map-support": "^1.4.0",
103
109
  "karma-sourcemap-loader": "^0.3.7",
104
110
  "karma-spec-reporter": "^0.0.36",
111
+ "karma-webkit-launcher": "^2.1.0",
105
112
  "karma-webpack": "^5.0.0",
113
+ "playwright": "^1.30.0",
106
114
  "prettier": "^2.0.0",
107
115
  "prettier-eslint": "^15.0.1",
108
116
  "prettier-eslint-cli": "^7.1.0",
109
- "puppeteer": "^19.6.0",
110
117
  "rollup": "^3.10.1",
111
118
  "rollup-plugin-sourcemaps": "^0.6.3",
112
- "@rollup/plugin-terser": "^0.4.0",
113
119
  "storybook-addon-xd-designs": "^6.0.0",
114
120
  "ts-loader": "^9.2.5",
115
121
  "typescript": "~4.6.4",