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.
@@ -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"]}