pixelize-design-library 2.4.2-beta.1 → 2.4.2-beta.2
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/Components/Header/HeaderActions.d.ts +3 -1
- package/dist/Components/Header/HeaderActions.js +7 -3
- package/dist/Components/PlanPill/PlanPill.js +1 -1
- package/dist/Theme/tokens/brands/emerald/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/lavender/palette.light.js +3 -110
- package/dist/Theme/tokens/brands/meadow/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/neutrals.d.ts +8 -0
- package/dist/Theme/tokens/brands/neutrals.js +119 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/rosewood/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/skyline/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/slate/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/storefront/palette.light.js +5 -7
- package/dist/Theme/tokens/builders/brandInk.d.ts +11 -0
- package/dist/Theme/tokens/builders/brandInk.js +106 -0
- package/dist/Theme/tokens/types.d.ts +5 -0
- package/dist/esm/Components/Header/HeaderActions.js +8 -4
- package/dist/esm/Components/PlanPill/PlanPill.js +2 -2
- package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +3 -110
- package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/neutrals.js +116 -0
- package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/slate/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/storefront/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/builders/brandInk.js +103 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OptionProp } from "../Select/SelectProps";
|
|
2
|
-
declare const HeaderActions: ({ select, edit, create, }: {
|
|
2
|
+
declare const HeaderActions: ({ select, edit, create, surface, }: {
|
|
3
|
+
/** Background this is drawn on. Header's bar is dark in BOTH modes — pass it there. */
|
|
4
|
+
surface?: string;
|
|
3
5
|
select?: {
|
|
4
6
|
isSelect?: boolean;
|
|
5
7
|
options?: OptionProp[];
|
|
@@ -9,20 +9,24 @@ const react_2 = __importDefault(require("react"));
|
|
|
9
9
|
const lucide_react_1 = require("lucide-react");
|
|
10
10
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
11
11
|
const accentText_1 = require("../../Theme/tokens/builders/accentText");
|
|
12
|
+
const outlineRung_1 = require("../../Theme/tokens/builders/outlineRung");
|
|
12
13
|
const Select_1 = __importDefault(require("../Select/Select"));
|
|
13
14
|
const Divider_1 = __importDefault(require("../Divider/Divider"));
|
|
14
|
-
const HeaderActions = ({ select, edit, create, }) => {
|
|
15
|
+
const HeaderActions = ({ select, edit, create, surface, }) => {
|
|
15
16
|
var _a, _b;
|
|
16
17
|
const { colors } = (0, useCustomTheme_1.useCustomTheme)();
|
|
18
|
+
const canvas = surface !== null && surface !== void 0 ? surface : colors.backgroundColor.main;
|
|
19
|
+
const ink = (0, outlineRung_1.liftToContrast)(colors.secondary[500], canvas, accentText_1.AA_NORMAL_TEXT);
|
|
20
|
+
const iconInk = (0, outlineRung_1.liftToContrast)(colors.secondary[500], canvas, outlineRung_1.AA_NON_TEXT);
|
|
17
21
|
const elements = [];
|
|
18
22
|
if (select === null || select === void 0 ? void 0 : select.isSelect) {
|
|
19
23
|
elements.push((0, jsx_runtime_1.jsx)(react_1.Box, { width: (_a = select.width) !== null && _a !== void 0 ? _a : "12.5rem", children: (0, jsx_runtime_1.jsx)(Select_1.default, { options: (_b = select.options) !== null && _b !== void 0 ? _b : [], placeholder: select.selectPlaceholderText, onChange: (option) => { var _a; return (_a = select.onSelectChange) === null || _a === void 0 ? void 0 : _a.call(select, option); }, value: select.value }, "select") }, "select"));
|
|
20
24
|
}
|
|
21
25
|
if (edit === null || edit === void 0 ? void 0 : edit.isEditable) {
|
|
22
|
-
elements.push((0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: () => { var _a; return (_a = edit.onEdit) === null || _a === void 0 ? void 0 : _a.call(edit); }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.SquarePen, { size: 16, color:
|
|
26
|
+
elements.push((0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: () => { var _a; return (_a = edit.onEdit) === null || _a === void 0 ? void 0 : _a.call(edit); }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.SquarePen, { size: 16, color: iconInk }), (0, jsx_runtime_1.jsx)(react_1.Text, { color: ink, children: edit.label ? edit.label : "Edit Layout" })] }, "edit"));
|
|
23
27
|
}
|
|
24
28
|
if (create === null || create === void 0 ? void 0 : create.isCreatable) {
|
|
25
|
-
elements.push((0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: () => { var _a; return (_a = create.onCreate) === null || _a === void 0 ? void 0 : _a.call(create); }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.CirclePlus, { size: 16, color:
|
|
29
|
+
elements.push((0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: () => { var _a; return (_a = create.onCreate) === null || _a === void 0 ? void 0 : _a.call(create); }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.CirclePlus, { size: 16, color: iconInk }), (0, jsx_runtime_1.jsxs)(react_1.Text, { color: ink, children: [" ", create.label ? create.label : "Create New", " "] })] }, "create"));
|
|
26
30
|
}
|
|
27
31
|
return ((0, jsx_runtime_1.jsx)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.625rem", children: elements.map((el, i) => ((0, jsx_runtime_1.jsxs)(react_2.default.Fragment, { children: [i > 0 && (0, jsx_runtime_1.jsx)(Divider_1.default, {}), el] }, i))) }));
|
|
28
32
|
};
|
|
@@ -15,7 +15,7 @@ const PlanPill = ({ label, mobileLabel, status, tone = "normal", icon, gradient,
|
|
|
15
15
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
16
16
|
const c = theme.colors;
|
|
17
17
|
const toneGradient = {
|
|
18
|
-
normal: planPillGradient_1.
|
|
18
|
+
normal: (0, planPillGradient_1.inkSafeGradient)(c.gradient),
|
|
19
19
|
warning: (0, planPillGradient_1.statusGradient)(c.semantic.warning),
|
|
20
20
|
danger: (0, planPillGradient_1.statusGradient)(c.semantic.error),
|
|
21
21
|
};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#0f9d8a"; // teal-emerald core (balanced, not too green/blue)
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#e6f7f5",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// Stops retuned so white gradient-button text (onGradient, accentText.ts) clears AA at both
|
|
25
24
|
// ends — the original pair let white drop to 3.38/2.43 against from/to. Same hue, darker.
|
|
26
25
|
// Both nudged one step further (4.537/4.515 -> 4.618/4.616): the first pass cleared AA by
|
|
@@ -128,8 +127,7 @@ const palette = {
|
|
|
128
127
|
},
|
|
129
128
|
boxShadow: {
|
|
130
129
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
131
|
-
|
|
132
|
-
default: palette_light_1.default.boxShadow.default,
|
|
130
|
+
...neutrals_1.sharedBoxShadow,
|
|
133
131
|
},
|
|
134
132
|
};
|
|
135
133
|
exports.default = palette;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
4
|
+
const neutrals_1 = require("../neutrals");
|
|
4
5
|
const PRIMARY_500 = "#8B3FC8";
|
|
5
6
|
const SECONDARY_ANCHOR = "#1e0f30";
|
|
6
7
|
const primary = {
|
|
@@ -30,56 +31,6 @@ const secondary = {
|
|
|
30
31
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(SECONDARY_ANCHOR),
|
|
31
32
|
};
|
|
32
33
|
const tertiary = { ...secondary };
|
|
33
|
-
const semantic = {
|
|
34
|
-
success: {
|
|
35
|
-
50: "#e9f8ef",
|
|
36
|
-
100: "#bbe9cc",
|
|
37
|
-
200: "#9adeb4",
|
|
38
|
-
300: "#6ccf92",
|
|
39
|
-
400: "#4fc67d",
|
|
40
|
-
500: "#23b85c",
|
|
41
|
-
600: "#20a754",
|
|
42
|
-
700: "#198341",
|
|
43
|
-
800: "#136533",
|
|
44
|
-
900: "#0f4d27",
|
|
45
|
-
},
|
|
46
|
-
error: {
|
|
47
|
-
50: "#feedeb",
|
|
48
|
-
100: "#fbc6c2",
|
|
49
|
-
200: "#f9aaa4",
|
|
50
|
-
300: "#f6837b",
|
|
51
|
-
400: "#f56b61",
|
|
52
|
-
500: "#f2463a",
|
|
53
|
-
600: "#dc4035",
|
|
54
|
-
700: "#ac3229",
|
|
55
|
-
800: "#852720",
|
|
56
|
-
900: "#661d18",
|
|
57
|
-
},
|
|
58
|
-
warning: {
|
|
59
|
-
50: "#fff4ef",
|
|
60
|
-
100: "#ffddce",
|
|
61
|
-
200: "#ffccb7",
|
|
62
|
-
300: "#ffb596",
|
|
63
|
-
400: "#ffa781",
|
|
64
|
-
500: "#ff9162",
|
|
65
|
-
600: "#e88459",
|
|
66
|
-
700: "#b56746",
|
|
67
|
-
800: "#8c5036",
|
|
68
|
-
900: "#6b3d29",
|
|
69
|
-
},
|
|
70
|
-
info: {
|
|
71
|
-
50: "#eff9fc",
|
|
72
|
-
100: "#cdedf5",
|
|
73
|
-
200: "#b5e4f0",
|
|
74
|
-
300: "#94d7e9",
|
|
75
|
-
400: "#7fd0e5",
|
|
76
|
-
500: "#5fc4de",
|
|
77
|
-
600: "#56b2ea",
|
|
78
|
-
700: "#438b9e",
|
|
79
|
-
800: "#346c78",
|
|
80
|
-
900: "#28525d",
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
34
|
const gray = {
|
|
84
35
|
50: "#f9f7fb",
|
|
85
36
|
100: "#f0eaf6",
|
|
@@ -100,51 +51,6 @@ const gray = {
|
|
|
100
51
|
};
|
|
101
52
|
// These global color scales stay unchanged — they are
|
|
102
53
|
// utility palettes, not theme-specific
|
|
103
|
-
const red = {
|
|
104
|
-
50: "#feedeb", 100: "#fbc6c2", 200: "#f9aaa4", 300: "#f6837b",
|
|
105
|
-
400: "#f56b61", 500: "#f2463a", 600: "#dc4035", 700: "#ac3229",
|
|
106
|
-
800: "#852720", 900: "#661d18",
|
|
107
|
-
};
|
|
108
|
-
const orange = {
|
|
109
|
-
50: "#fff4ef", 100: "#ffddce", 200: "#ffccb7", 300: "#ffb596",
|
|
110
|
-
400: "#ffa781", 500: "#ff9162", 600: "#e88459", 700: "#b56746",
|
|
111
|
-
800: "#8c5036", 900: "#6b3d29",
|
|
112
|
-
};
|
|
113
|
-
const yellow = {
|
|
114
|
-
50: "#fefbec", 100: "#fdf1c5", 200: "#fbeba9", 300: "#fae281",
|
|
115
|
-
400: "#f9dc69", 500: "#f7d343", 600: "#e1c03d", 700: "#af9630",
|
|
116
|
-
800: "#887425", 900: "#68591c",
|
|
117
|
-
};
|
|
118
|
-
const green = {
|
|
119
|
-
50: "#e9f8ef", 100: "#bbe9cc", 200: "#9adeb4", 300: "#6ccf92",
|
|
120
|
-
400: "#4fc67d", 500: "#23b85c", 600: "#20a754", 700: "#198341",
|
|
121
|
-
800: "#136533", 900: "#0f4d27",
|
|
122
|
-
};
|
|
123
|
-
const teal = {
|
|
124
|
-
50: "#eff9fc", 100: "#cdedf5", 200: "#b5e4f0", 300: "#94d7e9",
|
|
125
|
-
400: "#7fd0e5", 500: "#5fc4de", 600: "#56b2ea", 700: "#438b9e",
|
|
126
|
-
800: "#346c78", 900: "#28525d",
|
|
127
|
-
};
|
|
128
|
-
const blue = {
|
|
129
|
-
50: "#ebf8ff", 100: "#bee3f8", 200: "#90cdf4", 300: "#63b3ed",
|
|
130
|
-
400: "#4299e1", 500: "#3182ce", 600: "#2b6cb0", 700: "#2c5282",
|
|
131
|
-
800: "#2a4365", 900: "#1a365d",
|
|
132
|
-
};
|
|
133
|
-
const cyan = {
|
|
134
|
-
50: "#edfdfd", 100: "#c4f1f9", 200: "#9decf9", 300: "#76e4f7",
|
|
135
|
-
400: "#0bc5ea", 500: "#00b5d8", 600: "#00a3c4", 700: "#0987a0",
|
|
136
|
-
800: "#086f83", 900: "#065666",
|
|
137
|
-
};
|
|
138
|
-
const purple = {
|
|
139
|
-
50: "#faf5ff", 100: "#e9d8fd", 200: "#d6bcfa", 300: "#b794f4",
|
|
140
|
-
400: "#9f7aea", 500: "#805ad5", 600: "#6b46c1", 700: "#553c9a",
|
|
141
|
-
800: "#44337a", 900: "#322659",
|
|
142
|
-
};
|
|
143
|
-
const pink = {
|
|
144
|
-
50: "#fff5f7", 100: "#fed7e2", 200: "#fbb6ce", 300: "#f687b3",
|
|
145
|
-
400: "#ed64a6", 500: "#d53f8c", 600: "#b83280", 700: "#97266d",
|
|
146
|
-
800: "#702459", 900: "#521b41",
|
|
147
|
-
};
|
|
148
54
|
const backgroundColor = {
|
|
149
55
|
main: "#f9f7fc",
|
|
150
56
|
secondary: "#f2edf8",
|
|
@@ -210,8 +116,7 @@ const placeholder = {
|
|
|
210
116
|
};
|
|
211
117
|
const boxShadow = {
|
|
212
118
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
213
|
-
|
|
214
|
-
default: "#00000033",
|
|
119
|
+
...neutrals_1.sharedBoxShadow,
|
|
215
120
|
};
|
|
216
121
|
const sidebar = {
|
|
217
122
|
background: {
|
|
@@ -294,20 +199,8 @@ const palette = {
|
|
|
294
199
|
primary,
|
|
295
200
|
secondary,
|
|
296
201
|
tertiary,
|
|
297
|
-
|
|
298
|
-
black: "#000",
|
|
299
|
-
white: "#fff",
|
|
300
|
-
semantic,
|
|
202
|
+
...neutrals_1.neutralTokens,
|
|
301
203
|
gray,
|
|
302
|
-
red,
|
|
303
|
-
orange,
|
|
304
|
-
yellow,
|
|
305
|
-
green,
|
|
306
|
-
teal,
|
|
307
|
-
blue,
|
|
308
|
-
cyan,
|
|
309
|
-
purple,
|
|
310
|
-
pink,
|
|
311
204
|
backgroundColor,
|
|
312
205
|
background,
|
|
313
206
|
text,
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#2d6a4f"; // was #2caa3d — deeper, forest-toned
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#edf7f2",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// `to` stop retuned so white gradient-button text (onGradient, accentText.ts) clears AA — the
|
|
25
24
|
// original let white drop to 2.49 there (`from` already passed at 6.39, unchanged).
|
|
26
25
|
// Nudged one step further (4.519 -> 4.627): the first pass cleared AA by <0.02, too thin a
|
|
@@ -126,8 +125,7 @@ const palette = {
|
|
|
126
125
|
},
|
|
127
126
|
boxShadow: {
|
|
128
127
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
129
|
-
|
|
130
|
-
default: palette_light_1.default.boxShadow.default,
|
|
128
|
+
...neutrals_1.sharedBoxShadow,
|
|
131
129
|
},
|
|
132
130
|
};
|
|
133
131
|
exports.default = palette;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NeutralPaletteTokens } from "../types";
|
|
2
|
+
/** Non-brand shadow tints. Only `primary` is brand-derived. */
|
|
3
|
+
export declare const sharedBoxShadow: {
|
|
4
|
+
error: string;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
/** Utility scales shared by every brand — never theme-specific. */
|
|
8
|
+
export declare const neutralTokens: NeutralPaletteTokens;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.neutralTokens = exports.sharedBoxShadow = void 0;
|
|
4
|
+
const semantic = {
|
|
5
|
+
success: {
|
|
6
|
+
50: "#e9f8ef",
|
|
7
|
+
100: "#bbe9cc",
|
|
8
|
+
200: "#9adeb4",
|
|
9
|
+
300: "#6ccf92",
|
|
10
|
+
400: "#4fc67d",
|
|
11
|
+
500: "#23b85c",
|
|
12
|
+
600: "#20a754",
|
|
13
|
+
700: "#198341",
|
|
14
|
+
800: "#136533",
|
|
15
|
+
900: "#0f4d27",
|
|
16
|
+
},
|
|
17
|
+
error: {
|
|
18
|
+
50: "#feedeb",
|
|
19
|
+
100: "#fbc6c2",
|
|
20
|
+
200: "#f9aaa4",
|
|
21
|
+
300: "#f6837b",
|
|
22
|
+
400: "#f56b61",
|
|
23
|
+
500: "#f2463a",
|
|
24
|
+
600: "#dc4035",
|
|
25
|
+
700: "#ac3229",
|
|
26
|
+
800: "#852720",
|
|
27
|
+
900: "#661d18",
|
|
28
|
+
},
|
|
29
|
+
warning: {
|
|
30
|
+
50: "#fff4ef",
|
|
31
|
+
100: "#ffddce",
|
|
32
|
+
200: "#ffccb7",
|
|
33
|
+
300: "#ffb596",
|
|
34
|
+
400: "#ffa781",
|
|
35
|
+
500: "#ff9162",
|
|
36
|
+
600: "#e88459",
|
|
37
|
+
700: "#b56746",
|
|
38
|
+
800: "#8c5036",
|
|
39
|
+
900: "#6b3d29",
|
|
40
|
+
},
|
|
41
|
+
info: {
|
|
42
|
+
50: "#eff9fc",
|
|
43
|
+
100: "#cdedf5",
|
|
44
|
+
200: "#b5e4f0",
|
|
45
|
+
300: "#94d7e9",
|
|
46
|
+
400: "#7fd0e5",
|
|
47
|
+
500: "#5fc4de",
|
|
48
|
+
600: "#56b2ea",
|
|
49
|
+
700: "#438b9e",
|
|
50
|
+
800: "#346c78",
|
|
51
|
+
900: "#28525d",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
const red = {
|
|
55
|
+
50: "#feedeb", 100: "#fbc6c2", 200: "#f9aaa4", 300: "#f6837b",
|
|
56
|
+
400: "#f56b61", 500: "#f2463a", 600: "#dc4035", 700: "#ac3229",
|
|
57
|
+
800: "#852720", 900: "#661d18",
|
|
58
|
+
};
|
|
59
|
+
const orange = {
|
|
60
|
+
50: "#fff4ef", 100: "#ffddce", 200: "#ffccb7", 300: "#ffb596",
|
|
61
|
+
400: "#ffa781", 500: "#ff9162", 600: "#e88459", 700: "#b56746",
|
|
62
|
+
800: "#8c5036", 900: "#6b3d29",
|
|
63
|
+
};
|
|
64
|
+
const yellow = {
|
|
65
|
+
50: "#fefbec", 100: "#fdf1c5", 200: "#fbeba9", 300: "#fae281",
|
|
66
|
+
400: "#f9dc69", 500: "#f7d343", 600: "#e1c03d", 700: "#af9630",
|
|
67
|
+
800: "#887425", 900: "#68591c",
|
|
68
|
+
};
|
|
69
|
+
const green = {
|
|
70
|
+
50: "#e9f8ef", 100: "#bbe9cc", 200: "#9adeb4", 300: "#6ccf92",
|
|
71
|
+
400: "#4fc67d", 500: "#23b85c", 600: "#20a754", 700: "#198341",
|
|
72
|
+
800: "#136533", 900: "#0f4d27",
|
|
73
|
+
};
|
|
74
|
+
const teal = {
|
|
75
|
+
50: "#eff9fc", 100: "#cdedf5", 200: "#b5e4f0", 300: "#94d7e9",
|
|
76
|
+
400: "#7fd0e5", 500: "#5fc4de", 600: "#56b2ea", 700: "#438b9e",
|
|
77
|
+
800: "#346c78", 900: "#28525d",
|
|
78
|
+
};
|
|
79
|
+
const blue = {
|
|
80
|
+
50: "#ebf8ff", 100: "#bee3f8", 200: "#90cdf4", 300: "#63b3ed",
|
|
81
|
+
400: "#4299e1", 500: "#3182ce", 600: "#2b6cb0", 700: "#2c5282",
|
|
82
|
+
800: "#2a4365", 900: "#1a365d",
|
|
83
|
+
};
|
|
84
|
+
const cyan = {
|
|
85
|
+
50: "#edfdfd", 100: "#c4f1f9", 200: "#9decf9", 300: "#76e4f7",
|
|
86
|
+
400: "#0bc5ea", 500: "#00b5d8", 600: "#00a3c4", 700: "#0987a0",
|
|
87
|
+
800: "#086f83", 900: "#065666",
|
|
88
|
+
};
|
|
89
|
+
const purple = {
|
|
90
|
+
50: "#faf5ff", 100: "#e9d8fd", 200: "#d6bcfa", 300: "#b794f4",
|
|
91
|
+
400: "#9f7aea", 500: "#805ad5", 600: "#6b46c1", 700: "#553c9a",
|
|
92
|
+
800: "#44337a", 900: "#322659",
|
|
93
|
+
};
|
|
94
|
+
const pink = {
|
|
95
|
+
50: "#fff5f7", 100: "#fed7e2", 200: "#fbb6ce", 300: "#f687b3",
|
|
96
|
+
400: "#ed64a6", 500: "#d53f8c", 600: "#b83280", 700: "#97266d",
|
|
97
|
+
800: "#702459", 900: "#521b41",
|
|
98
|
+
};
|
|
99
|
+
/** Non-brand shadow tints. Only `primary` is brand-derived. */
|
|
100
|
+
exports.sharedBoxShadow = {
|
|
101
|
+
error: "#F2463A47",
|
|
102
|
+
default: "#00000033",
|
|
103
|
+
};
|
|
104
|
+
/** Utility scales shared by every brand — never theme-specific. */
|
|
105
|
+
exports.neutralTokens = {
|
|
106
|
+
transparent: "transparent",
|
|
107
|
+
black: "#000",
|
|
108
|
+
white: "#fff",
|
|
109
|
+
semantic,
|
|
110
|
+
red,
|
|
111
|
+
orange,
|
|
112
|
+
yellow,
|
|
113
|
+
green,
|
|
114
|
+
teal,
|
|
115
|
+
blue,
|
|
116
|
+
cyan,
|
|
117
|
+
purple,
|
|
118
|
+
pink,
|
|
119
|
+
};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#cf4e3a"; // warm red (terracotta leaning)
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#fdf1ee",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// Stops retuned so white gradient-button text (onGradient, accentText.ts) clears AA at both
|
|
25
24
|
// ends — the original pair let white drop to 4.37/2.15 against from/to. Same hue, darker.
|
|
26
25
|
// Both nudged one step further (4.509/4.502 -> 4.601/4.617): the first pass cleared AA by
|
|
@@ -128,8 +127,7 @@ const palette = {
|
|
|
128
127
|
},
|
|
129
128
|
boxShadow: {
|
|
130
129
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
131
|
-
|
|
132
|
-
default: palette_light_1.default.boxShadow.default,
|
|
130
|
+
...neutrals_1.sharedBoxShadow,
|
|
133
131
|
},
|
|
134
132
|
};
|
|
135
133
|
exports.default = palette;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#d16a7e"; // muted warm rose (not neon pink)
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#fdf2f5",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// Stops retuned so white gradient-button text (onGradient, accentText.ts) clears AA at both
|
|
25
24
|
// ends — the original pair let white drop to 3.46/2.69 against from/to. Same hue, darker.
|
|
26
25
|
// Both nudged one step further (4.520/4.505 -> 4.609/4.607): the first pass cleared AA by
|
|
@@ -132,8 +131,7 @@ const palette = {
|
|
|
132
131
|
},
|
|
133
132
|
boxShadow: {
|
|
134
133
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
135
|
-
|
|
136
|
-
default: palette_light_1.default.boxShadow.default,
|
|
134
|
+
...neutrals_1.sharedBoxShadow,
|
|
137
135
|
},
|
|
138
136
|
};
|
|
139
137
|
exports.default = palette;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#1a3a6b"; // was #0088cc — deep navy
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#e8ecf4",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// `to` stop retuned so white gradient-button text (onGradient, accentText.ts) clears AA — the
|
|
25
24
|
// original let white drop to 2.14 there (`from` already passed at 11.28, unchanged).
|
|
26
25
|
// Nudged one step further (4.515 -> 4.600): the first pass cleared AA by <0.02, too thin a
|
|
@@ -126,8 +125,7 @@ const palette = {
|
|
|
126
125
|
},
|
|
127
126
|
boxShadow: {
|
|
128
127
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
129
|
-
|
|
130
|
-
default: palette_light_1.default.boxShadow.default,
|
|
128
|
+
...neutrals_1.sharedBoxShadow,
|
|
131
129
|
},
|
|
132
130
|
};
|
|
133
131
|
exports.default = palette;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#6b7280"; // was #475569 — pure neutral gray, no blue cast
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#f9fafb",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// `to` stop retuned so white gradient-button text (onGradient, accentText.ts) clears AA — the
|
|
25
24
|
// original let white drop to 2.98 there (`from` already passed at 4.83, unchanged).
|
|
26
25
|
// Nudged one step further (4.520 -> 4.608): the first pass cleared AA by <0.02, too thin a
|
|
@@ -130,8 +129,7 @@ const palette = {
|
|
|
130
129
|
},
|
|
131
130
|
boxShadow: {
|
|
132
131
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
133
|
-
|
|
134
|
-
default: palette_light_1.default.boxShadow.default,
|
|
132
|
+
...neutrals_1.sharedBoxShadow,
|
|
135
133
|
},
|
|
136
134
|
};
|
|
137
135
|
exports.default = palette;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const neutrals_1 = require("../neutrals");
|
|
7
4
|
const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
|
|
5
|
+
const brandInk_1 = require("../../builders/brandInk");
|
|
8
6
|
const PRIMARY_500 = "#004f4b"; // deep spruce teal — storefront/retail brand anchor
|
|
9
7
|
const primary = {
|
|
10
8
|
50: "#eafaf9",
|
|
@@ -20,7 +18,8 @@ const primary = {
|
|
|
20
18
|
opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
|
|
21
19
|
};
|
|
22
20
|
const palette = {
|
|
23
|
-
...
|
|
21
|
+
...neutrals_1.neutralTokens,
|
|
22
|
+
...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
|
|
24
23
|
// Same hue as primary, darker stop for the "to" end — mirrors emerald's gradient pattern.
|
|
25
24
|
// White gradient-button text verified AA at both stops (4.98 / 6.96).
|
|
26
25
|
gradient: { from: "#0c7d77", to: "#095e90" }, // spruce teal → deep blue
|
|
@@ -120,8 +119,7 @@ const palette = {
|
|
|
120
119
|
},
|
|
121
120
|
boxShadow: {
|
|
122
121
|
primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
|
|
123
|
-
|
|
124
|
-
default: palette_light_1.default.boxShadow.default,
|
|
122
|
+
...neutrals_1.sharedBoxShadow,
|
|
125
123
|
},
|
|
126
124
|
};
|
|
127
125
|
exports.default = palette;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BrandScale, ColorScale } from "../types";
|
|
2
|
+
export type BrandInkRamps = {
|
|
3
|
+
secondary: BrandScale;
|
|
4
|
+
tertiary: BrandScale;
|
|
5
|
+
text: ColorScale;
|
|
6
|
+
header: ColorScale;
|
|
7
|
+
placeholder: ColorScale;
|
|
8
|
+
disabled: ColorScale;
|
|
9
|
+
};
|
|
10
|
+
/** Brand-hued ink ramps at lavender's verified luminances, so contrast carries over. */
|
|
11
|
+
export declare function buildBrandInk(primary500: string): BrandInkRamps;
|