chromonym 3.5.3 → 3.7.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/NOTICE.md CHANGED
@@ -31,13 +31,11 @@ observer. As a rough guide:
31
31
  blue-violet region (~2736 C through ~2746 C). `identify` will still
32
32
  converge on a plausible neighbor, but the *which* can depend on metric
33
33
  choice — see the "Distance metrics" section of the README.
34
- - **Fluorescents (801 C – 814 C)** and the **metallic series (8xxx C)**
35
- are defined outside the sRGB gamut. Their sRGB approximations are
36
- perceptually wrong by construction — the physical inks can't be
37
- reproduced on a standard monitor. Do not use these values as a
38
- reference for brand-critical matching; identify carefully or skip.
39
- - **Neons / warm reds** clipping against the sRGB gamut boundary (Pantone
40
- Red 032 / Warm Red / Red 021 area) are approximated via hard clip.
34
+ - **Fluorescents (801 C – 814 C)** are defined outside the sRGB gamut.
35
+ Their sRGB approximations are perceptually wrong by construction; the
36
+ physical inks can't be reproduced on a standard monitor. Do not use
37
+ these values as a reference for brand-critical matching; identify
38
+ carefully or skip.
41
39
 
42
40
  ### What `identify` does *not* guarantee
43
41
 
@@ -88,6 +86,39 @@ isn't present, open an issue or define a BYO palette.
88
86
  The `x11` palette is derived from the X.Org `rgb.txt` file, which is in
89
87
  the public domain.
90
88
 
89
+ ## Material Design
90
+
91
+ Material Design is a trademark of Google LLC. Chromonym is not affiliated
92
+ with, endorsed by, licensed by, or certified by Google LLC.
93
+
94
+ The `material` palette reproduces the baseline light and dark system color
95
+ role values from Google Material 3 design system version v0.192 in the
96
+ [`material-components/material-web`](https://github.com/material-components/material-web)
97
+ repository. That reference data is copyright Google LLC and licensed under
98
+ the Apache License 2.0. The palette is provided as a nominative reference to
99
+ the published tokens, not as an imitation of, or substitute for, Material
100
+ Design tooling.
101
+
102
+ ## U.S. Web Design System (USWDS)
103
+
104
+ The `uswds` palette (461 entries) ships the **system color tokens** of
105
+ the [U.S. Web Design System](https://designsystem.digital.gov/), the
106
+ design system the US General Services Administration maintains for
107
+ federal websites, from `packages/uswds-tokens/colors/*.json` at tag
108
+ `v3.14.0` of <https://github.com/uswds/uswds> (identical to the SCSS
109
+ token maps in `packages/uswds-core`).
110
+
111
+ - USWDS's own code and design tokens are a US Government work, not
112
+ subject to copyright in the United States, and GSA waives copyright
113
+ worldwide under the **CC0 1.0 Universal** public domain dedication.
114
+ (The fonts and icons USWDS bundles carry other licenses; the palette
115
+ uses none of them.)
116
+ - Keys are the USWDS token names verbatim (`blue-60v`,
117
+ `gray-cool-30`). Black, white, and transparent are USWDS global
118
+ tokens outside the system palette and are not included.
119
+ - Chromonym is **not affiliated with** GSA or any US Government
120
+ agency; no endorsement is implied.
121
+
91
122
  ## CSS / SVG named colors
92
123
 
93
124
  The `web` palette mirrors the CSS Color Module Level 4 named-color
@@ -271,6 +302,23 @@ subject to copyright restrictions when faithfully reproduced.
271
302
  - Chromonym is **not affiliated with** any US Government agency
272
303
  or defense contractor; no endorsement is implied.
273
304
 
305
+ ## MIL-STD-2525D (Joint Military Symbology)
306
+
307
+ The `milStd2525d` palette (20 entries) reproduces the symbol colors in
308
+ **MIL-STD-2525D, *Joint Military Symbology*** (US Department of
309
+ Defense, 10 June 2014): Table XV, "Color range values for filled
310
+ symbols" (a dark, medium, and light fill for each standard identity),
311
+ and Table XVI, "Default colors for unfilled symbols". The standard
312
+ prints each color as an RGB triplet; the palette converts those to hex
313
+ and changes nothing else.
314
+
315
+ - The standard is a US Government work marked **Distribution A:
316
+ approved for public release, distribution is unlimited**.
317
+ - MIL-STD-2525E (2022) supersedes 2525D and may revise these colors;
318
+ the palette is pinned to 2525D.
319
+ - Chromonym is **not affiliated with** the Department of Defense; no
320
+ endorsement is implied.
321
+
274
322
  ## XKCD color survey
275
323
 
276
324
  The `xkcd` palette (923 entries after normalization-collision
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
  <code>identify</code> &nbsp;•&nbsp; <code>resolve</code> &nbsp;•&nbsp; <code>convert</code>
22
22
  </p>
23
23
 
24
- **The last color-naming library you'll ever need.** Give it any hex, RGB, HSL, or HSV value and get back the nearest named color; give it a color name and get back the value. One API — `identify`, `resolve`, `convert` — works against any palette you throw at it. Ships sixteen palettes out of the box (CSS, X11, Pantone, Crayola, NTC, XKCD, RAL, Tailwind, Resene, NCS, ISCC-NBS, NBS, FS 595 B, FS 595 C, Werner, Pokémon); bring your own (brand colors, paint chips, game factions, chart themes) with full TypeScript inference and zero registration. Six distance metrics — from fast Euclidean to industry-standard CIEDE2000 and OKLAB. Tree-shakes to the bone — you only pay for palettes you import.
24
+ **The last color-naming library you'll ever need.** Give it any hex, RGB, HSL, or HSV value and get back the nearest named color; give it a color name and get back the value. One API (`identify`, `resolve`, and `convert`) works against any palette you throw at it. Ships nineteen palettes out of the box (CSS, X11, Pantone, Crayola, NTC, XKCD, RAL, Tailwind, Material, USWDS, Resene, NCS, ISCC-NBS, NBS, FS 595 B, FS 595 C, MIL-STD-2525D, Werner, and Pokémon); bring your own (brand colors, paint chips, game factions, and chart themes) with full TypeScript inference and zero registration. Six distance metrics range from fast Euclidean to industry-standard CIEDE2000 and OKLAB. Tree-shakes to the bone; you only pay for palettes you import.
25
25
 
26
26
  <sub>*chromonym* (n.): a name for a color; *chroma* + *-onym*. Also the library.</sub>
27
27
 
@@ -292,11 +292,64 @@ resolve('Nurgle Green', { palette: warhammer })
292
292
  // → '#748c3f' (your normalizer handles case + punctuation)
293
293
  ```
294
294
 
295
+ #### Recipe: flatten a Tailwind palette
296
+
297
+ Tailwind v3 exports nested hex scales such as `{ red: { 500: '#ef4444' } }`. Flatten those scales when you want to identify colors against a version-pinned or customized Tailwind theme instead of chromonym's built-in Tailwind v4 palette:
298
+
299
+ ```ts
300
+ import { defineColorPalette, identify } from 'chromonym';
301
+ import tailwindColors from 'tailwindcss/colors.js';
302
+
303
+ function flattenTailwindColors(colors: object) {
304
+ const flat: Record<string, `#${string}`> = {};
305
+ const deprecatedAliases = new Set([
306
+ 'lightBlue',
307
+ 'warmGray',
308
+ 'trueGray',
309
+ 'coolGray',
310
+ 'blueGray',
311
+ ]);
312
+
313
+ for (const name of Object.keys(colors)) {
314
+ // Avoid reading Tailwind v3's deprecated getters, which emit warnings.
315
+ if (deprecatedAliases.has(name)) continue;
316
+ const value: unknown = Object.getOwnPropertyDescriptor(colors, name)?.value;
317
+
318
+ // Black and white are top-level strings; color scales are nested objects.
319
+ if (typeof value === 'string' && value.startsWith('#')) {
320
+ flat[name] = value as `#${string}`;
321
+ continue;
322
+ }
323
+ if (typeof value !== 'object' || value === null) continue;
324
+
325
+ for (const [shade, hex] of Object.entries(value)) {
326
+ if (typeof hex === 'string' && hex.startsWith('#')) {
327
+ flat[`${name}-${shade}`] = hex as `#${string}`;
328
+ }
329
+ }
330
+ }
331
+
332
+ return flat;
333
+ }
334
+
335
+ const tailwindV3 = defineColorPalette({
336
+ name: 'tailwind-v3',
337
+ colors: flattenTailwindColors(tailwindColors),
338
+ normalize: (s) => s.toLowerCase().replace(/[^a-z0-9-]/g, ''),
339
+ defaultMetric: 'deltaEok',
340
+ });
341
+
342
+ identify('#ef4444', { palette: tailwindV3 })
343
+ // → 'red-500'
344
+ ```
345
+
346
+ `deltaEok` is a good default for design-system matching because Tailwind's shade ramps are perceptual. The skipped Tailwind v3 aliases duplicate newer color families, and reading their getters emits runtime warnings. Under Bun, the default import reads those getters before `flattenTailwindColors` can skip them, so it prints harmless rename warnings. Tailwind v4's raw theme values use OKLCH, which `defineColorPalette` does not parse; use the built-in `tailwind` palette or convert custom v4 values to hex first.
347
+
295
348
  Unparseable values are dropped with a `console.warn` naming the palette, the offending key, and the bad value; the rest of the palette loads normally. This keeps a single typo out of your brand kit from taking down the whole module.
296
349
 
297
350
  If you prefer zero runtime and already have hex-only values, the `as const satisfies Palette<'A' | 'B' | ...>` pattern still works — list the key union once in the generic and it narrows identically.
298
351
 
299
- ### The sixteen we ship
352
+ ### The nineteen we ship
300
353
 
301
354
  | Name | Entries | Source |
302
355
  |---|---|---|
@@ -308,12 +361,15 @@ If you prefer zero runtime and already have hex-only values, the `as const satis
308
361
  | `xkcd` | 923 | XKCD 2010 color-survey results (CC0; crowd-sourced common-speech names) |
309
362
  | `fs595b` | 209 | Federal Standard 595B paint chips (1989 revision; modelers / historical equipment) |
310
363
  | `fs595c` | 589 | Federal Standard 595C paint chips (US Government spec; military / aviation coatings) |
364
+ | `milStd2525d` | 20 | MIL-STD-2525D military symbology colors: hostile, friend, neutral, unknown, and civilian, in dark, medium, light, and unfilled |
311
365
  | `isccNbs` | 260 | ISCC-NBS Method of Designating Colors (1955 US standard; Munsell-partitioned named blocks) |
312
366
  | `nbs` | 267 | Second digitization of the same 1955 standard; different sRGB (matches 1955 chip book; covers the 7 blocks `isccNbs` leaves as gaps) |
313
367
  | `resene` | 1378 | Resene Paints (NZ) catalog; te reo Māori and NZ place-names in the naming |
314
368
  | `ncs` | 1950 | Natural Colour System (Sweden) — perceptual, structured notation (`2030-R80B`), not NCS-licensed |
315
369
  | `ral` | 216 | RAL Classic, the European industrial coatings standard (community sRGB values; not a licensed RAL product) |
316
370
  | `tailwind` | 242 | Tailwind CSS v4 default theme (22 families × 11 shades, computed from the OKLCH spec) |
371
+ | `material` | 98 | Material Design 3 baseline system color roles (49 each for light and dark schemes) |
372
+ | `uswds` | 461 | U.S. Web Design System system color tokens (`blue-60v`, `gray-cool-30`); the federal web palette, public domain |
317
373
  | `werner` | 110 | Werner's Nomenclature of Colours (1821, Patrick Syme; the field reference Darwin carried aboard the Beagle) |
318
374
  | `pokemon` | 18 | Pokémon type-badge colors (community approximations; not an official asset set) |
319
375
 
@@ -330,6 +386,12 @@ crayola.colors.Razzmatazz // '#e3256b'
330
386
  crayola.colors['Granny Smith Apple'] // '#a8e4a0'
331
387
  ```
332
388
 
389
+ Material role keys carry their scheme as a prefix, so the official
390
+ `md-sys-color-primary` role is `light-primary` or `dark-primary` in the
391
+ palette. Material Design is a trademark of Google LLC; this palette is a
392
+ reference to Google's published baseline tokens, not an imitation or an
393
+ affiliated product.
394
+
333
395
  Each palette's keys follow its own domain convention — so `identify`'s output pastes back into whatever ecosystem the name came from. `web` uses the CSS spec's single-word form (`rebeccapurple`), `x11` uses the X.Org docs' spaced form (`'antique white 1'`), `pantone` uses the official print notation (`'185 C'`), `crayola` uses the Title Case form printed on the crayon wrapper (`'Granny Smith Apple'`).
334
396
 
335
397
  *Trivia:* `web.colors.rebeccapurple` (`#663399`) entered CSS Color 4 in 2014 in memory of [Rebecca Meyer](https://meyerweb.com/eric/thoughts/2014/06/19/rebeccapurple/). The X11 set ships every gray name twice (`gray`, `grey`) plus numbered variants up to 100, so `x11.colors['gray 73']` is a real key (`#bababa`). Yes, these are Greys. No, not the kind that visit during sleep paralysis.
@@ -458,7 +520,7 @@ const tryConvert = (input: ColorInput, opts = {}) => {
458
520
 
459
521
  **Install size and bundle size are not the same number.** Install size is what lands in your `node_modules/` after `npm install`; bundle size is what ships to your users after tree-shaking, minification, and gzip. For chromonym the gap is roughly two orders of magnitude.
460
522
 
461
- The published tarball is **~2.7 MB unpacked / ~600 kB gzipped** because it carries sixteen palettes and ~9500 named-color entries; that's the install-size figure `packagephobia` reports. Your **production bundle** pays only for what you actually import, measured with `esbuild --minify`:
523
+ The published tarball is **~2.4 MB unpacked / ~530 kB gzipped** because it carries nineteen palettes and ~10,100 named-color entries; that's the install-size figure `packagephobia` reports. Your **production bundle** pays only for what you actually import, measured with `esbuild --minify`:
462
524
 
463
525
  | Import | min | gzip |
464
526
  |---|---|---|
package/dist/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export { type CrayolaColorName, crayola } from './palettes/crayola.js';
12
12
  export { type Fs595bColorName, fs595b } from './palettes/fs595b.js';
13
13
  export { type Fs595cColorName, fs595c } from './palettes/fs595c.js';
14
14
  export { type IsccNbsColorName, isccNbs } from './palettes/isccNbs.js';
15
+ export { type MaterialColorName, material } from './palettes/material.js';
16
+ export { type MilStd2525dColorName, milStd2525d } from './palettes/milStd2525d.js';
15
17
  export { type NbsColorName, nbs } from './palettes/nbs.js';
16
18
  export { type NcsColorName, ncs } from './palettes/ncs.js';
17
19
  export { type NtcColorName, ntc } from './palettes/ntc.js';
@@ -20,6 +22,7 @@ export { type PokemonColorName, pokemon } from './palettes/pokemon.js';
20
22
  export { type RalColorName, ral } from './palettes/ral.js';
21
23
  export { type ReseneColorName, resene } from './palettes/resene.js';
22
24
  export { type TailwindColorName, tailwind } from './palettes/tailwind.js';
25
+ export { type UswdsColorName, uswds } from './palettes/uswds.js';
23
26
  export { type WebColorName, web } from './palettes/web.js';
24
27
  export { type WernerColorName, werner } from './palettes/werner.js';
25
28
  export { type X11ColorName, x11 } from './palettes/x11.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ export { crayola } from './palettes/crayola.js';
15
15
  export { fs595b } from './palettes/fs595b.js';
16
16
  export { fs595c } from './palettes/fs595c.js';
17
17
  export { isccNbs } from './palettes/isccNbs.js';
18
+ export { material } from './palettes/material.js';
19
+ export { milStd2525d } from './palettes/milStd2525d.js';
18
20
  export { nbs } from './palettes/nbs.js';
19
21
  export { ncs } from './palettes/ncs.js';
20
22
  export { ntc } from './palettes/ntc.js';
@@ -23,6 +25,7 @@ export { pokemon } from './palettes/pokemon.js';
23
25
  export { ral } from './palettes/ral.js';
24
26
  export { resene } from './palettes/resene.js';
25
27
  export { tailwind } from './palettes/tailwind.js';
28
+ export { uswds } from './palettes/uswds.js';
26
29
  export { web } from './palettes/web.js';
27
30
  export { werner } from './palettes/werner.js';
28
31
  export { x11 } from './palettes/x11.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,sDAAsD;AAEtD,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAIL,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAuB,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAIL,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAA0B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAsB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAIL,OAAO,GACR,MAAM,cAAc,CAAC;AAyBtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC","sourcesContent":["// Public API barrel; explicit named re-exports only (tree-shake friendly).\n// No default export; no side effects at module scope.\n\nimport pkg from '../package.json' with { type: 'json' };\n\nexport const VERSION: string = pkg.version;\n\nexport { hexToRgba, rgbaToHex } from './conversions/hex.js';\nexport { hslToRgba, rgbaToHsl } from './conversions/hsl.js';\nexport { hsvToRgba, rgbaToHsv } from './conversions/hsv.js';\nexport { pantoneToRgba, rgbaToPantone } from './conversions/pantone.js';\nexport { rgbaToRgb, rgbToRgba } from './conversions/rgb.js';\nexport {\n type ConvertNameOptions,\n type ConvertPaletteOptions,\n type ConvertStructuralOptions,\n convert,\n fromRgba,\n toRgba,\n} from './convert.js';\nexport {\n type DefineColorPaletteInput,\n defineColorPalette,\n} from './defineColorPalette.js';\nexport { type DetectedFormat, detectFormat, isColor } from './detectFormat.js';\nexport {\n type IdentifyMatch,\n type IdentifyOptions,\n type IdentifyRankedOptions,\n identify,\n} from './identify.js';\nexport { type CrayolaColorName, crayola } from './palettes/crayola.js';\nexport { type Fs595bColorName, fs595b } from './palettes/fs595b.js';\nexport { type Fs595cColorName, fs595c } from './palettes/fs595c.js';\nexport { type IsccNbsColorName, isccNbs } from './palettes/isccNbs.js';\nexport { type NbsColorName, nbs } from './palettes/nbs.js';\nexport { type NcsColorName, ncs } from './palettes/ncs.js';\nexport { type NtcColorName, ntc } from './palettes/ntc.js';\nexport { type PantoneColorName, pantone } from './palettes/pantone.js';\nexport { type PokemonColorName, pokemon } from './palettes/pokemon.js';\nexport { type RalColorName, ral } from './palettes/ral.js';\nexport { type ReseneColorName, resene } from './palettes/resene.js';\nexport { type TailwindColorName, tailwind } from './palettes/tailwind.js';\nexport { type WebColorName, web } from './palettes/web.js';\nexport { type WernerColorName, werner } from './palettes/werner.js';\nexport { type X11ColorName, x11 } from './palettes/x11.js';\nexport { type XkcdColorName, xkcd } from './palettes/xkcd.js';\nexport {\n type ResolveFuzzyOptions,\n type ResolveMatch,\n type ResolveOptions,\n resolve,\n} from './resolve.js';\nexport type {\n ColorFormat,\n ColorInput,\n ColorValue,\n DistanceMetric,\n HexColor,\n HslInput,\n HslObject,\n HslString,\n HsvInput,\n HsvObject,\n HsvString,\n NormalizeFn,\n Palette,\n PaletteKey,\n Rgba,\n RgbaInput,\n RgbaString,\n RgbaTuple,\n RgbInput,\n RgbObject,\n RgbString,\n RgbTuple,\n} from './types.js';\nexport { COLOR_FORMATS } from './types.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,sDAAsD;AAEtD,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAIL,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAuB,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAIL,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAA0B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAA6B,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAyB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAA0B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAuB,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAqB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAsB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAIL,OAAO,GACR,MAAM,cAAc,CAAC;AAyBtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC","sourcesContent":["// Public API barrel; explicit named re-exports only (tree-shake friendly).\n// No default export; no side effects at module scope.\n\nimport pkg from '../package.json' with { type: 'json' };\n\nexport const VERSION: string = pkg.version;\n\nexport { hexToRgba, rgbaToHex } from './conversions/hex.js';\nexport { hslToRgba, rgbaToHsl } from './conversions/hsl.js';\nexport { hsvToRgba, rgbaToHsv } from './conversions/hsv.js';\nexport { pantoneToRgba, rgbaToPantone } from './conversions/pantone.js';\nexport { rgbaToRgb, rgbToRgba } from './conversions/rgb.js';\nexport {\n type ConvertNameOptions,\n type ConvertPaletteOptions,\n type ConvertStructuralOptions,\n convert,\n fromRgba,\n toRgba,\n} from './convert.js';\nexport {\n type DefineColorPaletteInput,\n defineColorPalette,\n} from './defineColorPalette.js';\nexport { type DetectedFormat, detectFormat, isColor } from './detectFormat.js';\nexport {\n type IdentifyMatch,\n type IdentifyOptions,\n type IdentifyRankedOptions,\n identify,\n} from './identify.js';\nexport { type CrayolaColorName, crayola } from './palettes/crayola.js';\nexport { type Fs595bColorName, fs595b } from './palettes/fs595b.js';\nexport { type Fs595cColorName, fs595c } from './palettes/fs595c.js';\nexport { type IsccNbsColorName, isccNbs } from './palettes/isccNbs.js';\nexport { type MaterialColorName, material } from './palettes/material.js';\nexport { type MilStd2525dColorName, milStd2525d } from './palettes/milStd2525d.js';\nexport { type NbsColorName, nbs } from './palettes/nbs.js';\nexport { type NcsColorName, ncs } from './palettes/ncs.js';\nexport { type NtcColorName, ntc } from './palettes/ntc.js';\nexport { type PantoneColorName, pantone } from './palettes/pantone.js';\nexport { type PokemonColorName, pokemon } from './palettes/pokemon.js';\nexport { type RalColorName, ral } from './palettes/ral.js';\nexport { type ReseneColorName, resene } from './palettes/resene.js';\nexport { type TailwindColorName, tailwind } from './palettes/tailwind.js';\nexport { type UswdsColorName, uswds } from './palettes/uswds.js';\nexport { type WebColorName, web } from './palettes/web.js';\nexport { type WernerColorName, werner } from './palettes/werner.js';\nexport { type X11ColorName, x11 } from './palettes/x11.js';\nexport { type XkcdColorName, xkcd } from './palettes/xkcd.js';\nexport {\n type ResolveFuzzyOptions,\n type ResolveMatch,\n type ResolveOptions,\n resolve,\n} from './resolve.js';\nexport type {\n ColorFormat,\n ColorInput,\n ColorValue,\n DistanceMetric,\n HexColor,\n HslInput,\n HslObject,\n HslString,\n HsvInput,\n HsvObject,\n HsvString,\n NormalizeFn,\n Palette,\n PaletteKey,\n Rgba,\n RgbaInput,\n RgbaString,\n RgbaTuple,\n RgbInput,\n RgbObject,\n RgbString,\n RgbTuple,\n} from './types.js';\nexport { COLOR_FORMATS } from './types.js';\n"]}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Material Design 3 baseline system color tokens for light and dark schemes.
3
+ *
4
+ * Keys prefix each canonical `md-sys-color` role with its scheme, for example
5
+ * `light-primary` and `dark-on-surface`. Values come from Google Material 3
6
+ * design system version v0.192, published by Material Web under Apache-2.0.
7
+ *
8
+ * Material Design is a trademark of Google LLC. This reference palette is not
9
+ * affiliated with, endorsed by, or certified by Google. See NOTICE.md.
10
+ */
11
+ declare const materialColors: {
12
+ readonly 'light-background': '#fef7ff';
13
+ readonly 'light-error': '#b3261e';
14
+ readonly 'light-error-container': '#f9dedc';
15
+ readonly 'light-inverse-on-surface': '#f5eff7';
16
+ readonly 'light-inverse-primary': '#d0bcff';
17
+ readonly 'light-inverse-surface': '#322f35';
18
+ readonly 'light-on-background': '#1d1b20';
19
+ readonly 'light-on-error': '#ffffff';
20
+ readonly 'light-on-error-container': '#410e0b';
21
+ readonly 'light-on-primary': '#ffffff';
22
+ readonly 'light-on-primary-container': '#21005d';
23
+ readonly 'light-on-primary-fixed': '#21005d';
24
+ readonly 'light-on-primary-fixed-variant': '#4f378b';
25
+ readonly 'light-on-secondary': '#ffffff';
26
+ readonly 'light-on-secondary-container': '#1d192b';
27
+ readonly 'light-on-secondary-fixed': '#1d192b';
28
+ readonly 'light-on-secondary-fixed-variant': '#4a4458';
29
+ readonly 'light-on-surface': '#1d1b20';
30
+ readonly 'light-on-surface-variant': '#49454f';
31
+ readonly 'light-on-tertiary': '#ffffff';
32
+ readonly 'light-on-tertiary-container': '#31111d';
33
+ readonly 'light-on-tertiary-fixed': '#31111d';
34
+ readonly 'light-on-tertiary-fixed-variant': '#633b48';
35
+ readonly 'light-outline': '#79747e';
36
+ readonly 'light-outline-variant': '#cac4d0';
37
+ readonly 'light-primary': '#6750a4';
38
+ readonly 'light-primary-container': '#eaddff';
39
+ readonly 'light-primary-fixed': '#eaddff';
40
+ readonly 'light-primary-fixed-dim': '#d0bcff';
41
+ readonly 'light-scrim': '#000000';
42
+ readonly 'light-secondary': '#625b71';
43
+ readonly 'light-secondary-container': '#e8def8';
44
+ readonly 'light-secondary-fixed': '#e8def8';
45
+ readonly 'light-secondary-fixed-dim': '#ccc2dc';
46
+ readonly 'light-shadow': '#000000';
47
+ readonly 'light-surface': '#fef7ff';
48
+ readonly 'light-surface-bright': '#fef7ff';
49
+ readonly 'light-surface-container': '#f3edf7';
50
+ readonly 'light-surface-container-high': '#ece6f0';
51
+ readonly 'light-surface-container-highest': '#e6e0e9';
52
+ readonly 'light-surface-container-low': '#f7f2fa';
53
+ readonly 'light-surface-container-lowest': '#ffffff';
54
+ readonly 'light-surface-dim': '#ded8e1';
55
+ readonly 'light-surface-tint': '#6750a4';
56
+ readonly 'light-surface-variant': '#e7e0ec';
57
+ readonly 'light-tertiary': '#7d5260';
58
+ readonly 'light-tertiary-container': '#ffd8e4';
59
+ readonly 'light-tertiary-fixed': '#ffd8e4';
60
+ readonly 'light-tertiary-fixed-dim': '#efb8c8';
61
+ readonly 'dark-background': '#141218';
62
+ readonly 'dark-error': '#f2b8b5';
63
+ readonly 'dark-error-container': '#8c1d18';
64
+ readonly 'dark-inverse-on-surface': '#322f35';
65
+ readonly 'dark-inverse-primary': '#6750a4';
66
+ readonly 'dark-inverse-surface': '#e6e0e9';
67
+ readonly 'dark-on-background': '#e6e0e9';
68
+ readonly 'dark-on-error': '#601410';
69
+ readonly 'dark-on-error-container': '#f9dedc';
70
+ readonly 'dark-on-primary': '#381e72';
71
+ readonly 'dark-on-primary-container': '#eaddff';
72
+ readonly 'dark-on-primary-fixed': '#21005d';
73
+ readonly 'dark-on-primary-fixed-variant': '#4f378b';
74
+ readonly 'dark-on-secondary': '#332d41';
75
+ readonly 'dark-on-secondary-container': '#e8def8';
76
+ readonly 'dark-on-secondary-fixed': '#1d192b';
77
+ readonly 'dark-on-secondary-fixed-variant': '#4a4458';
78
+ readonly 'dark-on-surface': '#e6e0e9';
79
+ readonly 'dark-on-surface-variant': '#cac4d0';
80
+ readonly 'dark-on-tertiary': '#492532';
81
+ readonly 'dark-on-tertiary-container': '#ffd8e4';
82
+ readonly 'dark-on-tertiary-fixed': '#31111d';
83
+ readonly 'dark-on-tertiary-fixed-variant': '#633b48';
84
+ readonly 'dark-outline': '#938f99';
85
+ readonly 'dark-outline-variant': '#49454f';
86
+ readonly 'dark-primary': '#d0bcff';
87
+ readonly 'dark-primary-container': '#4f378b';
88
+ readonly 'dark-primary-fixed': '#eaddff';
89
+ readonly 'dark-primary-fixed-dim': '#d0bcff';
90
+ readonly 'dark-scrim': '#000000';
91
+ readonly 'dark-secondary': '#ccc2dc';
92
+ readonly 'dark-secondary-container': '#4a4458';
93
+ readonly 'dark-secondary-fixed': '#e8def8';
94
+ readonly 'dark-secondary-fixed-dim': '#ccc2dc';
95
+ readonly 'dark-shadow': '#000000';
96
+ readonly 'dark-surface': '#141218';
97
+ readonly 'dark-surface-bright': '#3b383e';
98
+ readonly 'dark-surface-container': '#211f26';
99
+ readonly 'dark-surface-container-high': '#2b2930';
100
+ readonly 'dark-surface-container-highest': '#36343b';
101
+ readonly 'dark-surface-container-low': '#1d1b20';
102
+ readonly 'dark-surface-container-lowest': '#0f0d13';
103
+ readonly 'dark-surface-dim': '#141218';
104
+ readonly 'dark-surface-tint': '#d0bcff';
105
+ readonly 'dark-surface-variant': '#49454f';
106
+ readonly 'dark-tertiary': '#efb8c8';
107
+ readonly 'dark-tertiary-container': '#633b48';
108
+ readonly 'dark-tertiary-fixed': '#ffd8e4';
109
+ readonly 'dark-tertiary-fixed-dim': '#efb8c8';
110
+ };
111
+ export type MaterialColorName = keyof typeof materialColors;
112
+ export declare const material: {
113
+ readonly name: 'material';
114
+ readonly colors: {
115
+ readonly 'light-background': '#fef7ff';
116
+ readonly 'light-error': '#b3261e';
117
+ readonly 'light-error-container': '#f9dedc';
118
+ readonly 'light-inverse-on-surface': '#f5eff7';
119
+ readonly 'light-inverse-primary': '#d0bcff';
120
+ readonly 'light-inverse-surface': '#322f35';
121
+ readonly 'light-on-background': '#1d1b20';
122
+ readonly 'light-on-error': '#ffffff';
123
+ readonly 'light-on-error-container': '#410e0b';
124
+ readonly 'light-on-primary': '#ffffff';
125
+ readonly 'light-on-primary-container': '#21005d';
126
+ readonly 'light-on-primary-fixed': '#21005d';
127
+ readonly 'light-on-primary-fixed-variant': '#4f378b';
128
+ readonly 'light-on-secondary': '#ffffff';
129
+ readonly 'light-on-secondary-container': '#1d192b';
130
+ readonly 'light-on-secondary-fixed': '#1d192b';
131
+ readonly 'light-on-secondary-fixed-variant': '#4a4458';
132
+ readonly 'light-on-surface': '#1d1b20';
133
+ readonly 'light-on-surface-variant': '#49454f';
134
+ readonly 'light-on-tertiary': '#ffffff';
135
+ readonly 'light-on-tertiary-container': '#31111d';
136
+ readonly 'light-on-tertiary-fixed': '#31111d';
137
+ readonly 'light-on-tertiary-fixed-variant': '#633b48';
138
+ readonly 'light-outline': '#79747e';
139
+ readonly 'light-outline-variant': '#cac4d0';
140
+ readonly 'light-primary': '#6750a4';
141
+ readonly 'light-primary-container': '#eaddff';
142
+ readonly 'light-primary-fixed': '#eaddff';
143
+ readonly 'light-primary-fixed-dim': '#d0bcff';
144
+ readonly 'light-scrim': '#000000';
145
+ readonly 'light-secondary': '#625b71';
146
+ readonly 'light-secondary-container': '#e8def8';
147
+ readonly 'light-secondary-fixed': '#e8def8';
148
+ readonly 'light-secondary-fixed-dim': '#ccc2dc';
149
+ readonly 'light-shadow': '#000000';
150
+ readonly 'light-surface': '#fef7ff';
151
+ readonly 'light-surface-bright': '#fef7ff';
152
+ readonly 'light-surface-container': '#f3edf7';
153
+ readonly 'light-surface-container-high': '#ece6f0';
154
+ readonly 'light-surface-container-highest': '#e6e0e9';
155
+ readonly 'light-surface-container-low': '#f7f2fa';
156
+ readonly 'light-surface-container-lowest': '#ffffff';
157
+ readonly 'light-surface-dim': '#ded8e1';
158
+ readonly 'light-surface-tint': '#6750a4';
159
+ readonly 'light-surface-variant': '#e7e0ec';
160
+ readonly 'light-tertiary': '#7d5260';
161
+ readonly 'light-tertiary-container': '#ffd8e4';
162
+ readonly 'light-tertiary-fixed': '#ffd8e4';
163
+ readonly 'light-tertiary-fixed-dim': '#efb8c8';
164
+ readonly 'dark-background': '#141218';
165
+ readonly 'dark-error': '#f2b8b5';
166
+ readonly 'dark-error-container': '#8c1d18';
167
+ readonly 'dark-inverse-on-surface': '#322f35';
168
+ readonly 'dark-inverse-primary': '#6750a4';
169
+ readonly 'dark-inverse-surface': '#e6e0e9';
170
+ readonly 'dark-on-background': '#e6e0e9';
171
+ readonly 'dark-on-error': '#601410';
172
+ readonly 'dark-on-error-container': '#f9dedc';
173
+ readonly 'dark-on-primary': '#381e72';
174
+ readonly 'dark-on-primary-container': '#eaddff';
175
+ readonly 'dark-on-primary-fixed': '#21005d';
176
+ readonly 'dark-on-primary-fixed-variant': '#4f378b';
177
+ readonly 'dark-on-secondary': '#332d41';
178
+ readonly 'dark-on-secondary-container': '#e8def8';
179
+ readonly 'dark-on-secondary-fixed': '#1d192b';
180
+ readonly 'dark-on-secondary-fixed-variant': '#4a4458';
181
+ readonly 'dark-on-surface': '#e6e0e9';
182
+ readonly 'dark-on-surface-variant': '#cac4d0';
183
+ readonly 'dark-on-tertiary': '#492532';
184
+ readonly 'dark-on-tertiary-container': '#ffd8e4';
185
+ readonly 'dark-on-tertiary-fixed': '#31111d';
186
+ readonly 'dark-on-tertiary-fixed-variant': '#633b48';
187
+ readonly 'dark-outline': '#938f99';
188
+ readonly 'dark-outline-variant': '#49454f';
189
+ readonly 'dark-primary': '#d0bcff';
190
+ readonly 'dark-primary-container': '#4f378b';
191
+ readonly 'dark-primary-fixed': '#eaddff';
192
+ readonly 'dark-primary-fixed-dim': '#d0bcff';
193
+ readonly 'dark-scrim': '#000000';
194
+ readonly 'dark-secondary': '#ccc2dc';
195
+ readonly 'dark-secondary-container': '#4a4458';
196
+ readonly 'dark-secondary-fixed': '#e8def8';
197
+ readonly 'dark-secondary-fixed-dim': '#ccc2dc';
198
+ readonly 'dark-shadow': '#000000';
199
+ readonly 'dark-surface': '#141218';
200
+ readonly 'dark-surface-bright': '#3b383e';
201
+ readonly 'dark-surface-container': '#211f26';
202
+ readonly 'dark-surface-container-high': '#2b2930';
203
+ readonly 'dark-surface-container-highest': '#36343b';
204
+ readonly 'dark-surface-container-low': '#1d1b20';
205
+ readonly 'dark-surface-container-lowest': '#0f0d13';
206
+ readonly 'dark-surface-dim': '#141218';
207
+ readonly 'dark-surface-tint': '#d0bcff';
208
+ readonly 'dark-surface-variant': '#49454f';
209
+ readonly 'dark-tertiary': '#efb8c8';
210
+ readonly 'dark-tertiary-container': '#633b48';
211
+ readonly 'dark-tertiary-fixed': '#ffd8e4';
212
+ readonly 'dark-tertiary-fixed-dim': '#efb8c8';
213
+ };
214
+ readonly normalize: import("../types.js").NormalizeFn;
215
+ readonly defaultMetric: 'deltaEok';
216
+ };
217
+ export {};
218
+ //# sourceMappingURL=material.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/palettes/material.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { standardNormalize } from './normalize.js';
2
+ /**
3
+ * Material Design 3 baseline system color tokens for light and dark schemes.
4
+ *
5
+ * Keys prefix each canonical `md-sys-color` role with its scheme, for example
6
+ * `light-primary` and `dark-on-surface`. Values come from Google Material 3
7
+ * design system version v0.192, published by Material Web under Apache-2.0.
8
+ *
9
+ * Material Design is a trademark of Google LLC. This reference palette is not
10
+ * affiliated with, endorsed by, or certified by Google. See NOTICE.md.
11
+ */
12
+ const materialColors = {
13
+ 'light-background': '#fef7ff',
14
+ 'light-error': '#b3261e',
15
+ 'light-error-container': '#f9dedc',
16
+ 'light-inverse-on-surface': '#f5eff7',
17
+ 'light-inverse-primary': '#d0bcff',
18
+ 'light-inverse-surface': '#322f35',
19
+ 'light-on-background': '#1d1b20',
20
+ 'light-on-error': '#ffffff',
21
+ 'light-on-error-container': '#410e0b',
22
+ 'light-on-primary': '#ffffff',
23
+ 'light-on-primary-container': '#21005d',
24
+ 'light-on-primary-fixed': '#21005d',
25
+ 'light-on-primary-fixed-variant': '#4f378b',
26
+ 'light-on-secondary': '#ffffff',
27
+ 'light-on-secondary-container': '#1d192b',
28
+ 'light-on-secondary-fixed': '#1d192b',
29
+ 'light-on-secondary-fixed-variant': '#4a4458',
30
+ 'light-on-surface': '#1d1b20',
31
+ 'light-on-surface-variant': '#49454f',
32
+ 'light-on-tertiary': '#ffffff',
33
+ 'light-on-tertiary-container': '#31111d',
34
+ 'light-on-tertiary-fixed': '#31111d',
35
+ 'light-on-tertiary-fixed-variant': '#633b48',
36
+ 'light-outline': '#79747e',
37
+ 'light-outline-variant': '#cac4d0',
38
+ 'light-primary': '#6750a4',
39
+ 'light-primary-container': '#eaddff',
40
+ 'light-primary-fixed': '#eaddff',
41
+ 'light-primary-fixed-dim': '#d0bcff',
42
+ 'light-scrim': '#000000',
43
+ 'light-secondary': '#625b71',
44
+ 'light-secondary-container': '#e8def8',
45
+ 'light-secondary-fixed': '#e8def8',
46
+ 'light-secondary-fixed-dim': '#ccc2dc',
47
+ 'light-shadow': '#000000',
48
+ 'light-surface': '#fef7ff',
49
+ 'light-surface-bright': '#fef7ff',
50
+ 'light-surface-container': '#f3edf7',
51
+ 'light-surface-container-high': '#ece6f0',
52
+ 'light-surface-container-highest': '#e6e0e9',
53
+ 'light-surface-container-low': '#f7f2fa',
54
+ 'light-surface-container-lowest': '#ffffff',
55
+ 'light-surface-dim': '#ded8e1',
56
+ 'light-surface-tint': '#6750a4',
57
+ 'light-surface-variant': '#e7e0ec',
58
+ 'light-tertiary': '#7d5260',
59
+ 'light-tertiary-container': '#ffd8e4',
60
+ 'light-tertiary-fixed': '#ffd8e4',
61
+ 'light-tertiary-fixed-dim': '#efb8c8',
62
+ 'dark-background': '#141218',
63
+ 'dark-error': '#f2b8b5',
64
+ 'dark-error-container': '#8c1d18',
65
+ 'dark-inverse-on-surface': '#322f35',
66
+ 'dark-inverse-primary': '#6750a4',
67
+ 'dark-inverse-surface': '#e6e0e9',
68
+ 'dark-on-background': '#e6e0e9',
69
+ 'dark-on-error': '#601410',
70
+ 'dark-on-error-container': '#f9dedc',
71
+ 'dark-on-primary': '#381e72',
72
+ 'dark-on-primary-container': '#eaddff',
73
+ 'dark-on-primary-fixed': '#21005d',
74
+ 'dark-on-primary-fixed-variant': '#4f378b',
75
+ 'dark-on-secondary': '#332d41',
76
+ 'dark-on-secondary-container': '#e8def8',
77
+ 'dark-on-secondary-fixed': '#1d192b',
78
+ 'dark-on-secondary-fixed-variant': '#4a4458',
79
+ 'dark-on-surface': '#e6e0e9',
80
+ 'dark-on-surface-variant': '#cac4d0',
81
+ 'dark-on-tertiary': '#492532',
82
+ 'dark-on-tertiary-container': '#ffd8e4',
83
+ 'dark-on-tertiary-fixed': '#31111d',
84
+ 'dark-on-tertiary-fixed-variant': '#633b48',
85
+ 'dark-outline': '#938f99',
86
+ 'dark-outline-variant': '#49454f',
87
+ 'dark-primary': '#d0bcff',
88
+ 'dark-primary-container': '#4f378b',
89
+ 'dark-primary-fixed': '#eaddff',
90
+ 'dark-primary-fixed-dim': '#d0bcff',
91
+ 'dark-scrim': '#000000',
92
+ 'dark-secondary': '#ccc2dc',
93
+ 'dark-secondary-container': '#4a4458',
94
+ 'dark-secondary-fixed': '#e8def8',
95
+ 'dark-secondary-fixed-dim': '#ccc2dc',
96
+ 'dark-shadow': '#000000',
97
+ 'dark-surface': '#141218',
98
+ 'dark-surface-bright': '#3b383e',
99
+ 'dark-surface-container': '#211f26',
100
+ 'dark-surface-container-high': '#2b2930',
101
+ 'dark-surface-container-highest': '#36343b',
102
+ 'dark-surface-container-low': '#1d1b20',
103
+ 'dark-surface-container-lowest': '#0f0d13',
104
+ 'dark-surface-dim': '#141218',
105
+ 'dark-surface-tint': '#d0bcff',
106
+ 'dark-surface-variant': '#49454f',
107
+ 'dark-tertiary': '#efb8c8',
108
+ 'dark-tertiary-container': '#633b48',
109
+ 'dark-tertiary-fixed': '#ffd8e4',
110
+ 'dark-tertiary-fixed-dim': '#efb8c8',
111
+ };
112
+ export const material = {
113
+ name: 'material',
114
+ colors: materialColors,
115
+ normalize: standardNormalize,
116
+ defaultMetric: 'deltaEok',
117
+ };
118
+ //# sourceMappingURL=material.js.map