@ni/nimble-components 20.16.1 → 20.16.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.
- package/dist/all-components-bundle.js +36 -40
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +11 -14
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/wafer-map/index.d.ts +2 -2
- package/dist/esm/wafer-map/index.js +4 -4
- package/dist/esm/wafer-map/index.js.map +1 -1
- package/dist/esm/wafer-map/modules/prerendering.d.ts +1 -0
- package/dist/esm/wafer-map/modules/prerendering.js +26 -30
- package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
- package/dist/esm/wafer-map/modules/wafer-map-update-tracker.d.ts +1 -1
- package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js +5 -5
- package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
- package/dist/esm/wafer-map/types.d.ts +1 -0
- package/package.json +2 -1
|
@@ -12001,18 +12001,15 @@ return{origin:t,rows:n.y-t.y+1,cols:n.x-t.x+1}}calculateContainerDimensions(e,t)
|
|
|
12001
12001
|
return e===pj||e===gj?i.range([0,n]):i.range([n,0])}createInvertedHorizontalScale(e,t,n){const i=uj().domain([0,n])
|
|
12002
12002
|
return e===pj||e===gj?i.range(NZ(t.origin.x,t.origin.x+t.cols)):i.range(NZ(t.origin.x,t.origin.x+t.cols).reverse())}createVerticalScale(e,t,n){const i=zZ().domain(NZ(t.origin.y,t.origin.y+t.rows)).paddingInner(this.defaultPadding).paddingOuter(0).align(0).round(!1)
|
|
12003
12003
|
return e===pj||e===fj?i.range([n,0]):i.range([0,n])}createInvertedVerticalScale(e,t,n){const i=uj().domain([0,n])
|
|
12004
|
-
return e===pj||e===fj?i.range(NZ(t.origin.y,t.origin.y+t.rows).reverse()):i.range(NZ(t.origin.y,t.origin.y+t.rows))}calculateMarginAddition(e,t){return{top:e.top+t.top,right:e.right+t.right,bottom:e.bottom+t.bottom,left:e.left+t.left}}}class kj{constructor(e,t){this.wafermap=e,this.dataManager=t,this.fontSizeFactor=.8,this.nonHighlightedOpacity=.3,this.emptyDieColor="rgba(218,223,236,1)",this.nanDieColor="rgba(122,122,122,1)"}get labelsFontSize(){return this._labelsFontSize}get diesRenderInfo(){return this._diesRenderInfo}updateLabelsFontSize(){this._labelsFontSize=this.calculateLabelsFontSize(this.dataManager.dieDimensions,this.wafermap.maxCharacters),this.updateDiesRenderInfo()}updateDiesRenderInfo(){this.d3ColorScale=this.createD3ColorScale(this.wafermap.colorScale,this.wafermap.colorScaleMode)
|
|
12005
|
-
|
|
12006
|
-
this._diesRenderInfo=[]
|
|
12007
|
-
for(const l of this.wafermap.dies){const c=t(l.x)
|
|
12008
|
-
if(void 0===c)continue
|
|
12009
|
-
const d=n(l.y)
|
|
12010
|
-
void 0!==d&&this._diesRenderInfo.push({x:c+e.right,y:d+e.top,fillStyle:this.calculateFillStyle(l.value,i,o),text:this.buildLabel(l.value,r,s,a)})}}calculateLabelsFontSize(e,t){return Math.min(e.height,e.width/(.5*Math.max(2,t))*this.fontSizeFactor)}createD3ColorScale(e,t){return this.isColorScaleLinear(t)?hj().domain(e.values.map((e=>+e))).range(e.colors):VZ().domain(e.values).range(e.colors)}dieHasData(e){return null!=e&&""!==e}buildLabel(e,t,n,i){if(n||!this.dieHasData(e))return""
|
|
12004
|
+
return e===pj||e===fj?i.range(NZ(t.origin.y,t.origin.y+t.rows).reverse()):i.range(NZ(t.origin.y,t.origin.y+t.rows))}calculateMarginAddition(e,t){return{top:e.top+t.top,right:e.right+t.right,bottom:e.bottom+t.bottom,left:e.left+t.left}}}class kj{constructor(e,t){this.wafermap=e,this.dataManager=t,this.fontSizeFactor=.8,this.nonHighlightedOpacity=.3,this.emptyDieColor="rgba(218,223,236,1)",this.nanDieColor="rgba(122,122,122,1)"}get labelsFontSize(){return this._labelsFontSize}get diesRenderInfo(){return this._diesRenderInfo}updateLabelsFontSize(){this._labelsFontSize=this.calculateLabelsFontSize(this.dataManager.dieDimensions,this.wafermap.maxCharacters),this.updateDiesRenderInfo()}updateDiesRenderInfo(){this.d3ColorScale=this.createD3ColorScale(this.wafermap.colorScale,this.wafermap.colorScaleMode),this._diesRenderInfo=this.wafermap.dies.map((e=>this.computeDieRenderInfo(e))).filter((e=>null!==e))}computeDieRenderInfo(e){const t=this.dataManager.margin,n=this.dataManager.horizontalScale(e.x),i=this.dataManager.verticalScale(e.y)
|
|
12005
|
+
return void 0===n||void 0===i?null:{x:n+t.right,y:i+t.top,fillStyle:this.calculateFillStyle(e.value,this.wafermap.colorScaleMode,this.wafermap.highlightedTags,e.tags),text:this.buildLabel(e.value,this.wafermap.maxCharacters,this.wafermap.dieLabelsHidden,this.wafermap.dieLabelsSuffix)}}calculateLabelsFontSize(e,t){return Math.min(e.height,e.width/(.5*Math.max(2,t))*this.fontSizeFactor)}createD3ColorScale(e,t){return this.isColorScaleLinear(t)?hj().domain(e.values.map((e=>+e))).range(e.colors):VZ().domain(e.values).range(e.colors)}dieHasData(e){return null!=e&&""!==e}buildLabel(e,t,n,i){if(n||!this.dieHasData(e))return""
|
|
12011
12006
|
const o=`${e}${i}`
|
|
12012
|
-
return o.length>t?`${o.substring(0,t)}…`:o}calculateOpacity(e,t){
|
|
12013
|
-
|
|
12014
|
-
let o=
|
|
12015
|
-
|
|
12007
|
+
return o.length>t?`${o.substring(0,t)}…`:o}calculateOpacity(e,t){if(!t||0===t.length)return 1
|
|
12008
|
+
const n=new Set(t)
|
|
12009
|
+
return e?.some((e=>n.has(e)))?1:this.nonHighlightedOpacity}isColorScaleLinear(e){return e===wj}isColorScaleOrdinal(e){return e===yj}calculateFillStyle(e,t,n,i){let o=this.emptyDieColor
|
|
12010
|
+
if(this.dieHasData(e)&&(isNaN(+e)?o=this.nanDieColor:this.isColorScaleLinear(t)?o=this.d3ColorScale(+e):this.isColorScaleOrdinal(t)&&(o=this.d3ColorScale(e))),void 0===o)return this.emptyDieColor
|
|
12011
|
+
let r=Wo(o)
|
|
12012
|
+
return null===r?this.emptyDieColor:(r=new Vo(r.r,r.g,r.b,this.calculateOpacity(i,n)),r.toStringWebRGBA())}}class Cj{constructor(e){this.wafermap=e,this.computations=new xj(e),this.prerendering=new kj(e,this)}get containerDimensions(){return this.computations.containerDimensions}get dieDimensions(){return this.computations.dieDimensions}get radius(){return this.computations.radius}get margin(){return this.computations.margin}get horizontalScale(){return this.computations.horizontalScale}get invertedHorizontalScale(){return this.computations.invertedHorizontalScale}get verticalScale(){return this.computations.verticalScale}get invertedVerticalScale(){return this.computations.invertedVerticalScale}get labelsFontSize(){return this.prerendering.labelsFontSize}get diesRenderInfo(){return this.prerendering.diesRenderInfo}get data(){return this.dataMap}updateContainerDimensions(){this.computations.updateContainerDimensions(),this.updateDataMap(),this.updateLabelsFontSize()}updateScales(){this.computations.updateScales(),this.updateDataMap(),this.updateLabelsFontSize()}updateLabelsFontSize(){this.prerendering.updateLabelsFontSize()}updateDiesRenderInfo(){this.prerendering.updateDiesRenderInfo()}getWaferMapDie(e){return this.dataMap.get(`${e.x}_${e.y}`)}updateDataMap(){this.dataMap=new Map(this.wafermap.dies.map((e=>[`${e.x}_${e.y}`,e])))}}class Sj{constructor(e){this.wafermap=e,this.minDieDim=50}updateSortedDiesAndDrawWafer(){this.dies=this.wafermap.dataManager.diesRenderInfo.sort(((e,t)=>e.fillStyle>t.fillStyle?1:t.fillStyle>e.fillStyle?-1:0)),this.drawWafer()}drawWafer(){this.wafermap.canvasContext.save(),this.clearCanvas(),this.scaleCanvas(),this.renderDies(),this.renderText(),this.wafermap.canvasContext.restore(),this.renderHover()}renderHover(){this.wafermap.hoverWidth=this.wafermap.dataManager.dieDimensions.width*this.wafermap.transform.k,this.wafermap.hoverHeight=this.wafermap.dataManager.dieDimensions.height*this.wafermap.transform.k,this.wafermap.hoverOpacity=void 0===this.wafermap.hoverDie?bj:vj,this.wafermap.hoverTransform=this.calculateHoverTransform()}calculateHoverTransform(){if(void 0!==this.wafermap.hoverDie){const e=this.wafermap.dataManager.horizontalScale(this.wafermap.hoverDie.x)
|
|
12016
12013
|
if(void 0===e)return""
|
|
12017
12014
|
const t=this.wafermap.dataManager.verticalScale(this.wafermap.hoverDie.y)
|
|
12018
12015
|
if(void 0===t)return""
|
|
@@ -12033,11 +12030,11 @@ this.wafermap.hoverDie=this.wafermap.dataManager.getWaferMapDie(i)}mouseout(){th
|
|
|
12033
12030
|
return{x:i(e.dataManager.invertedHorizontalScale(t.x-e.dataManager.margin.left)),y:o(e.dataManager.invertedVerticalScale(t.y-e.dataManager.margin.top))}}hoversOverDie(e,t){const n=e.canvasContext.getImageData(t.x,t.y,1,1).data
|
|
12034
12031
|
let i=0
|
|
12035
12032
|
for(const e of n)i+=e
|
|
12036
|
-
return i>0}}class _j{constructor(e){this.wafermap=e,this.onWheelMove=e=>{e.preventDefault()},this.onMouseMove=e=>{this.hoverHandler.mousemove(e)},this.onMouseOut=()=>{this.hoverHandler.mouseout()},this.zoomHandler=new $j(e),this.hoverHandler=new Mj(e)}attachEvents(){this.zoomHandler.createZoomBehavior(),this.wafermap.addEventListener("mousemove",this.onMouseMove),this.wafermap.addEventListener("mouseout",this.onMouseOut),this.wafermap.canvas.addEventListener("wheel",this.onWheelMove,{passive:!1})}detachEvents(){this.wafermap.removeEventListener("mousemove",this.onMouseMove),this.wafermap.removeEventListener("mouseout",this.onMouseOut),this.wafermap.canvas.removeEventListener("wheel",this.onWheelMove)}}const Ej=["canvasWidth","canvasHeight","originLocation","gridMinX","gridMaxX","gridMinY","gridMaxY","dies","maxCharacters","colorScale","colorScaleMode","
|
|
12037
|
-
class Ij extends UL{constructor(e){super(Ej),this.wafermap=e,this.updateQueued=!1}get requiresEventsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")||this.isTracked("originLocation")||this.isTracked("gridMinX")||this.isTracked("gridMaxX")||this.isTracked("gridMinY")||this.isTracked("gridMaxY")||this.isTracked("dies")||this.isTracked("maxCharacters")||this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("
|
|
12033
|
+
return i>0}}class _j{constructor(e){this.wafermap=e,this.onWheelMove=e=>{e.preventDefault()},this.onMouseMove=e=>{this.hoverHandler.mousemove(e)},this.onMouseOut=()=>{this.hoverHandler.mouseout()},this.zoomHandler=new $j(e),this.hoverHandler=new Mj(e)}attachEvents(){this.zoomHandler.createZoomBehavior(),this.wafermap.addEventListener("mousemove",this.onMouseMove),this.wafermap.addEventListener("mouseout",this.onMouseOut),this.wafermap.canvas.addEventListener("wheel",this.onWheelMove,{passive:!1})}detachEvents(){this.wafermap.removeEventListener("mousemove",this.onMouseMove),this.wafermap.removeEventListener("mouseout",this.onMouseOut),this.wafermap.canvas.removeEventListener("wheel",this.onWheelMove)}}const Ej=["highlightedTags","canvasWidth","canvasHeight","originLocation","gridMinX","gridMaxX","gridMinY","gridMaxY","dies","maxCharacters","colorScale","colorScaleMode","dieLabelsHidden","dieLabelsSuffix","transform","hoverDie"]
|
|
12034
|
+
class Ij extends UL{constructor(e){super(Ej),this.wafermap=e,this.updateQueued=!1}get requiresEventsUpdate(){return this.isTracked("highlightedTags")||this.isTracked("canvasWidth")||this.isTracked("canvasHeight")||this.isTracked("originLocation")||this.isTracked("gridMinX")||this.isTracked("gridMaxX")||this.isTracked("gridMinY")||this.isTracked("gridMaxY")||this.isTracked("dies")||this.isTracked("maxCharacters")||this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("dieLabelsHidden")||this.isTracked("dieLabelsSuffix")||this.isTracked("transform")}get requiresContainerDimensionsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")}get requiresScalesUpdate(){return this.isTracked("originLocation")||this.isTracked("gridMinX")||this.isTracked("gridMaxX")||this.isTracked("gridMinY")||this.isTracked("gridMaxY")||this.isTracked("dies")}get requiresLabelsFontSizeUpdate(){return this.isTracked("maxCharacters")}get requiresDiesRenderInfoUpdate(){return this.isTracked("highlightedTags")||this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("dieLabelsHidden")||this.isTracked("dieLabelsSuffix")}get requiresDrawnWaferUpdate(){return this.isTracked("transform")}get requiresRenderHoverUpdate(){return this.isTracked("hoverDie")}queueUpdate(){this.wafermap.$fastController.isConnected&&(this.updateQueued||(this.updateQueued=!0,u.queueUpdate((()=>{this.wafermap.update(),this.untrackAll(),this.updateQueued=!1}))))}}class Aj{constructor(e){this.wafermap=e,this.invalidGridDimensions=!1}getValidity(){return{invalidGridDimensions:this.invalidGridDimensions}}isValid(){return Object.values(this.getValidity()).every((e=>!1===e))}validateGridDimensions(){return this.invalidGridDimensions=!1,void 0===this.wafermap.gridMinX&&void 0===this.wafermap.gridMaxX&&void 0===this.wafermap.gridMinY&&void 0===this.wafermap.gridMaxY?this.invalidGridDimensions=!1:("number"!=typeof this.wafermap.gridMinX||"number"!=typeof this.wafermap.gridMaxX||"number"!=typeof this.wafermap.gridMinY||"number"!=typeof this.wafermap.gridMaxY||this.wafermap.gridMaxX<this.wafermap.gridMinX||this.wafermap.gridMaxY<this.wafermap.gridMinY)&&(this.invalidGridDimensions=!0),!this.invalidGridDimensions}}class Oj extends Pt{constructor(){super(...arguments),this.waferMapUpdateTracker=new Ij(this),this.originLocation=pj,this.gridMinX=void 0,this.gridMaxX=void 0,this.gridMinY=void 0,this.gridMaxY=void 0,this.orientation=mj,this.maxCharacters=4,this.dieLabelsHidden=!1,this.dieLabelsSuffix="",this.colorScaleMode=wj,this.dataManager=new Cj(this),this.renderer=new Sj(this),this.renderQueued=!1,this.transform=aZ,this.hoverTransform="",this.hoverOpacity=bj,this.hoverWidth=0,this.hoverHeight=0,this.highlightedTags=[],this.dies=[],this.colorScale={colors:[],values:[]},this.eventCoordinator=new _j(this),this.resizeObserver=this.createResizeObserver(),this.waferMapValidator=new Aj(this)}get validity(){return this.waferMapValidator.getValidity()}connectedCallback(){super.connectedCallback(),this.canvasContext=this.canvas.getContext("2d",{willReadFrequently:!0}),this.resizeObserver.observe(this),this.waferMapUpdateTracker.trackAll()}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver.unobserve(this)}update(){this.waferMapUpdateTracker.requiresEventsUpdate?(this.eventCoordinator.detachEvents(),this.waferMapValidator.validateGridDimensions(),this.waferMapUpdateTracker.requiresContainerDimensionsUpdate?(this.dataManager.updateContainerDimensions(),this.renderer.updateSortedDiesAndDrawWafer()):this.waferMapUpdateTracker.requiresScalesUpdate?(this.dataManager.updateScales(),this.renderer.updateSortedDiesAndDrawWafer()):this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate?(this.dataManager.updateLabelsFontSize(),this.renderer.updateSortedDiesAndDrawWafer()):this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate?(this.dataManager.updateDiesRenderInfo(),this.renderer.updateSortedDiesAndDrawWafer()):this.waferMapUpdateTracker.requiresDrawnWaferUpdate&&this.renderer.drawWafer(),this.eventCoordinator.attachEvents()):this.waferMapUpdateTracker.requiresRenderHoverUpdate&&this.renderer.renderHover()}createResizeObserver(){return new ResizeObserver((e=>{const t=e[0]
|
|
12038
12035
|
if(void 0===t)return
|
|
12039
12036
|
const{height:n,width:i}=t.contentRect
|
|
12040
|
-
this.canvas.width=i,this.canvas.height=n,this.canvasWidth=i,this.canvasHeight=n}))}originLocationChanged(){this.waferMapUpdateTracker.track("originLocation"),this.waferMapUpdateTracker.queueUpdate()}gridMinXChanged(){this.waferMapUpdateTracker.track("gridMinX"),this.waferMapUpdateTracker.queueUpdate()}gridMaxXChanged(){this.waferMapUpdateTracker.track("gridMaxX"),this.waferMapUpdateTracker.queueUpdate()}gridMinYChanged(){this.waferMapUpdateTracker.track("gridMinY"),this.waferMapUpdateTracker.queueUpdate()}gridMaxYChanged(){this.waferMapUpdateTracker.track("gridMaxY"),this.waferMapUpdateTracker.queueUpdate()}maxCharactersChanged(){this.waferMapUpdateTracker.track("maxCharacters"),this.waferMapUpdateTracker.queueUpdate()}dieLabelsHiddenChanged(){this.waferMapUpdateTracker.track("dieLabelsHidden"),this.waferMapUpdateTracker.queueUpdate()}dieLabelsSuffixChanged(){this.waferMapUpdateTracker.track("dieLabelsSuffix"),this.waferMapUpdateTracker.queueUpdate()}colorScaleModeChanged(){this.waferMapUpdateTracker.track("colorScaleMode"),this.waferMapUpdateTracker.queueUpdate()}
|
|
12037
|
+
this.canvas.width=i,this.canvas.height=n,this.canvasWidth=i,this.canvasHeight=n}))}originLocationChanged(){this.waferMapUpdateTracker.track("originLocation"),this.waferMapUpdateTracker.queueUpdate()}gridMinXChanged(){this.waferMapUpdateTracker.track("gridMinX"),this.waferMapUpdateTracker.queueUpdate()}gridMaxXChanged(){this.waferMapUpdateTracker.track("gridMaxX"),this.waferMapUpdateTracker.queueUpdate()}gridMinYChanged(){this.waferMapUpdateTracker.track("gridMinY"),this.waferMapUpdateTracker.queueUpdate()}gridMaxYChanged(){this.waferMapUpdateTracker.track("gridMaxY"),this.waferMapUpdateTracker.queueUpdate()}maxCharactersChanged(){this.waferMapUpdateTracker.track("maxCharacters"),this.waferMapUpdateTracker.queueUpdate()}dieLabelsHiddenChanged(){this.waferMapUpdateTracker.track("dieLabelsHidden"),this.waferMapUpdateTracker.queueUpdate()}dieLabelsSuffixChanged(){this.waferMapUpdateTracker.track("dieLabelsSuffix"),this.waferMapUpdateTracker.queueUpdate()}colorScaleModeChanged(){this.waferMapUpdateTracker.track("colorScaleMode"),this.waferMapUpdateTracker.queueUpdate()}highlightedTagsChanged(){this.waferMapUpdateTracker.track("highlightedTags"),this.waferMapUpdateTracker.queueUpdate()}diesChanged(){this.waferMapUpdateTracker.track("dies"),this.waferMapUpdateTracker.queueUpdate()}colorScaleChanged(){this.waferMapUpdateTracker.track("colorScale"),this.waferMapUpdateTracker.queueUpdate()}transformChanged(){this.waferMapUpdateTracker.track("transform"),this.waferMapUpdateTracker.queueUpdate()}canvasWidthChanged(){this.waferMapUpdateTracker.track("canvasWidth"),this.waferMapUpdateTracker.queueUpdate()}canvasHeightChanged(){this.waferMapUpdateTracker.track("canvasHeight"),this.waferMapUpdateTracker.queueUpdate()}hoverDieChanged(){this.$emit("die-hover",{currentDie:this.hoverDie}),this.waferMapUpdateTracker.track("hoverDie"),this.waferMapUpdateTracker.queueUpdate()}}e([se({attribute:"origin-location"})],Oj.prototype,"originLocation",void 0),e([se({attribute:"grid-min-x",converter:oe})],Oj.prototype,"gridMinX",void 0),e([se({attribute:"grid-max-x",converter:oe})],Oj.prototype,"gridMaxX",void 0),e([se({attribute:"grid-min-y",converter:oe})],Oj.prototype,"gridMinY",void 0),e([se({attribute:"grid-max-y",converter:oe})],Oj.prototype,"gridMaxY",void 0),e([se],Oj.prototype,"orientation",void 0),e([se({attribute:"max-characters",converter:oe})],Oj.prototype,"maxCharacters",void 0),e([se({attribute:"die-labels-hidden",mode:"boolean"})],Oj.prototype,"dieLabelsHidden",void 0),e([se({attribute:"die-labels-suffix"})],Oj.prototype,"dieLabelsSuffix",void 0),e([se({attribute:"color-scale-mode"})],Oj.prototype,"colorScaleMode",void 0),e([m],Oj.prototype,"canvasWidth",void 0),e([m],Oj.prototype,"canvasHeight",void 0),e([m],Oj.prototype,"transform",void 0),e([m],Oj.prototype,"hoverTransform",void 0),e([m],Oj.prototype,"hoverOpacity",void 0),e([m],Oj.prototype,"hoverWidth",void 0),e([m],Oj.prototype,"hoverHeight",void 0),e([m],Oj.prototype,"hoverDie",void 0),e([m],Oj.prototype,"highlightedTags",void 0),e([m],Oj.prototype,"dies",void 0),e([m],Oj.prototype,"colorScale",void 0)
|
|
12041
12038
|
const Tj=Oj.compose({baseName:"wafer-map",template:bZ,styles:wZ})
|
|
12042
12039
|
bi.getOrCreate().withPrefix("nimble").register(Tj()),bi.tagFor(Oj)}()
|
|
12043
12040
|
//# sourceMappingURL=all-components-bundle.min.js.map
|