@ni/nimble-components 21.10.0 → 21.10.1
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.
- package/dist/all-components-bundle.js +27 -27
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +5 -5
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/anchor/types.d.ts +1 -1
- package/dist/esm/anchor-tab/index.d.ts +1 -1
- package/dist/esm/anchor-tabs/index.d.ts +1 -1
- package/dist/esm/banner/types.d.ts +1 -1
- package/dist/esm/breadcrumb/types.d.ts +1 -1
- package/dist/esm/button/types.d.ts +1 -1
- package/dist/esm/drawer/types.d.ts +1 -1
- package/dist/esm/icon-base/index.d.ts +1 -1
- package/dist/esm/icon-base/types.d.ts +1 -1
- package/dist/esm/label-provider/base/index.d.ts +1 -1
- package/dist/esm/label-provider/core/label-token-defaults.d.ts +1 -1
- package/dist/esm/label-provider/rich-text/label-token-defaults.d.ts +1 -1
- package/dist/esm/label-provider/table/label-token-defaults.d.ts +1 -1
- package/dist/esm/mapping/base/types.d.ts +2 -2
- package/dist/esm/menu-button/types.d.ts +1 -1
- package/dist/esm/number-field/types.d.ts +1 -1
- package/dist/esm/patterns/button/types.d.ts +2 -2
- package/dist/esm/patterns/dialog/types.d.ts +1 -1
- package/dist/esm/patterns/dropdown/types.d.ts +2 -2
- package/dist/esm/rich-text/editor/testing/types.d.ts +4 -4
- package/dist/esm/rich-text/editor/types.d.ts +3 -3
- package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/types.d.ts +2 -2
- package/dist/esm/select/index.d.ts +1 -1
- package/dist/esm/select/types.d.ts +1 -1
- package/dist/esm/spinner/types.d.ts +1 -1
- package/dist/esm/table/index.js +10 -10
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/models/array-to-tree.d.ts +1 -1
- package/dist/esm/table/types.d.ts +12 -12
- package/dist/esm/table-column/anchor/index.d.ts +1 -1
- package/dist/esm/table-column/base/types.d.ts +1 -1
- package/dist/esm/table-column/date-text/index.d.ts +1 -1
- package/dist/esm/table-column/date-text/types.d.ts +16 -16
- package/dist/esm/table-column/duration-text/index.d.ts +1 -1
- package/dist/esm/table-column/enum-base/index.d.ts +2 -2
- package/dist/esm/table-column/enum-base/types.d.ts +1 -1
- package/dist/esm/table-column/mixins/fractional-width-column.d.ts +2 -2
- package/dist/esm/table-column/mixins/groupable-column.d.ts +2 -2
- package/dist/esm/table-column/number-text/index.d.ts +1 -1
- package/dist/esm/table-column/number-text/models/number-text-unit-format.d.ts +1 -1
- package/dist/esm/table-column/number-text/types.d.ts +2 -2
- package/dist/esm/table-column/text/index.d.ts +1 -1
- package/dist/esm/table-column/text-base/cell-view/types.d.ts +1 -1
- package/dist/esm/text-area/types.d.ts +1 -1
- package/dist/esm/text-field/types.d.ts +1 -1
- package/dist/esm/theme-provider/design-token-comments.d.ts +1 -1
- package/dist/esm/theme-provider/design-token-names.d.ts +2 -2
- package/dist/esm/theme-provider/types.d.ts +1 -1
- package/dist/esm/tooltip/types.d.ts +1 -1
- package/dist/esm/tree-view/types.d.ts +1 -1
- package/dist/esm/utilities/models/tracker.d.ts +1 -1
- package/dist/esm/utilities/style/types.d.ts +1 -1
- package/dist/esm/utilities/unit-format/decimal-unit-format.d.ts +1 -1
- package/dist/esm/utilities/unit-format/default-unit-format.d.ts +1 -1
- package/dist/esm/utilities/unit-format/scaled-unit/scaled-unit.d.ts +1 -1
- package/dist/esm/utilities/unit-format/scaled-unit-format/manually-translated-scaled-unit-format.d.ts +1 -1
- package/dist/esm/wafer-map/modules/computations.js +5 -5
- package/dist/esm/wafer-map/modules/computations.js.map +1 -1
- package/dist/esm/wafer-map/modules/data-manager.js +5 -5
- package/dist/esm/wafer-map/modules/data-manager.js.map +1 -1
- package/dist/esm/wafer-map/modules/prerendering.js +6 -6
- package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
- package/dist/esm/wafer-map/types.d.ts +4 -4
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerendering.js","sourceRoot":"","sources":["../../../../src/wafer-map/modules/prerendering.ts"],"names":[],"mappings":"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","sourcesContent":["import { ScaleLinear, scaleLinear, ScaleOrdinal, scaleOrdinal } from 'd3-scale';\nimport { ColorRGBA64, parseColor } from '@microsoft/fast-colors';\nimport { WaferMapColorScaleMode } from '../types';\nimport type {\n Dimensions,\n DieRenderInfo,\n WaferMapColorScale,\n WaferMapDie\n} from '../types';\nimport type { WaferMap } from '..';\nimport type { DataManager } from './data-manager';\n\n/**\n * Prerendering prepares render-ready dies data to be used by the rendering module\n */\nexport class Prerendering {\n public get labelsFontSize(): number {\n return this._labelsFontSize;\n }\n\n public get diesRenderInfo(): DieRenderInfo[] {\n return this._diesRenderInfo;\n }\n\n public d3ColorScale!:\n | ScaleOrdinal<string, string>\n | ScaleLinear<string, string>;\n\n private _labelsFontSize!: number;\n private _diesRenderInfo!: DieRenderInfo[];\n\n private readonly fontSizeFactor = 0.8;\n private readonly nonHighlightedOpacity = 0.3;\n private readonly emptyDieColor = 'rgba(218,223,236,1)';\n private readonly nanDieColor = 'rgba(122,122,122,1)';\n\n public constructor(\n private readonly wafermap: WaferMap,\n private readonly dataManager: Readonly<DataManager>\n ) {}\n\n public updateLabelsFontSize(): void {\n this._labelsFontSize = this.calculateLabelsFontSize(\n this.dataManager.dieDimensions,\n this.wafermap.maxCharacters\n );\n this.updateDiesRenderInfo();\n }\n\n public updateDiesRenderInfo(): void {\n this.d3ColorScale = this.createD3ColorScale(\n this.wafermap.colorScale,\n this.wafermap.colorScaleMode\n );\n const isDieRenderInfo = (\n info: DieRenderInfo | null\n ): info is DieRenderInfo => info !== null;\n this._diesRenderInfo = this.wafermap.dies\n .map(die => this.computeDieRenderInfo(die))\n .filter(isDieRenderInfo);\n }\n\n private computeDieRenderInfo(die: WaferMapDie): DieRenderInfo | null {\n const margin = this.dataManager.margin;\n\n const scaledX = this.dataManager.horizontalScale(die.x);\n const scaledY = this.dataManager.verticalScale(die.y);\n\n if (scaledX === undefined || scaledY === undefined) {\n return null;\n }\n\n return {\n x: scaledX + margin.right,\n y: scaledY + margin.top,\n fillStyle: this.calculateFillStyle(\n die.value,\n this.wafermap.colorScaleMode,\n this.wafermap.highlightedTags,\n die.tags\n ),\n text: this.buildLabel(\n die.value,\n this.wafermap.maxCharacters,\n this.wafermap.dieLabelsHidden,\n this.wafermap.dieLabelsSuffix\n )\n };\n }\n\n private calculateLabelsFontSize(\n dieDimensions: Dimensions,\n maxCharacters: number\n ): number {\n return Math.min(\n dieDimensions.height,\n (dieDimensions.width / (Math.max(2, maxCharacters) * 0.5))\n * this.fontSizeFactor\n );\n }\n\n private createD3ColorScale(\n colorScale: WaferMapColorScale,\n colorScaleMode: WaferMapColorScaleMode\n ): ScaleOrdinal<string, string> | ScaleLinear<string, string> {\n if (this.isColorScaleLinear(colorScaleMode)) {\n return scaleLinear<string, string>()\n .domain(colorScale.values.map(item => +item))\n .range(colorScale.colors);\n }\n return scaleOrdinal<string, string>()\n .domain(colorScale.values)\n .range(colorScale.colors);\n }\n\n private dieHasData(dieData: string): boolean {\n return dieData !== null && dieData !== undefined && dieData !== '';\n }\n\n private buildLabel(\n value: string,\n maxCharacters: number,\n dieLabelsHidden: boolean,\n dieLabelsSuffix: string\n ): string {\n if (dieLabelsHidden || !this.dieHasData(value)) {\n return '';\n }\n const label = `${value}${dieLabelsSuffix}`;\n if (label.length > maxCharacters) {\n return `${label.substring(0, maxCharacters)}…`;\n }\n return label;\n }\n\n private calculateOpacity(\n dieTags?: string[],\n highlightedTags?: string[]\n ): number {\n if (!highlightedTags || highlightedTags.length === 0) {\n return 1;\n }\n const highlightedSet = new Set(highlightedTags);\n\n if (dieTags?.some(dieTag => highlightedSet.has(dieTag))) {\n return 1;\n }\n\n return this.nonHighlightedOpacity;\n }\n\n private isColorScaleLinear(\n colorScaleMode: WaferMapColorScaleMode\n ): this is { d3ColorScale: ScaleLinear<string, string> } {\n return colorScaleMode === WaferMapColorScaleMode.linear;\n }\n\n private isColorScaleOrdinal(\n colorScaleMode: WaferMapColorScaleMode\n ): this is { d3ColorScale: ScaleOrdinal<string, string> } {\n return colorScaleMode === WaferMapColorScaleMode.ordinal;\n }\n\n private calculateFillStyle(\n value: string,\n colorScaleMode: WaferMapColorScaleMode,\n highlightedTags?: string[],\n dieTags?: string[]\n ): string {\n let colorValue: string = this.emptyDieColor;\n if (this.dieHasData(value)) {\n if (isNaN(+value)) {\n colorValue = this.nanDieColor;\n } else if (this.isColorScaleLinear(colorScaleMode)) {\n colorValue = this.d3ColorScale(+value);\n } else if (this.isColorScaleOrdinal(colorScaleMode)) {\n colorValue = this.d3ColorScale(value);\n }\n }\n if (colorValue === undefined) {\n return this.emptyDieColor;\n }\n let rgbColor: ColorRGBA64 | null = parseColor(colorValue);\n if (rgbColor === null) {\n return this.emptyDieColor;\n }\n\n rgbColor = new ColorRGBA64(\n rgbColor.r,\n rgbColor.g,\n rgbColor.b,\n this.calculateOpacity(dieTags, highlightedTags)\n );\n return rgbColor.toStringWebRGBA();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"prerendering.js","sourceRoot":"","sources":["../../../../src/wafer-map/modules/prerendering.ts"],"names":[],"mappings":"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","sourcesContent":["import { ScaleLinear, scaleLinear, ScaleOrdinal, scaleOrdinal } from 'd3-scale';\nimport { ColorRGBA64, parseColor } from '@microsoft/fast-colors';\nimport { WaferMapColorScaleMode } from '../types';\nimport type {\n Dimensions,\n DieRenderInfo,\n WaferMapColorScale,\n WaferMapDie\n} from '../types';\nimport type { WaferMap } from '..';\nimport type { DataManager } from './data-manager';\n\n/**\n * Prerendering prepares render-ready dies data to be used by the rendering module\n */\nexport class Prerendering {\n public get labelsFontSize(): number {\n return this._labelsFontSize;\n }\n\n public get diesRenderInfo(): DieRenderInfo[] {\n return this._diesRenderInfo;\n }\n\n public d3ColorScale!:\n | ScaleOrdinal<string, string>\n | ScaleLinear<string, string>;\n\n private _labelsFontSize!: number;\n private _diesRenderInfo!: DieRenderInfo[];\n\n private readonly fontSizeFactor = 0.8;\n private readonly nonHighlightedOpacity = 0.3;\n private readonly emptyDieColor = 'rgba(218,223,236,1)';\n private readonly nanDieColor = 'rgba(122,122,122,1)';\n\n public constructor(\n private readonly wafermap: WaferMap,\n private readonly dataManager: Readonly<DataManager>\n ) {}\n\n public updateLabelsFontSize(): void {\n this._labelsFontSize = this.calculateLabelsFontSize(\n this.dataManager.dieDimensions,\n this.wafermap.maxCharacters\n );\n this.updateDiesRenderInfo();\n }\n\n public updateDiesRenderInfo(): void {\n this.d3ColorScale = this.createD3ColorScale(\n this.wafermap.colorScale,\n this.wafermap.colorScaleMode\n );\n const isDieRenderInfo = (\n info: DieRenderInfo | null\n ): info is DieRenderInfo => info !== null;\n this._diesRenderInfo = this.wafermap.dies\n .map(die => this.computeDieRenderInfo(die))\n .filter(isDieRenderInfo);\n }\n\n private computeDieRenderInfo(die: WaferMapDie): DieRenderInfo | null {\n const margin = this.dataManager.margin;\n\n const scaledX = this.dataManager.horizontalScale(die.x);\n const scaledY = this.dataManager.verticalScale(die.y);\n\n if (scaledX === undefined || scaledY === undefined) {\n return null;\n }\n\n return {\n x: scaledX + margin.right,\n y: scaledY + margin.top,\n fillStyle: this.calculateFillStyle(\n die.value,\n this.wafermap.colorScaleMode,\n this.wafermap.highlightedTags,\n die.tags\n ),\n text: this.buildLabel(\n die.value,\n this.wafermap.maxCharacters,\n this.wafermap.dieLabelsHidden,\n this.wafermap.dieLabelsSuffix\n )\n };\n }\n\n private calculateLabelsFontSize(\n dieDimensions: Dimensions,\n maxCharacters: number\n ): number {\n return Math.min(\n dieDimensions.height,\n (dieDimensions.width / (Math.max(2, maxCharacters) * 0.5))\n * this.fontSizeFactor\n );\n }\n\n private createD3ColorScale(\n colorScale: WaferMapColorScale,\n colorScaleMode: WaferMapColorScaleMode\n ): ScaleOrdinal<string, string> | ScaleLinear<string, string> {\n if (this.isColorScaleLinear(colorScaleMode)) {\n return scaleLinear<string, string>()\n .domain(colorScale.values.map(item => +item))\n .range(colorScale.colors);\n }\n return scaleOrdinal<string, string>()\n .domain(colorScale.values)\n .range(colorScale.colors);\n }\n\n private dieHasData(dieData: string): boolean {\n return dieData !== null && dieData !== undefined && dieData !== '';\n }\n\n private buildLabel(\n value: string,\n maxCharacters: number,\n dieLabelsHidden: boolean,\n dieLabelsSuffix: string\n ): string {\n if (dieLabelsHidden || !this.dieHasData(value)) {\n return '';\n }\n const label = `${value}${dieLabelsSuffix}`;\n if (label.length > maxCharacters) {\n return `${label.substring(0, maxCharacters)}…`;\n }\n return label;\n }\n\n private calculateOpacity(\n dieTags?: string[],\n highlightedTags?: string[]\n ): number {\n if (!highlightedTags || highlightedTags.length === 0) {\n return 1;\n }\n const highlightedSet = new Set(highlightedTags);\n\n if (dieTags?.some(dieTag => highlightedSet.has(dieTag))) {\n return 1;\n }\n\n return this.nonHighlightedOpacity;\n }\n\n private isColorScaleLinear(\n colorScaleMode: WaferMapColorScaleMode\n ): this is { d3ColorScale: ScaleLinear<string, string> } {\n return colorScaleMode === WaferMapColorScaleMode.linear;\n }\n\n private isColorScaleOrdinal(\n colorScaleMode: WaferMapColorScaleMode\n ): this is { d3ColorScale: ScaleOrdinal<string, string> } {\n return colorScaleMode === WaferMapColorScaleMode.ordinal;\n }\n\n private calculateFillStyle(\n value: string,\n colorScaleMode: WaferMapColorScaleMode,\n highlightedTags?: string[],\n dieTags?: string[]\n ): string {\n let colorValue: string = this.emptyDieColor;\n if (this.dieHasData(value)) {\n if (isNaN(+value)) {\n colorValue = this.nanDieColor;\n } else if (this.isColorScaleLinear(colorScaleMode)) {\n colorValue = this.d3ColorScale(+value);\n } else if (this.isColorScaleOrdinal(colorScaleMode)) {\n colorValue = this.d3ColorScale(value);\n }\n }\n if (colorValue === undefined) {\n return this.emptyDieColor;\n }\n let rgbColor: ColorRGBA64 | null = parseColor(colorValue);\n if (rgbColor === null) {\n return this.emptyDieColor;\n }\n\n rgbColor = new ColorRGBA64(\n rgbColor.r,\n rgbColor.g,\n rgbColor.b,\n this.calculateOpacity(dieTags, highlightedTags)\n );\n return rgbColor.toStringWebRGBA();\n }\n}\n"]}
|
|
@@ -4,24 +4,24 @@ export declare const WaferMapOriginLocation: {
|
|
|
4
4
|
readonly topLeft: "top-left";
|
|
5
5
|
readonly topRight: "top-right";
|
|
6
6
|
};
|
|
7
|
-
export
|
|
7
|
+
export type WaferMapOriginLocation = (typeof WaferMapOriginLocation)[keyof typeof WaferMapOriginLocation];
|
|
8
8
|
export declare const WaferMapOrientation: {
|
|
9
9
|
readonly top: "top";
|
|
10
10
|
readonly bottom: "bottom";
|
|
11
11
|
readonly left: "left";
|
|
12
12
|
readonly right: "right";
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type WaferMapOrientation = (typeof WaferMapOrientation)[keyof typeof WaferMapOrientation];
|
|
15
15
|
export declare const HoverDieOpacity: {
|
|
16
16
|
readonly show: "show";
|
|
17
17
|
readonly hide: "hide";
|
|
18
18
|
};
|
|
19
|
-
export
|
|
19
|
+
export type HoverDieOpacity = (typeof HoverDieOpacity)[keyof typeof HoverDieOpacity];
|
|
20
20
|
export declare const WaferMapColorScaleMode: {
|
|
21
21
|
readonly linear: "linear";
|
|
22
22
|
readonly ordinal: "ordinal";
|
|
23
23
|
};
|
|
24
|
-
export
|
|
24
|
+
export type WaferMapColorScaleMode = (typeof WaferMapColorScaleMode)[keyof typeof WaferMapColorScaleMode];
|
|
25
25
|
export interface WaferMapDie {
|
|
26
26
|
value: string;
|
|
27
27
|
x: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ni/nimble-components",
|
|
3
|
-
"version": "21.10.
|
|
3
|
+
"version": "21.10.1",
|
|
4
4
|
"description": "Styled web components for the NI Nimble Design System",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "npm run generate-icons && npm run generate-workers && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@microsoft/fast-element": "^1.12.0",
|
|
69
69
|
"@microsoft/fast-foundation": "2.49.4",
|
|
70
70
|
"@microsoft/fast-web-utilities": "^6.0.0",
|
|
71
|
-
"@ni/nimble-tokens": "^6.12.
|
|
71
|
+
"@ni/nimble-tokens": "^6.12.1",
|
|
72
72
|
"@tanstack/table-core": "^8.10.7",
|
|
73
73
|
"@tanstack/virtual-core": "^3.0.0-beta.68",
|
|
74
74
|
"@tiptap/core": "^2.2.2",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"@microsoft/fast-react-wrapper": "0.3.22",
|
|
112
112
|
"@ni/eslint-config-javascript": "^4.2.0",
|
|
113
113
|
"@ni/eslint-config-typescript": "^4.2.0",
|
|
114
|
-
"@ni/jasmine-parameterized": "^0.2.
|
|
114
|
+
"@ni/jasmine-parameterized": "^0.2.3",
|
|
115
115
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
116
116
|
"@rollup/plugin-json": "^6.0.0",
|
|
117
117
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
@@ -139,6 +139,7 @@
|
|
|
139
139
|
"eslint-plugin-storybook": "^0.8.0",
|
|
140
140
|
"html-webpack-plugin": "^5.3.1",
|
|
141
141
|
"jasmine-core": "^5.1.2",
|
|
142
|
+
"js-beautify": "^1.15.1",
|
|
142
143
|
"karma": "^6.3.0",
|
|
143
144
|
"karma-chrome-launcher": "^3.1.0",
|
|
144
145
|
"karma-firefox-launcher": "^2.1.0",
|
|
@@ -151,7 +152,6 @@
|
|
|
151
152
|
"karma-webkit-launcher": "^2.1.0",
|
|
152
153
|
"karma-webpack": "^5.0.0",
|
|
153
154
|
"playwright": "1.40.0",
|
|
154
|
-
"prettier": "^3.2.5",
|
|
155
155
|
"prettier-eslint": "^16.3.0",
|
|
156
156
|
"prettier-eslint-cli": "^8.0.1",
|
|
157
157
|
"remark-gfm": "^3.0.1",
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"source-map-loader": "^5.0.0",
|
|
162
162
|
"storybook": "^7.6.13",
|
|
163
163
|
"ts-loader": "^9.2.5",
|
|
164
|
-
"typescript": "~4.
|
|
164
|
+
"typescript": "~4.9.5",
|
|
165
165
|
"webpack": "^5.75.0",
|
|
166
166
|
"webpack-cli": "^5.0.1",
|
|
167
167
|
"webpack-dev-middleware": "^7.0.0"
|