@ni/nimble-components 20.1.4 → 20.1.6

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.
@@ -1013,11 +1013,11 @@ let Qi=class extends Vt{}
1013
1013
  let eo=class extends Vt{}
1014
1014
  et([se({mode:"boolean"})],eo.prototype,"disabled",void 0)
1015
1015
  const to="horizontal"
1016
- let no=class extends Vt{constructor(){super(...arguments),this.orientation=to,this.activeindicator=!0,this.showActiveIndicator=!0,this.prevActiveTabIndex=0,this.activeTabIndex=0,this.ticking=!1,this.change=()=>{this.$emit("change",this.activetab)},this.isDisabledElement=e=>"true"===e.getAttribute("aria-disabled"),this.isFocusableElement=e=>!this.isDisabledElement(e),this.setTabs=()=>{const e="gridColumn",t="gridRow",n=this.isHorizontal()?e:t
1016
+ let no=class extends Vt{constructor(){super(...arguments),this.orientation=to,this.activeindicator=!0,this.showActiveIndicator=!0,this.prevActiveTabIndex=0,this.activeTabIndex=0,this.ticking=!1,this.change=()=>{this.$emit("change",this.activetab)},this.isDisabledElement=e=>"true"===e.getAttribute("aria-disabled"),this.isHiddenElement=e=>e.hasAttribute("hidden"),this.isFocusableElement=e=>!this.isDisabledElement(e)&&!this.isHiddenElement(e),this.setTabs=()=>{const e="gridColumn",t="gridRow",n=this.isHorizontal()?e:t
1017
1017
  this.activeTabIndex=this.getActiveIndex(),this.showActiveIndicator=!1,this.tabs.forEach(((i,o)=>{if("tab"===i.slot){const e=this.activeTabIndex===o&&this.isFocusableElement(i)
1018
1018
  this.activeindicator&&this.isFocusableElement(i)&&(this.showActiveIndicator=!0)
1019
1019
  const t=this.tabIds[o],n=this.tabpanelIds[o]
1020
- i.setAttribute("id",t),i.setAttribute("aria-selected",e?"true":"false"),i.setAttribute("aria-controls",n),i.addEventListener("click",this.handleTabClick),i.addEventListener("keydown",this.handleTabKeyDown),i.setAttribute("tabindex",e?"0":"-1"),e&&(this.activetab=i)}i.style[e]="",i.style[t]="",i.style[n]=`${o+1}`,this.isHorizontal()?i.classList.remove("vertical"):i.classList.add("vertical")}))},this.setTabPanels=()=>{this.tabpanels.forEach(((e,t)=>{const n=this.tabIds[t],i=this.tabpanelIds[t]
1020
+ i.setAttribute("id",t),i.setAttribute("aria-selected",e?"true":"false"),i.setAttribute("aria-controls",n),i.addEventListener("click",this.handleTabClick),i.addEventListener("keydown",this.handleTabKeyDown),i.setAttribute("tabindex",e?"0":"-1"),e&&(this.activetab=i,this.activeid=t)}i.style[e]="",i.style[t]="",i.style[n]=`${o+1}`,this.isHorizontal()?i.classList.remove("vertical"):i.classList.add("vertical")}))},this.setTabPanels=()=>{this.tabpanels.forEach(((e,t)=>{const n=this.tabIds[t],i=this.tabpanelIds[t]
1021
1021
  e.setAttribute("id",i),e.setAttribute("aria-labelledby",n),this.activeTabIndex!==t?e.setAttribute("hidden",""):e.removeAttribute("hidden")}))},this.handleTabClick=e=>{const t=e.currentTarget
1022
1022
  1===t.nodeType&&this.isFocusableElement(t)&&(this.prevActiveTabIndex=this.activeTabIndex,this.activeTabIndex=this.tabs.indexOf(t),this.setComponent())},this.handleTabKeyDown=e=>{if(this.isHorizontal())switch(e.key){case Kt:e.preventDefault(),this.adjustBackward(e)
1023
1023
  break
@@ -1041,7 +1041,8 @@ this.activeIndicatorRef.style[e]=`${this.activeTabIndex+1}`
1041
1041
  const o=this.activeIndicatorRef[n]
1042
1042
  this.activeIndicatorRef.style[e]=`${this.prevActiveTabIndex+1}`
1043
1043
  const r=o-i
1044
- this.activeIndicatorRef.style.transform=`${t}(${r}px)`,this.activeIndicatorRef.classList.add("activeIndicatorTransition"),this.activeIndicatorRef.addEventListener("transitionend",(()=>{this.ticking=!1,this.activeIndicatorRef.style[e]=`${this.activeTabIndex+1}`,this.activeIndicatorRef.style.transform=`${t}(0px)`,this.activeIndicatorRef.classList.remove("activeIndicatorTransition")}))}adjust(e){this.prevActiveTabIndex=this.activeTabIndex,this.activeTabIndex=function(e,t,n){return n<e?t:n>t?e:n}(0,this.tabs.length-1,this.activeTabIndex+e),this.setComponent()}focusTab(){this.tabs[this.activeTabIndex].focus()}connectedCallback(){super.connectedCallback(),this.tabIds=this.getTabIds(),this.tabpanelIds=this.getTabPanelIds(),this.activeTabIndex=this.getActiveIndex()}}
1044
+ this.activeIndicatorRef.style.transform=`${t}(${r}px)`,this.activeIndicatorRef.classList.add("activeIndicatorTransition"),this.activeIndicatorRef.addEventListener("transitionend",(()=>{this.ticking=!1,this.activeIndicatorRef.style[e]=`${this.activeTabIndex+1}`,this.activeIndicatorRef.style.transform=`${t}(0px)`,this.activeIndicatorRef.classList.remove("activeIndicatorTransition")}))}adjust(e){const t=this.tabs.filter((e=>this.isFocusableElement(e))),n=t.indexOf(this.activetab),i=an(0,t.length-1,n+e),o=this.tabs.indexOf(t[i])
1045
+ o>-1&&this.moveToTabByIndex(this.tabs,o)}focusTab(){this.tabs[this.activeTabIndex].focus()}connectedCallback(){super.connectedCallback(),this.tabIds=this.getTabIds(),this.tabpanelIds=this.getTabPanelIds(),this.activeTabIndex=this.getActiveIndex()}}
1045
1046
  et([se],no.prototype,"orientation",void 0),et([se],no.prototype,"activeid",void 0),et([m],no.prototype,"tabs",void 0),et([m],no.prototype,"tabpanels",void 0),et([se({mode:"boolean"})],no.prototype,"activeindicator",void 0),et([m],no.prototype,"activeIndicatorRef",void 0),et([m],no.prototype,"showActiveIndicator",void 0),Pt(no,Ye)
1046
1047
  class io extends Vt{}class oo extends(kn(io)){constructor(){super(...arguments),this.proxy=document.createElement("textarea")}}const ro="none"
1047
1048
  let so=class extends oo{constructor(){super(...arguments),this.resize=ro,this.cols=20,this.handleTextInput=()=>{this.value=this.control.value}}readOnlyChanged(){this.proxy instanceof HTMLTextAreaElement&&(this.proxy.readOnly=this.readOnly)}autofocusChanged(){this.proxy instanceof HTMLTextAreaElement&&(this.proxy.autofocus=this.autofocus)}listChanged(){this.proxy instanceof HTMLTextAreaElement&&this.proxy.setAttribute("list",this.list)}maxlengthChanged(){this.proxy instanceof HTMLTextAreaElement&&(this.proxy.maxLength=this.maxlength)}minlengthChanged(){this.proxy instanceof HTMLTextAreaElement&&(this.proxy.minLength=this.minlength)}spellcheckChanged(){this.proxy instanceof HTMLTextAreaElement&&(this.proxy.spellcheck=this.spellcheck)}select(){this.control.select(),this.$emit("select")}handleChange(){this.$emit("change")}validate(){super.validate(this.control)}}
@@ -9147,12 +9148,16 @@ const o=`${e}${i}`
9147
9148
  return o.length>t?`${o.substring(0,t)}…`:o}calculateOpacity(e,t){return t.length>0&&!t.some((t=>t===e))?this.nonHighlightedOpacity:1}isColorScaleLinear(e){return e===LD}isColorScaleOrdinal(e){return e===HD}calculateFillStyle(e,t,n){let i=this.emptyDieColor
9148
9149
  if(this.dieHasData(e)&&(isNaN(+e)?i=this.nanDieColor:this.isColorScaleLinear(t)?i=this.d3ColorScale(+e):this.isColorScaleOrdinal(t)&&(i=this.d3ColorScale(e))),void 0===i)return this.emptyDieColor
9149
9150
  let o=Uo(i)
9150
- return null===o?this.emptyDieColor:(o=new Vo(o.r,o.g,o.b,this.calculateOpacity(e,n)),o.toStringWebRGBA())}}class ND{constructor(e){this.wafermap=e,this.computations=new PD(e),this.prerendering=new BD(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 qD{constructor(e){this.wafermap=e,this.minDieDim=50}drawWafer(){this.wafermap.canvasContext.save(),this.clearCanvas(),this.scaleCanvas(),this.sortDies(),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?VD:zD,this.wafermap.hoverTransform=this.calculateHoverTransform()}calculateHoverTransform(){if(void 0!==this.wafermap.hoverDie){const e=this.wafermap.dataManager.horizontalScale(this.wafermap.hoverDie.x),t=this.wafermap.dataManager.verticalScale(this.wafermap.hoverDie.y),n=this.wafermap.transform.apply([e+this.wafermap.dataManager.margin.left,t+this.wafermap.dataManager.margin.top])
9151
- return`translate(${n[0]}, ${n[1]})`}return""}sortDies(){this.dies=this.wafermap.dataManager.diesRenderInfo.sort(((e,t)=>e.fillStyle>t.fillStyle?1:t.fillStyle>e.fillStyle?-1:0))}renderDies(){let e
9152
- for(const t of this.dies)e||(this.wafermap.canvasContext.fillStyle=t.fillStyle),e&&t.fillStyle!==e.fillStyle&&t.fillStyle&&(this.wafermap.canvasContext.fillStyle=t.fillStyle),this.wafermap.canvasContext.fillRect(t.x,t.y,this.wafermap.dataManager.dieDimensions.width,this.wafermap.dataManager.dieDimensions.height),e=t}renderText(){const e=this.wafermap.dataManager.dieDimensions.width*this.wafermap.dataManager.dieDimensions.height*(this.wafermap.transform.k||1),t=this.wafermap.dataManager.labelsFontSize
9153
- this.wafermap.canvasContext.font=`${t.toString()}px sans-serif`,this.wafermap.canvasContext.fillStyle="#ffffff",this.wafermap.canvasContext.textAlign="center",this.wafermap.canvasContext.lineCap="butt"
9154
- const n=this.wafermap.canvasContext.measureText("M"),i=this.wafermap.dataManager.dieDimensions
9155
- if(e>=this.minDieDim)for(const e of this.dies)this.wafermap.canvasContext.fillText(e.text,e.x+i.width/2,e.y+i.height/2+n.width/2,i.width-i.width/100*20)}clearCanvas(){this.wafermap.canvasContext.clearRect(0,0,this.wafermap.canvasWidth*this.wafermap.transform.k,this.wafermap.canvasHeight*this.wafermap.transform.k)}scaleCanvas(){this.wafermap.canvasContext.translate(this.wafermap.transform.x,this.wafermap.transform.y),this.wafermap.canvasContext.scale(this.wafermap.transform.k,this.wafermap.transform.k)}}class ZD{constructor(e){this.wafermap=e,this.zoomTransform=_E,this.minScale=1.1,this.minExtentPoint=[-100,-100],this.extentPadding=100}createZoomBehavior(){this.zoomBehavior=TE().scaleExtent([1.1,this.getZoomMax(this.wafermap.canvasWidth*this.wafermap.canvasHeight,this.wafermap.dataManager.containerDimensions.width*this.wafermap.dataManager.containerDimensions.height)]).translateExtent([this.minExtentPoint,[this.wafermap.canvasWidth+this.extentPadding,this.wafermap.canvasHeight+this.extentPadding]]).filter((e=>SE(this.wafermap.canvas).k>=this.minScale||"wheel"===e.type)).on("zoom",(e=>{this.rescale(e)})),this.zoomBehavior(uA(this.wafermap.canvas))}rescale(e){const t=e.transform
9151
+ return null===o?this.emptyDieColor:(o=new Vo(o.r,o.g,o.b,this.calculateOpacity(e,n)),o.toStringWebRGBA())}}class ND{constructor(e){this.wafermap=e,this.computations=new PD(e),this.prerendering=new BD(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 qD{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?VD:zD,this.wafermap.hoverTransform=this.calculateHoverTransform()}calculateHoverTransform(){if(void 0!==this.wafermap.hoverDie){const e=this.wafermap.dataManager.horizontalScale(this.wafermap.hoverDie.x),t=this.wafermap.dataManager.verticalScale(this.wafermap.hoverDie.y),n=this.wafermap.transform.apply([e+this.wafermap.dataManager.margin.left,t+this.wafermap.dataManager.margin.top])
9152
+ return`translate(${n[0]}, ${n[1]})`}return""}renderDies(){const e=this.wafermap.canvasContext,t=this.wafermap.dataManager.dieDimensions.width,n=this.wafermap.dataManager.dieDimensions.height,i=this.wafermap.transform.invert([0,0]),o=this.wafermap.transform.invert([this.wafermap.canvas.width,this.wafermap.canvas.height])
9153
+ i[0]-=t,i[1]-=n
9154
+ for(const r of this.dies)this.isDieVisible(r,i,o)&&(e.fillStyle=r.fillStyle,e.fillRect(r.x,r.y,t,n))}renderText(){if(this.wafermap.dieLabelsHidden)return
9155
+ const e=this.wafermap.dataManager.dieDimensions.width,t=this.wafermap.dataManager.dieDimensions.height
9156
+ if(e*t*(this.wafermap.transform.k||1)>=this.minDieDim){const n=this.wafermap.dataManager.labelsFontSize,i=this.wafermap.canvasContext
9157
+ i.font=`${n.toString()}px sans-serif`,i.fillStyle="#ffffff",i.textAlign="center",i.lineCap="butt"
9158
+ const o=i.measureText("M"),r=this.wafermap.transform.invert([0,0]),s=this.wafermap.transform.invert([this.wafermap.canvas.width,this.wafermap.canvas.height])
9159
+ r[0]-=e,r[1]-=t
9160
+ for(const n of this.dies)this.isDieVisible(n,r,s)&&i.fillText(n.text,n.x+e/2,n.y+t/2+o.width/2,e-e/100*20)}}clearCanvas(){this.wafermap.canvasContext.clearRect(0,0,this.wafermap.canvas.width,this.wafermap.canvas.height)}scaleCanvas(){this.wafermap.canvasContext.translate(this.wafermap.transform.x,this.wafermap.transform.y),this.wafermap.canvasContext.scale(this.wafermap.transform.k,this.wafermap.transform.k)}isDieVisible(e,t,n){return e.x>=t[0]&&e.x<n[0]&&e.y>=t[1]&&e.y<n[1]}}class ZD{constructor(e){this.wafermap=e,this.zoomTransform=_E,this.minScale=1.1,this.minExtentPoint=[-100,-100],this.extentPadding=100}createZoomBehavior(){this.zoomBehavior=TE().scaleExtent([1.1,this.getZoomMax(this.wafermap.canvasWidth*this.wafermap.canvasHeight,this.wafermap.dataManager.containerDimensions.width*this.wafermap.dataManager.containerDimensions.height)]).translateExtent([this.minExtentPoint,[this.wafermap.canvasWidth+this.extentPadding,this.wafermap.canvasHeight+this.extentPadding]]).filter((e=>SE(this.wafermap.canvas).k>=this.minScale||"wheel"===e.type)).on("zoom",(e=>{this.rescale(e)})),this.zoomBehavior(uA(this.wafermap.canvas))}rescale(e){const t=e.transform
9156
9161
  t.k===this.minScale?(this.zoomTransform=_E,this.zoomBehavior.transform(uA(this.wafermap.canvas),_E)):this.zoomTransform=t,this.wafermap.transform=this.zoomTransform}getZoomMax(e,t){return Math.ceil(t/e*100)}}class UD{constructor(e){this.wafermap=e}mousemove(e){const t={x:e.offsetX,y:e.offsetY}
9157
9162
  if(!this.hoversOverDie(this.wafermap,t))return void(this.wafermap.hoverDie=void 0)
9158
9163
  const n=this.wafermap.transform.invert([t.x,t.y]),i=this.calculateDieCoordinates(this.wafermap,{x:n[0],y:n[1]})
@@ -9161,7 +9166,7 @@ return{x:i(e.dataManager.invertedHorizontalScale(t.x-e.dataManager.margin.left))
9161
9166
  let i=0
9162
9167
  for(const e of n)i+=e
9163
9168
  return i>0}}class jD{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 ZD(e),this.hoverHandler=new UD(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 GD=["canvasWidth","canvasHeight","quadrant","dies","maxCharacters","colorScale","colorScaleMode","highlightedValues","dieLabelsHidden","dieLabelsSuffix","transform","hoverDie"]
9164
- class WD extends sS{constructor(e){super(GD),this.wafermap=e,this.updateQueued=!1}get requiresEventsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")||this.isTracked("quadrant")||this.isTracked("dies")||this.isTracked("maxCharacters")||this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("highlightedValues")||this.isTracked("dieLabelsHidden")||this.isTracked("dieLabelsSuffix")||this.isTracked("transform")}get requiresContainerDimensionsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")}get requiresScalesUpdate(){return this.isTracked("quadrant")||this.isTracked("dies")}get requiresLabelsFontSizeUpdate(){return this.isTracked("maxCharacters")}get requiresDiesRenderInfoUpdate(){return this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("highlightedValues")||this.isTracked("dieLabelsHidden")||this.isTracked("dieLabelsSuffix")}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 KD extends Vt{constructor(){super(...arguments),this.waferMapUpdateTracker=new WD(this),this.quadrant=FD,this.orientation=TD,this.maxCharacters=4,this.dieLabelsHidden=!1,this.dieLabelsSuffix="",this.colorScaleMode=LD,this.dataManager=new ND(this),this.renderer=new qD(this),this.renderQueued=!1,this.transform=_E,this.hoverTransform="",this.hoverOpacity=VD,this.hoverWidth=0,this.hoverHeight=0,this.highlightedValues=[],this.dies=[],this.colorScale={colors:[],values:[]},this.eventCoordinator=new jD(this),this.resizeObserver=this.createResizeObserver()}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.waferMapUpdateTracker.requiresContainerDimensionsUpdate?this.dataManager.updateContainerDimensions():this.waferMapUpdateTracker.requiresScalesUpdate?this.dataManager.updateScales():this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate?this.dataManager.updateLabelsFontSize():this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate&&this.dataManager.updateDiesRenderInfo(),this.renderer.drawWafer(),this.eventCoordinator.attachEvents()):this.waferMapUpdateTracker.requiresRenderHoverUpdate&&this.renderer.renderHover()}createResizeObserver(){return new ResizeObserver((e=>{const t=e[0]
9169
+ class WD extends sS{constructor(e){super(GD),this.wafermap=e,this.updateQueued=!1}get requiresEventsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")||this.isTracked("quadrant")||this.isTracked("dies")||this.isTracked("maxCharacters")||this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("highlightedValues")||this.isTracked("dieLabelsHidden")||this.isTracked("dieLabelsSuffix")||this.isTracked("transform")}get requiresContainerDimensionsUpdate(){return this.isTracked("canvasWidth")||this.isTracked("canvasHeight")}get requiresScalesUpdate(){return this.isTracked("quadrant")||this.isTracked("dies")}get requiresLabelsFontSizeUpdate(){return this.isTracked("maxCharacters")}get requiresDiesRenderInfoUpdate(){return this.isTracked("colorScale")||this.isTracked("colorScaleMode")||this.isTracked("highlightedValues")||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 KD extends Vt{constructor(){super(...arguments),this.waferMapUpdateTracker=new WD(this),this.quadrant=FD,this.orientation=TD,this.maxCharacters=4,this.dieLabelsHidden=!1,this.dieLabelsSuffix="",this.colorScaleMode=LD,this.dataManager=new ND(this),this.renderer=new qD(this),this.renderQueued=!1,this.transform=_E,this.hoverTransform="",this.hoverOpacity=VD,this.hoverWidth=0,this.hoverHeight=0,this.highlightedValues=[],this.dies=[],this.colorScale={colors:[],values:[]},this.eventCoordinator=new jD(this),this.resizeObserver=this.createResizeObserver()}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.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]
9165
9170
  if(void 0===t)return
9166
9171
  const{height:n,width:i}=t.contentRect
9167
9172
  this.canvas.width=i,this.canvas.height=n,this.canvasWidth=i,this.canvasHeight=n}))}quadrantChanged(){this.waferMapUpdateTracker.track("quadrant"),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()}highlightedValuesChanged(){this.waferMapUpdateTracker.track("highlightedValues"),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],KD.prototype,"quadrant",void 0),e([se],KD.prototype,"orientation",void 0),e([se({attribute:"max-characters",converter:oe})],KD.prototype,"maxCharacters",void 0),e([se({attribute:"die-labels-hidden",mode:"boolean"})],KD.prototype,"dieLabelsHidden",void 0),e([se({attribute:"die-labels-suffix"})],KD.prototype,"dieLabelsSuffix",void 0),e([se({attribute:"color-scale-mode"})],KD.prototype,"colorScaleMode",void 0),e([m],KD.prototype,"canvasWidth",void 0),e([m],KD.prototype,"canvasHeight",void 0),e([m],KD.prototype,"transform",void 0),e([m],KD.prototype,"hoverTransform",void 0),e([m],KD.prototype,"hoverOpacity",void 0),e([m],KD.prototype,"hoverWidth",void 0),e([m],KD.prototype,"hoverHeight",void 0),e([m],KD.prototype,"hoverDie",void 0),e([m],KD.prototype,"highlightedValues",void 0),e([m],KD.prototype,"dies",void 0),e([m],KD.prototype,"colorScale",void 0)