import { FoundationElement } from '@ni/fast-foundation'; import { ZoomTransform } from 'd3-zoom'; import { type Table, tableFromIPC } from 'apache-arrow'; import { DataManager } from './modules/data-manager'; import { RenderingModule } from './modules/rendering'; import { type HoverDie, HoverDieOpacity, type WaferMapColorScale, WaferMapColorScaleMode, type WaferMapDie, WaferMapOrientation, WaferMapOriginLocation, type WaferMapValidity, type WaferRequiredFields } from './types'; import { WaferMapUpdateTracker } from './modules/wafer-map-update-tracker'; import { WorkerRenderer } from './experimental/worker-renderer'; import { Computations } from './experimental/computations'; declare global { interface HTMLElementTagNameMap { 'nimble-wafer-map': WaferMap; } } /** * A nimble-styled WaferMap */ export declare class WaferMap extends FoundationElement { static readonly Arrow: { tableFromIPC: typeof tableFromIPC; }; /** * @internal * needs to be initialized before the properties trigger changes */ readonly waferMapUpdateTracker: WaferMapUpdateTracker; originLocation: WaferMapOriginLocation; gridMinX?: number; gridMaxX?: number; gridMinY?: number; gridMaxY?: number; orientation: WaferMapOrientation; maxCharacters: number; dieLabelsHidden: boolean; dieLabelsSuffix: string; colorScaleMode: WaferMapColorScaleMode; /** * @internal */ currentTask: Promise | undefined; /** * @internal */ workerCanvas: HTMLCanvasElement; /** * @internal */ readonly canvas: HTMLCanvasElement; /** * @internal */ canvasContext: CanvasRenderingContext2D; /** * @internal */ readonly zoomContainer: HTMLElement; readonly computations: Computations; dataManager: DataManager; readonly workerRenderer: WorkerRenderer; renderer: RenderingModule; /** * @internal */ renderQueued: boolean; /** * @internal */ canvasWidth: number; /** * @internal */ canvasHeight: number; /** * @internal */ transform: ZoomTransform; /** * @internal */ hoverTransform: string; /** * @internal */ hoverOpacity: HoverDieOpacity; /** * @internal */ hoverWidth: number; /** * @internal */ hoverHeight: number; /** * @internal */ hoverDie: WaferMapDie | HoverDie | undefined; highlightedTags: string[]; dies: WaferMapDie[]; diesTable: Table | undefined; colorScale: WaferMapColorScale; private readonly hoverHandler; private readonly experimentalHoverHandler; private readonly zoomHandler; private readonly resizeObserver; private readonly waferMapValidator; get validity(): WaferMapValidity; connectedCallback(): void; disconnectedCallback(): void; /** * @internal * Experimental update function called when an update is queued. */ experimentalUpdate(): Promise; /** * @internal * Update function called when an update is queued. * It will check which updates are needed based on which properties have changed. * Each update represents a different starting point of the same sequential update flow. * The updates snowball one after the other, this function only choses the 'altitude'. * The hover does not require an event update, but it's also the last update in the sequence. */ update(): void; /** * @internal */ isExperimentalUpdate(): boolean; setData(data: Table | WaferMapDie[]): Promise; private createSnapshot; private validate; private createResizeObserver; private originLocationChanged; private gridMinXChanged; private gridMaxXChanged; private gridMinYChanged; private gridMaxYChanged; private maxCharactersChanged; private dieLabelsHiddenChanged; private dieLabelsSuffixChanged; private colorScaleModeChanged; private highlightedTagsChanged; private diesChanged; private diesTableChanged; private colorScaleChanged; private transformChanged; private canvasWidthChanged; private canvasHeightChanged; private hoverDieChanged; private get asRequiredFieldsWaferMap(); } export declare const waferMapTag = "nimble-wafer-map";