material-theme-builder 4.0.0 → 5.1.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.
package/dist/react.js CHANGED
@@ -3333,19 +3333,17 @@ import {
3333
3333
  SchemeNeutral,
3334
3334
  SchemeTonalSpot,
3335
3335
  SchemeVibrant,
3336
- TonalPalette as TonalPalette2
3336
+ TonalPalette
3337
3337
  } from "@material/material-color-utilities";
3338
3338
  import { kebabCase as kebabCase4, upperFirst as upperFirst2 } from "lodash-es";
3339
3339
 
3340
3340
  // src/lib/builder.css.ts
3341
- import {
3342
- hexFromArgb
3343
- } from "@material/material-color-utilities";
3341
+ import { hexFromArgb } from "@material/material-color-utilities";
3344
3342
  import { kebabCase } from "lodash-es";
3345
3343
  function buildCss(ctx) {
3346
3344
  const {
3347
3345
  prefix,
3348
- allPalettes,
3346
+ refPalettes,
3349
3347
  mergedColorsLight,
3350
3348
  mergedColorsDark,
3351
3349
  tokenToPalette,
@@ -3353,10 +3351,9 @@ function buildCss(ctx) {
3353
3351
  } = ctx;
3354
3352
  function buildRefPaletteLookup() {
3355
3353
  const lookup = {};
3356
- for (const [name, palette] of Object.entries(allPalettes)) {
3357
- const paletteName = kebabCase(name);
3358
- for (const tone of STANDARD_TONES) {
3359
- const hex = hexFromArgb(palette.tone(tone));
3354
+ for (const [paletteName, tones] of Object.entries(refPalettes)) {
3355
+ for (const { tone, argb } of tones) {
3356
+ const hex = hexFromArgb(argb);
3360
3357
  if (!lookup[hex]) lookup[hex] = [];
3361
3358
  lookup[hex].push({ paletteName, tone });
3362
3359
  }
@@ -3384,15 +3381,12 @@ function buildCss(ctx) {
3384
3381
  const value = hexFromArgb(colorValue);
3385
3382
  return `${name}:${value};`;
3386
3383
  }
3387
- function generateTonalPaletteVars(paletteName, palette) {
3388
- return STANDARD_TONES.map((tone) => {
3389
- const color = palette.tone(tone);
3390
- return refPaletteVar(paletteName, tone, color);
3391
- }).join(" ");
3384
+ function generateTonalPaletteVars(paletteName, tones) {
3385
+ return tones.map(({ tone, argb }) => refPaletteVar(paletteName, tone, argb)).join(" ");
3392
3386
  }
3393
3387
  function generateTonalVars() {
3394
- return Object.entries(allPalettes).map(
3395
- ([name, palette]) => generateTonalPaletteVars(kebabCase(name), palette)
3388
+ return Object.entries(refPalettes).map(
3389
+ ([paletteName, tones]) => generateTonalPaletteVars(paletteName, tones)
3396
3390
  ).join(" ");
3397
3391
  }
3398
3392
  const refPaletteLookup = buildRefPaletteLookup();
@@ -3694,29 +3688,8 @@ import {
3694
3688
  DynamicScheme,
3695
3689
  Hct,
3696
3690
  hexFromArgb as hexFromArgb4,
3697
- MaterialDynamicColors,
3698
- TonalPalette
3691
+ MaterialDynamicColors
3699
3692
  } from "@material/material-color-utilities";
3700
- var MTB_TONES = [
3701
- 0,
3702
- 5,
3703
- 10,
3704
- 15,
3705
- 20,
3706
- 25,
3707
- 30,
3708
- 35,
3709
- 40,
3710
- 50,
3711
- 60,
3712
- 70,
3713
- 80,
3714
- 90,
3715
- 95,
3716
- 98,
3717
- 99,
3718
- 100
3719
- ];
3720
3693
  var FIXTURE_TOKEN_ORDER = [
3721
3694
  "primary",
3722
3695
  "surfaceTint",
@@ -3771,7 +3744,6 @@ var FIXTURE_TOKEN_ORDER = [
3771
3744
  function buildJson(ctx) {
3772
3745
  const {
3773
3746
  hexSource,
3774
- sourceHct,
3775
3747
  effectiveSourceArgb,
3776
3748
  primaryHct,
3777
3749
  SchemeClass,
@@ -3782,34 +3754,16 @@ function buildJson(ctx) {
3782
3754
  error,
3783
3755
  neutral,
3784
3756
  neutralVariant,
3785
- hexCustomColors
3757
+ hexCustomColors,
3758
+ refPalettes
3786
3759
  } = ctx;
3787
- const neuHct = neutral ? Hct.fromInt(argbFromHex(neutral)) : sourceHct;
3788
- const nvHct = neutralVariant ? Hct.fromInt(argbFromHex(neutralVariant)) : sourceHct;
3789
- const rawPalettes = {
3790
- primary: TonalPalette.fromInt(effectiveSourceArgb),
3791
- secondary: secondary ? TonalPalette.fromInt(argbFromHex(secondary)) : TonalPalette.fromHueAndChroma(sourceHct.hue, sourceHct.chroma / 3),
3792
- tertiary: tertiary ? TonalPalette.fromInt(argbFromHex(tertiary)) : TonalPalette.fromHueAndChroma(
3793
- (sourceHct.hue + 60) % 360,
3794
- sourceHct.chroma / 2
3795
- ),
3796
- neutral: TonalPalette.fromHueAndChroma(
3797
- neuHct.hue,
3798
- Math.min(neuHct.chroma / 12, 4)
3799
- ),
3800
- "neutral-variant": TonalPalette.fromHueAndChroma(
3801
- nvHct.hue,
3802
- Math.min(nvHct.chroma / 6, 8)
3803
- )
3804
- };
3805
3760
  function buildJsonSchemes() {
3806
- function extractSchemeColors(scheme2, backgroundScheme) {
3761
+ function extractSchemeColors(scheme2) {
3807
3762
  const colors = {};
3808
3763
  for (const tokenName of FIXTURE_TOKEN_ORDER) {
3809
3764
  const dynamicColor = MaterialDynamicColors[tokenName];
3810
- const useScheme = backgroundScheme && (tokenName === "background" || tokenName === "onBackground") ? backgroundScheme : scheme2;
3811
3765
  colors[tokenName] = hexFromArgb4(
3812
- dynamicColor.getArgb(useScheme)
3766
+ dynamicColor.getArgb(scheme2)
3813
3767
  ).toUpperCase();
3814
3768
  }
3815
3769
  return colors;
@@ -3849,26 +3803,18 @@ function buildJson(ctx) {
3849
3803
  neutralVariantPalette: nvPalette || baseScheme.neutralVariantPalette
3850
3804
  });
3851
3805
  if (errPalette) composedScheme.errorPalette = errPalette;
3852
- jsonSchemes[name] = extractSchemeColors(composedScheme, baseScheme);
3806
+ jsonSchemes[name] = extractSchemeColors(composedScheme);
3853
3807
  }
3854
3808
  return jsonSchemes;
3855
3809
  }
3856
- function rawPalettesToJson() {
3810
+ function refPalettesToJson() {
3857
3811
  const jsonPalettes = {};
3858
- const RAW_PALETTE_NAMES = [
3859
- "primary",
3860
- "secondary",
3861
- "tertiary",
3862
- "neutral",
3863
- "neutral-variant"
3864
- ];
3865
- for (const name of RAW_PALETTE_NAMES) {
3866
- const palette = rawPalettes[name];
3867
- const tones = {};
3868
- for (const tone of MTB_TONES) {
3869
- tones[tone.toString()] = hexFromArgb4(palette.tone(tone)).toUpperCase();
3812
+ for (const [name, tones] of Object.entries(refPalettes)) {
3813
+ const jsonTones = {};
3814
+ for (const { tone, argb } of tones) {
3815
+ jsonTones[tone.toString()] = hexFromArgb4(argb).toUpperCase();
3870
3816
  }
3871
- jsonPalettes[name] = tones;
3817
+ jsonPalettes[name] = jsonTones;
3872
3818
  }
3873
3819
  return jsonPalettes;
3874
3820
  }
@@ -3895,14 +3841,14 @@ function buildJson(ctx) {
3895
3841
  name: c.name,
3896
3842
  color: c.hex.toUpperCase(),
3897
3843
  description: "",
3898
- harmonized: c.blend ?? DEFAULT_BLEND
3844
+ harmonized: c.blend
3899
3845
  }));
3900
3846
  return {
3901
3847
  seed,
3902
3848
  coreColors,
3903
3849
  extendedColors,
3904
3850
  schemes: buildJsonSchemes(),
3905
- palettes: rawPalettesToJson()
3851
+ palettes: refPalettesToJson()
3906
3852
  };
3907
3853
  }
3908
3854
 
@@ -4242,51 +4188,53 @@ function getPalette(palettes, colorName) {
4242
4188
  }
4243
4189
  return palette;
4244
4190
  }
4245
- function mergeBaseAndCustomColors(scheme, customColors, colorPalettes) {
4246
- const baseVars = toRecord(tokenNames, (tokenName) => {
4247
- const dynamicColor = MaterialDynamicColors2[tokenName];
4248
- const argb = dynamicColor.getArgb(scheme);
4249
- return [tokenName, argb];
4250
- });
4251
- const customVars = {};
4252
- customColors.forEach((color) => {
4253
- const colorname = color.name;
4254
- const getPaletteForColor = () => getPalette(colorPalettes, colorname);
4255
- const colorDynamicColor = new DynamicColor(
4191
+ function buildCustomColorRoles(colorname, palette) {
4192
+ const getPaletteForColor = () => palette;
4193
+ return {
4194
+ [colorname]: new DynamicColor(
4256
4195
  colorname,
4257
4196
  getPaletteForColor,
4258
4197
  (s) => s.isDark ? 80 : 40,
4259
4198
  // Main color: lighter in dark mode, darker in light mode
4260
4199
  true
4261
4200
  // background
4262
- );
4263
- const onColorDynamicColor = new DynamicColor(
4201
+ ),
4202
+ [`on${upperFirst2(colorname)}`]: new DynamicColor(
4264
4203
  `on${upperFirst2(colorname)}`,
4265
4204
  getPaletteForColor,
4266
4205
  (s) => s.isDark ? 20 : 100,
4267
4206
  // Text on main color: high contrast (dark on light, light on dark)
4268
4207
  false
4269
- );
4270
- const containerDynamicColor = new DynamicColor(
4208
+ ),
4209
+ [`${colorname}Container`]: new DynamicColor(
4271
4210
  `${colorname}Container`,
4272
4211
  getPaletteForColor,
4273
4212
  (s) => s.isDark ? 30 : 90,
4274
4213
  // Container: subtle variant (darker in dark mode, lighter in light mode)
4275
4214
  true
4276
4215
  // background
4277
- );
4278
- const onContainerDynamicColor = new DynamicColor(
4216
+ ),
4217
+ [`on${upperFirst2(colorname)}Container`]: new DynamicColor(
4279
4218
  `on${upperFirst2(colorname)}Container`,
4280
4219
  getPaletteForColor,
4281
4220
  (s) => s.isDark ? 90 : 30,
4282
4221
  // Text on container: high contrast against container background
4283
4222
  false
4284
- );
4285
- customVars[colorname] = colorDynamicColor.getArgb(scheme);
4286
- customVars[`on${upperFirst2(colorname)}`] = onColorDynamicColor.getArgb(scheme);
4287
- customVars[`${colorname}Container`] = containerDynamicColor.getArgb(scheme);
4288
- customVars[`on${upperFirst2(colorname)}Container`] = onContainerDynamicColor.getArgb(scheme);
4223
+ )
4224
+ };
4225
+ }
4226
+ function mergeBaseAndCustomColors(scheme, customColorRoles) {
4227
+ const baseVars = toRecord(tokenNames, (tokenName) => {
4228
+ const dynamicColor = MaterialDynamicColors2[tokenName];
4229
+ const argb = dynamicColor.getArgb(scheme);
4230
+ return [tokenName, argb];
4289
4231
  });
4232
+ const customVars = {};
4233
+ for (const roles of Object.values(customColorRoles)) {
4234
+ for (const [tokenName, dynamicColor] of Object.entries(roles)) {
4235
+ customVars[tokenName] = dynamicColor.getArgb(scheme);
4236
+ }
4237
+ }
4290
4238
  return { ...baseVars, ...customVars };
4291
4239
  }
4292
4240
  function createColorPalette(colorDef, baseScheme, effectiveSourceForHarmonization) {
@@ -4305,7 +4253,17 @@ function createColorPalette(colorDef, baseScheme, effectiveSourceForHarmonizatio
4305
4253
  } else {
4306
4254
  targetChroma = baseScheme.primaryPalette.chroma;
4307
4255
  }
4308
- return TonalPalette2.fromHueAndChroma(hct.hue, targetChroma);
4256
+ return TonalPalette.fromHueAndChroma(hct.hue, targetChroma);
4257
+ }
4258
+ function buildRefPalettes(allPalettes) {
4259
+ const refPalettes = {};
4260
+ for (const [name, palette] of Object.entries(allPalettes)) {
4261
+ refPalettes[kebabCase4(name)] = STANDARD_TONES.map((tone) => ({
4262
+ tone,
4263
+ argb: palette.tone(tone)
4264
+ }));
4265
+ }
4266
+ return refPalettes;
4309
4267
  }
4310
4268
  function buildTokenToPaletteMap(schemePalettes, scheme) {
4311
4269
  const result = {};
@@ -4334,7 +4292,7 @@ function builder(hexSource, {
4334
4292
  neutral,
4335
4293
  neutralVariant,
4336
4294
  error,
4337
- customColors: hexCustomColors = DEFAULT_CUSTOM_COLORS,
4295
+ customColors: customColorInputs = DEFAULT_CUSTOM_COLORS,
4338
4296
  prefix = DEFAULT_PREFIX
4339
4297
  } = {}) {
4340
4298
  const cores = {
@@ -4345,9 +4303,12 @@ function builder(hexSource, {
4345
4303
  neutral: optionalHex(neutral),
4346
4304
  neutralVariant: optionalHex(neutralVariant)
4347
4305
  };
4348
- assertHexInputs(hexSource, cores, hexCustomColors);
4306
+ assertHexInputs(hexSource, cores, customColorInputs);
4307
+ const hexCustomColors = customColorInputs.map((c) => ({
4308
+ ...c,
4309
+ blend: c.blend ?? DEFAULT_BLEND
4310
+ }));
4349
4311
  const sourceArgb = argbFromHex2(hexSource);
4350
- const sourceHct = Hct2.fromInt(sourceArgb);
4351
4312
  const effectiveSource = cores.primary || hexSource;
4352
4313
  const effectiveSourceArgb = argbFromHex2(effectiveSource);
4353
4314
  const effectiveSourceForHarmonization = cores.primary ? argbFromHex2(cores.primary) : sourceArgb;
@@ -4438,18 +4399,21 @@ function builder(hexSource, {
4438
4399
  };
4439
4400
  const customColors = definedColors.filter((c) => !c.core).map((c) => ({
4440
4401
  name: c.name,
4441
- blend: c.blend ?? DEFAULT_BLEND,
4442
4402
  value: argbFromHex2(c.hex)
4443
4403
  }));
4404
+ const customColorRoles = Object.fromEntries(
4405
+ customColors.map((color) => [
4406
+ color.name,
4407
+ buildCustomColorRoles(color.name, getPalette(colorPalettes, color.name))
4408
+ ])
4409
+ );
4444
4410
  const mergedColorsLight = mergeBaseAndCustomColors(
4445
4411
  lightScheme,
4446
- customColors,
4447
- colorPalettes
4412
+ customColorRoles
4448
4413
  );
4449
4414
  const mergedColorsDark = mergeBaseAndCustomColors(
4450
4415
  darkScheme,
4451
- customColors,
4452
- colorPalettes
4416
+ customColorRoles
4453
4417
  );
4454
4418
  const schemePalettes = [
4455
4419
  ["primary", lightScheme.primaryPalette],
@@ -4460,6 +4424,7 @@ function builder(hexSource, {
4460
4424
  ["neutral-variant", lightScheme.neutralVariantPalette]
4461
4425
  ];
4462
4426
  const tokenToPalette = buildTokenToPaletteMap(schemePalettes, lightScheme);
4427
+ const refPalettes = buildRefPalettes(allPalettes);
4463
4428
  const allPaletteNamesKebab = new Set(Object.keys(allPalettes).map(kebabCase4));
4464
4429
  const ctx = {
4465
4430
  hexSource,
@@ -4472,11 +4437,11 @@ function builder(hexSource, {
4472
4437
  neutralVariant,
4473
4438
  error,
4474
4439
  hexCustomColors,
4475
- sourceHct,
4476
4440
  effectiveSourceArgb,
4477
4441
  primaryHct,
4478
4442
  SchemeClass,
4479
4443
  allPalettes,
4444
+ refPalettes,
4480
4445
  mergedColorsLight,
4481
4446
  mergedColorsDark,
4482
4447
  tokenToPalette,
@@ -4494,7 +4459,8 @@ function builder(hexSource, {
4494
4459
  toFlutter: () => buildFlutter(ctx),
4495
4460
  mergedColorsLight,
4496
4461
  mergedColorsDark,
4497
- allPalettes
4462
+ allPalettes,
4463
+ customColorRoles
4498
4464
  };
4499
4465
  }
4500
4466
 
@@ -38,8 +38,8 @@ declare function mtbColors({ customColors, prefix, }?: {
38
38
  prefix?: string;
39
39
  }): Record<string, string>;
40
40
  /**
41
- * Tailwind v4 plugin — the `@theme inline` block of
42
- * `material-theme-builder/tailwind.css`, minus the copy-paste.
41
+ * Tailwind v4 plugin — the whole M3 vocabulary as theme colors, from one line
42
+ * of CSS.
43
43
  *
44
44
  * ```css
45
45
  * @import "tailwindcss";
@@ -49,22 +49,22 @@ declare function mtbColors({ customColors, prefix, }?: {
49
49
  * ```
50
50
  *
51
51
  * Colors declared through a plugin's `theme` are inlined by Tailwind — the
52
- * utility resolves straight to `var(--md-sys-color-primary)` and no
53
- * `--color-*` indirection is emitted — which is what the stylesheet's
54
- * `@theme inline` was there to get. That indirection is not cosmetic: a
52
+ * utility resolves straight to `var(--md-sys-color-primary)`, with no
53
+ * `--color-*` in between. That indirection is not cosmetic: a
55
54
  * `--color-primary: var(--md-sys-color-primary)` declared on `:root` resolves
56
55
  * once, against `:root`, so a nested `<Mtb>` re-declaring the M3 properties
57
56
  * would not reach the utilities.
58
57
  *
59
- * Unlike the stylesheet, custom colors need no hand-written block: name them
60
- * in the options and their four scheme roles plus eleven shades come with them.
58
+ * Custom colors need no hand-written block either: name them in the options
59
+ * and their four scheme roles plus eleven shades come with them — which is
60
+ * what no shipped stylesheet, knowing nothing of your config, could do. That
61
+ * is why this replaced the `tailwind.css` the package used to ship.
61
62
  *
62
- * One thing the stylesheet does that this cannot: theme values a plugin
63
- * contributes are defaults, so an `@theme` block in the consumer's own CSS
64
- * wins over them whatever the order — where a later `@import` of the
65
- * stylesheet would have won. Only colliding names are affected, and against
66
- * shadcn there are exactly three (`background`, `primary`, `secondary`), which
67
- * a three-line `@theme inline` of one's own hands back. See the README.
63
+ * The one thing to know: theme values a plugin contributes are defaults, so an
64
+ * `@theme` block in the consumer's own CSS wins over them whatever the order.
65
+ * Only colliding names are affected, and against shadcn there are exactly
66
+ * three — `background`, `primary`, `secondary` — which `shadcn.css` points
67
+ * back at M3 anyway. See the README.
68
68
  *
69
69
  * @see https://tailwindcss.com/docs/functions-and-directives#plugin-directive
70
70
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "material-theme-builder",
3
- "version": "4.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "m3 color-system for JS/TS ecosystem",
5
5
  "keywords": [
6
6
  "react",
@@ -21,7 +21,6 @@
21
21
  "import": "./dist/tailwind-plugin.js",
22
22
  "default": "./dist/tailwind-plugin.js"
23
23
  },
24
- "./tailwind.css": "./dist/tailwind.css",
25
24
  "./shadcn.css": "./dist/shadcn.css",
26
25
  "./registry-item.json": "./dist/registry-item.json"
27
26
  },
package/dist/tailwind.css DELETED
@@ -1,145 +0,0 @@
1
- /*
2
- * Generated by `scripts/generate.mjs` -- do not edit.
3
- *
4
- * Custom colors are not in here: they depend on your config, so they come from
5
- * the plugin instead.
6
- *
7
- * @plugin "material-theme-builder/tailwind" {
8
- * custom-colors: myCustomColor1, myCustomColor2;
9
- * }
10
- */
11
- @theme inline {
12
- --color-background: var(--md-sys-color-background);
13
- --color-error: var(--md-sys-color-error);
14
- --color-error-container: var(--md-sys-color-error-container);
15
- --color-inverse-on-surface: var(--md-sys-color-inverse-on-surface);
16
- --color-inverse-primary: var(--md-sys-color-inverse-primary);
17
- --color-inverse-surface: var(--md-sys-color-inverse-surface);
18
- --color-on-background: var(--md-sys-color-on-background);
19
- --color-on-error: var(--md-sys-color-on-error);
20
- --color-on-error-container: var(--md-sys-color-on-error-container);
21
- --color-on-primary: var(--md-sys-color-on-primary);
22
- --color-on-primary-container: var(--md-sys-color-on-primary-container);
23
- --color-on-primary-fixed: var(--md-sys-color-on-primary-fixed);
24
- --color-on-primary-fixed-variant: var(
25
- --md-sys-color-on-primary-fixed-variant
26
- );
27
- --color-on-secondary: var(--md-sys-color-on-secondary);
28
- --color-on-secondary-container: var(--md-sys-color-on-secondary-container);
29
- --color-on-secondary-fixed: var(--md-sys-color-on-secondary-fixed);
30
- --color-on-secondary-fixed-variant: var(
31
- --md-sys-color-on-secondary-fixed-variant
32
- );
33
- --color-on-surface: var(--md-sys-color-on-surface);
34
- --color-on-surface-variant: var(--md-sys-color-on-surface-variant);
35
- --color-on-tertiary: var(--md-sys-color-on-tertiary);
36
- --color-on-tertiary-container: var(--md-sys-color-on-tertiary-container);
37
- --color-on-tertiary-fixed: var(--md-sys-color-on-tertiary-fixed);
38
- --color-on-tertiary-fixed-variant: var(
39
- --md-sys-color-on-tertiary-fixed-variant
40
- );
41
- --color-outline: var(--md-sys-color-outline);
42
- --color-outline-variant: var(--md-sys-color-outline-variant);
43
- --color-primary: var(--md-sys-color-primary);
44
- --color-primary-container: var(--md-sys-color-primary-container);
45
- --color-primary-fixed: var(--md-sys-color-primary-fixed);
46
- --color-primary-fixed-dim: var(--md-sys-color-primary-fixed-dim);
47
- --color-scrim: var(--md-sys-color-scrim);
48
- --color-secondary: var(--md-sys-color-secondary);
49
- --color-secondary-container: var(--md-sys-color-secondary-container);
50
- --color-secondary-fixed: var(--md-sys-color-secondary-fixed);
51
- --color-secondary-fixed-dim: var(--md-sys-color-secondary-fixed-dim);
52
- --color-shadow: var(--md-sys-color-shadow);
53
- --color-surface: var(--md-sys-color-surface);
54
- --color-surface-bright: var(--md-sys-color-surface-bright);
55
- --color-surface-container: var(--md-sys-color-surface-container);
56
- --color-surface-container-high: var(--md-sys-color-surface-container-high);
57
- --color-surface-container-highest: var(
58
- --md-sys-color-surface-container-highest
59
- );
60
- --color-surface-container-low: var(--md-sys-color-surface-container-low);
61
- --color-surface-container-lowest: var(
62
- --md-sys-color-surface-container-lowest
63
- );
64
- --color-surface-dim: var(--md-sys-color-surface-dim);
65
- --color-surface-tint: var(--md-sys-color-surface-tint);
66
- --color-surface-variant: var(--md-sys-color-surface-variant);
67
- --color-tertiary: var(--md-sys-color-tertiary);
68
- --color-tertiary-container: var(--md-sys-color-tertiary-container);
69
- --color-tertiary-fixed: var(--md-sys-color-tertiary-fixed);
70
- --color-tertiary-fixed-dim: var(--md-sys-color-tertiary-fixed-dim);
71
-
72
- /* Shades */
73
-
74
- --color-primary-50: var(--md-ref-palette-primary-95);
75
- --color-primary-100: var(--md-ref-palette-primary-90);
76
- --color-primary-200: var(--md-ref-palette-primary-80);
77
- --color-primary-300: var(--md-ref-palette-primary-70);
78
- --color-primary-400: var(--md-ref-palette-primary-60);
79
- --color-primary-500: var(--md-ref-palette-primary-50);
80
- --color-primary-600: var(--md-ref-palette-primary-40);
81
- --color-primary-700: var(--md-ref-palette-primary-30);
82
- --color-primary-800: var(--md-ref-palette-primary-20);
83
- --color-primary-900: var(--md-ref-palette-primary-10);
84
- --color-primary-950: var(--md-ref-palette-primary-5);
85
-
86
- --color-secondary-50: var(--md-ref-palette-secondary-95);
87
- --color-secondary-100: var(--md-ref-palette-secondary-90);
88
- --color-secondary-200: var(--md-ref-palette-secondary-80);
89
- --color-secondary-300: var(--md-ref-palette-secondary-70);
90
- --color-secondary-400: var(--md-ref-palette-secondary-60);
91
- --color-secondary-500: var(--md-ref-palette-secondary-50);
92
- --color-secondary-600: var(--md-ref-palette-secondary-40);
93
- --color-secondary-700: var(--md-ref-palette-secondary-30);
94
- --color-secondary-800: var(--md-ref-palette-secondary-20);
95
- --color-secondary-900: var(--md-ref-palette-secondary-10);
96
- --color-secondary-950: var(--md-ref-palette-secondary-5);
97
-
98
- --color-tertiary-50: var(--md-ref-palette-tertiary-95);
99
- --color-tertiary-100: var(--md-ref-palette-tertiary-90);
100
- --color-tertiary-200: var(--md-ref-palette-tertiary-80);
101
- --color-tertiary-300: var(--md-ref-palette-tertiary-70);
102
- --color-tertiary-400: var(--md-ref-palette-tertiary-60);
103
- --color-tertiary-500: var(--md-ref-palette-tertiary-50);
104
- --color-tertiary-600: var(--md-ref-palette-tertiary-40);
105
- --color-tertiary-700: var(--md-ref-palette-tertiary-30);
106
- --color-tertiary-800: var(--md-ref-palette-tertiary-20);
107
- --color-tertiary-900: var(--md-ref-palette-tertiary-10);
108
- --color-tertiary-950: var(--md-ref-palette-tertiary-5);
109
-
110
- --color-error-50: var(--md-ref-palette-error-95);
111
- --color-error-100: var(--md-ref-palette-error-90);
112
- --color-error-200: var(--md-ref-palette-error-80);
113
- --color-error-300: var(--md-ref-palette-error-70);
114
- --color-error-400: var(--md-ref-palette-error-60);
115
- --color-error-500: var(--md-ref-palette-error-50);
116
- --color-error-600: var(--md-ref-palette-error-40);
117
- --color-error-700: var(--md-ref-palette-error-30);
118
- --color-error-800: var(--md-ref-palette-error-20);
119
- --color-error-900: var(--md-ref-palette-error-10);
120
- --color-error-950: var(--md-ref-palette-error-5);
121
-
122
- --color-neutral-50: var(--md-ref-palette-neutral-95);
123
- --color-neutral-100: var(--md-ref-palette-neutral-90);
124
- --color-neutral-200: var(--md-ref-palette-neutral-80);
125
- --color-neutral-300: var(--md-ref-palette-neutral-70);
126
- --color-neutral-400: var(--md-ref-palette-neutral-60);
127
- --color-neutral-500: var(--md-ref-palette-neutral-50);
128
- --color-neutral-600: var(--md-ref-palette-neutral-40);
129
- --color-neutral-700: var(--md-ref-palette-neutral-30);
130
- --color-neutral-800: var(--md-ref-palette-neutral-20);
131
- --color-neutral-900: var(--md-ref-palette-neutral-10);
132
- --color-neutral-950: var(--md-ref-palette-neutral-5);
133
-
134
- --color-neutral-variant-50: var(--md-ref-palette-neutral-variant-95);
135
- --color-neutral-variant-100: var(--md-ref-palette-neutral-variant-90);
136
- --color-neutral-variant-200: var(--md-ref-palette-neutral-variant-80);
137
- --color-neutral-variant-300: var(--md-ref-palette-neutral-variant-70);
138
- --color-neutral-variant-400: var(--md-ref-palette-neutral-variant-60);
139
- --color-neutral-variant-500: var(--md-ref-palette-neutral-variant-50);
140
- --color-neutral-variant-600: var(--md-ref-palette-neutral-variant-40);
141
- --color-neutral-variant-700: var(--md-ref-palette-neutral-variant-30);
142
- --color-neutral-variant-800: var(--md-ref-palette-neutral-variant-20);
143
- --color-neutral-variant-900: var(--md-ref-palette-neutral-variant-10);
144
- --color-neutral-variant-950: var(--md-ref-palette-neutral-variant-5);
145
- }