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 +55 -7
- package/README.md +65 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/palettes/material.d.ts +218 -0
- package/dist/palettes/material.d.ts.map +1 -0
- package/dist/palettes/material.js +118 -0
- package/dist/palettes/material.js.map +1 -0
- package/dist/palettes/milStd2525d.d.ts +92 -0
- package/dist/palettes/milStd2525d.d.ts.map +1 -0
- package/dist/palettes/milStd2525d.js +72 -0
- package/dist/palettes/milStd2525d.js.map +1 -0
- package/dist/palettes/uswds.d.ts +969 -0
- package/dist/palettes/uswds.d.ts.map +1 -0
- package/dist/palettes/uswds.js +531 -0
- package/dist/palettes/uswds.js.map +1 -0
- package/package.json +18 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material.js","sourceRoot":"","sources":["../../src/palettes/material.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Palette } from '../types.js';\nimport { standardNormalize } from './normalize.js';\n\n/**\n * Material Design 3 baseline system color tokens for light and dark schemes.\n *\n * Keys prefix each canonical `md-sys-color` role with its scheme, for example\n * `light-primary` and `dark-on-surface`. Values come from Google Material 3\n * design system version v0.192, published by Material Web under Apache-2.0.\n *\n * Material Design is a trademark of Google LLC. This reference palette is not\n * affiliated with, endorsed by, or certified by Google. See NOTICE.md.\n */\nconst materialColors = {\n 'light-background': '#fef7ff',\n 'light-error': '#b3261e',\n 'light-error-container': '#f9dedc',\n 'light-inverse-on-surface': '#f5eff7',\n 'light-inverse-primary': '#d0bcff',\n 'light-inverse-surface': '#322f35',\n 'light-on-background': '#1d1b20',\n 'light-on-error': '#ffffff',\n 'light-on-error-container': '#410e0b',\n 'light-on-primary': '#ffffff',\n 'light-on-primary-container': '#21005d',\n 'light-on-primary-fixed': '#21005d',\n 'light-on-primary-fixed-variant': '#4f378b',\n 'light-on-secondary': '#ffffff',\n 'light-on-secondary-container': '#1d192b',\n 'light-on-secondary-fixed': '#1d192b',\n 'light-on-secondary-fixed-variant': '#4a4458',\n 'light-on-surface': '#1d1b20',\n 'light-on-surface-variant': '#49454f',\n 'light-on-tertiary': '#ffffff',\n 'light-on-tertiary-container': '#31111d',\n 'light-on-tertiary-fixed': '#31111d',\n 'light-on-tertiary-fixed-variant': '#633b48',\n 'light-outline': '#79747e',\n 'light-outline-variant': '#cac4d0',\n 'light-primary': '#6750a4',\n 'light-primary-container': '#eaddff',\n 'light-primary-fixed': '#eaddff',\n 'light-primary-fixed-dim': '#d0bcff',\n 'light-scrim': '#000000',\n 'light-secondary': '#625b71',\n 'light-secondary-container': '#e8def8',\n 'light-secondary-fixed': '#e8def8',\n 'light-secondary-fixed-dim': '#ccc2dc',\n 'light-shadow': '#000000',\n 'light-surface': '#fef7ff',\n 'light-surface-bright': '#fef7ff',\n 'light-surface-container': '#f3edf7',\n 'light-surface-container-high': '#ece6f0',\n 'light-surface-container-highest': '#e6e0e9',\n 'light-surface-container-low': '#f7f2fa',\n 'light-surface-container-lowest': '#ffffff',\n 'light-surface-dim': '#ded8e1',\n 'light-surface-tint': '#6750a4',\n 'light-surface-variant': '#e7e0ec',\n 'light-tertiary': '#7d5260',\n 'light-tertiary-container': '#ffd8e4',\n 'light-tertiary-fixed': '#ffd8e4',\n 'light-tertiary-fixed-dim': '#efb8c8',\n 'dark-background': '#141218',\n 'dark-error': '#f2b8b5',\n 'dark-error-container': '#8c1d18',\n 'dark-inverse-on-surface': '#322f35',\n 'dark-inverse-primary': '#6750a4',\n 'dark-inverse-surface': '#e6e0e9',\n 'dark-on-background': '#e6e0e9',\n 'dark-on-error': '#601410',\n 'dark-on-error-container': '#f9dedc',\n 'dark-on-primary': '#381e72',\n 'dark-on-primary-container': '#eaddff',\n 'dark-on-primary-fixed': '#21005d',\n 'dark-on-primary-fixed-variant': '#4f378b',\n 'dark-on-secondary': '#332d41',\n 'dark-on-secondary-container': '#e8def8',\n 'dark-on-secondary-fixed': '#1d192b',\n 'dark-on-secondary-fixed-variant': '#4a4458',\n 'dark-on-surface': '#e6e0e9',\n 'dark-on-surface-variant': '#cac4d0',\n 'dark-on-tertiary': '#492532',\n 'dark-on-tertiary-container': '#ffd8e4',\n 'dark-on-tertiary-fixed': '#31111d',\n 'dark-on-tertiary-fixed-variant': '#633b48',\n 'dark-outline': '#938f99',\n 'dark-outline-variant': '#49454f',\n 'dark-primary': '#d0bcff',\n 'dark-primary-container': '#4f378b',\n 'dark-primary-fixed': '#eaddff',\n 'dark-primary-fixed-dim': '#d0bcff',\n 'dark-scrim': '#000000',\n 'dark-secondary': '#ccc2dc',\n 'dark-secondary-container': '#4a4458',\n 'dark-secondary-fixed': '#e8def8',\n 'dark-secondary-fixed-dim': '#ccc2dc',\n 'dark-shadow': '#000000',\n 'dark-surface': '#141218',\n 'dark-surface-bright': '#3b383e',\n 'dark-surface-container': '#211f26',\n 'dark-surface-container-high': '#2b2930',\n 'dark-surface-container-highest': '#36343b',\n 'dark-surface-container-low': '#1d1b20',\n 'dark-surface-container-lowest': '#0f0d13',\n 'dark-surface-dim': '#141218',\n 'dark-surface-tint': '#d0bcff',\n 'dark-surface-variant': '#49454f',\n 'dark-tertiary': '#efb8c8',\n 'dark-tertiary-container': '#633b48',\n 'dark-tertiary-fixed': '#ffd8e4',\n 'dark-tertiary-fixed-dim': '#efb8c8',\n} as const;\n\nexport type MaterialColorName = keyof typeof materialColors;\n\nexport const material = {\n name: 'material',\n colors: materialColors,\n normalize: standardNormalize,\n defaultMetric: 'deltaEok',\n} as const satisfies Palette<MaterialColorName>;\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIL-STD-2525D (Joint Military Symbology, 10 June 2014) symbol colors.
|
|
3
|
+
*
|
|
4
|
+
* The US Department of Defense standard for the symbols command-and-control
|
|
5
|
+
* systems draw: units, equipment, and tracks, colored by standard identity
|
|
6
|
+
* (whether the thing is hostile, friend, neutral, unknown, or civilian).
|
|
7
|
+
*
|
|
8
|
+
* - Table XV, "Color range values for filled symbols": a dark, medium, and
|
|
9
|
+
* light fill per identity. The standard lets implementers use any of the
|
|
10
|
+
* three sets, or another set whose luminance falls between dark and
|
|
11
|
+
* light, and keeps the hue fixed per identity.
|
|
12
|
+
* - Table XVI, "Default colors for unfilled symbols": one frame and icon
|
|
13
|
+
* color per identity (red, cyan, neon green, yellow, magenta).
|
|
14
|
+
*
|
|
15
|
+
* Keys are the identity and shade: `'Hostile Medium'`, `'Friend Light'`,
|
|
16
|
+
* `'Neutral Unfilled'`. Each identity row also covers its kin from the
|
|
17
|
+
* table: hostile includes suspect, joker, and faker; friend includes
|
|
18
|
+
* assumed friend; unknown includes pending; civilian is the optional fill.
|
|
19
|
+
* `'Unknown Medium'` and `'Unknown Unfilled'` share `#ffff00`; `identify`
|
|
20
|
+
* returns `'Unknown Medium'`, the first in insertion order.
|
|
21
|
+
*
|
|
22
|
+
* Values are the RGB triplets the standard prints, converted to hex.
|
|
23
|
+
* MIL-STD-2525D is a US Government work, approved for public release
|
|
24
|
+
* (Distribution A). MIL-STD-2525E (2022) supersedes it and may revise
|
|
25
|
+
* these colors; this palette is pinned to 2525D. See NOTICE.md.
|
|
26
|
+
*
|
|
27
|
+
* Default metric: `'deltaE2000'`; the three shades of each hue sit close
|
|
28
|
+
* enough that the most perceptually faithful standard ΔE is worth its
|
|
29
|
+
* negligible cost at 20 entries.
|
|
30
|
+
*/
|
|
31
|
+
declare const milStd2525dColors: {
|
|
32
|
+
readonly 'Hostile Dark': '#c80000';
|
|
33
|
+
readonly 'Hostile Medium': '#ff3031';
|
|
34
|
+
readonly 'Hostile Light': '#ff8080';
|
|
35
|
+
readonly 'Friend Dark': '#006b8c';
|
|
36
|
+
readonly 'Friend Medium': '#00a8dc';
|
|
37
|
+
readonly 'Friend Light': '#80e0ff';
|
|
38
|
+
readonly 'Neutral Dark': '#00a000';
|
|
39
|
+
readonly 'Neutral Medium': '#00e200';
|
|
40
|
+
readonly 'Neutral Light': '#aaffaa';
|
|
41
|
+
readonly 'Unknown Dark': '#e1dc00';
|
|
42
|
+
readonly 'Unknown Medium': '#ffff00';
|
|
43
|
+
readonly 'Unknown Light': '#ffff80';
|
|
44
|
+
readonly 'Civilian Dark': '#500050';
|
|
45
|
+
readonly 'Civilian Medium': '#800080';
|
|
46
|
+
readonly 'Civilian Light': '#ffa1ff';
|
|
47
|
+
readonly 'Hostile Unfilled': '#ff0000';
|
|
48
|
+
readonly 'Friend Unfilled': '#00ffff';
|
|
49
|
+
readonly 'Neutral Unfilled': '#00ff00';
|
|
50
|
+
readonly 'Unknown Unfilled': '#ffff00';
|
|
51
|
+
readonly 'Civilian Unfilled': '#ff00ff';
|
|
52
|
+
};
|
|
53
|
+
export type MilStd2525dColorName = keyof typeof milStd2525dColors;
|
|
54
|
+
/**
|
|
55
|
+
* MIL-STD-2525D symbol colors as a `Palette<MilStd2525dColorName>`. Keys
|
|
56
|
+
* are identity plus shade (`'Friend Medium'`); the standard normalizer
|
|
57
|
+
* accepts any case and punctuation.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* identify('#00a8dc', { palette: milStd2525d }); // 'Friend Medium'
|
|
61
|
+
* resolve('hostile light', { palette: milStd2525d }); // '#ff8080'
|
|
62
|
+
* milStd2525d.colors['Civilian Unfilled']; // '#ff00ff'
|
|
63
|
+
*/
|
|
64
|
+
export declare const milStd2525d: {
|
|
65
|
+
readonly name: 'milStd2525d';
|
|
66
|
+
readonly colors: {
|
|
67
|
+
readonly 'Hostile Dark': '#c80000';
|
|
68
|
+
readonly 'Hostile Medium': '#ff3031';
|
|
69
|
+
readonly 'Hostile Light': '#ff8080';
|
|
70
|
+
readonly 'Friend Dark': '#006b8c';
|
|
71
|
+
readonly 'Friend Medium': '#00a8dc';
|
|
72
|
+
readonly 'Friend Light': '#80e0ff';
|
|
73
|
+
readonly 'Neutral Dark': '#00a000';
|
|
74
|
+
readonly 'Neutral Medium': '#00e200';
|
|
75
|
+
readonly 'Neutral Light': '#aaffaa';
|
|
76
|
+
readonly 'Unknown Dark': '#e1dc00';
|
|
77
|
+
readonly 'Unknown Medium': '#ffff00';
|
|
78
|
+
readonly 'Unknown Light': '#ffff80';
|
|
79
|
+
readonly 'Civilian Dark': '#500050';
|
|
80
|
+
readonly 'Civilian Medium': '#800080';
|
|
81
|
+
readonly 'Civilian Light': '#ffa1ff';
|
|
82
|
+
readonly 'Hostile Unfilled': '#ff0000';
|
|
83
|
+
readonly 'Friend Unfilled': '#00ffff';
|
|
84
|
+
readonly 'Neutral Unfilled': '#00ff00';
|
|
85
|
+
readonly 'Unknown Unfilled': '#ffff00';
|
|
86
|
+
readonly 'Civilian Unfilled': '#ff00ff';
|
|
87
|
+
};
|
|
88
|
+
readonly normalize: import("../types.js").NormalizeFn;
|
|
89
|
+
readonly defaultMetric: 'deltaE2000';
|
|
90
|
+
};
|
|
91
|
+
export {};
|
|
92
|
+
//# sourceMappingURL=milStd2525d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"milStd2525d.d.ts","sourceRoot":"","sources":["../../src/palettes/milStd2525d.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,QAAA,MAAM,iBAAiB;aAErB,cAAc,EAAE,SAAS;aACzB,gBAAgB,EAAE,SAAS;aAC3B,eAAe,EAAE,SAAS;aAC1B,aAAa,EAAE,SAAS;aACxB,eAAe,EAAE,SAAS;aAC1B,cAAc,EAAE,SAAS;aACzB,cAAc,EAAE,SAAS;aACzB,gBAAgB,EAAE,SAAS;aAC3B,eAAe,EAAE,SAAS;aAC1B,cAAc,EAAE,SAAS;aACzB,gBAAgB,EAAE,SAAS;aAC3B,eAAe,EAAE,SAAS;aAC1B,eAAe,EAAE,SAAS;aAC1B,iBAAiB,EAAE,SAAS;aAC5B,gBAAgB,EAAE,SAAS;aAG3B,kBAAkB,EAAE,SAAS;aAC7B,iBAAiB,EAAE,SAAS;aAC5B,kBAAkB,EAAE,SAAS;aAC7B,kBAAkB,EAAE,SAAS;aAC7B,mBAAmB,EAAE,SAAS;CACtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;mBAChB,aAAa;;iCArCH,SAAS;mCACP,SAAS;kCACV,SAAS;gCACX,SAAS;kCACP,SAAS;iCACV,SAAS;iCACT,SAAS;mCACP,SAAS;kCACV,SAAS;iCACV,SAAS;mCACP,SAAS;kCACV,SAAS;kCACT,SAAS;oCACP,SAAS;mCACV,SAAS;qCAGP,SAAS;oCACV,SAAS;qCACR,SAAS;qCACT,SAAS;sCACR,SAAS;;;4BAmBf,YAAY;CACqB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { standardNormalize } from './normalize.js';
|
|
2
|
+
/**
|
|
3
|
+
* MIL-STD-2525D (Joint Military Symbology, 10 June 2014) symbol colors.
|
|
4
|
+
*
|
|
5
|
+
* The US Department of Defense standard for the symbols command-and-control
|
|
6
|
+
* systems draw: units, equipment, and tracks, colored by standard identity
|
|
7
|
+
* (whether the thing is hostile, friend, neutral, unknown, or civilian).
|
|
8
|
+
*
|
|
9
|
+
* - Table XV, "Color range values for filled symbols": a dark, medium, and
|
|
10
|
+
* light fill per identity. The standard lets implementers use any of the
|
|
11
|
+
* three sets, or another set whose luminance falls between dark and
|
|
12
|
+
* light, and keeps the hue fixed per identity.
|
|
13
|
+
* - Table XVI, "Default colors for unfilled symbols": one frame and icon
|
|
14
|
+
* color per identity (red, cyan, neon green, yellow, magenta).
|
|
15
|
+
*
|
|
16
|
+
* Keys are the identity and shade: `'Hostile Medium'`, `'Friend Light'`,
|
|
17
|
+
* `'Neutral Unfilled'`. Each identity row also covers its kin from the
|
|
18
|
+
* table: hostile includes suspect, joker, and faker; friend includes
|
|
19
|
+
* assumed friend; unknown includes pending; civilian is the optional fill.
|
|
20
|
+
* `'Unknown Medium'` and `'Unknown Unfilled'` share `#ffff00`; `identify`
|
|
21
|
+
* returns `'Unknown Medium'`, the first in insertion order.
|
|
22
|
+
*
|
|
23
|
+
* Values are the RGB triplets the standard prints, converted to hex.
|
|
24
|
+
* MIL-STD-2525D is a US Government work, approved for public release
|
|
25
|
+
* (Distribution A). MIL-STD-2525E (2022) supersedes it and may revise
|
|
26
|
+
* these colors; this palette is pinned to 2525D. See NOTICE.md.
|
|
27
|
+
*
|
|
28
|
+
* Default metric: `'deltaE2000'`; the three shades of each hue sit close
|
|
29
|
+
* enough that the most perceptually faithful standard ΔE is worth its
|
|
30
|
+
* negligible cost at 20 entries.
|
|
31
|
+
*/
|
|
32
|
+
const milStd2525dColors = {
|
|
33
|
+
// --- Table XV: filled symbols (dark, medium, light) ---
|
|
34
|
+
'Hostile Dark': '#c80000',
|
|
35
|
+
'Hostile Medium': '#ff3031',
|
|
36
|
+
'Hostile Light': '#ff8080',
|
|
37
|
+
'Friend Dark': '#006b8c',
|
|
38
|
+
'Friend Medium': '#00a8dc',
|
|
39
|
+
'Friend Light': '#80e0ff',
|
|
40
|
+
'Neutral Dark': '#00a000',
|
|
41
|
+
'Neutral Medium': '#00e200',
|
|
42
|
+
'Neutral Light': '#aaffaa',
|
|
43
|
+
'Unknown Dark': '#e1dc00',
|
|
44
|
+
'Unknown Medium': '#ffff00',
|
|
45
|
+
'Unknown Light': '#ffff80',
|
|
46
|
+
'Civilian Dark': '#500050',
|
|
47
|
+
'Civilian Medium': '#800080',
|
|
48
|
+
'Civilian Light': '#ffa1ff',
|
|
49
|
+
// --- Table XVI: unfilled symbols ---
|
|
50
|
+
'Hostile Unfilled': '#ff0000',
|
|
51
|
+
'Friend Unfilled': '#00ffff',
|
|
52
|
+
'Neutral Unfilled': '#00ff00',
|
|
53
|
+
'Unknown Unfilled': '#ffff00',
|
|
54
|
+
'Civilian Unfilled': '#ff00ff',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* MIL-STD-2525D symbol colors as a `Palette<MilStd2525dColorName>`. Keys
|
|
58
|
+
* are identity plus shade (`'Friend Medium'`); the standard normalizer
|
|
59
|
+
* accepts any case and punctuation.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* identify('#00a8dc', { palette: milStd2525d }); // 'Friend Medium'
|
|
63
|
+
* resolve('hostile light', { palette: milStd2525d }); // '#ff8080'
|
|
64
|
+
* milStd2525d.colors['Civilian Unfilled']; // '#ff00ff'
|
|
65
|
+
*/
|
|
66
|
+
export const milStd2525d = {
|
|
67
|
+
name: 'milStd2525d',
|
|
68
|
+
colors: milStd2525dColors,
|
|
69
|
+
normalize: standardNormalize,
|
|
70
|
+
defaultMetric: 'deltaE2000',
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=milStd2525d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"milStd2525d.js","sourceRoot":"","sources":["../../src/palettes/milStd2525d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,iBAAiB,GAAG;IACxB,yDAAyD;IACzD,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;IAC1B,iBAAiB,EAAE,SAAS;IAC5B,gBAAgB,EAAE,SAAS;IAE3B,sCAAsC;IACtC,kBAAkB,EAAE,SAAS;IAC7B,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,SAAS;CACtB,CAAC;AAIX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,iBAAiB;IAC5B,aAAa,EAAE,YAAY;CACqB,CAAC","sourcesContent":["import type { Palette } from '../types.js';\nimport { standardNormalize } from './normalize.js';\n\n/**\n * MIL-STD-2525D (Joint Military Symbology, 10 June 2014) symbol colors.\n *\n * The US Department of Defense standard for the symbols command-and-control\n * systems draw: units, equipment, and tracks, colored by standard identity\n * (whether the thing is hostile, friend, neutral, unknown, or civilian).\n *\n * - Table XV, \"Color range values for filled symbols\": a dark, medium, and\n * light fill per identity. The standard lets implementers use any of the\n * three sets, or another set whose luminance falls between dark and\n * light, and keeps the hue fixed per identity.\n * - Table XVI, \"Default colors for unfilled symbols\": one frame and icon\n * color per identity (red, cyan, neon green, yellow, magenta).\n *\n * Keys are the identity and shade: `'Hostile Medium'`, `'Friend Light'`,\n * `'Neutral Unfilled'`. Each identity row also covers its kin from the\n * table: hostile includes suspect, joker, and faker; friend includes\n * assumed friend; unknown includes pending; civilian is the optional fill.\n * `'Unknown Medium'` and `'Unknown Unfilled'` share `#ffff00`; `identify`\n * returns `'Unknown Medium'`, the first in insertion order.\n *\n * Values are the RGB triplets the standard prints, converted to hex.\n * MIL-STD-2525D is a US Government work, approved for public release\n * (Distribution A). MIL-STD-2525E (2022) supersedes it and may revise\n * these colors; this palette is pinned to 2525D. See NOTICE.md.\n *\n * Default metric: `'deltaE2000'`; the three shades of each hue sit close\n * enough that the most perceptually faithful standard ΔE is worth its\n * negligible cost at 20 entries.\n */\nconst milStd2525dColors = {\n // --- Table XV: filled symbols (dark, medium, light) ---\n 'Hostile Dark': '#c80000',\n 'Hostile Medium': '#ff3031',\n 'Hostile Light': '#ff8080',\n 'Friend Dark': '#006b8c',\n 'Friend Medium': '#00a8dc',\n 'Friend Light': '#80e0ff',\n 'Neutral Dark': '#00a000',\n 'Neutral Medium': '#00e200',\n 'Neutral Light': '#aaffaa',\n 'Unknown Dark': '#e1dc00',\n 'Unknown Medium': '#ffff00',\n 'Unknown Light': '#ffff80',\n 'Civilian Dark': '#500050',\n 'Civilian Medium': '#800080',\n 'Civilian Light': '#ffa1ff',\n\n // --- Table XVI: unfilled symbols ---\n 'Hostile Unfilled': '#ff0000',\n 'Friend Unfilled': '#00ffff',\n 'Neutral Unfilled': '#00ff00',\n 'Unknown Unfilled': '#ffff00',\n 'Civilian Unfilled': '#ff00ff',\n} as const;\n\nexport type MilStd2525dColorName = keyof typeof milStd2525dColors;\n\n/**\n * MIL-STD-2525D symbol colors as a `Palette<MilStd2525dColorName>`. Keys\n * are identity plus shade (`'Friend Medium'`); the standard normalizer\n * accepts any case and punctuation.\n *\n * @example\n * identify('#00a8dc', { palette: milStd2525d }); // 'Friend Medium'\n * resolve('hostile light', { palette: milStd2525d }); // '#ff8080'\n * milStd2525d.colors['Civilian Unfilled']; // '#ff00ff'\n */\nexport const milStd2525d = {\n name: 'milStd2525d',\n colors: milStd2525dColors,\n normalize: standardNormalize,\n defaultMetric: 'deltaE2000',\n} as const satisfies Palette<MilStd2525dColorName>;\n"]}
|