@ni/nimble-components 26.0.0 → 27.0.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.
Files changed (41) hide show
  1. package/dist/all-components-bundle.js +498 -112
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +7825 -7751
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/src/theme-provider/design-token-comments.d.ts +1 -1
  6. package/dist/esm/src/theme-provider/design-tokens.d.ts +23 -23
  7. package/dist/esm/src/wafer-map/index.d.ts +9 -1
  8. package/dist/esm/src/wafer-map/modules/experimental/worker-renderer.d.ts +3 -1
  9. package/dist/esm/src/wafer-map/modules/zoom-handler.d.ts +2 -0
  10. package/dist/esm/src/wafer-map/workers/matrix-renderer.d.ts +1 -1
  11. package/dist/esm/theme-provider/design-token-comments.d.ts +1 -1
  12. package/dist/esm/theme-provider/design-token-comments.js +1 -24
  13. package/dist/esm/theme-provider/design-token-comments.js.map +1 -1
  14. package/dist/esm/theme-provider/design-token-names.js +1 -24
  15. package/dist/esm/theme-provider/design-token-names.js.map +1 -1
  16. package/dist/esm/theme-provider/design-tokens.d.ts +23 -23
  17. package/dist/esm/theme-provider/design-tokens.js +32 -55
  18. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  19. package/dist/esm/wafer-map/index.d.ts +9 -1
  20. package/dist/esm/wafer-map/index.js +6 -11
  21. package/dist/esm/wafer-map/index.js.map +1 -1
  22. package/dist/esm/wafer-map/modules/experimental/worker-renderer.d.ts +3 -1
  23. package/dist/esm/wafer-map/modules/experimental/worker-renderer.js +52 -2
  24. package/dist/esm/wafer-map/modules/experimental/worker-renderer.js.map +1 -1
  25. package/dist/esm/wafer-map/modules/prerendering.js +5 -3
  26. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  27. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js +14 -3
  28. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
  29. package/dist/esm/wafer-map/modules/zoom-handler.d.ts +2 -0
  30. package/dist/esm/wafer-map/modules/zoom-handler.js +10 -0
  31. package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
  32. package/dist/esm/wafer-map/styles.js +10 -5
  33. package/dist/esm/wafer-map/styles.js.map +1 -1
  34. package/dist/esm/wafer-map/template.js +2 -1
  35. package/dist/esm/wafer-map/template.js.map +1 -1
  36. package/dist/esm/wafer-map/workers/matrix-renderer.d.ts +1 -1
  37. package/dist/esm/wafer-map/workers/matrix-renderer.js +1 -1
  38. package/dist/esm/wafer-map/workers/matrix-renderer.js.map +1 -1
  39. package/dist/tokens-internal.scss +0 -138
  40. package/dist/tokens.scss +0 -69
  41. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../../src/theme-provider/design-tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSDesignToken, DesignToken } from '@microsoft/fast-foundation';\nimport { parseColorHexRGB } from '@microsoft/fast-colors';\nimport {\n Black,\n Black7,\n Black15,\n Black80,\n Black85,\n Black88,\n Black91,\n White,\n ForestGreen,\n DigitalGreenLight,\n Fail100LightUi,\n SmallDelay,\n MediumDelay,\n LargeDelay,\n Fail100DarkUi,\n Warning100LightUi,\n Warning100DarkUi,\n Pass100LightUi,\n Pass100DarkUi,\n BodyFamily,\n BodySize,\n BodyWeight,\n Body2Family,\n Body2Size,\n Body2Weight,\n ControlLabel1Family,\n ControlLabel1Size,\n ControlLabel1Weight,\n GroupLabel1Family,\n GroupLabel1Size,\n GroupLabel1Weight,\n Headline2Size,\n Headline2Family,\n Headline2Weight,\n Headline1Size,\n Headline1Family,\n Headline1Weight,\n Title3Size,\n Title3Family,\n Title3Weight,\n Title2Size,\n Title2Family,\n Title2Weight,\n Title1Size,\n Title1Family,\n Title1Weight,\n Subtitle2Size,\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle1Size,\n Subtitle1Family,\n Subtitle1Weight,\n LinkLightUiSize,\n LinkLightUiFamily,\n LinkLightUiWeight,\n PlaceholderSize,\n PlaceholderFamily,\n PlaceholderWeight,\n BodyEmphasizedSize,\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasized2Size,\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n ButtonLabel1Size,\n ButtonLabel1Family,\n ButtonLabel1Weight,\n TooltipCaptionSize,\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n ErrorLightUiSize,\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n Headline2LineHeight,\n Headline1LineHeight,\n Title3LineHeight,\n Title2LineHeight,\n Title1LineHeight,\n Subtitle2LineHeight,\n Subtitle1LineHeight,\n LinkLineHeight,\n PlaceholderLineHeight,\n BodyEmphasizedLineHeight,\n BodyEmphasized2LineHeight,\n BodyLineHeight,\n Body2LineHeight,\n GroupLabel1LineHeight,\n ControlLabel1LineHeight,\n ButtonLabel1LineHeight,\n TooltipCaptionLineHeight,\n Information100LightUi,\n Information100DarkUi,\n DigitalGreenDark,\n PowerGreen,\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n DigitalGreenDark105\n} from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport {\n modalBackdropColorThemeColorStatic,\n modalBackdropColorThemeDarkStatic,\n modalBackdropColorThemeLightStatic\n} from './design-tokens-static';\nimport { Theme } from './types';\nimport { tokenNames, styleNameFromTokenName } from './design-token-names';\nimport { theme } from '.';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst Headline1FallbackFontFamily = 'Noto Serif Fallback';\nconst Headline2FallbackFontFamily = 'Noto Serif Fallback';\nconst Title1FallbackFontFamily = 'Source Sans Pro Fallback';\nconst Title2FallbackFontFamily = 'Source Sans Pro Fallback';\nconst Title3FallbackFontFamily = 'Source Sans Pro Fallback';\nconst Subtitle1FallbackFontFamily = 'Source Sans Pro Fallback';\nconst Subtitle2FallbackFontFamily = 'Source Sans Pro Fallback';\nconst LinkFallbackFontFamily = 'Source Sans Pro Fallback';\nconst PlaceholderFallbackFontFamily = 'Source Sans Pro Fallback';\nconst BodyFallbackFontFamily = 'Source Sans Pro Fallback';\nconst Body2FallbackFontFamily = 'Source Sans Pro Fallback';\nconst BodyEmphasizedFallbackFontFamily = 'Source Sans Pro Fallback';\nconst BodyEmphasized2FallbackFontFamily = 'Source Sans Pro Fallback';\nconst GroupLabel1FallbackFontFamily = 'Source Sans Pro Fallback';\nconst ControlLabel1FallbackFontFamily = 'Source Sans Pro Fallback';\nconst ButtonLabel1FallbackFontFamily = 'Source Sans Pro Fallback';\nconst TooltipCaptionFallbackFontFamily = 'Source Sans Pro Fallback';\nconst ErrorLightUiFallbackFontFamily = 'Source Sans Pro Fallback';\nconst GridHeaderFallbackFontFamily = 'Source Sans Pro Fallback';\n/* eslint-enable @typescript-eslint/naming-convention */\n\n// Color Tokens\nexport const actionRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.actionRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getColorForTheme(element, Black91, Black15, White)));\n\nexport const applicationBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.applicationBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black85, ForestGreen));\n\nexport const headerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.headerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black7, Black88, ForestGreen));\n\nexport const sectionBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.sectionBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const dividerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dividerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const fillSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.2));\n\nexport const fillSelectedRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillSelectedColorForTheme(element)));\n\nexport const fillHoverSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.15));\n\nexport const fillHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillHoverColorForTheme(element), 0.1));\n\nexport const fillHoverRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillHoverColorForTheme(element)));\n\nexport const fillDownColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillDownColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillDownColorForTheme(element), 0.15));\n\nexport const borderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderColor)\n).withDefault((element: HTMLElement) => getDefaultLineColorForTheme(element));\n\nexport const borderRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getDefaultLineColorForTheme(element)));\n\nexport const failColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.failColor)\n).withDefault((element: HTMLElement) => getFailColorForTheme(element));\n\nexport const warningColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.warningColor)\n).withDefault((element: HTMLElement) => getWarningColorForTheme(element));\n\nexport const passColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.passColor)\n).withDefault((element: HTMLElement) => getPassColorForTheme(element));\n\nexport const informationColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.informationColor)\n).withDefault((element: HTMLElement) => getInformationColorForTheme(element));\n\nexport const borderHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderHoverColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenLight, PowerGreen, White));\n\n// Component Color Tokens\nexport const iconColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black91, Black15, White));\n\nexport const modalBackdropColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.modalBackdropColor)\n).withDefault((element: HTMLElement) => getModalBackdropForTheme(element));\n\nexport const popupBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.popupBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.3));\n\nexport const cardBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.cardBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const graphGridlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphGridlineColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.2));\n\nexport const tooltipBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tooltipBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black85, ForestGreen));\n\nexport const tableRowBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tableRowBorderColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const buttonFillPrimaryColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillPrimaryColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n hexToRgbaCssColor(Black91, 0.75),\n hexToRgbaCssColor(Black15, 0.3),\n hexToRgbaCssColor(White, 0.3)\n));\n\nexport const buttonPrimaryFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonPrimaryFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black15, White));\n\nexport const buttonFillAccentColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillAccentColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenDark,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.1)\n));\n\nexport const buttonAccentBlockFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentBlockFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black15, White));\n\nexport const buttonAccentOutlineFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentOutlineFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White));\n\nexport const buttonBorderAccentOutlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonBorderAccentOutlineColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n PowerGreen,\n hexToRgbaCssColor(White, 0.3)\n));\n\n// Component Sizing Tokens\nexport const controlHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlHeight)\n).withDefault('32px');\nexport const controlSlimHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlSlimHeight)\n).withDefault('24px');\nexport const smallPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallPadding)\n).withDefault('4px');\nexport const mediumPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumPadding)\n).withDefault('8px');\nexport const standardPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.standardPadding)\n).withDefault('16px');\nexport const largePadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largePadding)\n).withDefault('24px');\nexport const labelHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.labelHeight)\n).withDefault('16px');\nexport const borderWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderWidth)\n).withDefault('1px');\nexport const iconSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconSize)\n).withDefault('16px');\nexport const drawerWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.drawerWidth)\n).withDefault('784px');\nexport const dialogSmallWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallWidth)\n).withDefault('400px');\nexport const dialogSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallHeight)\n).withDefault('fit-content');\nexport const dialogSmallMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallMaxHeight)\n).withDefault('600px');\nexport const dialogLargeWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeWidth)\n).withDefault('1024px');\nexport const dialogLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeHeight)\n).withDefault('680px');\nexport const dialogLargeMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeMaxHeight)\n).withDefault('680px');\nexport const menuMinWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.menuMinWidth)\n).withDefault('176px');\nexport const bannerGapSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.bannerGapSize)\n).withDefault('1px');\n\nexport const spinnerSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerSmallHeight)\n).withDefault('16px');\nexport const spinnerMediumHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerMediumHeight)\n).withDefault('32px');\nexport const spinnerLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerLargeHeight)\n).withDefault('64px');\n\n// Drop Shadow Tokens\nexport const elevation1BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation1BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 1px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation2BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation2BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 2px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation3BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation3BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 4px 8px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.3\n )}`\n);\n\n// Font Tokens\nexport const [\n headlineFont,\n headlineFontColor,\n headlineDisabledFontColor,\n headlineFontFamily,\n headlineFontWeight,\n headlineFontSize,\n headlineFontLineHeight,\n headlineFallbackFontFamily\n] = createFontTokens(\n tokenNames.headlineFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline1Family,\n Headline1Weight,\n Headline1Size,\n Headline1LineHeight,\n Headline1FallbackFontFamily\n);\n\nexport const [\n headlinePlus1Font,\n headlinePlus1FontColor,\n headlinePlus1DisabledFontColor,\n headlinePlus1FontFamily,\n headlinePlus1FontWeight,\n headlinePlus1FontSize,\n headlinePlus1FontLineHeight,\n headlinePlus1FallbackFontFamily\n] = createFontTokens(\n tokenNames.headlinePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline2Family,\n Headline2Weight,\n Headline2Size,\n Headline2LineHeight,\n Headline2FallbackFontFamily\n);\n\nexport const [\n titlePlus2Font,\n titlePlus2FontColor,\n titlePlus2DisabledFontColor,\n titlePlus2FontFamily,\n titlePlus2FontWeight,\n titlePlus2FontSize,\n titlePlus2FontLineHeight,\n titlePlus2FallbackFontFamily\n] = createFontTokens(\n tokenNames.titlePlus2Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title3Family,\n Title3Weight,\n Title3Size,\n Title3LineHeight,\n Title3FallbackFontFamily\n);\n\nexport const [\n titlePlus1Font,\n titlePlus1FontColor,\n titlePlus1DisabledFontColor,\n titlePlus1FontFamily,\n titlePlus1FontWeight,\n titlePlus1FontSize,\n titlePlus1FontLineHeight,\n titlePlus1FallbackFontFamily\n] = createFontTokens(\n tokenNames.titlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title2Family,\n Title2Weight,\n Title2Size,\n Title2LineHeight,\n Title2FallbackFontFamily\n);\n\nexport const [\n titleFont,\n titleFontColor,\n titleDisabledFontColor,\n titleFontFamily,\n titleFontWeight,\n titleFontSize,\n titleFontLineHeight,\n titleFallbackFontFamily\n] = createFontTokens(\n tokenNames.titleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title1Family,\n Title1Weight,\n Title1Size,\n Title1LineHeight,\n Title1FallbackFontFamily\n);\n\nexport const [\n subtitlePlus1Font,\n subtitlePlus1FontColor,\n subtitlePlus1DisabledFontColor,\n subtitlePlus1FontFamily,\n subtitlePlus1FontWeight,\n subtitlePlus1FontSize,\n subtitlePlus1FontLineHeight,\n subtitlePlus1FallbackFontFamily\n] = createFontTokens(\n tokenNames.subtitlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle2Size,\n Subtitle2LineHeight,\n Subtitle2FallbackFontFamily\n);\n\nexport const [\n subtitleFont,\n subtitleFontColor,\n subtitleDisabledFontColor,\n subtitleFontFamily,\n subtitleFontWeight,\n subtitleFontSize,\n subtitleFontLineHeight,\n subtitleFallbackFontFamily\n] = createFontTokens(\n tokenNames.subtitleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle1Family,\n Subtitle1Weight,\n Subtitle1Size,\n Subtitle1LineHeight,\n Subtitle1FallbackFontFamily\n);\n\nexport const [\n linkFont,\n linkFontColor,\n linkDisabledFontColor,\n linkFontFamily,\n linkFontWeight,\n linkFontSize,\n linkFontLineHeight,\n linkFallbackFontFamily\n] = createFontTokens(\n tokenNames.linkFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight,\n LinkFallbackFontFamily\n);\n\nexport const [\n linkActiveFont,\n linkActiveFontColor,\n linkActiveDisabledFontColor,\n linkActiveFontFamily,\n linkActiveFontWeight,\n linkActiveFontSize,\n linkActiveFontLineHeight,\n linkActiveFallbackFontFamily\n] = createFontTokens(\n tokenNames.linkActiveFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.6)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight,\n LinkFallbackFontFamily\n);\n\nexport const [\n linkProminentFont,\n linkProminentFontColor,\n linkProminentDisabledFontColor,\n linkProminentFontFamily,\n linkProminentFontWeight,\n linkProminentFontSize,\n linkProminentFontLineHeight,\n linkProminentFallbackFontFamily\n] = createFontTokens(\n tokenNames.linkProminentFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight,\n LinkFallbackFontFamily\n);\n\nexport const [\n linkActiveProminentFont,\n linkActiveProminentFontColor,\n linkActiveProminentDisabledFontColor,\n linkActiveProminentFontFamily,\n linkActiveProminentFontWeight,\n linkActiveProminentFontSize,\n linkActiveProminentFontLineHeight,\n linkActiveProminentFallbackFontFamily\n] = createFontTokens(\n tokenNames.linkActiveProminentFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.6)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight,\n LinkFallbackFontFamily\n);\n\nexport const [\n placeholderFont,\n placeholderFontColor,\n placeholderDisabledFontColor,\n placeholderFontFamily,\n placeholderFontWeight,\n placeholderFontSize,\n placeholderFontLineHeight,\n placeholderFallbackFontFamily\n] = createFontTokens(\n tokenNames.placeholderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n PlaceholderFamily,\n PlaceholderWeight,\n PlaceholderSize,\n PlaceholderLineHeight,\n PlaceholderFallbackFontFamily\n);\n\nexport const [\n bodyFont,\n bodyFontColor,\n bodyDisabledFontColor,\n bodyFontFamily,\n bodyFontWeight,\n bodyFontSize,\n bodyFontLineHeight,\n bodyFallbackFontFamily\n] = createFontTokens(\n tokenNames.bodyFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyWeight,\n BodySize,\n BodyLineHeight,\n BodyFallbackFontFamily\n);\n\nexport const [\n bodyEmphasizedFont,\n bodyEmphasizedFontColor,\n bodyEmphasizedDisabledFontColor,\n bodyEmphasizedFontFamily,\n bodyEmphasizedFontWeight,\n bodyEmphasizedFontSize,\n bodyEmphasizedFontLineHeight,\n bodyEmphasizedFallbackFontFamily\n] = createFontTokens(\n tokenNames.bodyEmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasizedSize,\n BodyEmphasizedLineHeight,\n BodyEmphasizedFallbackFontFamily\n);\n\nexport const [\n bodyPlus1Font,\n bodyPlus1FontColor,\n bodyPlus1DisabledFontColor,\n bodyPlus1FontFamily,\n bodyPlus1FontWeight,\n bodyPlus1FontSize,\n bodyPlus1FontLineHeight,\n bodyPlus1FallbackFontFamily\n] = createFontTokens(\n tokenNames.bodyPlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Body2Family,\n Body2Weight,\n Body2Size,\n Body2LineHeight,\n Body2FallbackFontFamily\n);\n\nexport const [\n bodyPlus1EmphasizedFont,\n bodyPlus1EmphasizedFontColor,\n bodyPlus1EmphasizedDisabledFontColor,\n bodyPlus1EmphasizedFontFamily,\n bodyPlus1EmphasizedFontWeight,\n bodyPlus1EmphasizedFontSize,\n bodyPlus1EmphasizedFontLineHeight,\n bodyPlus1EmphasizedFallbackFontFamily\n] = createFontTokens(\n tokenNames.bodyPlus1EmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n BodyEmphasized2Size,\n BodyEmphasized2LineHeight,\n BodyEmphasized2FallbackFontFamily\n);\n\nexport const [\n groupHeaderFont,\n groupHeaderFontColor,\n groupHeaderDisabledFontColor,\n groupHeaderFontFamily,\n groupHeaderFontWeight,\n groupHeaderFontSize,\n groupHeaderFontLineHeight,\n groupHeaderFallbackFontFamily\n] = createFontTokens(\n tokenNames.groupHeaderFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GroupLabel1Family,\n GroupLabel1Weight,\n GroupLabel1Size,\n GroupLabel1LineHeight,\n GroupLabel1FallbackFontFamily\n);\n\nexport const [\n controlLabelFont,\n controlLabelFontColor,\n controlLabelDisabledFontColor,\n controlLabelFontFamily,\n controlLabelFontWeight,\n controlLabelFontSize,\n controlLabelFontLineHeight,\n controlLabelFallbackFontFamily\n] = createFontTokens(\n tokenNames.controlLabelFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ControlLabel1Family,\n ControlLabel1Weight,\n ControlLabel1Size,\n ControlLabel1LineHeight,\n ControlLabel1FallbackFontFamily\n);\n\nexport const [\n buttonLabelFont,\n buttonLabelFontColor,\n buttonLabelDisabledFontColor,\n buttonLabelFontFamily,\n buttonLabelFontWeight,\n buttonLabelFontSize,\n buttonLabelFontLineHeight,\n buttonLabelFallbackFontFamily\n] = createFontTokens(\n tokenNames.buttonLabelFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ButtonLabel1Family,\n ButtonLabel1Weight,\n ButtonLabel1Size,\n ButtonLabel1LineHeight,\n ButtonLabel1FallbackFontFamily\n);\n\nexport const [\n tooltipCaptionFont,\n tooltipCaptionFontColor,\n tooltipCaptionDisabledFontColor,\n tooltipCaptionFontFamily,\n tooltipCaptionFontWeight,\n tooltipCaptionFontSize,\n tooltipCaptionFontLineHeight,\n tooltipCaptionFallbackFontFamily\n] = createFontTokens(\n tokenNames.tooltipCaptionFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n TooltipCaptionSize,\n TooltipCaptionLineHeight,\n TooltipCaptionFallbackFontFamily\n);\n\nexport const [\n errorTextFont,\n errorTextFontColor,\n errorTextDisabledFontColor,\n errorTextFontFamily,\n errorTextFontWeight,\n errorTextFontSize,\n errorTextFontLineHeight,\n errorTextFallbackFontFamily\n] = createFontTokens(\n tokenNames.errorTextFont,\n (element: HTMLElement) => getFailColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getFailColorForTheme(element), 0.3),\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n ErrorLightUiSize,\n TooltipCaptionLineHeight,\n ErrorLightUiFallbackFontFamily\n);\n\nexport const [\n tableHeaderFont,\n tableHeaderFontColor,\n tableHeaderDisabledFontColor,\n tableHeaderFontFamily,\n tableHeaderFontWeight,\n tableHeaderFontSize,\n tableHeaderFontLineHeight,\n tableHeaderFallbackFontFamily\n] = createFontTokens(\n tokenNames.tableHeaderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n TooltipCaptionLineHeight,\n GridHeaderFallbackFontFamily\n);\n\nexport const [\n mentionFont,\n mentionFontColor,\n mentionDisabledFontColor,\n mentionFontFamily,\n mentionFontWeight,\n mentionFontSize,\n mentionFontLineHeight,\n mentionFallbackFontFamily\n] = createFontTokens(\n tokenNames.mentionFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyEmphasizedWeight,\n BodySize,\n BodyLineHeight,\n BodyFallbackFontFamily\n);\n\n// Font Transform Tokens\nexport const groupHeaderTextTransform = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.groupHeaderTextTransform)\n).withDefault('uppercase');\n\n// Animation Tokens\nexport const smallDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallDelay)\n).withDefault(SmallDelay);\nexport const mediumDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumDelay)\n).withDefault(MediumDelay);\nexport const largeDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largeDelay)\n).withDefault(LargeDelay);\n\n// Private helpers functions\nfunction hexToRgbPartial(hexValue: string): string {\n const { r, g, b } = parseColorHexRGB(hexValue)!;\n return `${r * 255}, ${g * 255}, ${b * 255}`;\n}\n\nfunction createFontTokens(\n fontTokenName: string,\n colorFunction: (element: HTMLElement) => string,\n disabledColorFunction: (element: HTMLElement) => string,\n family: string,\n weight: string,\n size: string,\n lineHeight: string,\n fallbackFamily: string\n): readonly [\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>\n ] {\n if (\n fontTokenName === ''\n || family === ''\n || weight === ''\n || size === ''\n || lineHeight === ''\n || fallbackFamily === ''\n ) {\n throw new Error(\n 'createFontTokens parameter unexpectedly set to empty string'\n );\n }\n\n const fontToken = DesignToken.create<string>(\n styleNameFromTokenName(fontTokenName)\n ).withDefault(\n `${weight} ${size}/${lineHeight} ${family}, ${fallbackFamily}`\n );\n\n const fontNameParts = fontTokenName.split('-font');\n const tokenPrefixWithoutFont = fontNameParts[0];\n if (tokenPrefixWithoutFont === undefined || fontNameParts[1] !== '') {\n throw new Error(\n `fontTokenName value of ${fontTokenName} did not have the expected '-font' suffix`\n );\n }\n\n const fontColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-color`)\n ).withDefault((element: HTMLElement) => colorFunction(element));\n\n const fontDisabledColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-disabled-font-color`)\n ).withDefault((element: HTMLElement) => disabledColorFunction(element));\n\n const fontFamilyToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-family`)\n ).withDefault(`${family}`);\n\n const fontWeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-weight`)\n ).withDefault(`${weight}`);\n\n const fontSizeToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-size`)\n ).withDefault(`${size}`);\n\n const fontLineHeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-line-height`)\n ).withDefault(`${lineHeight}`);\n\n const fontFallbackFamilyToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-fallback-font-family`)\n ).withDefault(`${fallbackFamily}`);\n\n return [\n fontToken,\n fontColorToken,\n fontDisabledColorToken,\n fontFamilyToken,\n fontWeightToken,\n fontSizeToken,\n fontLineHeightToken,\n fontFallbackFamilyToken\n ] as const;\n}\n\nfunction getColorForTheme(\n element: HTMLElement,\n lightThemeColor: string,\n darkThemeColor: string,\n colorThemeColor: string\n): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return lightThemeColor;\n case Theme.dark:\n return darkThemeColor;\n case Theme.color:\n return colorThemeColor;\n default:\n return lightThemeColor;\n }\n}\n\nfunction getWarningColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Warning100LightUi,\n Warning100DarkUi,\n White\n );\n}\n\nfunction getFailColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Fail100LightUi, Fail100DarkUi, White);\n}\n\nfunction getPassColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Pass100LightUi, Pass100DarkUi, White);\n}\n\nfunction getInformationColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Information100LightUi,\n Information100DarkUi,\n White\n );\n}\n\nfunction getDefaultLineColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getDefaultFontColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillSelectedColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, DigitalGreenLight, PowerGreen, White);\n}\n\nfunction getFillHoverColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillDownColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getModalBackdropForTheme(element: HTMLElement): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return modalBackdropColorThemeLightStatic;\n case Theme.dark:\n return modalBackdropColorThemeDarkStatic;\n case Theme.color:\n return modalBackdropColorThemeColorStatic;\n default:\n return modalBackdropColorThemeLightStatic;\n }\n}\n"]}
1
+ {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../../src/theme-provider/design-tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSDesignToken, DesignToken } from '@microsoft/fast-foundation';\nimport { parseColorHexRGB } from '@microsoft/fast-colors';\nimport {\n Black,\n Black7,\n Black15,\n Black80,\n Black85,\n Black88,\n Black91,\n White,\n ForestGreen,\n DigitalGreenLight,\n Fail100LightUi,\n SmallDelay,\n MediumDelay,\n LargeDelay,\n Fail100DarkUi,\n Warning100LightUi,\n Warning100DarkUi,\n Pass100LightUi,\n Pass100DarkUi,\n BodyFamily,\n BodySize,\n BodyWeight,\n Body2Family,\n Body2Size,\n Body2Weight,\n ControlLabel1Family,\n ControlLabel1Size,\n ControlLabel1Weight,\n GroupLabel1Family,\n GroupLabel1Size,\n GroupLabel1Weight,\n Headline2Size,\n Headline2Family,\n Headline2Weight,\n Headline1Size,\n Headline1Family,\n Headline1Weight,\n Title3Size,\n Title3Family,\n Title3Weight,\n Title2Size,\n Title2Family,\n Title2Weight,\n Title1Size,\n Title1Family,\n Title1Weight,\n Subtitle2Size,\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle1Size,\n Subtitle1Family,\n Subtitle1Weight,\n LinkLightUiSize,\n LinkLightUiFamily,\n LinkLightUiWeight,\n PlaceholderSize,\n PlaceholderFamily,\n PlaceholderWeight,\n BodyEmphasizedSize,\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasized2Size,\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n ButtonLabel1Size,\n ButtonLabel1Family,\n ButtonLabel1Weight,\n TooltipCaptionSize,\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n ErrorLightUiSize,\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n Headline2LineHeight,\n Headline1LineHeight,\n Title3LineHeight,\n Title2LineHeight,\n Title1LineHeight,\n Subtitle2LineHeight,\n Subtitle1LineHeight,\n LinkLineHeight,\n PlaceholderLineHeight,\n BodyEmphasizedLineHeight,\n BodyEmphasized2LineHeight,\n BodyLineHeight,\n Body2LineHeight,\n GroupLabel1LineHeight,\n ControlLabel1LineHeight,\n ButtonLabel1LineHeight,\n TooltipCaptionLineHeight,\n Information100LightUi,\n Information100DarkUi,\n DigitalGreenDark,\n PowerGreen,\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n DigitalGreenDark105\n} from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport {\n modalBackdropColorThemeColorStatic,\n modalBackdropColorThemeDarkStatic,\n modalBackdropColorThemeLightStatic\n} from './design-tokens-static';\nimport { Theme } from './types';\nimport { tokenNames, styleNameFromTokenName } from './design-token-names';\nimport { theme } from '.';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\n// Color Tokens\nexport const actionRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.actionRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getColorForTheme(element, Black91, Black15, White)));\n\nexport const applicationBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.applicationBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black85, ForestGreen));\n\nexport const headerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.headerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black7, Black88, ForestGreen));\n\nexport const sectionBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.sectionBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const dividerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dividerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const fillSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.2));\n\nexport const fillSelectedRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillSelectedColorForTheme(element)));\n\nexport const fillHoverSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.15));\n\nexport const fillHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillHoverColorForTheme(element), 0.1));\n\nexport const fillHoverRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillHoverColorForTheme(element)));\n\nexport const fillDownColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillDownColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillDownColorForTheme(element), 0.15));\n\nexport const borderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderColor)\n).withDefault((element: HTMLElement) => getDefaultLineColorForTheme(element));\n\nexport const borderRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getDefaultLineColorForTheme(element)));\n\nexport const failColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.failColor)\n).withDefault((element: HTMLElement) => getFailColorForTheme(element));\n\nexport const warningColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.warningColor)\n).withDefault((element: HTMLElement) => getWarningColorForTheme(element));\n\nexport const passColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.passColor)\n).withDefault((element: HTMLElement) => getPassColorForTheme(element));\n\nexport const informationColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.informationColor)\n).withDefault((element: HTMLElement) => getInformationColorForTheme(element));\n\nexport const borderHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderHoverColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenLight, PowerGreen, White));\n\n// Component Color Tokens\nexport const iconColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black91, Black15, White));\n\nexport const modalBackdropColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.modalBackdropColor)\n).withDefault((element: HTMLElement) => getModalBackdropForTheme(element));\n\nexport const popupBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.popupBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.3));\n\nexport const cardBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.cardBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const graphGridlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphGridlineColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.2));\n\nexport const tooltipBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tooltipBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black85, ForestGreen));\n\nexport const tableRowBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tableRowBorderColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const buttonFillPrimaryColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillPrimaryColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n hexToRgbaCssColor(Black91, 0.75),\n hexToRgbaCssColor(Black15, 0.3),\n hexToRgbaCssColor(White, 0.3)\n));\n\nexport const buttonPrimaryFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonPrimaryFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black15, White));\n\nexport const buttonFillAccentColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillAccentColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenDark,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.1)\n));\n\nexport const buttonAccentBlockFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentBlockFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black15, White));\n\nexport const buttonAccentOutlineFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentOutlineFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White));\n\nexport const buttonBorderAccentOutlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonBorderAccentOutlineColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n PowerGreen,\n hexToRgbaCssColor(White, 0.3)\n));\n\n// Component Sizing Tokens\nexport const controlHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlHeight)\n).withDefault('32px');\nexport const controlSlimHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlSlimHeight)\n).withDefault('24px');\nexport const smallPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallPadding)\n).withDefault('4px');\nexport const mediumPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumPadding)\n).withDefault('8px');\nexport const standardPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.standardPadding)\n).withDefault('16px');\nexport const largePadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largePadding)\n).withDefault('24px');\nexport const labelHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.labelHeight)\n).withDefault('16px');\nexport const borderWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderWidth)\n).withDefault('1px');\nexport const iconSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconSize)\n).withDefault('16px');\nexport const drawerWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.drawerWidth)\n).withDefault('784px');\nexport const dialogSmallWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallWidth)\n).withDefault('400px');\nexport const dialogSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallHeight)\n).withDefault('fit-content');\nexport const dialogSmallMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallMaxHeight)\n).withDefault('600px');\nexport const dialogLargeWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeWidth)\n).withDefault('1024px');\nexport const dialogLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeHeight)\n).withDefault('680px');\nexport const dialogLargeMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeMaxHeight)\n).withDefault('680px');\nexport const menuMinWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.menuMinWidth)\n).withDefault('176px');\nexport const bannerGapSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.bannerGapSize)\n).withDefault('1px');\n\nexport const spinnerSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerSmallHeight)\n).withDefault('16px');\nexport const spinnerMediumHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerMediumHeight)\n).withDefault('32px');\nexport const spinnerLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerLargeHeight)\n).withDefault('64px');\n\n// Drop Shadow Tokens\nexport const elevation1BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation1BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 1px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation2BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation2BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 2px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation3BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation3BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 4px 8px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.3\n )}`\n);\n\n// Font Tokens\nexport const [\n headlineFont,\n headlineFontColor,\n headlineDisabledFontColor,\n headlineFontFamily,\n headlineFontWeight,\n headlineFontSize,\n headlineFontLineHeight\n] = createFontTokens(\n tokenNames.headlineFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline1Family,\n Headline1Weight,\n Headline1Size,\n Headline1LineHeight\n);\n\nexport const [\n headlinePlus1Font,\n headlinePlus1FontColor,\n headlinePlus1DisabledFontColor,\n headlinePlus1FontFamily,\n headlinePlus1FontWeight,\n headlinePlus1FontSize,\n headlinePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.headlinePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline2Family,\n Headline2Weight,\n Headline2Size,\n Headline2LineHeight\n);\n\nexport const [\n titlePlus2Font,\n titlePlus2FontColor,\n titlePlus2DisabledFontColor,\n titlePlus2FontFamily,\n titlePlus2FontWeight,\n titlePlus2FontSize,\n titlePlus2FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus2Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title3Family,\n Title3Weight,\n Title3Size,\n Title3LineHeight\n);\n\nexport const [\n titlePlus1Font,\n titlePlus1FontColor,\n titlePlus1DisabledFontColor,\n titlePlus1FontFamily,\n titlePlus1FontWeight,\n titlePlus1FontSize,\n titlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title2Family,\n Title2Weight,\n Title2Size,\n Title2LineHeight\n);\n\nexport const [\n titleFont,\n titleFontColor,\n titleDisabledFontColor,\n titleFontFamily,\n titleFontWeight,\n titleFontSize,\n titleFontLineHeight\n] = createFontTokens(\n tokenNames.titleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title1Family,\n Title1Weight,\n Title1Size,\n Title1LineHeight\n);\n\nexport const [\n subtitlePlus1Font,\n subtitlePlus1FontColor,\n subtitlePlus1DisabledFontColor,\n subtitlePlus1FontFamily,\n subtitlePlus1FontWeight,\n subtitlePlus1FontSize,\n subtitlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.subtitlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle2Size,\n Subtitle2LineHeight\n);\n\nexport const [\n subtitleFont,\n subtitleFontColor,\n subtitleDisabledFontColor,\n subtitleFontFamily,\n subtitleFontWeight,\n subtitleFontSize,\n subtitleFontLineHeight\n] = createFontTokens(\n tokenNames.subtitleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle1Family,\n Subtitle1Weight,\n Subtitle1Size,\n Subtitle1LineHeight\n);\n\nexport const [\n linkFont,\n linkFontColor,\n linkDisabledFontColor,\n linkFontFamily,\n linkFontWeight,\n linkFontSize,\n linkFontLineHeight\n] = createFontTokens(\n tokenNames.linkFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveFont,\n linkActiveFontColor,\n linkActiveDisabledFontColor,\n linkActiveFontFamily,\n linkActiveFontWeight,\n linkActiveFontSize,\n linkActiveFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.6)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkProminentFont,\n linkProminentFontColor,\n linkProminentDisabledFontColor,\n linkProminentFontFamily,\n linkProminentFontWeight,\n linkProminentFontSize,\n linkProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkProminentFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveProminentFont,\n linkActiveProminentFontColor,\n linkActiveProminentDisabledFontColor,\n linkActiveProminentFontFamily,\n linkActiveProminentFontWeight,\n linkActiveProminentFontSize,\n linkActiveProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveProminentFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.6)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n placeholderFont,\n placeholderFontColor,\n placeholderDisabledFontColor,\n placeholderFontFamily,\n placeholderFontWeight,\n placeholderFontSize,\n placeholderFontLineHeight\n] = createFontTokens(\n tokenNames.placeholderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n PlaceholderFamily,\n PlaceholderWeight,\n PlaceholderSize,\n PlaceholderLineHeight\n);\n\nexport const [\n bodyFont,\n bodyFontColor,\n bodyDisabledFontColor,\n bodyFontFamily,\n bodyFontWeight,\n bodyFontSize,\n bodyFontLineHeight\n] = createFontTokens(\n tokenNames.bodyFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyWeight,\n BodySize,\n BodyLineHeight\n);\n\nexport const [\n bodyEmphasizedFont,\n bodyEmphasizedFontColor,\n bodyEmphasizedDisabledFontColor,\n bodyEmphasizedFontFamily,\n bodyEmphasizedFontWeight,\n bodyEmphasizedFontSize,\n bodyEmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyEmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasizedSize,\n BodyEmphasizedLineHeight\n);\n\nexport const [\n bodyPlus1Font,\n bodyPlus1FontColor,\n bodyPlus1DisabledFontColor,\n bodyPlus1FontFamily,\n bodyPlus1FontWeight,\n bodyPlus1FontSize,\n bodyPlus1FontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Body2Family,\n Body2Weight,\n Body2Size,\n Body2LineHeight\n);\n\nexport const [\n bodyPlus1EmphasizedFont,\n bodyPlus1EmphasizedFontColor,\n bodyPlus1EmphasizedDisabledFontColor,\n bodyPlus1EmphasizedFontFamily,\n bodyPlus1EmphasizedFontWeight,\n bodyPlus1EmphasizedFontSize,\n bodyPlus1EmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1EmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n BodyEmphasized2Size,\n BodyEmphasized2LineHeight\n);\n\nexport const [\n groupHeaderFont,\n groupHeaderFontColor,\n groupHeaderDisabledFontColor,\n groupHeaderFontFamily,\n groupHeaderFontWeight,\n groupHeaderFontSize,\n groupHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.groupHeaderFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GroupLabel1Family,\n GroupLabel1Weight,\n GroupLabel1Size,\n GroupLabel1LineHeight\n);\n\nexport const [\n controlLabelFont,\n controlLabelFontColor,\n controlLabelDisabledFontColor,\n controlLabelFontFamily,\n controlLabelFontWeight,\n controlLabelFontSize,\n controlLabelFontLineHeight\n] = createFontTokens(\n tokenNames.controlLabelFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ControlLabel1Family,\n ControlLabel1Weight,\n ControlLabel1Size,\n ControlLabel1LineHeight\n);\n\nexport const [\n buttonLabelFont,\n buttonLabelFontColor,\n buttonLabelDisabledFontColor,\n buttonLabelFontFamily,\n buttonLabelFontWeight,\n buttonLabelFontSize,\n buttonLabelFontLineHeight\n] = createFontTokens(\n tokenNames.buttonLabelFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ButtonLabel1Family,\n ButtonLabel1Weight,\n ButtonLabel1Size,\n ButtonLabel1LineHeight\n);\n\nexport const [\n tooltipCaptionFont,\n tooltipCaptionFontColor,\n tooltipCaptionDisabledFontColor,\n tooltipCaptionFontFamily,\n tooltipCaptionFontWeight,\n tooltipCaptionFontSize,\n tooltipCaptionFontLineHeight\n] = createFontTokens(\n tokenNames.tooltipCaptionFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n TooltipCaptionSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n errorTextFont,\n errorTextFontColor,\n errorTextDisabledFontColor,\n errorTextFontFamily,\n errorTextFontWeight,\n errorTextFontSize,\n errorTextFontLineHeight\n] = createFontTokens(\n tokenNames.errorTextFont,\n (element: HTMLElement) => getFailColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getFailColorForTheme(element), 0.3),\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n ErrorLightUiSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n tableHeaderFont,\n tableHeaderFontColor,\n tableHeaderDisabledFontColor,\n tableHeaderFontFamily,\n tableHeaderFontWeight,\n tableHeaderFontSize,\n tableHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.tableHeaderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n mentionFont,\n mentionFontColor,\n mentionDisabledFontColor,\n mentionFontFamily,\n mentionFontWeight,\n mentionFontSize,\n mentionFontLineHeight\n] = createFontTokens(\n tokenNames.mentionFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyEmphasizedWeight,\n BodySize,\n BodyLineHeight\n);\n\n// Font Transform Tokens\nexport const groupHeaderTextTransform = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.groupHeaderTextTransform)\n).withDefault('uppercase');\n\n// Animation Tokens\nexport const smallDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallDelay)\n).withDefault(SmallDelay);\nexport const mediumDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumDelay)\n).withDefault(MediumDelay);\nexport const largeDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largeDelay)\n).withDefault(LargeDelay);\n\n// Private helpers functions\nfunction hexToRgbPartial(hexValue: string): string {\n const { r, g, b } = parseColorHexRGB(hexValue)!;\n return `${r * 255}, ${g * 255}, ${b * 255}`;\n}\n\nfunction createFontTokens(\n fontTokenName: string,\n colorFunction: (element: HTMLElement) => string,\n disabledColorFunction: (element: HTMLElement) => string,\n family: string,\n weight: string,\n size: string,\n lineHeight: string\n): readonly [\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>\n ] {\n if (\n fontTokenName === ''\n || family === ''\n || weight === ''\n || size === ''\n || lineHeight === ''\n ) {\n throw new Error(\n 'createFontTokens parameter unexpectedly set to empty string'\n );\n }\n\n const familyWithFallback = `${family}, ${family} Fallback`;\n const fontToken = DesignToken.create<string>(\n styleNameFromTokenName(fontTokenName)\n ).withDefault(`${weight} ${size}/${lineHeight} ${familyWithFallback}`);\n\n const fontNameParts = fontTokenName.split('-font');\n const tokenPrefixWithoutFont = fontNameParts[0];\n if (tokenPrefixWithoutFont === undefined || fontNameParts[1] !== '') {\n throw new Error(\n `fontTokenName value of ${fontTokenName} did not have the expected '-font' suffix`\n );\n }\n\n const fontColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-color`)\n ).withDefault((element: HTMLElement) => colorFunction(element));\n\n const fontDisabledColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-disabled-font-color`)\n ).withDefault((element: HTMLElement) => disabledColorFunction(element));\n\n const fontFamilyToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-family`)\n ).withDefault(familyWithFallback);\n\n const fontWeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-weight`)\n ).withDefault(weight);\n\n const fontSizeToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-size`)\n ).withDefault(size);\n\n const fontLineHeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-line-height`)\n ).withDefault(lineHeight);\n\n return [\n fontToken,\n fontColorToken,\n fontDisabledColorToken,\n fontFamilyToken,\n fontWeightToken,\n fontSizeToken,\n fontLineHeightToken\n ] as const;\n}\n\nfunction getColorForTheme(\n element: HTMLElement,\n lightThemeColor: string,\n darkThemeColor: string,\n colorThemeColor: string\n): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return lightThemeColor;\n case Theme.dark:\n return darkThemeColor;\n case Theme.color:\n return colorThemeColor;\n default:\n return lightThemeColor;\n }\n}\n\nfunction getWarningColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Warning100LightUi,\n Warning100DarkUi,\n White\n );\n}\n\nfunction getFailColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Fail100LightUi, Fail100DarkUi, White);\n}\n\nfunction getPassColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Pass100LightUi, Pass100DarkUi, White);\n}\n\nfunction getInformationColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Information100LightUi,\n Information100DarkUi,\n White\n );\n}\n\nfunction getDefaultLineColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getDefaultFontColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillSelectedColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, DigitalGreenLight, PowerGreen, White);\n}\n\nfunction getFillHoverColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillDownColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getModalBackdropForTheme(element: HTMLElement): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return modalBackdropColorThemeLightStatic;\n case Theme.dark:\n return modalBackdropColorThemeDarkStatic;\n case Theme.color:\n return modalBackdropColorThemeColorStatic;\n default:\n return modalBackdropColorThemeLightStatic;\n }\n}\n"]}
@@ -31,6 +31,14 @@ export declare class WaferMap<T extends WaferRequiredFields = WaferRequiredField
31
31
  dieLabelsHidden: boolean;
32
32
  dieLabelsSuffix: string;
33
33
  colorScaleMode: WaferMapColorScaleMode;
34
+ /**
35
+ * @internal
36
+ */
37
+ currentTask: Promise<void> | undefined;
38
+ /**
39
+ * @internal
40
+ */
41
+ workerCanvas: HTMLCanvasElement;
34
42
  /**
35
43
  * @internal
36
44
  */
@@ -99,7 +107,7 @@ export declare class WaferMap<T extends WaferRequiredFields = WaferRequiredField
99
107
  * @internal
100
108
  * Experimental update function called when an update is queued.
101
109
  */
102
- experimentalUpdate(): void;
110
+ experimentalUpdate(): Promise<void>;
103
111
  /**
104
112
  * @internal
105
113
  * Update function called when an update is queued.
@@ -100,27 +100,25 @@ export class WaferMap extends FoundationElement {
100
100
  * @internal
101
101
  * Experimental update function called when an update is queued.
102
102
  */
103
- experimentalUpdate() {
103
+ async experimentalUpdate() {
104
104
  if (this.validity.invalidDiesTableSchema) {
105
105
  return;
106
106
  }
107
107
  if (this.waferMapUpdateTracker.requiresEventsUpdate) {
108
- // zoom translateExtent needs to be recalculated when canvas size changes
109
- this.zoomHandler.disconnect();
110
108
  if (this.waferMapUpdateTracker.requiresContainerDimensionsUpdate
111
109
  || this.waferMapUpdateTracker.requiresScalesUpdate) {
112
110
  this.experimentalDataManager.updateComputations();
113
- this.workerRenderer.drawWafer();
111
+ await this.workerRenderer.setupWafer();
112
+ await this.workerRenderer.drawWafer();
114
113
  }
115
114
  else if (this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate
116
115
  || this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate) {
117
116
  this.experimentalDataManager.updatePrerendering();
118
- this.workerRenderer.drawWafer();
117
+ await this.workerRenderer.drawWafer();
119
118
  }
120
119
  else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {
121
- this.workerRenderer.drawWafer();
120
+ await this.workerRenderer.drawWafer();
122
121
  }
123
- this.zoomHandler.connect();
124
122
  }
125
123
  else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {
126
124
  this.workerRenderer.renderHover();
@@ -137,12 +135,10 @@ export class WaferMap extends FoundationElement {
137
135
  update() {
138
136
  this.validate();
139
137
  if (this.isExperimentalUpdate()) {
140
- this.experimentalUpdate();
138
+ this.currentTask = this.experimentalUpdate();
141
139
  return;
142
140
  }
143
141
  if (this.waferMapUpdateTracker.requiresEventsUpdate) {
144
- // zoom translateExtent needs to be recalculated when canvas size changes
145
- this.zoomHandler.disconnect();
146
142
  if (this.waferMapUpdateTracker.requiresContainerDimensionsUpdate) {
147
143
  this.dataManager.updateContainerDimensions();
148
144
  this.renderer.updateSortedDiesAndDrawWafer();
@@ -162,7 +158,6 @@ export class WaferMap extends FoundationElement {
162
158
  else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {
163
159
  this.renderer.drawWafer();
164
160
  }
165
- this.zoomHandler.connect();
166
161
  }
167
162
  else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {
168
163
  this.renderer.renderHover();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wafer-map/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n nullableNumberConverter,\n observable\n} from '@microsoft/fast-element';\nimport { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';\nimport { zoomIdentity, ZoomTransform } from 'd3-zoom';\nimport type { Table } from 'apache-arrow';\nimport { template } from './template';\nimport { styles } from './styles';\nimport { DataManager } from './modules/data-manager';\nimport { DataManager as ExperimentalDataManager } from './modules/experimental/data-manager';\nimport { RenderingModule } from './modules/rendering';\nimport {\n HoverDie,\n HoverDieOpacity,\n WaferMapColorScale,\n WaferMapColorScaleMode,\n WaferMapDie,\n WaferMapOrientation,\n WaferMapOriginLocation,\n WaferMapValidity,\n type WaferRequiredFields\n} from './types';\nimport { WaferMapUpdateTracker } from './modules/wafer-map-update-tracker';\nimport { WaferMapValidator } from './modules/wafer-map-validator';\nimport { WorkerRenderer } from './modules/experimental/worker-renderer';\nimport { HoverHandler } from './modules/hover-handler';\nimport { HoverHandler as ExperimentalHoverHandler } from './modules/experimental/hover-handler';\nimport { ZoomHandler } from './modules/zoom-handler';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-wafer-map': WaferMap;\n }\n}\n\n/**\n * A nimble-styled WaferMap\n */\nexport class WaferMap<\n T extends WaferRequiredFields = WaferRequiredFields\n> extends FoundationElement {\n /**\n * @internal\n * needs to be initialized before the properties trigger changes\n */\n public readonly waferMapUpdateTracker: WaferMapUpdateTracker = new WaferMapUpdateTracker(this.asRequiredFieldsWaferMap);\n\n @attr({ attribute: 'origin-location' })\n public originLocation: WaferMapOriginLocation = WaferMapOriginLocation.bottomLeft;\n\n @attr({ attribute: 'grid-min-x', converter: nullableNumberConverter })\n public gridMinX?: number = undefined;\n\n @attr({ attribute: 'grid-max-x', converter: nullableNumberConverter })\n public gridMaxX?: number = undefined;\n\n @attr({ attribute: 'grid-min-y', converter: nullableNumberConverter })\n public gridMinY?: number = undefined;\n\n @attr({ attribute: 'grid-max-y', converter: nullableNumberConverter })\n public gridMaxY?: number = undefined;\n\n @attr\n public orientation: WaferMapOrientation = WaferMapOrientation.top;\n\n @attr({ attribute: 'max-characters', converter: nullableNumberConverter })\n public maxCharacters = 4;\n\n @attr({ attribute: 'die-labels-hidden', mode: 'boolean' })\n public dieLabelsHidden = false;\n\n @attr({ attribute: 'die-labels-suffix' })\n public dieLabelsSuffix = '';\n\n @attr({ attribute: 'color-scale-mode' })\n public colorScaleMode: WaferMapColorScaleMode = WaferMapColorScaleMode.linear;\n\n /**\n * @internal\n */\n public readonly canvas!: HTMLCanvasElement;\n\n /**\n * @internal\n */\n public canvasContext!: CanvasRenderingContext2D;\n\n /**\n * @internal\n */\n public readonly zoomContainer!: HTMLElement;\n\n public readonly experimentalDataManager: ExperimentalDataManager = new ExperimentalDataManager(this.asRequiredFieldsWaferMap);\n\n public dataManager: DataManager = new DataManager(\n this.asRequiredFieldsWaferMap\n );\n\n public readonly workerRenderer = new WorkerRenderer(\n this.asRequiredFieldsWaferMap\n );\n\n @observable\n public renderer: RenderingModule = new RenderingModule(\n this.asRequiredFieldsWaferMap\n );\n\n /**\n * @internal\n */\n public renderQueued = false;\n\n /**\n * @internal\n */\n @observable public canvasWidth!: number;\n\n /**\n * @internal\n */\n @observable public canvasHeight!: number;\n\n /**\n * @internal\n */\n @observable public transform: ZoomTransform = zoomIdentity;\n\n /**\n * @internal\n */\n @observable public hoverTransform = '';\n\n /**\n * @internal\n */\n @observable public hoverOpacity: HoverDieOpacity = HoverDieOpacity.hide;\n\n /**\n * @internal\n */\n @observable public hoverWidth = 0;\n\n /**\n * @internal\n */\n @observable public hoverHeight = 0;\n\n /**\n * @internal\n */\n @observable public hoverDie: WaferMapDie | HoverDie | undefined;\n\n @observable public highlightedTags: string[] = [];\n @observable public dies: WaferMapDie[] = [];\n @observable public diesTable: Table<T> | undefined;\n\n @observable public colorScale: WaferMapColorScale = {\n colors: [],\n values: []\n };\n\n private readonly hoverHandler: HoverHandler = new HoverHandler(\n this.asRequiredFieldsWaferMap\n );\n\n private readonly experimentalHoverHandler: ExperimentalHoverHandler = new ExperimentalHoverHandler(this.asRequiredFieldsWaferMap);\n\n private readonly zoomHandler: ZoomHandler = new ZoomHandler(\n this.asRequiredFieldsWaferMap\n );\n\n private readonly resizeObserver = this.createResizeObserver();\n private readonly waferMapValidator: WaferMapValidator = new WaferMapValidator(this.asRequiredFieldsWaferMap);\n\n public get validity(): WaferMapValidity {\n return this.waferMapValidator.getValidity();\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.canvasContext = this.canvas.getContext('2d', {\n willReadFrequently: true\n })!;\n this.hoverHandler.connect();\n this.experimentalHoverHandler.connect();\n this.zoomHandler.connect();\n this.resizeObserver.observe(this);\n this.waferMapUpdateTracker.trackAll();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.hoverHandler.disconnect();\n this.experimentalHoverHandler.disconnect();\n this.zoomHandler.disconnect();\n this.resizeObserver.unobserve(this);\n }\n\n /**\n * @internal\n * Experimental update function called when an update is queued.\n */\n public experimentalUpdate(): void {\n if (this.validity.invalidDiesTableSchema) {\n return;\n }\n if (this.waferMapUpdateTracker.requiresEventsUpdate) {\n // zoom translateExtent needs to be recalculated when canvas size changes\n this.zoomHandler.disconnect();\n if (\n this.waferMapUpdateTracker.requiresContainerDimensionsUpdate\n || this.waferMapUpdateTracker.requiresScalesUpdate\n ) {\n this.experimentalDataManager.updateComputations();\n this.workerRenderer.drawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate\n || this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate\n ) {\n this.experimentalDataManager.updatePrerendering();\n this.workerRenderer.drawWafer();\n } else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {\n this.workerRenderer.drawWafer();\n }\n this.zoomHandler.connect();\n } else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {\n this.workerRenderer.renderHover();\n }\n }\n\n /**\n * @internal\n * Update function called when an update is queued.\n * It will check which updates are needed based on which properties have changed.\n * Each update represents a different starting point of the same sequential update flow.\n * The updates snowball one after the other, this function only choses the 'altitude'.\n * The hover does not require an event update, but it's also the last update in the sequence.\n */\n public update(): void {\n this.validate();\n if (this.isExperimentalUpdate()) {\n this.experimentalUpdate();\n return;\n }\n if (this.waferMapUpdateTracker.requiresEventsUpdate) {\n // zoom translateExtent needs to be recalculated when canvas size changes\n this.zoomHandler.disconnect();\n if (this.waferMapUpdateTracker.requiresContainerDimensionsUpdate) {\n this.dataManager.updateContainerDimensions();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (this.waferMapUpdateTracker.requiresScalesUpdate) {\n this.dataManager.updateScales();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate\n ) {\n this.dataManager.updateLabelsFontSize();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate\n ) {\n this.dataManager.updateDiesRenderInfo();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {\n this.renderer.drawWafer();\n }\n this.zoomHandler.connect();\n } else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {\n this.renderer.renderHover();\n }\n }\n\n /**\n * @internal\n */\n public isExperimentalUpdate(): boolean {\n return this.diesTable !== undefined;\n }\n\n private validate(): void {\n this.waferMapValidator.validateGridDimensions();\n this.waferMapValidator.validateDiesTableSchema();\n }\n\n private createResizeObserver(): ResizeObserver {\n const resizeObserver = new ResizeObserver(entries => {\n const entry = entries[0];\n if (entry === undefined) {\n return;\n }\n const { height, width } = entry.contentRect;\n // Updating the canvas size clears its contents so update it explicitly instead of\n // via template bindings so we can confirm that it happens before render\n this.canvas.width = width;\n this.canvas.height = height;\n this.canvasWidth = width;\n this.canvasHeight = height;\n });\n return resizeObserver;\n }\n\n private originLocationChanged(): void {\n this.waferMapUpdateTracker.track('originLocation');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMinXChanged(): void {\n this.waferMapUpdateTracker.track('gridMinX');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMaxXChanged(): void {\n this.waferMapUpdateTracker.track('gridMaxX');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMinYChanged(): void {\n this.waferMapUpdateTracker.track('gridMinY');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMaxYChanged(): void {\n this.waferMapUpdateTracker.track('gridMaxY');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private maxCharactersChanged(): void {\n this.waferMapUpdateTracker.track('maxCharacters');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private dieLabelsHiddenChanged(): void {\n this.waferMapUpdateTracker.track('dieLabelsHidden');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private dieLabelsSuffixChanged(): void {\n this.waferMapUpdateTracker.track('dieLabelsSuffix');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private colorScaleModeChanged(): void {\n this.waferMapUpdateTracker.track('colorScaleMode');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private highlightedTagsChanged(): void {\n this.waferMapUpdateTracker.track('highlightedTags');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private diesChanged(): void {\n this.waferMapUpdateTracker.track('dies');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private diesTableChanged(): void {\n this.waferMapUpdateTracker.track('dies');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private colorScaleChanged(): void {\n this.waferMapUpdateTracker.track('colorScale');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private transformChanged(): void {\n this.waferMapUpdateTracker.track('transform');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private canvasWidthChanged(): void {\n this.waferMapUpdateTracker.track('canvasWidth');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private canvasHeightChanged(): void {\n this.waferMapUpdateTracker.track('canvasHeight');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private hoverDieChanged(): void {\n this.$emit('die-hover', { currentDie: this.hoverDie });\n this.waferMapUpdateTracker.track('hoverDie');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private get asRequiredFieldsWaferMap(): WaferMap {\n return this as WaferMap;\n }\n}\n\nconst nimbleWaferMap = WaferMap.compose({\n baseName: 'wafer-map',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleWaferMap());\nexport const waferMapTag = 'nimble-wafer-map';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wafer-map/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n nullableNumberConverter,\n observable\n} from '@microsoft/fast-element';\nimport { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';\nimport { zoomIdentity, ZoomTransform } from 'd3-zoom';\nimport type { Table } from 'apache-arrow';\nimport { template } from './template';\nimport { styles } from './styles';\nimport { DataManager } from './modules/data-manager';\nimport { DataManager as ExperimentalDataManager } from './modules/experimental/data-manager';\nimport { RenderingModule } from './modules/rendering';\nimport {\n HoverDie,\n HoverDieOpacity,\n WaferMapColorScale,\n WaferMapColorScaleMode,\n WaferMapDie,\n WaferMapOrientation,\n WaferMapOriginLocation,\n WaferMapValidity,\n type WaferRequiredFields\n} from './types';\nimport { WaferMapUpdateTracker } from './modules/wafer-map-update-tracker';\nimport { WaferMapValidator } from './modules/wafer-map-validator';\nimport { WorkerRenderer } from './modules/experimental/worker-renderer';\nimport { HoverHandler } from './modules/hover-handler';\nimport { HoverHandler as ExperimentalHoverHandler } from './modules/experimental/hover-handler';\nimport { ZoomHandler } from './modules/zoom-handler';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-wafer-map': WaferMap;\n }\n}\n\n/**\n * A nimble-styled WaferMap\n */\nexport class WaferMap<\n T extends WaferRequiredFields = WaferRequiredFields\n> extends FoundationElement {\n /**\n * @internal\n * needs to be initialized before the properties trigger changes\n */\n public readonly waferMapUpdateTracker: WaferMapUpdateTracker = new WaferMapUpdateTracker(this.asRequiredFieldsWaferMap);\n\n @attr({ attribute: 'origin-location' })\n public originLocation: WaferMapOriginLocation = WaferMapOriginLocation.bottomLeft;\n\n @attr({ attribute: 'grid-min-x', converter: nullableNumberConverter })\n public gridMinX?: number = undefined;\n\n @attr({ attribute: 'grid-max-x', converter: nullableNumberConverter })\n public gridMaxX?: number = undefined;\n\n @attr({ attribute: 'grid-min-y', converter: nullableNumberConverter })\n public gridMinY?: number = undefined;\n\n @attr({ attribute: 'grid-max-y', converter: nullableNumberConverter })\n public gridMaxY?: number = undefined;\n\n @attr\n public orientation: WaferMapOrientation = WaferMapOrientation.top;\n\n @attr({ attribute: 'max-characters', converter: nullableNumberConverter })\n public maxCharacters = 4;\n\n @attr({ attribute: 'die-labels-hidden', mode: 'boolean' })\n public dieLabelsHidden = false;\n\n @attr({ attribute: 'die-labels-suffix' })\n public dieLabelsSuffix = '';\n\n @attr({ attribute: 'color-scale-mode' })\n public colorScaleMode: WaferMapColorScaleMode = WaferMapColorScaleMode.linear;\n\n /**\n * @internal\n */\n public currentTask: Promise<void> | undefined;\n\n /**\n * @internal\n */\n public workerCanvas!: HTMLCanvasElement;\n\n /**\n * @internal\n */\n public readonly canvas!: HTMLCanvasElement;\n\n /**\n * @internal\n */\n public canvasContext!: CanvasRenderingContext2D;\n\n /**\n * @internal\n */\n public readonly zoomContainer!: HTMLElement;\n\n public readonly experimentalDataManager: ExperimentalDataManager = new ExperimentalDataManager(this.asRequiredFieldsWaferMap);\n\n public dataManager: DataManager = new DataManager(\n this.asRequiredFieldsWaferMap\n );\n\n public readonly workerRenderer = new WorkerRenderer(\n this.asRequiredFieldsWaferMap\n );\n\n @observable\n public renderer: RenderingModule = new RenderingModule(\n this.asRequiredFieldsWaferMap\n );\n\n /**\n * @internal\n */\n public renderQueued = false;\n\n /**\n * @internal\n */\n @observable public canvasWidth!: number;\n\n /**\n * @internal\n */\n @observable public canvasHeight!: number;\n\n /**\n * @internal\n */\n @observable public transform: ZoomTransform = zoomIdentity;\n\n /**\n * @internal\n */\n @observable public hoverTransform = '';\n\n /**\n * @internal\n */\n @observable public hoverOpacity: HoverDieOpacity = HoverDieOpacity.hide;\n\n /**\n * @internal\n */\n @observable public hoverWidth = 0;\n\n /**\n * @internal\n */\n @observable public hoverHeight = 0;\n\n /**\n * @internal\n */\n @observable public hoverDie: WaferMapDie | HoverDie | undefined;\n\n @observable public highlightedTags: string[] = [];\n @observable public dies: WaferMapDie[] = [];\n @observable public diesTable: Table<T> | undefined;\n\n @observable public colorScale: WaferMapColorScale = {\n colors: [],\n values: []\n };\n\n private readonly hoverHandler: HoverHandler = new HoverHandler(\n this.asRequiredFieldsWaferMap\n );\n\n private readonly experimentalHoverHandler: ExperimentalHoverHandler = new ExperimentalHoverHandler(this.asRequiredFieldsWaferMap);\n\n private readonly zoomHandler: ZoomHandler = new ZoomHandler(\n this.asRequiredFieldsWaferMap\n );\n\n private readonly resizeObserver = this.createResizeObserver();\n private readonly waferMapValidator: WaferMapValidator = new WaferMapValidator(this.asRequiredFieldsWaferMap);\n\n public get validity(): WaferMapValidity {\n return this.waferMapValidator.getValidity();\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.canvasContext = this.canvas.getContext('2d', {\n willReadFrequently: true\n })!;\n this.hoverHandler.connect();\n this.experimentalHoverHandler.connect();\n this.zoomHandler.connect();\n this.resizeObserver.observe(this);\n this.waferMapUpdateTracker.trackAll();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.hoverHandler.disconnect();\n this.experimentalHoverHandler.disconnect();\n this.zoomHandler.disconnect();\n this.resizeObserver.unobserve(this);\n }\n\n /**\n * @internal\n * Experimental update function called when an update is queued.\n */\n public async experimentalUpdate(): Promise<void> {\n if (this.validity.invalidDiesTableSchema) {\n return;\n }\n\n if (this.waferMapUpdateTracker.requiresEventsUpdate) {\n if (\n this.waferMapUpdateTracker.requiresContainerDimensionsUpdate\n || this.waferMapUpdateTracker.requiresScalesUpdate\n ) {\n this.experimentalDataManager.updateComputations();\n await this.workerRenderer.setupWafer();\n await this.workerRenderer.drawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate\n || this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate\n ) {\n this.experimentalDataManager.updatePrerendering();\n await this.workerRenderer.drawWafer();\n } else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {\n await this.workerRenderer.drawWafer();\n }\n } else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {\n this.workerRenderer.renderHover();\n }\n }\n\n /**\n * @internal\n * Update function called when an update is queued.\n * It will check which updates are needed based on which properties have changed.\n * Each update represents a different starting point of the same sequential update flow.\n * The updates snowball one after the other, this function only choses the 'altitude'.\n * The hover does not require an event update, but it's also the last update in the sequence.\n */\n public update(): void {\n this.validate();\n if (this.isExperimentalUpdate()) {\n this.currentTask = this.experimentalUpdate();\n return;\n }\n if (this.waferMapUpdateTracker.requiresEventsUpdate) {\n if (this.waferMapUpdateTracker.requiresContainerDimensionsUpdate) {\n this.dataManager.updateContainerDimensions();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (this.waferMapUpdateTracker.requiresScalesUpdate) {\n this.dataManager.updateScales();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresLabelsFontSizeUpdate\n ) {\n this.dataManager.updateLabelsFontSize();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (\n this.waferMapUpdateTracker.requiresDiesRenderInfoUpdate\n ) {\n this.dataManager.updateDiesRenderInfo();\n this.renderer.updateSortedDiesAndDrawWafer();\n } else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {\n this.renderer.drawWafer();\n }\n } else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {\n this.renderer.renderHover();\n }\n }\n\n /**\n * @internal\n */\n public isExperimentalUpdate(): boolean {\n return this.diesTable !== undefined;\n }\n\n private validate(): void {\n this.waferMapValidator.validateGridDimensions();\n this.waferMapValidator.validateDiesTableSchema();\n }\n\n private createResizeObserver(): ResizeObserver {\n const resizeObserver = new ResizeObserver(entries => {\n const entry = entries[0];\n if (entry === undefined) {\n return;\n }\n const { height, width } = entry.contentRect;\n // Updating the canvas size clears its contents so update it explicitly instead of\n // via template bindings so we can confirm that it happens before render\n this.canvas.width = width;\n this.canvas.height = height;\n this.canvasWidth = width;\n this.canvasHeight = height;\n });\n return resizeObserver;\n }\n\n private originLocationChanged(): void {\n this.waferMapUpdateTracker.track('originLocation');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMinXChanged(): void {\n this.waferMapUpdateTracker.track('gridMinX');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMaxXChanged(): void {\n this.waferMapUpdateTracker.track('gridMaxX');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMinYChanged(): void {\n this.waferMapUpdateTracker.track('gridMinY');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private gridMaxYChanged(): void {\n this.waferMapUpdateTracker.track('gridMaxY');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private maxCharactersChanged(): void {\n this.waferMapUpdateTracker.track('maxCharacters');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private dieLabelsHiddenChanged(): void {\n this.waferMapUpdateTracker.track('dieLabelsHidden');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private dieLabelsSuffixChanged(): void {\n this.waferMapUpdateTracker.track('dieLabelsSuffix');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private colorScaleModeChanged(): void {\n this.waferMapUpdateTracker.track('colorScaleMode');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private highlightedTagsChanged(): void {\n this.waferMapUpdateTracker.track('highlightedTags');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private diesChanged(): void {\n this.waferMapUpdateTracker.track('dies');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private diesTableChanged(): void {\n this.waferMapUpdateTracker.track('dies');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private colorScaleChanged(): void {\n this.waferMapUpdateTracker.track('colorScale');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private transformChanged(): void {\n this.waferMapUpdateTracker.track('transform');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private canvasWidthChanged(): void {\n this.waferMapUpdateTracker.track('canvasWidth');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private canvasHeightChanged(): void {\n this.waferMapUpdateTracker.track('canvasHeight');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private hoverDieChanged(): void {\n this.$emit('die-hover', { currentDie: this.hoverDie });\n this.waferMapUpdateTracker.track('hoverDie');\n this.waferMapUpdateTracker.queueUpdate();\n }\n\n private get asRequiredFieldsWaferMap(): WaferMap {\n return this as WaferMap;\n }\n}\n\nconst nimbleWaferMap = WaferMap.compose({\n baseName: 'wafer-map',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleWaferMap());\nexport const waferMapTag = 'nimble-wafer-map';\n"]}
@@ -4,8 +4,10 @@ import type { WaferMap } from '../..';
4
4
  */
5
5
  export declare class WorkerRenderer {
6
6
  private readonly wafermap;
7
+ private matrixRenderer;
7
8
  constructor(wafermap: WaferMap);
8
- drawWafer(): void;
9
+ setupWafer(): Promise<void>;
10
+ drawWafer(): Promise<void>;
9
11
  renderHover(): void;
10
12
  private calculateHoverTransform;
11
13
  }
@@ -1,4 +1,6 @@
1
+ import { transfer } from 'comlink';
1
2
  import { HoverDieOpacity } from '../../types';
3
+ import { createMatrixRenderer } from '../create-matrix-renderer';
2
4
  /**
3
5
  * Responsible for drawing the dies inside the wafer map, adding dieText and scaling the canvas
4
6
  */
@@ -6,8 +8,56 @@ export class WorkerRenderer {
6
8
  constructor(wafermap) {
7
9
  this.wafermap = wafermap;
8
10
  }
9
- drawWafer() {
10
- // rendering will be implemented in a future PR
11
+ async setupWafer() {
12
+ if (this.matrixRenderer === undefined) {
13
+ const { matrixRenderer } = await createMatrixRenderer();
14
+ this.matrixRenderer = matrixRenderer;
15
+ const offscreenCanvas = this.wafermap.workerCanvas.transferControlToOffscreen();
16
+ await this.matrixRenderer.setCanvas(transfer(offscreenCanvas, [offscreenCanvas]));
17
+ }
18
+ await this.matrixRenderer.setCanvasDimensions({
19
+ width: this.wafermap.canvasWidth ?? 0,
20
+ height: this.wafermap.canvasHeight ?? 0
21
+ });
22
+ await this.matrixRenderer.setDiesDimensions(this.wafermap.experimentalDataManager.dieDimensions);
23
+ const scaleX = this.wafermap.experimentalDataManager.horizontalScale(1)
24
+ - this.wafermap.experimentalDataManager.horizontalScale(0);
25
+ const scaleY = this.wafermap.experimentalDataManager.verticalScale(1)
26
+ - this.wafermap.experimentalDataManager.verticalScale(0);
27
+ await this.matrixRenderer.setScaling(scaleX, scaleY);
28
+ await this.matrixRenderer.setBases(this.wafermap.experimentalDataManager.horizontalScale(0), this.wafermap.experimentalDataManager.verticalScale(0));
29
+ await this.matrixRenderer.setMargin(this.wafermap.experimentalDataManager.margin);
30
+ if (this.wafermap.diesTable === undefined) {
31
+ await this.matrixRenderer.setColumnIndexes(Int32Array.from([]));
32
+ await this.matrixRenderer.setRowIndexes(Int32Array.from([]));
33
+ return;
34
+ }
35
+ const columnIndexes = this.wafermap.diesTable
36
+ .getChild('colIndex')
37
+ .toArray();
38
+ await this.matrixRenderer.setColumnIndexes(columnIndexes);
39
+ const rowIndexes = this.wafermap.diesTable
40
+ .getChild('rowIndex')
41
+ .toArray();
42
+ await this.matrixRenderer.setRowIndexes(rowIndexes);
43
+ }
44
+ async drawWafer() {
45
+ await this.matrixRenderer.setTransform(this.wafermap.transform);
46
+ const topLeftCanvasCorner = this.wafermap.transform.invert([0, 0]);
47
+ const bottomRightCanvasCorner = this.wafermap.transform.invert([
48
+ this.wafermap.canvasWidth,
49
+ this.wafermap.canvasHeight
50
+ ]);
51
+ await this.matrixRenderer.setCanvasCorners({
52
+ x: topLeftCanvasCorner[0]
53
+ - this.wafermap.experimentalDataManager.dieDimensions.width,
54
+ y: topLeftCanvasCorner[1]
55
+ - this.wafermap.experimentalDataManager.dieDimensions.height
56
+ }, {
57
+ x: bottomRightCanvasCorner[0],
58
+ y: bottomRightCanvasCorner[1]
59
+ });
60
+ await this.matrixRenderer.drawWafer();
11
61
  this.renderHover();
12
62
  }
13
63
  renderHover() {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-renderer.js","sourceRoot":"","sources":["../../../../../src/wafer-map/modules/experimental/worker-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,cAAc;IACvB,YAAoC,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,SAAS;QACZ,+CAA+C;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEM,WAAW;QACd,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,KAAK;cAC9E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,MAAM;cAChF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAC7D,CAAC,CAAC,eAAe,CAAC,IAAI;YACtB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAClE,CAAC;IAEO,uBAAuB;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC3B,CAAC;YACF,IAAI,OAAO,KAAK,SAAS,EAAE;gBACvB,OAAO,EAAE,CAAC;aACb;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC3B,CAAC;YACF,IAAI,OAAO,KAAK,SAAS,EAAE;gBACvB,OAAO,EAAE,CAAC;aACb;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI;gBAC3D,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG;aAC7D,CAAC,CAAC;YACH,OAAO,aAAa,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;SACtE;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ","sourcesContent":["import type { WaferMap } from '../..';\nimport { HoverDieOpacity } from '../../types';\n\n/**\n * Responsible for drawing the dies inside the wafer map, adding dieText and scaling the canvas\n */\nexport class WorkerRenderer {\n public constructor(private readonly wafermap: WaferMap) {}\n\n public drawWafer(): void {\n // rendering will be implemented in a future PR\n this.renderHover();\n }\n\n public renderHover(): void {\n this.wafermap.hoverWidth = this.wafermap.experimentalDataManager.dieDimensions.width\n * this.wafermap.transform.k;\n this.wafermap.hoverHeight = this.wafermap.experimentalDataManager.dieDimensions.height\n * this.wafermap.transform.k;\n this.wafermap.hoverOpacity = this.wafermap.hoverDie === undefined\n ? HoverDieOpacity.hide\n : HoverDieOpacity.show;\n this.wafermap.hoverTransform = this.calculateHoverTransform();\n }\n\n private calculateHoverTransform(): string {\n if (this.wafermap.hoverDie !== undefined) {\n const scaledX = this.wafermap.experimentalDataManager.horizontalScale(\n this.wafermap.hoverDie.x\n );\n if (scaledX === undefined) {\n return '';\n }\n const scaledY = this.wafermap.experimentalDataManager.verticalScale(\n this.wafermap.hoverDie.y\n );\n if (scaledY === undefined) {\n return '';\n }\n const transformedPoint = this.wafermap.transform.apply([\n scaledX + this.wafermap.experimentalDataManager.margin.left,\n scaledY + this.wafermap.experimentalDataManager.margin.top\n ]);\n return `translate(${transformedPoint[0]}, ${transformedPoint[1]})`;\n }\n return '';\n }\n}\n"]}
1
+ {"version":3,"file":"worker-renderer.js","sourceRoot":"","sources":["../../../../../src/wafer-map/modules/experimental/worker-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Remote, transfer } from 'comlink';\nimport type { WaferMap } from '../..';\nimport { HoverDieOpacity } from '../../types';\nimport { createMatrixRenderer } from '../create-matrix-renderer';\nimport type { MatrixRenderer } from '../../../../build/generate-workers/dist/esm/source/matrix-renderer';\n\n/**\n * Responsible for drawing the dies inside the wafer map, adding dieText and scaling the canvas\n */\nexport class WorkerRenderer {\n private matrixRenderer!: Remote<MatrixRenderer>;\n\n public constructor(private readonly wafermap: WaferMap) {}\n\n public async setupWafer(): Promise<void> {\n if (this.matrixRenderer === undefined) {\n const { matrixRenderer } = await createMatrixRenderer();\n this.matrixRenderer = matrixRenderer;\n const offscreenCanvas = this.wafermap.workerCanvas.transferControlToOffscreen();\n await this.matrixRenderer.setCanvas(\n transfer(offscreenCanvas, [offscreenCanvas])\n );\n }\n\n await this.matrixRenderer.setCanvasDimensions({\n width: this.wafermap.canvasWidth ?? 0,\n height: this.wafermap.canvasHeight ?? 0\n });\n await this.matrixRenderer.setDiesDimensions(\n this.wafermap.experimentalDataManager.dieDimensions\n );\n const scaleX = this.wafermap.experimentalDataManager.horizontalScale(1)!\n - this.wafermap.experimentalDataManager.horizontalScale(0)!;\n const scaleY = this.wafermap.experimentalDataManager.verticalScale(1)!\n - this.wafermap.experimentalDataManager.verticalScale(0)!;\n await this.matrixRenderer.setScaling(scaleX, scaleY);\n await this.matrixRenderer.setBases(\n this.wafermap.experimentalDataManager.horizontalScale(0)!,\n this.wafermap.experimentalDataManager.verticalScale(0)!\n );\n await this.matrixRenderer.setMargin(\n this.wafermap.experimentalDataManager.margin\n );\n\n if (this.wafermap.diesTable === undefined) {\n await this.matrixRenderer.setColumnIndexes(Int32Array.from([]));\n await this.matrixRenderer.setRowIndexes(Int32Array.from([]));\n return;\n }\n\n const columnIndexes = this.wafermap.diesTable\n .getChild('colIndex')!\n .toArray();\n await this.matrixRenderer.setColumnIndexes(columnIndexes);\n\n const rowIndexes = this.wafermap.diesTable\n .getChild('rowIndex')!\n .toArray();\n await this.matrixRenderer.setRowIndexes(rowIndexes);\n }\n\n public async drawWafer(): Promise<void> {\n await this.matrixRenderer.setTransform(this.wafermap.transform);\n const topLeftCanvasCorner = this.wafermap.transform.invert([0, 0]);\n const bottomRightCanvasCorner = this.wafermap.transform.invert([\n this.wafermap.canvasWidth,\n this.wafermap.canvasHeight\n ]);\n await this.matrixRenderer.setCanvasCorners(\n {\n x:\n topLeftCanvasCorner[0]\n - this.wafermap.experimentalDataManager.dieDimensions.width,\n y:\n topLeftCanvasCorner[1]\n - this.wafermap.experimentalDataManager.dieDimensions.height\n },\n {\n x: bottomRightCanvasCorner[0],\n y: bottomRightCanvasCorner[1]\n }\n );\n await this.matrixRenderer.drawWafer();\n this.renderHover();\n }\n\n public renderHover(): void {\n this.wafermap.hoverWidth = this.wafermap.experimentalDataManager.dieDimensions.width\n * this.wafermap.transform.k;\n this.wafermap.hoverHeight = this.wafermap.experimentalDataManager.dieDimensions.height\n * this.wafermap.transform.k;\n this.wafermap.hoverOpacity = this.wafermap.hoverDie === undefined\n ? HoverDieOpacity.hide\n : HoverDieOpacity.show;\n this.wafermap.hoverTransform = this.calculateHoverTransform();\n }\n\n private calculateHoverTransform(): string {\n if (this.wafermap.hoverDie !== undefined) {\n const scaledX = this.wafermap.experimentalDataManager.horizontalScale(\n this.wafermap.hoverDie.x\n );\n if (scaledX === undefined) {\n return '';\n }\n const scaledY = this.wafermap.experimentalDataManager.verticalScale(\n this.wafermap.hoverDie.y\n );\n if (scaledY === undefined) {\n return '';\n }\n const transformedPoint = this.wafermap.transform.apply([\n scaledX + this.wafermap.experimentalDataManager.margin.left,\n scaledY + this.wafermap.experimentalDataManager.margin.top\n ]);\n return `translate(${transformedPoint[0]}, ${transformedPoint[1]})`;\n }\n return '';\n }\n}\n"]}
@@ -25,9 +25,11 @@ export class Prerendering {
25
25
  updateDiesRenderInfo() {
26
26
  this.d3ColorScale = this.createD3ColorScale(this.wafermap.colorScale, this.wafermap.colorScaleMode);
27
27
  const isDieRenderInfo = (info) => info !== null;
28
- this._diesRenderInfo = this.wafermap.dies
29
- .map(die => this.computeDieRenderInfo(die))
30
- .filter(isDieRenderInfo);
28
+ if (this.wafermap.diesTable === undefined) {
29
+ this._diesRenderInfo = this.wafermap.dies
30
+ .map(die => this.computeDieRenderInfo(die))
31
+ .filter(isDieRenderInfo);
32
+ }
31
33
  }
32
34
  computeDieRenderInfo(die) {
33
35
  const margin = this.wafermap.dataManager.margin;