@angular/material 19.0.1 → 19.1.0-next.0

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.
@@ -54,7 +54,12 @@ var __async = (__this, __arguments, generator) => {
54
54
  var theme_color_exports = {};
55
55
  __export(theme_color_exports, {
56
56
  default: () => theme_color_default,
57
- generateSCSSTheme: () => generateSCSSTheme
57
+ generateSCSSTheme: () => generateSCSSTheme,
58
+ getAllSysVariablesCSS: () => getAllSysVariablesCSS,
59
+ getColorPalettes: () => getColorPalettes,
60
+ getHctFromHex: () => getHctFromHex,
61
+ getHighContrastOverridesCSS: () => getHighContrastOverridesCSS,
62
+ getMaterialDynamicScheme: () => getMaterialDynamicScheme
58
63
  });
59
64
  module.exports = __toCommonJS(theme_color_exports);
60
65
 
@@ -2588,6 +2593,13 @@ var NEUTRAL_HUES = /* @__PURE__ */ new Map([
2588
2593
  [96, { prev: 95, next: 98 }]
2589
2594
  ]);
2590
2595
  var NEUTRAL_HUE_TONES = [...HUE_TONES, ...NEUTRAL_HUES.keys()];
2596
+ function getHctFromHex(color) {
2597
+ try {
2598
+ return Hct.fromInt(argbFromHex(color));
2599
+ } catch (e) {
2600
+ throw new Error("Cannot parse the specified color " + color + ". Please verify it is a hex color (ex. #ffffff or ffffff).");
2601
+ }
2602
+ }
2591
2603
  function getMaterialDynamicScheme(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, isDark, contrastLevel) {
2592
2604
  return new DynamicScheme({
2593
2605
  sourceColorArgb: primaryPalette.keyColor.toInt(),
@@ -2601,20 +2613,38 @@ function getMaterialDynamicScheme(primaryPalette, secondaryPalette, tertiaryPale
2601
2613
  neutralVariantPalette
2602
2614
  });
2603
2615
  }
2604
- function getColorPalettesSCSS(colorPalettes) {
2605
- let scss = "(\n";
2606
- for (const [variant, palette] of colorPalettes.entries()) {
2607
- scss += " " + variant + ": (\n";
2608
- for (const [key, value] of palette.entries()) {
2609
- scss += " " + key + ": " + value + ",\n";
2610
- }
2611
- scss += " ),\n";
2616
+ function getColorPalettes(primaryColor, secondaryColor, tertiaryColor, neutralColor) {
2617
+ const primaryColorHct = getHctFromHex(primaryColor);
2618
+ const primaryPalette = TonalPalette.fromHct(primaryColorHct);
2619
+ let secondaryPalette;
2620
+ if (secondaryColor) {
2621
+ secondaryPalette = TonalPalette.fromHct(getHctFromHex(secondaryColor));
2622
+ } else {
2623
+ secondaryPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, Math.max(primaryColorHct.chroma - 32, primaryColorHct.chroma * 0.5));
2612
2624
  }
2613
- scss += ");";
2614
- return scss;
2615
- }
2616
- function getMapFromColorTonalPalettes(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, errorPalette) {
2617
- const tonalPalettes = {
2625
+ let tertiaryPalette;
2626
+ if (tertiaryColor) {
2627
+ tertiaryPalette = TonalPalette.fromHct(getHctFromHex(tertiaryColor));
2628
+ } else {
2629
+ tertiaryPalette = TonalPalette.fromInt(DislikeAnalyzer.fixIfDisliked(new TemperatureCache(primaryColorHct).analogous(3, 6)[2]).toInt());
2630
+ }
2631
+ let neutralPalette;
2632
+ if (neutralColor) {
2633
+ neutralPalette = TonalPalette.fromHct(getHctFromHex(neutralColor));
2634
+ } else {
2635
+ neutralPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, primaryColorHct.chroma / 8);
2636
+ }
2637
+ const neutralVariantPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, primaryColorHct.chroma / 8 + 4);
2638
+ const errorPalette = getMaterialDynamicScheme(
2639
+ primaryPalette,
2640
+ secondaryPalette,
2641
+ tertiaryPalette,
2642
+ neutralPalette,
2643
+ neutralVariantPalette,
2644
+ false,
2645
+ 0
2646
+ ).errorPalette;
2647
+ return {
2618
2648
  primary: primaryPalette,
2619
2649
  secondary: secondaryPalette,
2620
2650
  tertiary: tertiaryPalette,
@@ -2622,18 +2652,21 @@ function getMapFromColorTonalPalettes(primaryPalette, secondaryPalette, tertiary
2622
2652
  neutralVariant: neutralVariantPalette,
2623
2653
  error: errorPalette
2624
2654
  };
2625
- const palettes = /* @__PURE__ */ new Map();
2626
- for (const [key, palette] of Object.entries(tonalPalettes)) {
2627
- const paletteKey = key.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
2655
+ }
2656
+ function getColorPalettesSCSS(colorPalettes) {
2657
+ let scss = "(\n";
2658
+ for (const [variant, palette] of Object.entries(colorPalettes)) {
2659
+ const paletteKey = variant.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
2660
+ scss += " " + paletteKey + ": (\n";
2628
2661
  const tones = paletteKey === "neutral" ? NEUTRAL_HUE_TONES : HUE_TONES;
2629
- const colorPalette = /* @__PURE__ */ new Map();
2630
2662
  for (const tone of tones) {
2631
2663
  const color = hexFromArgb(palette.tone(tone));
2632
- colorPalette.set(tone, color);
2664
+ scss += " " + tone + ": " + color + ",\n";
2633
2665
  }
2634
- palettes.set(paletteKey, colorPalette);
2666
+ scss += " ),\n";
2635
2667
  }
2636
- return palettes;
2668
+ scss += ");";
2669
+ return scss;
2637
2670
  }
2638
2671
  function generateSCSSTheme(colorPalettes, colorComment) {
2639
2672
  let scss = [
@@ -2658,76 +2691,59 @@ function generateSCSSTheme(colorPalettes, colorComment) {
2658
2691
  ];
2659
2692
  return scss.join("\n");
2660
2693
  }
2661
- function getHighContrastOverides(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, isDark) {
2662
- const scheme = getMaterialDynamicScheme(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, isDark, 1);
2694
+ function getHighContrastOverides(colorScheme) {
2663
2695
  const overrides = /* @__PURE__ */ new Map();
2664
- overrides.set("primary", hexFromArgb(scheme.primary));
2665
- overrides.set("on-primary", hexFromArgb(scheme.onPrimary));
2666
- overrides.set("primary-container", hexFromArgb(scheme.primaryContainer));
2667
- overrides.set("on-primary-container", hexFromArgb(scheme.onPrimaryContainer));
2668
- overrides.set("inverse-primary", hexFromArgb(scheme.inversePrimary));
2669
- overrides.set("primary-fixed", hexFromArgb(scheme.primaryFixed));
2670
- overrides.set("primary-fixed-dim", hexFromArgb(scheme.primaryFixedDim));
2671
- overrides.set("on-primary-fixed", hexFromArgb(scheme.onPrimaryFixed));
2672
- overrides.set("on-primary-fixed-variant", hexFromArgb(scheme.onPrimaryFixedVariant));
2673
- overrides.set("secondary", hexFromArgb(scheme.secondary));
2674
- overrides.set("on-secondary", hexFromArgb(scheme.onSecondary));
2675
- overrides.set("secondary-container", hexFromArgb(scheme.secondaryContainer));
2676
- overrides.set("on-secondary-container", hexFromArgb(scheme.onSecondaryContainer));
2677
- overrides.set("secondary-fixed", hexFromArgb(scheme.secondaryFixed));
2678
- overrides.set("secondary-fixed-dim", hexFromArgb(scheme.secondaryFixedDim));
2679
- overrides.set("on-secondary-fixed", hexFromArgb(scheme.onSecondaryFixed));
2680
- overrides.set("on-secondary-fixed-variant", hexFromArgb(scheme.onSecondaryFixedVariant));
2681
- overrides.set("tertiary", hexFromArgb(scheme.tertiary));
2682
- overrides.set("on-tertiary", hexFromArgb(scheme.onTertiary));
2683
- overrides.set("tertiary-container", hexFromArgb(scheme.tertiaryContainer));
2684
- overrides.set("on-tertiary-container", hexFromArgb(scheme.onTertiaryContainer));
2685
- overrides.set("tertiary-fixed", hexFromArgb(scheme.tertiaryFixed));
2686
- overrides.set("tertiary-fixed-dim", hexFromArgb(scheme.tertiaryFixedDim));
2687
- overrides.set("on-tertiary-fixed", hexFromArgb(scheme.onTertiaryFixed));
2688
- overrides.set("on-tertiary-fixed-variant", hexFromArgb(scheme.onTertiaryFixedVariant));
2689
- overrides.set("background", hexFromArgb(scheme.background));
2690
- overrides.set("on-background", hexFromArgb(scheme.onBackground));
2691
- overrides.set("surface", hexFromArgb(scheme.surface));
2692
- overrides.set("surface-dim", hexFromArgb(scheme.surfaceDim));
2693
- overrides.set("surface-bright", hexFromArgb(scheme.surfaceBright));
2694
- overrides.set("surface-container-lowest", hexFromArgb(scheme.surfaceContainerLowest));
2695
- overrides.set("surface-container", hexFromArgb(scheme.surfaceContainer));
2696
- overrides.set("surface-container-high", hexFromArgb(scheme.surfaceContainerHigh));
2697
- overrides.set("surface-container-highest", hexFromArgb(scheme.surfaceContainerHighest));
2698
- overrides.set("on-surface", hexFromArgb(scheme.onSurface));
2699
- overrides.set("shadow", hexFromArgb(scheme.shadow));
2700
- overrides.set("scrim", hexFromArgb(scheme.scrim));
2701
- overrides.set("surface-tint", hexFromArgb(scheme.surfaceTint));
2702
- overrides.set("inverse-surface", hexFromArgb(scheme.inverseSurface));
2703
- overrides.set("inverse-on-surface", hexFromArgb(scheme.inverseOnSurface));
2704
- overrides.set("outline", hexFromArgb(scheme.outline));
2705
- overrides.set("outline-variant", hexFromArgb(scheme.outlineVariant));
2706
- overrides.set("error", hexFromArgb(scheme.error));
2707
- overrides.set("on-error", hexFromArgb(scheme.onError));
2708
- overrides.set("error-container", hexFromArgb(scheme.errorContainer));
2709
- overrides.set("on-error-container", hexFromArgb(scheme.onErrorContainer));
2710
- overrides.set("surface-variant", hexFromArgb(scheme.surfaceVariant));
2711
- overrides.set("on-surface-variant", hexFromArgb(scheme.onSurfaceVariant));
2696
+ overrides.set("primary", hexFromArgb(colorScheme.primary));
2697
+ overrides.set("on-primary", hexFromArgb(colorScheme.onPrimary));
2698
+ overrides.set("primary-container", hexFromArgb(colorScheme.primaryContainer));
2699
+ overrides.set("on-primary-container", hexFromArgb(colorScheme.onPrimaryContainer));
2700
+ overrides.set("inverse-primary", hexFromArgb(colorScheme.inversePrimary));
2701
+ overrides.set("primary-fixed", hexFromArgb(colorScheme.primaryFixed));
2702
+ overrides.set("primary-fixed-dim", hexFromArgb(colorScheme.primaryFixedDim));
2703
+ overrides.set("on-primary-fixed", hexFromArgb(colorScheme.onPrimaryFixed));
2704
+ overrides.set("on-primary-fixed-variant", hexFromArgb(colorScheme.onPrimaryFixedVariant));
2705
+ overrides.set("secondary", hexFromArgb(colorScheme.secondary));
2706
+ overrides.set("on-secondary", hexFromArgb(colorScheme.onSecondary));
2707
+ overrides.set("secondary-container", hexFromArgb(colorScheme.secondaryContainer));
2708
+ overrides.set("on-secondary-container", hexFromArgb(colorScheme.onSecondaryContainer));
2709
+ overrides.set("secondary-fixed", hexFromArgb(colorScheme.secondaryFixed));
2710
+ overrides.set("secondary-fixed-dim", hexFromArgb(colorScheme.secondaryFixedDim));
2711
+ overrides.set("on-secondary-fixed", hexFromArgb(colorScheme.onSecondaryFixed));
2712
+ overrides.set("on-secondary-fixed-variant", hexFromArgb(colorScheme.onSecondaryFixedVariant));
2713
+ overrides.set("tertiary", hexFromArgb(colorScheme.tertiary));
2714
+ overrides.set("on-tertiary", hexFromArgb(colorScheme.onTertiary));
2715
+ overrides.set("tertiary-container", hexFromArgb(colorScheme.tertiaryContainer));
2716
+ overrides.set("on-tertiary-container", hexFromArgb(colorScheme.onTertiaryContainer));
2717
+ overrides.set("tertiary-fixed", hexFromArgb(colorScheme.tertiaryFixed));
2718
+ overrides.set("tertiary-fixed-dim", hexFromArgb(colorScheme.tertiaryFixedDim));
2719
+ overrides.set("on-tertiary-fixed", hexFromArgb(colorScheme.onTertiaryFixed));
2720
+ overrides.set("on-tertiary-fixed-variant", hexFromArgb(colorScheme.onTertiaryFixedVariant));
2721
+ overrides.set("background", hexFromArgb(colorScheme.background));
2722
+ overrides.set("on-background", hexFromArgb(colorScheme.onBackground));
2723
+ overrides.set("surface", hexFromArgb(colorScheme.surface));
2724
+ overrides.set("surface-dim", hexFromArgb(colorScheme.surfaceDim));
2725
+ overrides.set("surface-bright", hexFromArgb(colorScheme.surfaceBright));
2726
+ overrides.set("surface-container-lowest", hexFromArgb(colorScheme.surfaceContainerLowest));
2727
+ overrides.set("surface-container", hexFromArgb(colorScheme.surfaceContainer));
2728
+ overrides.set("surface-container-high", hexFromArgb(colorScheme.surfaceContainerHigh));
2729
+ overrides.set("surface-container-highest", hexFromArgb(colorScheme.surfaceContainerHighest));
2730
+ overrides.set("on-surface", hexFromArgb(colorScheme.onSurface));
2731
+ overrides.set("shadow", hexFromArgb(colorScheme.shadow));
2732
+ overrides.set("scrim", hexFromArgb(colorScheme.scrim));
2733
+ overrides.set("surface-tint", hexFromArgb(colorScheme.surfaceTint));
2734
+ overrides.set("inverse-surface", hexFromArgb(colorScheme.inverseSurface));
2735
+ overrides.set("inverse-on-surface", hexFromArgb(colorScheme.inverseOnSurface));
2736
+ overrides.set("outline", hexFromArgb(colorScheme.outline));
2737
+ overrides.set("outline-variant", hexFromArgb(colorScheme.outlineVariant));
2738
+ overrides.set("error", hexFromArgb(colorScheme.error));
2739
+ overrides.set("on-error", hexFromArgb(colorScheme.onError));
2740
+ overrides.set("error-container", hexFromArgb(colorScheme.errorContainer));
2741
+ overrides.set("on-error-container", hexFromArgb(colorScheme.onErrorContainer));
2742
+ overrides.set("surface-variant", hexFromArgb(colorScheme.surfaceVariant));
2743
+ overrides.set("on-surface-variant", hexFromArgb(colorScheme.onSurfaceVariant));
2712
2744
  return overrides;
2713
2745
  }
2714
- function generateHighContrastOverrideMixinsSCSS(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette) {
2715
- const lightOverrides = getHighContrastOverides(
2716
- primaryPalette,
2717
- secondaryPalette,
2718
- tertiaryPalette,
2719
- neutralPalette,
2720
- neutralVariantPalette,
2721
- false
2722
- );
2723
- const darkOverrides = getHighContrastOverides(
2724
- primaryPalette,
2725
- secondaryPalette,
2726
- tertiaryPalette,
2727
- neutralPalette,
2728
- neutralVariantPalette,
2729
- true
2730
- );
2746
+ function generateHighContrastOverrideMixinsSCSS(lightHighContrastColorScheme, darkHighContrastColorScheme) {
2731
2747
  let scss = "\n";
2732
2748
  scss += "\n@function _high-contrast-value($light, $dark, $theme-type) {\n";
2733
2749
  scss += " @if ($theme-type == light) {\n";
@@ -2741,6 +2757,8 @@ function generateHighContrastOverrideMixinsSCSS(primaryPalette, secondaryPalette
2741
2757
  scss += " }\n";
2742
2758
  scss += " \n @error 'Unknown theme-type #{$theme-type}. Expected light, dark, or color-scheme';\n";
2743
2759
  scss += "}\n";
2760
+ const lightOverrides = getHighContrastOverides(lightHighContrastColorScheme);
2761
+ const darkOverrides = getHighContrastOverides(darkHighContrastColorScheme);
2744
2762
  scss += "\n@mixin high-contrast-overrides($theme-type) {\n";
2745
2763
  scss += " @include mat.theme-overrides((\n";
2746
2764
  for (const [key, value] of lightOverrides.entries()) {
@@ -2750,56 +2768,341 @@ function generateHighContrastOverrideMixinsSCSS(primaryPalette, secondaryPalette
2750
2768
  scss += " }\n";
2751
2769
  return scss;
2752
2770
  }
2753
- function getHctFromHex(color) {
2754
- try {
2755
- return Hct.fromInt(argbFromHex(color));
2756
- } catch (e) {
2757
- throw new Error("Cannot parse the specified color " + color + ". Please verify it is a hex color (ex. #ffffff or ffffff).");
2758
- }
2771
+ function createLightDarkVar(leftSpacing, variableName, lightColor, darkColor, comment) {
2772
+ const commentContent = comment ? " /* " + comment + " */" : "";
2773
+ const lightDarkValue = "light-dark(" + hexFromArgb(lightColor) + ", " + hexFromArgb(darkColor) + ");";
2774
+ return leftSpacing + "--mat-sys-" + variableName + ": " + lightDarkValue + commentContent + "\n";
2775
+ }
2776
+ function getColorSysVariablesCSS(lightScheme, darkScheme, isHighContrast = false) {
2777
+ let css = "";
2778
+ let leftSpacing = " ".repeat(isHighContrast ? 4 : 2);
2779
+ css += leftSpacing + "/* Primary palette variables */\n";
2780
+ css += createLightDarkVar(leftSpacing, "primary", isHighContrast ? lightScheme.primary : lightScheme.primaryPalette.tone(40), isHighContrast ? darkScheme.primary : lightScheme.primaryPalette.tone(80));
2781
+ css += createLightDarkVar(leftSpacing, "on-primary", isHighContrast ? lightScheme.onPrimary : lightScheme.primaryPalette.tone(100), isHighContrast ? darkScheme.onPrimary : darkScheme.primaryPalette.tone(20));
2782
+ css += createLightDarkVar(leftSpacing, "primary-container", isHighContrast ? lightScheme.primaryContainer : lightScheme.primaryPalette.tone(90), isHighContrast ? darkScheme.primaryContainer : darkScheme.primaryPalette.tone(30));
2783
+ css += createLightDarkVar(leftSpacing, "on-primary-container", isHighContrast ? lightScheme.onPrimaryContainer : lightScheme.primaryPalette.tone(10), isHighContrast ? darkScheme.onPrimaryContainer : darkScheme.primaryPalette.tone(90));
2784
+ css += createLightDarkVar(leftSpacing, "inverse-primary", lightScheme.inversePrimary, darkScheme.inversePrimary);
2785
+ css += createLightDarkVar(leftSpacing, "primary-fixed", isHighContrast ? lightScheme.primaryFixed : lightScheme.primaryPalette.tone(90), isHighContrast ? darkScheme.primaryFixed : darkScheme.primaryPalette.tone(90));
2786
+ css += createLightDarkVar(leftSpacing, "primary-fixed-dim", isHighContrast ? lightScheme.primaryFixedDim : lightScheme.primaryPalette.tone(80), isHighContrast ? darkScheme.primaryFixedDim : darkScheme.primaryPalette.tone(80));
2787
+ css += createLightDarkVar(leftSpacing, "on-primary-fixed", lightScheme.onPrimaryFixed, darkScheme.onPrimaryFixed);
2788
+ css += createLightDarkVar(leftSpacing, "on-primary-fixed-variant", lightScheme.onPrimaryFixedVariant, darkScheme.onPrimaryFixedVariant);
2789
+ css += "\n" + leftSpacing + "/* Secondary palette variables */\n";
2790
+ css += createLightDarkVar(leftSpacing, "secondary", isHighContrast ? lightScheme.secondary : lightScheme.secondaryPalette.tone(40), isHighContrast ? darkScheme.secondary : darkScheme.secondaryPalette.tone(80));
2791
+ css += createLightDarkVar(leftSpacing, "on-secondary", isHighContrast ? lightScheme.onSecondary : lightScheme.secondaryPalette.tone(100), isHighContrast ? darkScheme.onSecondary : darkScheme.secondaryPalette.tone(20));
2792
+ css += createLightDarkVar(leftSpacing, "secondary-container", isHighContrast ? lightScheme.secondaryContainer : lightScheme.secondaryPalette.tone(90), isHighContrast ? darkScheme.secondaryContainer : darkScheme.secondaryPalette.tone(30));
2793
+ css += createLightDarkVar(leftSpacing, "on-secondary-container", isHighContrast ? lightScheme.onSecondaryContainer : lightScheme.secondaryPalette.tone(10), isHighContrast ? darkScheme.onSecondaryContainer : darkScheme.secondaryPalette.tone(90));
2794
+ css += createLightDarkVar(leftSpacing, "secondary-fixed", isHighContrast ? lightScheme.secondaryFixed : lightScheme.secondaryPalette.tone(90), isHighContrast ? darkScheme.secondaryFixed : darkScheme.secondaryPalette.tone(90));
2795
+ css += createLightDarkVar(leftSpacing, "secondary-fixed-dim", isHighContrast ? lightScheme.secondaryFixedDim : lightScheme.secondaryPalette.tone(80), isHighContrast ? darkScheme.secondaryFixedDim : darkScheme.secondaryPalette.tone(80));
2796
+ css += createLightDarkVar(leftSpacing, "on-secondary-fixed", lightScheme.onSecondaryFixed, darkScheme.onSecondaryFixed);
2797
+ css += createLightDarkVar(leftSpacing, "on-secondary-fixed-variant", lightScheme.onSecondaryFixedVariant, darkScheme.onSecondaryFixedVariant);
2798
+ css += "\n" + leftSpacing + "/* Tertiary palette variables */\n";
2799
+ css += createLightDarkVar(leftSpacing, "tertiary", isHighContrast ? lightScheme.tertiary : lightScheme.tertiaryPalette.tone(40), isHighContrast ? darkScheme.tertiary : darkScheme.tertiaryPalette.tone(80));
2800
+ css += createLightDarkVar(leftSpacing, "on-tertiary", isHighContrast ? lightScheme.tertiary : lightScheme.tertiaryPalette.tone(100), isHighContrast ? darkScheme.tertiary : darkScheme.tertiaryPalette.tone(20));
2801
+ css += createLightDarkVar(leftSpacing, "tertiary-container", isHighContrast ? lightScheme.tertiaryContainer : lightScheme.tertiaryPalette.tone(90), isHighContrast ? darkScheme.tertiaryContainer : darkScheme.tertiaryPalette.tone(30));
2802
+ css += createLightDarkVar(leftSpacing, "on-tertiary-container", isHighContrast ? lightScheme.onTertiaryContainer : lightScheme.tertiaryPalette.tone(10), isHighContrast ? darkScheme.onTertiaryContainer : darkScheme.tertiaryPalette.tone(90));
2803
+ css += createLightDarkVar(leftSpacing, "tertiary-fixed", isHighContrast ? lightScheme.tertiaryFixed : lightScheme.tertiaryPalette.tone(90), isHighContrast ? darkScheme.tertiaryFixed : darkScheme.tertiaryPalette.tone(90));
2804
+ css += createLightDarkVar(leftSpacing, "tertiary-fixed-dim", isHighContrast ? lightScheme.tertiaryFixedDim : lightScheme.tertiaryPalette.tone(80), isHighContrast ? darkScheme.tertiaryFixedDim : darkScheme.tertiaryPalette.tone(80));
2805
+ css += createLightDarkVar(leftSpacing, "on-tertiary-fixed", lightScheme.onTertiaryFixed, darkScheme.onTertiaryFixed);
2806
+ css += createLightDarkVar(leftSpacing, "on-tertiary-fixed-variant", lightScheme.onTertiaryFixedVariant, darkScheme.onTertiaryFixedVariant);
2807
+ css += "\n" + leftSpacing + "/* Neutral palette variables */\n";
2808
+ css += createLightDarkVar(leftSpacing, "background", lightScheme.background, darkScheme.background);
2809
+ css += createLightDarkVar(leftSpacing, "on-background", lightScheme.onBackground, darkScheme.onBackground);
2810
+ css += createLightDarkVar(leftSpacing, "surface", lightScheme.surface, darkScheme.surface);
2811
+ css += createLightDarkVar(leftSpacing, "surface-dim", lightScheme.surfaceDim, darkScheme.surfaceDim);
2812
+ css += createLightDarkVar(leftSpacing, "surface-bright", lightScheme.surfaceBright, darkScheme.surfaceBright);
2813
+ css += createLightDarkVar(leftSpacing, "surface-container-lowest", lightScheme.surfaceContainerLowest, darkScheme.surfaceContainerLowest);
2814
+ css += createLightDarkVar(leftSpacing, "surface-container", lightScheme.surfaceContainer, darkScheme.surfaceContainer);
2815
+ css += createLightDarkVar(leftSpacing, "surface-container-high", lightScheme.surfaceContainerHigh, darkScheme.surfaceContainerHigh);
2816
+ css += createLightDarkVar(leftSpacing, "surface-container-highest", lightScheme.surfaceContainerHighest, darkScheme.surfaceContainerHighest);
2817
+ css += createLightDarkVar(leftSpacing, "on-surface", lightScheme.onSurface, darkScheme.onSurface);
2818
+ css += createLightDarkVar(leftSpacing, "shadow", lightScheme.shadow, darkScheme.shadow);
2819
+ css += createLightDarkVar(leftSpacing, "scrim", lightScheme.scrim, darkScheme.scrim);
2820
+ css += createLightDarkVar(leftSpacing, "surface-tint", lightScheme.surfaceTint, darkScheme.surfaceTint);
2821
+ css += createLightDarkVar(leftSpacing, "inverse-surface", lightScheme.inverseSurface, darkScheme.inverseSurface);
2822
+ css += createLightDarkVar(leftSpacing, "inverse-on-surface", lightScheme.inverseOnSurface, darkScheme.inverseOnSurface);
2823
+ css += createLightDarkVar(leftSpacing, "outline", lightScheme.outline, darkScheme.outline);
2824
+ css += createLightDarkVar(leftSpacing, "outline-variant", lightScheme.outlineVariant, darkScheme.outlineVariant);
2825
+ css += createLightDarkVar(leftSpacing, "neutral10", lightScheme.neutralPalette.tone(10), darkScheme.neutralPalette.tone(10), "Variable used for the form field native select option text color");
2826
+ css += "\n" + leftSpacing + "/* Error palette variables */\n";
2827
+ css += createLightDarkVar(leftSpacing, "error", isHighContrast ? lightScheme.error : lightScheme.errorPalette.tone(40), isHighContrast ? darkScheme.error : darkScheme.errorPalette.tone(80));
2828
+ css += createLightDarkVar(leftSpacing, "on-error", lightScheme.onError, darkScheme.onError);
2829
+ css += createLightDarkVar(leftSpacing, "error-container", isHighContrast ? lightScheme.errorContainer : lightScheme.errorPalette.tone(90), isHighContrast ? darkScheme.errorContainer : darkScheme.errorPalette.tone(30));
2830
+ css += createLightDarkVar(leftSpacing, "on-error-container", isHighContrast ? lightScheme.onErrorContainer : lightScheme.errorPalette.tone(10), isHighContrast ? darkScheme.onErrorContainer : darkScheme.errorPalette.tone(90));
2831
+ css += "\n" + leftSpacing + "/* Neutral variant palette variables */\n";
2832
+ css += createLightDarkVar(leftSpacing, "surface-variant", lightScheme.surfaceVariant, darkScheme.surfaceVariant);
2833
+ css += createLightDarkVar(leftSpacing, "on-surface-variant", lightScheme.onSurfaceVariant, darkScheme.onSurfaceVariant);
2834
+ css += createLightDarkVar(leftSpacing, "neutral-variant20", lightScheme.neutralVariantPalette.tone(20), darkScheme.neutralVariantPalette.tone(20), "Variable used for the sidenav scrim (container background shadow when opened)");
2835
+ return css;
2836
+ }
2837
+ function getTypographySysVariablesCSS() {
2838
+ let css = "";
2839
+ css += "\n /* Typography variables. Only used in the different typescale system variables. */\n";
2840
+ css += " --mat-sys-brand-font-family: Roboto; /* The font-family to use for brand text. */\n";
2841
+ css += " --mat-sys-plain-font-family: Roboto; /* The font-family to use for plain text. */\n";
2842
+ css += " --mat-sys-bold-font-weight: 700; /* The font-weight to use for bold text. */\n";
2843
+ css += " --mat-sys-medium-font-weight: 500; /* The font-weight to use for medium text. */\n";
2844
+ css += " --mat-sys-regular-font-weight: 400; /* The font-weight to use for regular text. */\n\n";
2845
+ css += " /* Typescale variables. */\n";
2846
+ css += " /* Warning: Risk of reduced fidelity from using the composite typography tokens (ex. --mat-sys-body-large) since\n";
2847
+ css += ' tracking cannot be represented in the "font" property shorthand. Consider using the discrete properties instead. */\n';
2848
+ css += " --mat-sys-body-large: var(--mat-sys-body-large-weight) var(--mat-sys-body-large-size) / var(--mat-sys-body-large-line-height) var(--mat-sys-body-large-font);\n";
2849
+ css += " --mat-sys-body-large-font: var(--mat-sys-plain-font-family);\n";
2850
+ css += " --mat-sys-body-large-line-height: 1.5rem;\n";
2851
+ css += " --mat-sys-body-large-size: 1rem;\n";
2852
+ css += " --mat-sys-body-large-tracking: 0.031rem;\n";
2853
+ css += " --mat-sys-body-large-weight: var(--mat-sys-regular-font-weight);\n";
2854
+ css += "\n /* Body medium typescale */\n";
2855
+ css += " --mat-sys-body-medium: var(--mat-sys-body-medium-weight) var(--mat-sys-body-medium-size) / var(--mat-sys-body-medium-line-height) var(--mat-sys-body-medium-font);\n";
2856
+ css += " --mat-sys-body-medium-font: var(--mat-sys-plain-font-family);\n";
2857
+ css += " --mat-sys-body-medium-line-height: 1.25rem;\n";
2858
+ css += " --mat-sys-body-medium-size: 0.875rem;\n";
2859
+ css += " --mat-sys-body-medium-tracking: 0.016rem;\n";
2860
+ css += " --mat-sys-body-medium-weight: var(--mat-sys-regular-font-weight);\n";
2861
+ css += "\n /* Body small typescale */\n";
2862
+ css += " --mat-sys-body-small: var(--mat-sys-body-small-weight) var(--mat-sys-body-small-size) / var(--mat-sys-body-small-line-height) var(--mat-sys-body-small-font);\n";
2863
+ css += " --mat-sys-body-small-font: var(--mat-sys-plain-font-family);\n";
2864
+ css += " --mat-sys-body-small-line-height: 1rem;\n";
2865
+ css += " --mat-sys-body-small-size: 0.75rem;\n";
2866
+ css += " --mat-sys-body-small-tracking: 0.025rem;\n";
2867
+ css += " --mat-sys-body-small-weight: var(--mat-sys-regular-font-weight);\n";
2868
+ css += "\n /* Display large typescale */\n";
2869
+ css += " --mat-sys-display-large: var(--mat-sys-display-large-weight) var(--mat-sys-display-large-size) / var(--mat-sys-display-large-line-height) var(--mat-sys-display-large-font);\n";
2870
+ css += " --mat-sys-display-large-font: var(--mat-sys-brand-font-family);\n";
2871
+ css += " --mat-sys-display-large-line-height: 4rem;\n";
2872
+ css += " --mat-sys-display-large-size: 3.562rem;\n";
2873
+ css += " --mat-sys-display-large-tracking: -0.016rem;\n";
2874
+ css += " --mat-sys-display-large-weight: var(--mat-sys-regular-font-weight);\n";
2875
+ css += "\n /* Display medium typescale */\n";
2876
+ css += " --mat-sys-display-medium: var(--mat-sys-display-medium-weight) var(--mat-sys-display-medium-size) / var(--mat-sys-display-medium-line-height) var(--mat-sys-display-medium-font);\n";
2877
+ css += " --mat-sys-display-medium-font: var(--mat-sys-brand-font-family);\n";
2878
+ css += " --mat-sys-display-medium-line-height: 3.25rem;\n";
2879
+ css += " --mat-sys-display-medium-size: 2.812rem;\n";
2880
+ css += " --mat-sys-display-medium-tracking: 0;\n";
2881
+ css += " --mat-sys-display-medium-weight: var(--mat-sys-regular-font-weight);\n";
2882
+ css += "\n /* Display small typescale */\n";
2883
+ css += " --mat-sys-display-small: var(--mat-sys-display-small-weight) var(--mat-sys-display-small-size) / var(--mat-sys-display-small-line-height) var(--mat-sys-display-small-font);\n";
2884
+ css += " --mat-sys-display-small-font: var(--mat-sys-brand-font-family);\n";
2885
+ css += " --mat-sys-display-small-line-height: 2.75rem;\n";
2886
+ css += " --mat-sys-display-small-size: 2.25rem;\n";
2887
+ css += " --mat-sys-display-small-tracking: 0;\n";
2888
+ css += " --mat-sys-display-small-weight: var(--mat-sys-regular-font-weight);\n";
2889
+ css += "\n /* Headline large typescale */\n";
2890
+ css += " --mat-sys-headline-large: var(--mat-sys-headline-large-weight) var(--mat-sys-headline-large-size) / var(--mat-sys-headline-large-line-height) var(--mat-sys-headline-large-font);\n";
2891
+ css += " --mat-sys-headline-large-font: var(--mat-sys-brand-font-family);\n";
2892
+ css += " --mat-sys-headline-large-line-height: 2.5rem;\n";
2893
+ css += " --mat-sys-headline-large-size: 2rem;\n";
2894
+ css += " --mat-sys-headline-large-tracking: 0;\n";
2895
+ css += " --mat-sys-headline-large-weight: var(--mat-sys-regular-font-weight);\n";
2896
+ css += "\n /* Headline medium typescale */\n";
2897
+ css += " --mat-sys-headline-medium: var(--mat-sys-headline-medium-weight) var(--mat-sys-headline-medium-size) / var(--mat-sys-headline-medium-line-height) var(--mat-sys-headline-medium-font);\n";
2898
+ css += " --mat-sys-headline-medium-font: var(--mat-sys-brand-font-family);\n";
2899
+ css += " --mat-sys-headline-medium-line-height: 2.25rem;\n";
2900
+ css += " --mat-sys-headline-medium-size: 1.75rem;\n";
2901
+ css += " --mat-sys-headline-medium-tracking: 0;\n";
2902
+ css += " --mat-sys-headline-medium-weight: var(--mat-sys-regular-font-weight);\n";
2903
+ css += "\n /* Headline small typescale */\n";
2904
+ css += " --mat-sys-headline-small: var(--mat-sys-headline-small-weight) var(--mat-sys-headline-small-size) / var(--mat-sys-headline-small-line-height) var(--mat-sys-headline-small-font);\n";
2905
+ css += " --mat-sys-headline-small-font: var(--mat-sys-brand-font-family);\n";
2906
+ css += " --mat-sys-headline-small-line-height: 2rem;\n";
2907
+ css += " --mat-sys-headline-small-size: 1.5rem;\n";
2908
+ css += " --mat-sys-headline-small-tracking: 0;\n";
2909
+ css += " --mat-sys-headline-small-weight: var(--mat-sys-regular-font-weight);\n";
2910
+ css += "\n /* Label large typescale */\n";
2911
+ css += " --mat-sys-label-large: var(--mat-sys-label-large-weight) var(--mat-sys-label-large-size) / var(--mat-sys-label-large-line-height) var(--mat-sys-label-large-font);\n";
2912
+ css += " --mat-sys-label-large-font: var(--mat-sys-plain-font-family);\n";
2913
+ css += " --mat-sys-label-large-line-height: 1.25rem;\n";
2914
+ css += " --mat-sys-label-large-size: 0.875rem;\n";
2915
+ css += " --mat-sys-label-large-tracking: 0.006rem;\n";
2916
+ css += " --mat-sys-label-large-weight: var(--mat-sys-medium-font-weight);\n";
2917
+ css += " --mat-sys-label-large-weight-prominent: var(--mat-sys-bold-font-weight);\n";
2918
+ css += "\n /* Label medium typescale */\n";
2919
+ css += " --mat-sys-label-medium: var(--mat-sys-label-medium-weight) var(--mat-sys-label-medium-size) / var(--mat-sys-label-medium-line-height) var(--mat-sys-label-medium-font);\n";
2920
+ css += " --mat-sys-label-medium-font: var(--mat-sys-plain-font-family);\n";
2921
+ css += " --mat-sys-label-medium-line-height: 1rem;\n";
2922
+ css += " --mat-sys-label-medium-size: 0.75rem;\n";
2923
+ css += " --mat-sys-label-medium-tracking: 0.031rem;\n";
2924
+ css += " --mat-sys-label-medium-weight: var(--mat-sys-medium-font-weight);\n";
2925
+ css += " --mat-sys-label-medium-weight-prominent: var(--mat-sys-bold-font-weight);\n";
2926
+ css += "\n /* Label small typescale */\n";
2927
+ css += " --mat-sys-label-small: var(--mat-sys-label-small-weight) var(--mat-sys-label-small-size) / var(--mat-sys-label-small-line-height) var(--mat-sys-label-small-font);\n";
2928
+ css += " --mat-sys-label-small-font: var(--mat-sys-plain-font-family);\n";
2929
+ css += " --mat-sys-label-small-line-height: 1rem;\n";
2930
+ css += " --mat-sys-label-small-size: 0.688rem;\n";
2931
+ css += " --mat-sys-label-small-tracking: 0.031rem;\n";
2932
+ css += " --mat-sys-label-small-weight: var(--mat-sys-medium-font-weight);\n";
2933
+ css += "\n /* Title large typescale */\n";
2934
+ css += " --mat-sys-title-large: var(--mat-sys-title-large-weight) var(--mat-sys-title-large-size) / var(--mat-sys-title-large-line-height) var(--mat-sys-title-large-font);\n";
2935
+ css += " --mat-sys-title-large-font: var(--mat-sys-brand-font-family);\n";
2936
+ css += " --mat-sys-title-large-line-height: 1.75rem;\n";
2937
+ css += " --mat-sys-title-large-size: 1.375rem;\n";
2938
+ css += " --mat-sys-title-large-tracking: 0;\n";
2939
+ css += " --mat-sys-title-large-weight: var(--mat-sys-regular-font-weight);\n";
2940
+ css += "\n /* Title medium typescale */\n";
2941
+ css += " --mat-sys-title-medium: var(--mat-sys-title-medium-weight) var(--mat-sys-title-medium-size) / var(--mat-sys-title-medium-line-height) var(--mat-sys-title-medium-font);\n";
2942
+ css += " --mat-sys-title-medium-font: var(--mat-sys-plain-font-family);\n";
2943
+ css += " --mat-sys-title-medium-line-height: 1.5rem;\n";
2944
+ css += " --mat-sys-title-medium-size: 1rem;\n";
2945
+ css += " --mat-sys-title-medium-tracking: 0.009rem;\n";
2946
+ css += " --mat-sys-title-medium-weight: var(--mat-sys-medium-font-weight);\n";
2947
+ css += "\n /* Title small typescale */\n";
2948
+ css += " --mat-sys-title-small: var(--mat-sys-title-small-weight) var(--mat-sys-title-small-size) / var(--mat-sys-title-small-line-height) var(--mat-sys-title-small-font);\n";
2949
+ css += " --mat-sys-title-small-font: var(--mat-sys-plain-font-family);\n";
2950
+ css += " --mat-sys-title-small-line-height: 1.25rem;\n";
2951
+ css += " --mat-sys-title-small-size: 0.875rem;\n";
2952
+ css += " --mat-sys-title-small-tracking: 0.006rem;\n";
2953
+ css += " --mat-sys-title-small-weight: var(--mat-sys-medium-font-weight);\n";
2954
+ return css;
2955
+ }
2956
+ function getElevationSysVariablesCSS() {
2957
+ let css = "";
2958
+ css += "\n /* Box shadow colors. Only used in the elevation level system variables. */\n";
2959
+ css += " --mat-sys-umbra-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 80%);\n";
2960
+ css += " --mat-sys-penumbra-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 86%);\n";
2961
+ css += " --mat-sys-ambient-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 88%);\n";
2962
+ css += "\n /* Elevation level system variables. These are used as the value for box-shadow CSS property. */\n";
2963
+ css += " --mat-sys-level0: 0px 0px 0px 0px var(--mat-sys-umbra-color), 0px 0px 0px 0px var(--mat-sys-penumbra-color), 0px 0px 0px 0px var(--mat-sys-ambient-color);\n";
2964
+ css += " --mat-sys-level1: 0px 2px 1px -1px var(--mat-sys-umbra-color), 0px 1px 1px 0px var(--mat-sys-penumbra-color), 0px 1px 3px 0px var(--mat-sys-ambient-color);\n";
2965
+ css += " --mat-sys-level2: 0px 3px 3px -2px var(--mat-sys-umbra-color), 0px 3px 4px 0px var(--mat-sys-penumbra-color), 0px 1px 8px 0px var(--mat-sys-ambient-color);\n";
2966
+ css += " --mat-sys-level3: 0px 3px 5px -1px var(--mat-sys-umbra-color), 0px 6px 10px 0px var(--mat-sys-penumbra-color), 0px 1px 18px 0px var(--mat-sys-ambient-color);\n";
2967
+ css += " --mat-sys-level4: 0px 5px 5px -3px var(--mat-sys-umbra-color), 0px 8px 10px 1px var(--mat-sys-penumbra-color), 0px 3px 14px 2px var(--mat-sys-ambient-color);\n";
2968
+ css += " --mat-sys-level5: 0px 7px 8px -4px var(--mat-sys-umbra-color), 0px 12px 17px 2px var(--mat-sys-penumbra-color), 0px 5px 22px 4px var(--mat-sys-ambient-color);\n";
2969
+ return css;
2970
+ }
2971
+ function getShapeSysVariablesCSS() {
2972
+ let css = "";
2973
+ css += " --mat-sys-corner-extra-large: 28px;\n";
2974
+ css += " --mat-sys-corner-extra-large-top: 28px 28px 0 0;\n";
2975
+ css += " --mat-sys-corner-extra-small: 4px;\n";
2976
+ css += " --mat-sys-corner-extra-small-top: 4px 4px 0 0;\n";
2977
+ css += " --mat-sys-corner-full: 9999px;\n";
2978
+ css += " --mat-sys-corner-large: 16px;\n";
2979
+ css += " --mat-sys-corner-large-end: 0 16px 16px 0;\n";
2980
+ css += " --mat-sys-corner-large-start: 16px 0 0 16px;\n";
2981
+ css += " --mat-sys-corner-large-top: 16px 16px 0 0;\n";
2982
+ css += " --mat-sys-corner-medium: 12px;\n";
2983
+ css += " --mat-sys-corner-none: 0;\n";
2984
+ css += " --mat-sys-corner-small: 8px;\n";
2985
+ return css;
2759
2986
  }
2760
- function createThemeFile(scss, tree, directory) {
2761
- const filePath = directory ? directory + "_theme-colors.scss" : "_theme-colors.scss";
2762
- tree.create(filePath, scss);
2987
+ function getStateSysVariablesCSS() {
2988
+ let css = "";
2989
+ css += " --mat-sys-dragged-state-layer-opacity: 0.16;\n";
2990
+ css += " --mat-sys-focus-state-layer-opacity: 0.12;\n";
2991
+ css += " --mat-sys-hover-state-layer-opacity: 0.08;\n";
2992
+ css += " --mat-sys-pressed-state-layer-opacity: 0.12;\n";
2993
+ return css;
2994
+ }
2995
+ function getAllSysVariablesCSS(lightColorScheme, darkColorScheme) {
2996
+ let css = "";
2997
+ css += " /* COLOR SYSTEM VARIABLES */\n";
2998
+ css += " color-scheme: light;\n\n";
2999
+ css += getColorSysVariablesCSS(lightColorScheme, darkColorScheme);
3000
+ css += "\n /* TYPOGRAPHY SYSTEM VARIABLES */\n";
3001
+ css += getTypographySysVariablesCSS();
3002
+ css += "\n /* ELEVATION SYSTEM VARIABLES */\n";
3003
+ css += getElevationSysVariablesCSS();
3004
+ css += "\n /* SHAPE SYSTEM VARIABLES */\n";
3005
+ css += getShapeSysVariablesCSS();
3006
+ css += "\n /* STATE SYSTEM VARIABLES */\n";
3007
+ css += getStateSysVariablesCSS();
3008
+ return css;
3009
+ }
3010
+ function getHighContrastOverridesCSS(lightColorScheme, darkColorScheme) {
3011
+ let css = "\n";
3012
+ css += " @media (prefers-contrast: more) {\n";
3013
+ css += getColorSysVariablesCSS(lightColorScheme, darkColorScheme, true);
3014
+ css += " }\n";
3015
+ return css;
3016
+ }
3017
+ function createThemeFile(content, tree, directory, isScss = true) {
3018
+ const fileName = isScss ? "_theme-colors.scss" : "theme.css";
3019
+ const filePath = directory ? directory + fileName : fileName;
3020
+ tree.create(filePath, content);
3021
+ }
3022
+ function getColorComment(primaryColor, secondaryColor, tertiaryColor, neutralColor) {
3023
+ let colorComment = "Color palettes are generated from primary: " + primaryColor;
3024
+ if (secondaryColor) {
3025
+ colorComment += ", secondary: " + secondaryColor;
3026
+ }
3027
+ if (tertiaryColor) {
3028
+ colorComment += ", tertiary: " + tertiaryColor;
3029
+ }
3030
+ if (neutralColor) {
3031
+ colorComment += ", neutral: " + neutralColor;
3032
+ }
3033
+ return colorComment;
2763
3034
  }
2764
3035
  function theme_color_default(options) {
2765
3036
  return (tree, context) => __async(this, null, function* () {
2766
- let colorComment = "Color palettes are generated from primary: " + options.primaryColor;
2767
- const primaryColorHct = getHctFromHex(options.primaryColor);
2768
- const primaryPalette = TonalPalette.fromHct(primaryColorHct);
2769
- let secondaryPalette;
2770
- if (options.secondaryColor) {
2771
- colorComment += ", secondary: " + options.secondaryColor;
2772
- secondaryPalette = TonalPalette.fromHct(getHctFromHex(options.secondaryColor));
2773
- } else {
2774
- secondaryPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, Math.max(primaryColorHct.chroma - 32, primaryColorHct.chroma * 0.5));
2775
- }
2776
- let tertiaryPalette;
2777
- if (options.tertiaryColor) {
2778
- colorComment += ", tertiary: " + options.tertiaryColor;
2779
- tertiaryPalette = TonalPalette.fromHct(getHctFromHex(options.tertiaryColor));
2780
- } else {
2781
- tertiaryPalette = TonalPalette.fromInt(DislikeAnalyzer.fixIfDisliked(new TemperatureCache(primaryColorHct).analogous(3, 6)[2]).toInt());
2782
- }
2783
- let neutralPalette;
2784
- if (options.neutralColor) {
2785
- colorComment += ", neutral: " + options.neutralColor;
2786
- neutralPalette = TonalPalette.fromHct(getHctFromHex(options.neutralColor));
2787
- } else {
2788
- neutralPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, primaryColorHct.chroma / 8);
2789
- }
2790
- const neutralVariantPalette = TonalPalette.fromHueAndChroma(primaryColorHct.hue, primaryColorHct.chroma / 8 + 4);
2791
- const errorPalette = getMaterialDynamicScheme(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, false, 0).errorPalette;
2792
- const colorPalettes = getMapFromColorTonalPalettes(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette, errorPalette);
2793
- let themeScss = generateSCSSTheme(colorPalettes, colorComment);
3037
+ const colorComment = getColorComment(options.primaryColor, options.secondaryColor, options.tertiaryColor, options.neutralColor);
3038
+ const colorPalettes = getColorPalettes(options.primaryColor, options.secondaryColor, options.tertiaryColor, options.neutralColor);
3039
+ let lightHighContrastColorScheme;
3040
+ let darkHighContrastColorScheme;
2794
3041
  if (options.includeHighContrast) {
2795
- themeScss += generateHighContrastOverrideMixinsSCSS(primaryPalette, secondaryPalette, tertiaryPalette, neutralPalette, neutralVariantPalette);
3042
+ lightHighContrastColorScheme = getMaterialDynamicScheme(
3043
+ colorPalettes.primary,
3044
+ colorPalettes.secondary,
3045
+ colorPalettes.tertiary,
3046
+ colorPalettes.neutral,
3047
+ colorPalettes.neutralVariant,
3048
+ false,
3049
+ 1
3050
+ );
3051
+ darkHighContrastColorScheme = getMaterialDynamicScheme(
3052
+ colorPalettes.primary,
3053
+ colorPalettes.secondary,
3054
+ colorPalettes.tertiary,
3055
+ colorPalettes.neutral,
3056
+ colorPalettes.neutralVariant,
3057
+ true,
3058
+ 1
3059
+ );
3060
+ }
3061
+ if (options.isScss) {
3062
+ let themeScss = generateSCSSTheme(colorPalettes, colorComment);
3063
+ if (options.includeHighContrast) {
3064
+ themeScss += generateHighContrastOverrideMixinsSCSS(lightHighContrastColorScheme, darkHighContrastColorScheme);
3065
+ }
3066
+ createThemeFile(themeScss, tree, options.directory);
3067
+ } else {
3068
+ let themeCss = "";
3069
+ themeCss += "/* Note: " + colorComment + " */\n";
3070
+ themeCss += "html {\n";
3071
+ const lightColorScheme = getMaterialDynamicScheme(
3072
+ colorPalettes.primary,
3073
+ colorPalettes.secondary,
3074
+ colorPalettes.tertiary,
3075
+ colorPalettes.neutral,
3076
+ colorPalettes.neutralVariant,
3077
+ false,
3078
+ 0
3079
+ );
3080
+ const darkColorScheme = getMaterialDynamicScheme(
3081
+ colorPalettes.primary,
3082
+ colorPalettes.secondary,
3083
+ colorPalettes.tertiary,
3084
+ colorPalettes.neutral,
3085
+ colorPalettes.neutralVariant,
3086
+ true,
3087
+ 0
3088
+ );
3089
+ themeCss += getAllSysVariablesCSS(lightColorScheme, darkColorScheme);
3090
+ if (options.includeHighContrast) {
3091
+ themeCss += getHighContrastOverridesCSS(lightHighContrastColorScheme, darkHighContrastColorScheme);
3092
+ }
3093
+ themeCss += "}\n";
3094
+ createThemeFile(themeCss, tree, options.directory, false);
2796
3095
  }
2797
- createThemeFile(themeScss, tree, options.directory);
2798
3096
  });
2799
3097
  }
2800
3098
  // Annotate the CommonJS export names for ESM import in node:
2801
3099
  0 && (module.exports = {
2802
- generateSCSSTheme
3100
+ generateSCSSTheme,
3101
+ getAllSysVariablesCSS,
3102
+ getColorPalettes,
3103
+ getHctFromHex,
3104
+ getHighContrastOverridesCSS,
3105
+ getMaterialDynamicScheme
2803
3106
  });
2804
3107
  /**
2805
3108
  * @license