@oxyhq/bloom 0.79.1 → 0.81.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/lib/commonjs/scroll/index.web.js +52 -18
- package/lib/commonjs/scroll/index.web.js.map +1 -1
- package/lib/commonjs/scroll/scrollable.web.js +9 -3
- package/lib/commonjs/scroll/scrollable.web.js.map +1 -1
- package/lib/commonjs/tabs/Tabs.js +409 -71
- package/lib/commonjs/tabs/Tabs.js.map +1 -1
- package/lib/commonjs/tabs/expo-router/RouterTabs.js +215 -0
- package/lib/commonjs/tabs/expo-router/RouterTabs.js.map +1 -0
- package/lib/commonjs/tabs/expo-router/index.js +13 -0
- package/lib/commonjs/tabs/expo-router/index.js.map +1 -0
- package/lib/commonjs/theme/color-engine/index.js +6 -0
- package/lib/commonjs/theme/color-engine/index.js.map +1 -1
- package/lib/commonjs/theme/color-engine/scheme-variants.js +29 -1
- package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -1
- package/lib/commonjs/theme/color-policy.js +54 -10
- package/lib/commonjs/theme/color-policy.js.map +1 -1
- package/lib/commonjs/theme/color-presets.js +14 -2
- package/lib/commonjs/theme/color-presets.js.map +1 -1
- package/lib/commonjs/theme/color-scope/seed-scope.js +5 -1
- package/lib/commonjs/theme/color-scope/seed-scope.js.map +1 -1
- package/lib/module/scroll/index.web.js +52 -18
- package/lib/module/scroll/index.web.js.map +1 -1
- package/lib/module/scroll/scrollable.web.js +9 -3
- package/lib/module/scroll/scrollable.web.js.map +1 -1
- package/lib/module/tabs/Tabs.js +417 -73
- package/lib/module/tabs/Tabs.js.map +1 -1
- package/lib/module/tabs/expo-router/RouterTabs.js +210 -0
- package/lib/module/tabs/expo-router/RouterTabs.js.map +1 -0
- package/lib/module/tabs/expo-router/index.js +10 -0
- package/lib/module/tabs/expo-router/index.js.map +1 -0
- package/lib/module/theme/color-engine/index.js +1 -1
- package/lib/module/theme/color-engine/index.js.map +1 -1
- package/lib/module/theme/color-engine/scheme-variants.js +28 -1
- package/lib/module/theme/color-engine/scheme-variants.js.map +1 -1
- package/lib/module/theme/color-policy.js +53 -10
- package/lib/module/theme/color-policy.js.map +1 -1
- package/lib/module/theme/color-presets.js +14 -2
- package/lib/module/theme/color-presets.js.map +1 -1
- package/lib/module/theme/color-scope/seed-scope.js +6 -2
- package/lib/module/theme/color-scope/seed-scope.js.map +1 -1
- package/lib/typescript/commonjs/scroll/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/scroll/scrollable.web.d.ts +18 -5
- package/lib/typescript/commonjs/scroll/scrollable.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tabs/Tabs.d.ts +41 -1
- package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/tabs/expo-router/RouterTabs.d.ts +80 -0
- package/lib/typescript/commonjs/tabs/expo-router/RouterTabs.d.ts.map +1 -0
- package/lib/typescript/commonjs/tabs/expo-router/index.d.ts +9 -0
- package/lib/typescript/commonjs/tabs/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/tabs/types.d.ts +48 -4
- package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts +1 -1
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +13 -1
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-policy.d.ts +6 -0
- package/lib/typescript/commonjs/theme/color-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-presets.d.ts +1 -1
- package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts.map +1 -1
- package/lib/typescript/module/scroll/index.web.d.ts.map +1 -1
- package/lib/typescript/module/scroll/scrollable.web.d.ts +18 -5
- package/lib/typescript/module/scroll/scrollable.web.d.ts.map +1 -1
- package/lib/typescript/module/tabs/Tabs.d.ts +41 -1
- package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/module/tabs/expo-router/RouterTabs.d.ts +80 -0
- package/lib/typescript/module/tabs/expo-router/RouterTabs.d.ts.map +1 -0
- package/lib/typescript/module/tabs/expo-router/index.d.ts +9 -0
- package/lib/typescript/module/tabs/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/module/tabs/types.d.ts +48 -4
- package/lib/typescript/module/tabs/types.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/index.d.ts +1 -1
- package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +13 -1
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-policy.d.ts +6 -0
- package/lib/typescript/module/theme/color-policy.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-presets.d.ts +1 -1
- package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-scope/seed-scope.d.ts.map +1 -1
- package/package.json +15 -1
- package/src/__tests__/Tabs.test.tsx +470 -7
- package/src/__tests__/optional-peer-imports.test.ts +5 -0
- package/src/__tests__/scroll-web.test.tsx +255 -2
- package/src/__tests__/theme.test.ts +2 -1
- package/src/scroll/index.web.tsx +55 -19
- package/src/scroll/scrollable.web.ts +30 -8
- package/src/tabs/Tabs.tsx +518 -83
- package/src/tabs/expo-router/RouterTabs.tsx +268 -0
- package/src/tabs/expo-router/index.ts +8 -0
- package/src/tabs/types.ts +48 -4
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +120 -0
- package/src/theme/__tests__/__snapshots__/visual-gallery.test.tsx.snap +70 -0
- package/src/theme/__tests__/policy-legibility.test.ts +12 -4
- package/src/theme/color-engine/index.ts +1 -1
- package/src/theme/color-engine/scheme-variants.ts +38 -1
- package/src/theme/color-policy.ts +68 -14
- package/src/theme/color-presets.ts +11 -2
- package/src/theme/color-scope/seed-scope.ts +6 -2
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RouterTabs = RouterTabs;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
var _expoRouter = require("expo-router");
|
|
11
|
+
var _Tabs = require("../Tabs.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
/**
|
|
14
|
+
* expo-router bindings for the in-screen tab strip.
|
|
15
|
+
*
|
|
16
|
+
* This subpath (`@oxyhq/bloom/tabs/expo-router`) is the ONLY place in the tabs
|
|
17
|
+
* feature allowed to import `expo-router`, which is why it is a separate entry:
|
|
18
|
+
* the core `@oxyhq/bloom/tabs` stays usable in an app with a different router,
|
|
19
|
+
* or none, and the optional peer is never pulled into a bundle that does not
|
|
20
|
+
* ask for it. Same split as `tab-bar` / `tab-bar/expo-router` and
|
|
21
|
+
* `scroll` / `scroll/expo-router`.
|
|
22
|
+
*
|
|
23
|
+
* Everything routing-shaped lives here on purpose: which tab the route means,
|
|
24
|
+
* what a committed swipe navigates to, and which links to warm. The strip
|
|
25
|
+
* itself stays presentational and knows only about measured geometry.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Resolve which item the current route belongs to.
|
|
30
|
+
*
|
|
31
|
+
* LONGEST matching prefix, on a segment boundary — not an exact match. All
|
|
32
|
+
* three properties matter:
|
|
33
|
+
*
|
|
34
|
+
* - A prefix is needed because a tab may own a subtree (`/feeds/1/topics` and
|
|
35
|
+
* anything under it), and an exact match would drop the underline the moment
|
|
36
|
+
* the user goes one level deeper.
|
|
37
|
+
* - LONGEST is needed because the default tab's href is a prefix of every
|
|
38
|
+
* sibling's (`/@ana` vs `/@ana/replies`), so a first-match rule would light
|
|
39
|
+
* up the default tab on every tab.
|
|
40
|
+
* - The segment boundary is what stops `/feeds/12` from matching `/feeds/1`.
|
|
41
|
+
*
|
|
42
|
+
* Returns `undefined` when nothing matches, which is a real state — a strip
|
|
43
|
+
* rendered by a LAYOUT keeps rendering while a child route outside the tab set
|
|
44
|
+
* is showing — and leaves the underline hidden rather than parked on a lie.
|
|
45
|
+
*/
|
|
46
|
+
function matchActiveValue(items, pathname) {
|
|
47
|
+
let best;
|
|
48
|
+
for (const item of items) {
|
|
49
|
+
// `Href` is a string or an object; only a string form can be compared to a
|
|
50
|
+
// pathname, and an object form describes params we cannot resolve here.
|
|
51
|
+
if (typeof item.href !== 'string') continue;
|
|
52
|
+
// Compare paths only: a query string describes what the tab shows, not
|
|
53
|
+
// which tab it is, and a trailing slash is the same route either way.
|
|
54
|
+
const [path = ''] = item.href.split('?');
|
|
55
|
+
const href = path.replace(/\/$/, '');
|
|
56
|
+
const isMatch = pathname === href || pathname.startsWith(`${href}/`);
|
|
57
|
+
if (!isMatch) continue;
|
|
58
|
+
if (!best || href.length > best.length) {
|
|
59
|
+
best = {
|
|
60
|
+
value: item.value,
|
|
61
|
+
length: href.length
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return best?.value;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A tab strip whose selection IS the route.
|
|
70
|
+
*
|
|
71
|
+
* Render it in the LAYOUT that owns the tabs, above the `<Slot/>` that renders
|
|
72
|
+
* them — not inside the tab screens themselves. That placement is the whole
|
|
73
|
+
* point, and it is load-bearing twice over: a strip inside the screens is
|
|
74
|
+
* unmounted and rebuilt by every navigation, so its underline has nothing to
|
|
75
|
+
* animate from and the chrome blanks while the incoming route's chunk loads;
|
|
76
|
+
* and a GESTURE inside the screens would be destroyed by the very navigation it
|
|
77
|
+
* commits, mid-release.
|
|
78
|
+
*
|
|
79
|
+
* ```tsx
|
|
80
|
+
* // app/(app)/[username]/_layout.tsx
|
|
81
|
+
* <RouterTabs
|
|
82
|
+
* items={[
|
|
83
|
+
* { value: 'posts', label: 'Posts', href: `/${username}` },
|
|
84
|
+
* { value: 'replies', label: 'Replies', href: `/${username}/replies` },
|
|
85
|
+
* ]}
|
|
86
|
+
* />
|
|
87
|
+
* <Slot />
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
function RouterTabs({
|
|
91
|
+
items,
|
|
92
|
+
onReselect,
|
|
93
|
+
swipeEnabled = true,
|
|
94
|
+
...tabsProps
|
|
95
|
+
}) {
|
|
96
|
+
const pathname = (0, _expoRouter.usePathname)();
|
|
97
|
+
const activeValue = (0, _react.useMemo)(() => matchActiveValue(items, pathname), [items, pathname]);
|
|
98
|
+
const dragRef = (0, _react.useRef)(null);
|
|
99
|
+
// What releasing right now would commit. A ref rather than state: it is
|
|
100
|
+
// written on every frame of the drag and read once, and re-rendering the
|
|
101
|
+
// strip mid-gesture would fight the animation the gesture is driving.
|
|
102
|
+
const pendingRef = (0, _react.useRef)(null);
|
|
103
|
+
const navigateTo = (0, _react.useCallback)(value => {
|
|
104
|
+
const target = items.find(item => item.value === value);
|
|
105
|
+
if (!target) return;
|
|
106
|
+
// PUSH, not replace: a history entry per tab is what makes Back return to
|
|
107
|
+
// the tab the reader came from instead of leaving the screen entirely.
|
|
108
|
+
_expoRouter.router.push(target.href);
|
|
109
|
+
}, [items]);
|
|
110
|
+
const handlePress = (0, _react.useCallback)(item => {
|
|
111
|
+
if (item.value === activeValue) {
|
|
112
|
+
onReselect?.(item.value);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
navigateTo(item.value);
|
|
116
|
+
}, [activeValue, onReselect, navigateTo]);
|
|
117
|
+
const onDrag = (0, _react.useCallback)(translationX => {
|
|
118
|
+
pendingRef.current = dragRef.current?.drag(translationX) ?? null;
|
|
119
|
+
}, []);
|
|
120
|
+
|
|
121
|
+
// `onEnd` does not fire for every terminated gesture, and `onFinalize` fires
|
|
122
|
+
// for all of them — including after `onEnd`. Guarding on the ref being
|
|
123
|
+
// non-null is what makes the second call a no-op instead of a double commit.
|
|
124
|
+
const releasedRef = (0, _react.useRef)(true);
|
|
125
|
+
const onRelease = (0, _react.useCallback)(() => {
|
|
126
|
+
if (releasedRef.current) return;
|
|
127
|
+
releasedRef.current = true;
|
|
128
|
+
const committed = pendingRef.current;
|
|
129
|
+
pendingRef.current = null;
|
|
130
|
+
// The underline commits first and instantly: it lives in the layout, it
|
|
131
|
+
// survives the swap, and it is the honest signal the gesture was accepted.
|
|
132
|
+
// The content area arrives when its chunk does.
|
|
133
|
+
dragRef.current?.release(committed);
|
|
134
|
+
if (committed !== null) navigateTo(committed);
|
|
135
|
+
}, [navigateTo]);
|
|
136
|
+
const onBegin = (0, _react.useCallback)(() => {
|
|
137
|
+
releasedRef.current = false;
|
|
138
|
+
}, []);
|
|
139
|
+
const panGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan()
|
|
140
|
+
// Horizontal intent only. This is a hint to the gesture system and is
|
|
141
|
+
// NOT what protects vertical scrolling on web — see `touchAction` below.
|
|
142
|
+
.activeOffsetX([-12, 12]).failOffsetY([-12, 12]).onBegin(() => {
|
|
143
|
+
(0, _reactNativeReanimated.runOnJS)(onBegin)();
|
|
144
|
+
}).onUpdate(event => {
|
|
145
|
+
(0, _reactNativeReanimated.runOnJS)(onDrag)(event.translationX);
|
|
146
|
+
}).onFinalize(() => {
|
|
147
|
+
(0, _reactNativeReanimated.runOnJS)(onRelease)();
|
|
148
|
+
}), [onBegin, onDrag, onRelease]);
|
|
149
|
+
|
|
150
|
+
// Warm every OTHER tab's async chunk. That fetch is the ~300ms the content
|
|
151
|
+
// area would otherwise spend empty after a commit, and a swipe offers no
|
|
152
|
+
// hover to warm on, so it is done up front rather than on interaction.
|
|
153
|
+
//
|
|
154
|
+
// `router.prefetch` — the public imperative API (declared in expo-router's
|
|
155
|
+
// `global-state/router.d.ts`) — rather than wrapping each trigger in
|
|
156
|
+
// `<Link prefetch asChild>`. Both reasons are about the WRAPPER, not about
|
|
157
|
+
// prefetching: `asChild` is Radix's `Slot`, which COMPOSES event handlers, so
|
|
158
|
+
// the trigger's own `onPress` and the link's navigation would both run — and
|
|
159
|
+
// the link's push knows nothing about `onReselect`, so re-tapping the active
|
|
160
|
+
// tab would push a duplicate entry and make Back appear to do nothing. It
|
|
161
|
+
// also injects an `href` a `Pressable` ignores. The prefetching itself is
|
|
162
|
+
// identical: `<Link prefetch>` renders `<Prefetch href/>` beside its element
|
|
163
|
+
// and does nothing else.
|
|
164
|
+
//
|
|
165
|
+
// Known trade: a real `<Link>` would render a web anchor, which is what gives
|
|
166
|
+
// middle-click and open-in-new-tab. A tab strip arguably wants that; getting
|
|
167
|
+
// both needs the trigger to render an anchor itself, which is a change to the
|
|
168
|
+
// core rather than to this file.
|
|
169
|
+
(0, _react.useEffect)(() => {
|
|
170
|
+
for (const item of items) {
|
|
171
|
+
if (item.value === activeValue || item.disabled) continue;
|
|
172
|
+
_expoRouter.router.prefetch(item.href);
|
|
173
|
+
}
|
|
174
|
+
}, [items, activeValue]);
|
|
175
|
+
const strip =
|
|
176
|
+
/*#__PURE__*/
|
|
177
|
+
// `hasSelection` is what stops the underline asserting a tab while a
|
|
178
|
+
// NON-TAB sibling route is showing — the layout that renders this strip
|
|
179
|
+
// renders those too (a profile's `/followers` beside its tab routes).
|
|
180
|
+
(0, _jsxRuntime.jsx)(_Tabs.Tabs, {
|
|
181
|
+
...tabsProps,
|
|
182
|
+
ref: dragRef,
|
|
183
|
+
hasSelection: activeValue !== undefined,
|
|
184
|
+
children: items.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.TabsTrigger, {
|
|
185
|
+
value: item.value,
|
|
186
|
+
label: item.label,
|
|
187
|
+
icon: item.icon,
|
|
188
|
+
count: item.count,
|
|
189
|
+
disabled: item.disabled
|
|
190
|
+
// Focus, never a press, is what drives the underline — so a deep
|
|
191
|
+
// link, a browser Back and a back gesture animate exactly like a tap.
|
|
192
|
+
,
|
|
193
|
+
isFocused: item.value === activeValue,
|
|
194
|
+
onPress: () => handlePress(item)
|
|
195
|
+
}, item.value))
|
|
196
|
+
});
|
|
197
|
+
if (!swipeEnabled) return strip;
|
|
198
|
+
return (
|
|
199
|
+
/*#__PURE__*/
|
|
200
|
+
// `touchAction="pan-y"` is MANDATORY and is the landmine of this file.
|
|
201
|
+
// RNGH sets the detector's view to `touch-action: none` on web
|
|
202
|
+
// (`GestureHandlerWebDelegate.js`), which disables browser-native VERTICAL
|
|
203
|
+
// scrolling on that element. `failOffsetY` above does not protect against
|
|
204
|
+
// it: that is a JS decision taken after `touch-action` has already told the
|
|
205
|
+
// browser not to scroll. Removing this prop is silent on native and breaks
|
|
206
|
+
// scrolling on mobile web.
|
|
207
|
+
(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
208
|
+
gesture: panGesture,
|
|
209
|
+
touchAction: "pan-y",
|
|
210
|
+
children: strip
|
|
211
|
+
})
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
RouterTabs.displayName = 'RouterTabs';
|
|
215
|
+
//# sourceMappingURL=RouterTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_expoRouter","_Tabs","_jsxRuntime","matchActiveValue","items","pathname","best","item","href","path","split","replace","isMatch","startsWith","length","value","RouterTabs","onReselect","swipeEnabled","tabsProps","usePathname","activeValue","useMemo","dragRef","useRef","pendingRef","navigateTo","useCallback","target","find","router","push","handlePress","onDrag","translationX","current","drag","releasedRef","onRelease","committed","release","onBegin","panGesture","Gesture","Pan","activeOffsetX","failOffsetY","runOnJS","onUpdate","event","onFinalize","useEffect","disabled","prefetch","strip","jsx","Tabs","ref","hasSelection","undefined","children","map","TabsTrigger","label","icon","count","isFocused","onPress","GestureDetector","gesture","touchAction","displayName"],"sourceRoot":"../../../../src","sources":["tabs/expo-router/RouterTabs.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RouterTabs", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _RouterTabs.RouterTabs;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _RouterTabs = require("./RouterTabs.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_RouterTabs","require"],"sourceRoot":"../../../../src","sources":["tabs/expo-router/index.ts"],"mappings":";;;;;;;;;;;AAMA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -84,6 +84,12 @@ Object.defineProperty(exports, "schemeExpressive", {
|
|
|
84
84
|
return _schemeVariants.schemeExpressive;
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
|
+
Object.defineProperty(exports, "schemeMonochrome", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _schemeVariants.schemeMonochrome;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
87
93
|
Object.defineProperty(exports, "schemeNeutral", {
|
|
88
94
|
enumerable: true,
|
|
89
95
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hct","require","_tonalPalette","_dynamicScheme","_schemeVariants","_colorRoles","_colorRole","_quantizerWu","_score","_seedFromImage","_colorUtils","argbFromHex","hex","h","replace","v","length","parseInt","hexFromArgb","argb","r","redFromArgb","toString","padStart","g","greenFromArgb","b","blueFromArgb","generateRoleColors","opts","scheme","buildScheme","variant","Hct","fromInt","seed","isDark","contrastLevel","secondarySource","secondarySeed","undefined","tertiarySource","tertiarySeed","out","name","Object","keys","Roles","getArgb"],"sourceRoot":"../../../../src","sources":["theme/color-engine/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_hct","require","_tonalPalette","_dynamicScheme","_schemeVariants","_colorRoles","_colorRole","_quantizerWu","_score","_seedFromImage","_colorUtils","argbFromHex","hex","h","replace","v","length","parseInt","hexFromArgb","argb","r","redFromArgb","toString","padStart","g","greenFromArgb","b","blueFromArgb","generateRoleColors","opts","scheme","buildScheme","variant","Hct","fromInt","seed","isDark","contrastLevel","secondarySource","secondarySeed","undefined","tertiarySource","tertiarySeed","out","name","Object","keys","Roles","getArgb"],"sourceRoot":"../../../../src","sources":["theme/color-engine/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.buildScheme = buildScheme;
|
|
7
7
|
exports.schemeExpressive = schemeExpressive;
|
|
8
|
+
exports.schemeMonochrome = schemeMonochrome;
|
|
8
9
|
exports.schemeNeutral = schemeNeutral;
|
|
9
10
|
exports.schemeTonalSpot = schemeTonalSpot;
|
|
10
11
|
exports.schemeVibrant = schemeVibrant;
|
|
@@ -128,12 +129,39 @@ function schemeNeutral(source, isDark, contrastLevel, accents = {}) {
|
|
|
128
129
|
neutralVariantPalette: _tonalPalette.TonalPalette.fromHueAndChroma(source.hue, 2.0)
|
|
129
130
|
});
|
|
130
131
|
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* No colour at all: every palette is greyscale, so the seed's hue is irrelevant
|
|
135
|
+
* and only its tone survives. This is the variant the `isMonochrome` role
|
|
136
|
+
* branches in `color-roles` were written for — they push `primary` to the far end
|
|
137
|
+
* of the scale (tone 0 on a light page, 100 on a dark one) rather than the
|
|
138
|
+
* mid-tone the chromatic curves would pick, which is what keeps a black-and-white
|
|
139
|
+
* theme from reading as a grey one.
|
|
140
|
+
*
|
|
141
|
+
* A pinned accent is ignored on purpose: honouring it would put one coloured
|
|
142
|
+
* family back into a scheme whose entire point is that nothing is coloured.
|
|
143
|
+
*/
|
|
144
|
+
function schemeMonochrome(source, isDark, contrastLevel) {
|
|
145
|
+
const grey = () => _tonalPalette.TonalPalette.fromHueAndChroma(source.hue, 0);
|
|
146
|
+
return new _dynamicScheme.DynamicScheme({
|
|
147
|
+
sourceColorArgb: source.toInt(),
|
|
148
|
+
variant: _variant.Variant.MONOCHROME,
|
|
149
|
+
contrastLevel,
|
|
150
|
+
isDark,
|
|
151
|
+
primaryPalette: grey(),
|
|
152
|
+
secondaryPalette: grey(),
|
|
153
|
+
tertiaryPalette: grey(),
|
|
154
|
+
neutralPalette: grey(),
|
|
155
|
+
neutralVariantPalette: grey()
|
|
156
|
+
});
|
|
157
|
+
}
|
|
131
158
|
const BUILDERS = {
|
|
132
159
|
vivid: schemeVivid,
|
|
133
160
|
vibrant: schemeVibrant,
|
|
134
161
|
expressive: schemeExpressive,
|
|
135
162
|
tonalSpot: schemeTonalSpot,
|
|
136
|
-
neutral: schemeNeutral
|
|
163
|
+
neutral: schemeNeutral,
|
|
164
|
+
monochrome: schemeMonochrome
|
|
137
165
|
};
|
|
138
166
|
|
|
139
167
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dynamicScheme","require","_mathUtils","_tonalPalette","_variant","accentPalette","source","derived","undefined","TonalPalette","fromInt","toInt","VIBRANT_HUES","VIBRANT_SECONDARY_ROTATIONS","VIBRANT_TERTIARY_ROTATIONS","EXPRESSIVE_HUES","EXPRESSIVE_SECONDARY_ROTATIONS","EXPRESSIVE_TERTIARY_ROTATIONS","schemeVibrant","isDark","contrastLevel","accents","DynamicScheme","sourceColorArgb","variant","Variant","VIBRANT","primaryPalette","fromHueAndChroma","hue","secondaryPalette","secondarySource","getRotatedHue","tertiaryPalette","tertiarySource","neutralPalette","neutralVariantPalette","schemeVivid","schemeExpressive","EXPRESSIVE","sanitizeDegreesDouble","schemeTonalSpot","TONAL_SPOT","schemeNeutral","NEUTRAL","BUILDERS","vivid","vibrant","expressive","tonalSpot","neutral","buildScheme"],"sourceRoot":"../../../../src","sources":["theme/color-engine/scheme-variants.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_dynamicScheme","require","_mathUtils","_tonalPalette","_variant","accentPalette","source","derived","undefined","TonalPalette","fromInt","toInt","VIBRANT_HUES","VIBRANT_SECONDARY_ROTATIONS","VIBRANT_TERTIARY_ROTATIONS","EXPRESSIVE_HUES","EXPRESSIVE_SECONDARY_ROTATIONS","EXPRESSIVE_TERTIARY_ROTATIONS","schemeVibrant","isDark","contrastLevel","accents","DynamicScheme","sourceColorArgb","variant","Variant","VIBRANT","primaryPalette","fromHueAndChroma","hue","secondaryPalette","secondarySource","getRotatedHue","tertiaryPalette","tertiarySource","neutralPalette","neutralVariantPalette","schemeVivid","schemeExpressive","EXPRESSIVE","sanitizeDegreesDouble","schemeTonalSpot","TONAL_SPOT","schemeNeutral","NEUTRAL","schemeMonochrome","grey","MONOCHROME","BUILDERS","vivid","vibrant","expressive","tonalSpot","neutral","monochrome","buildScheme"],"sourceRoot":"../../../../src","sources":["theme/color-engine/scheme-variants.ts"],"mappings":";;;;;;;;;;;;AASA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,aAAaA,CAACC,MAAuB,EAAEC,OAA2B,EAAgB;EACzF,OAAOD,MAAM,KAAKE,SAAS,GAAGC,0BAAY,CAACC,OAAO,CAACJ,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC,GAAGJ,OAAO,CAAC,CAAC;AAChF;AAEA,MAAMK,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAChF,MAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1F,MAAMC,0BAA0B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAEzF,MAAMC,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACnF,MAAMC,8BAA8B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC7F,MAAMC,6BAA6B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;AAEhG;AACO,SAASC,aAAaA,CAC3BZ,MAAW,EACXa,MAAe,EACfC,aAAqB,EACrBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO,IAAIC,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACC,OAAO;IACxBN,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAElB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,KAAK,CAAC;IAChEC,gBAAgB,EAAEzB,aAAa,CAACgB,OAAO,CAACU,eAAe,EAAE,MACvDtB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAEM,YAAY,EAAEC,2BAA2B,CAAC,EAC9E,IACF,CACF,CAAC;IACDoB,eAAe,EAAE5B,aAAa,CAACgB,OAAO,CAACa,cAAc,EAAE,MACrDzB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAEM,YAAY,EAAEE,0BAA0B,CAAC,EAC7E,IACF,CACF,CAAC;IACDqB,cAAc,EAAE1B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAAC;IAC/DO,qBAAqB,EAAE3B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI;EACvE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,WAAWA,CACzB/B,MAAW,EACXa,MAAe,EACfC,aAAqB,EACrBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO,IAAIC,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACC,OAAO;IACxBN,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAElB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,KAAK,CAAC;IAChEC,gBAAgB,EAAEzB,aAAa,CAACgB,OAAO,CAACU,eAAe,EAAE,MACvDtB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAEM,YAAY,EAAEC,2BAA2B,CAAC,EAC9E,IACF,CACF,CAAC;IACDoB,eAAe,EAAE5B,aAAa,CAACgB,OAAO,CAACa,cAAc,EAAE,MACrDzB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAEM,YAAY,EAAEE,0BAA0B,CAAC,EAC7E,IACF,CACF,CAAC;IACDqB,cAAc,EAAE1B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAAC;IAC/DO,qBAAqB,EAAE3B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI;EACvE,CAAC,CAAC;AACJ;AAEO,SAASS,gBAAgBA,CAC9BhC,MAAW,EACXa,MAAe,EACfC,aAAqB,EACrBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO,IAAIC,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACc,UAAU;IAC3BnB,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAElB,0BAAY,CAACmB,gBAAgB,CAAC,IAAAY,gCAAqB,EAAClC,MAAM,CAACuB,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC;IAC9FC,gBAAgB,EAAEzB,aAAa,CAACgB,OAAO,CAACU,eAAe,EAAE,MACvDtB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAES,eAAe,EAAEC,8BAA8B,CAAC,EACpF,IACF,CACF,CAAC;IACDiB,eAAe,EAAE5B,aAAa,CAACgB,OAAO,CAACa,cAAc,EAAE,MACrDzB,0BAAY,CAACmB,gBAAgB,CAC3BN,4BAAa,CAACU,aAAa,CAAC1B,MAAM,EAAES,eAAe,EAAEE,6BAA6B,CAAC,EACnF,IACF,CACF,CAAC;IACDkB,cAAc,EAAE1B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC;IACnEO,qBAAqB,EAAE3B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,GAAG,EAAE,EAAE,IAAI;EAC5E,CAAC,CAAC;AACJ;;AAEA;AACO,SAASY,eAAeA,CAC7BnC,MAAW,EACXa,MAAe,EACfC,aAAqB,EACrBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO,IAAIC,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACiB,UAAU;IAC3BtB,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAElB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAAC;IAC/DC,gBAAgB,EAAEzB,aAAa,CAACgB,OAAO,CAACU,eAAe,EAAE,MACvDtB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAChD,CAAC;IACDI,eAAe,EAAE5B,aAAa,CAACgB,OAAO,CAACa,cAAc,EAAE,MACrDzB,0BAAY,CAACmB,gBAAgB,CAAC,IAAAY,gCAAqB,EAAClC,MAAM,CAACuB,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,CAC9E,CAAC;IACDM,cAAc,EAAE1B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,GAAG,CAAC;IAC9DO,qBAAqB,EAAE3B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,GAAG;EACtE,CAAC,CAAC;AACJ;;AAEA;AACO,SAASc,aAAaA,CAC3BrC,MAAW,EACXa,MAAe,EACfC,aAAqB,EACrBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO,IAAIC,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACmB,OAAO;IACxBxB,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAElB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAAC;IAC/DC,gBAAgB,EAAEzB,aAAa,CAACgB,OAAO,CAACU,eAAe,EAAE,MACvDtB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,GAAG,CAC/C,CAAC;IACDI,eAAe,EAAE5B,aAAa,CAACgB,OAAO,CAACa,cAAc,EAAE,MACrDzB,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,IAAI,CAChD,CAAC;IACDM,cAAc,EAAE1B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,GAAG,CAAC;IAC9DO,qBAAqB,EAAE3B,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,GAAG;EACtE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgB,gBAAgBA,CAC9BvC,MAAW,EACXa,MAAe,EACfC,aAAqB,EACN;EACf,MAAM0B,IAAI,GAAGA,CAAA,KAAoBrC,0BAAY,CAACmB,gBAAgB,CAACtB,MAAM,CAACuB,GAAG,EAAE,CAAC,CAAC;EAC7E,OAAO,IAAIP,4BAAa,CAAC;IACvBC,eAAe,EAAEjB,MAAM,CAACK,KAAK,CAAC,CAAC;IAC/Ba,OAAO,EAAEC,gBAAO,CAACsB,UAAU;IAC3B3B,aAAa;IACbD,MAAM;IACNQ,cAAc,EAAEmB,IAAI,CAAC,CAAC;IACtBhB,gBAAgB,EAAEgB,IAAI,CAAC,CAAC;IACxBb,eAAe,EAAEa,IAAI,CAAC,CAAC;IACvBX,cAAc,EAAEW,IAAI,CAAC,CAAC;IACtBV,qBAAqB,EAAEU,IAAI,CAAC;EAC9B,CAAC,CAAC;AACJ;AAEA,MAAME,QAGL,GAAG;EACFC,KAAK,EAAEZ,WAAW;EAClBa,OAAO,EAAEhC,aAAa;EACtBiC,UAAU,EAAEb,gBAAgB;EAC5Bc,SAAS,EAAEX,eAAe;EAC1BY,OAAO,EAAEV,aAAa;EACtBW,UAAU,EAAET;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,WAAWA,CACzB/B,OAAsB,EACtBlB,MAAW,EACXa,MAAe,EACfC,aAAa,GAAG,CAAC,EACjBC,OAAsB,GAAG,CAAC,CAAC,EACZ;EACf,OAAO2B,QAAQ,CAACxB,OAAO,CAAC,CAAClB,MAAM,EAAEa,MAAM,EAAEC,aAAa,EAAEC,OAAO,CAAC;AAClE","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.STATUS_SEEDS = void 0;
|
|
7
7
|
exports.buildPolicyTokens = buildPolicyTokens;
|
|
8
|
+
exports.isColourlessSeed = isColourlessSeed;
|
|
8
9
|
var _index = require("./color-engine/index.js");
|
|
9
10
|
var _hct = require("./color-engine/hct.js");
|
|
10
11
|
var _tonalPalette = require("./color-engine/tonal-palette.js");
|
|
@@ -130,6 +131,35 @@ const SUBTLE_ALPHA = {
|
|
|
130
131
|
dark: 0.24
|
|
131
132
|
};
|
|
132
133
|
|
|
134
|
+
/**
|
|
135
|
+
* A seed at or below this chroma has no colour to derive from, so the whole
|
|
136
|
+
* palette goes greyscale — the black-and-white theme. Keyed on the seed rather
|
|
137
|
+
* than on a flag, so picking any grey in a colour wheel lands there too instead
|
|
138
|
+
* of on a nearly-grey approximation of it.
|
|
139
|
+
*/
|
|
140
|
+
const MONOCHROME_MAX_CHROMA = 6;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Whether a seed carries no colour to derive a theme from — the one authority for
|
|
144
|
+
* that question, so the policy and the scheme choice can never disagree about a
|
|
145
|
+
* given seed and produce a grey palette wearing chromatic surfaces.
|
|
146
|
+
*/
|
|
147
|
+
function isColourlessSeed(seedHex) {
|
|
148
|
+
return _hct.Hct.fromInt((0, _index.argbFromHex)(seedHex)).chroma <= MONOCHROME_MAX_CHROMA;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/** Where a monochrome brand fill sits: near-black on a white page, near-white on a black one. */
|
|
152
|
+
const MONOCHROME_FILL_TONE = {
|
|
153
|
+
light: 12,
|
|
154
|
+
dark: 94
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
/** The quiet member of a monochrome trio — the only one that is actually grey. */
|
|
158
|
+
const MONOCHROME_SECONDARY_TONE = {
|
|
159
|
+
light: 36,
|
|
160
|
+
dark: 72
|
|
161
|
+
};
|
|
162
|
+
|
|
133
163
|
/** Split-complementary: the two accents sit either side of the seed's complement. */
|
|
134
164
|
const SPLIT_ROTATIONS = [150, 210];
|
|
135
165
|
|
|
@@ -209,7 +239,8 @@ function vividHueNear(hue) {
|
|
|
209
239
|
* ceasing to be itself: yellow turns to brown and lime to moss. Those keep their
|
|
210
240
|
* own tone and take a black label instead, which is what a bright yellow button
|
|
211
241
|
* wants anyway. The 25-tone budget is what separates the two cases, and it is
|
|
212
|
-
* why 11 of the 13 presets carry white and exactly the two light ones
|
|
242
|
+
* why 11 of the 13 chromatic presets carry white and exactly the two light ones
|
|
243
|
+
* do not. (`mono` sits outside this rule — see MONOCHROME_FILL_TONE.)
|
|
213
244
|
*/
|
|
214
245
|
function whiteLabelTone(palette, seedTone, isDark) {
|
|
215
246
|
// LIGHT: every fill comes down, no exemption. On a near-white page a bright
|
|
@@ -301,17 +332,22 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
|
|
|
301
332
|
// tone <= 49, so that is the ceiling — in dark as much as in light. Letting the
|
|
302
333
|
// dark fill sit at the seed's own tone instead makes it brighter, but every one
|
|
303
334
|
// of those labels turns black, which costs more than the brightness buys.
|
|
335
|
+
const monochrome = seed.chroma <= MONOCHROME_MAX_CHROMA;
|
|
304
336
|
// DARK keys off the seed itself so the fill IS the brand hex; LIGHT uses the
|
|
305
337
|
// max-chroma palette, which is what stops a deepened fill from going pastel.
|
|
306
|
-
|
|
307
|
-
|
|
338
|
+
// A monochrome seed has no chroma to preserve either way, and its fill goes to
|
|
339
|
+
// the far end of the scale rather than the white-label ceiling: a mid-grey
|
|
340
|
+
// button reads as disabled, where near-black on white reads as the primary
|
|
341
|
+
// action.
|
|
342
|
+
const brandPalette = monochrome ? _tonalPalette.TonalPalette.fromHueAndChroma(0, 0) : isDark ? _tonalPalette.TonalPalette.fromInt((0, _index.argbFromHex)(seedHex)) : _tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, 200);
|
|
343
|
+
const primary = fillPair(brandPalette, monochrome ? isDark ? MONOCHROME_FILL_TONE.dark : MONOCHROME_FILL_TONE.light : whiteLabelTone(brandPalette, seed.tone, isDark));
|
|
308
344
|
const tokens = {
|
|
309
345
|
'--primary': primary.fill,
|
|
310
346
|
'--primary-foreground': primary.foreground,
|
|
311
347
|
// The accent legible as TEXT on the page surface — the job M3's `primary`
|
|
312
348
|
// does correctly, and which the fill must stop trying to do at the same time.
|
|
313
349
|
'--primary-text': roles.primary,
|
|
314
|
-
'--primary-subtle': rgba(_tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, 200).tone(SUBTLE_SOURCE_TONE), isDark ? SUBTLE_ALPHA.dark : SUBTLE_ALPHA.light),
|
|
350
|
+
'--primary-subtle': rgba(_tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, monochrome ? 0 : 200).tone(SUBTLE_SOURCE_TONE), isDark ? SUBTLE_ALPHA.dark : SUBTLE_ALPHA.light),
|
|
315
351
|
'--ring': roles.primary,
|
|
316
352
|
// `--card` is the one surface MAPPING the policy changes.
|
|
317
353
|
// `surfaceContainerLowest` is M3's RECESSED step: in dark it sits at tone 4
|
|
@@ -321,7 +357,7 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
|
|
|
321
357
|
'--card': isDark ? roles.surfaceContainer : roles.surfaceContainerLowest,
|
|
322
358
|
// A touch darker than M3's page background: near-white reads as unfinished
|
|
323
359
|
// next to the card, and the extra step gives the surface ramp somewhere to sit.
|
|
324
|
-
'--background': rgb(_tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, 10).tone(isDark ? 4 : 96)),
|
|
360
|
+
'--background': rgb(_tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, monochrome ? 0 : 10).tone(isDark ? 4 : 96)),
|
|
325
361
|
// `--accent` stays what every consumer actually uses it for: a hover surface.
|
|
326
362
|
'--accent': roles.surfaceContainerHigh,
|
|
327
363
|
'--accent-foreground': roles.onSurfaceVariant
|
|
@@ -332,9 +368,11 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
|
|
|
332
368
|
const hue = pin !== undefined ? _hct.Hct.fromInt((0, _index.argbFromHex)(pin)).hue : hues[role];
|
|
333
369
|
// One hue, three palettes. Every member shares it, so the family still reads
|
|
334
370
|
// as one colour; only how loudly each speaks differs.
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const
|
|
371
|
+
// A monochrome theme has no accents to rotate to; the trio becomes a ladder
|
|
372
|
+
// of greys, which still separates a standout button from a quiet one.
|
|
373
|
+
const fillPalette = _tonalPalette.TonalPalette.fromHueAndChroma(hue, monochrome ? 0 : ACCENT_CHROMA);
|
|
374
|
+
const textPalette = _tonalPalette.TonalPalette.fromHueAndChroma(hue, monochrome ? 0 : TEXT_CHROMA);
|
|
375
|
+
const vividPalette = _tonalPalette.TonalPalette.fromHueAndChroma(hue, monochrome ? 0 : 200);
|
|
338
376
|
// DARK sits at the hue's peak tone, floored by the same rule the brand fill
|
|
339
377
|
// uses: some hues peak dark (violet at 35), and rendering them there gives a
|
|
340
378
|
// slab rather than a highlight. LIGHT goes deep like every other fill, but
|
|
@@ -350,7 +388,12 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
|
|
|
350
388
|
// black. The accent chroma cap already keeps these hues out of neon territory,
|
|
351
389
|
// and the hue itself is the caller's brand rather than ours to move. The
|
|
352
390
|
// analyzer still runs where it was designed to, inside `color-roles`.
|
|
353
|
-
|
|
391
|
+
// Monochrome keeps `tertiary` AT the brand fill rather than a step off it:
|
|
392
|
+
// tertiary is what a compose button and a FAB paint with, and those are the
|
|
393
|
+
// primary action — a step of grey between them and `primary` reads as two
|
|
394
|
+
// buttons disagreeing, not as hierarchy. `secondary` carries the whole
|
|
395
|
+
// demotion instead.
|
|
396
|
+
const tone = monochrome ? role === 'tertiary' ? isDark ? MONOCHROME_FILL_TONE.dark : MONOCHROME_FILL_TONE.light : isDark ? MONOCHROME_SECONDARY_TONE.dark : MONOCHROME_SECONDARY_TONE.light : accentTone(hue, isDark);
|
|
354
397
|
const pair = fillPair(fillPalette, tone);
|
|
355
398
|
tokens[`--${role}`] = pair.fill;
|
|
356
399
|
tokens[`--${role}-foreground`] = pair.foreground;
|
|
@@ -362,7 +405,8 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
|
|
|
362
405
|
// The old ramp drew all five from the primary/secondary/tertiary trio, which
|
|
363
406
|
// spans ~35 degrees, so adjacent series were indistinguishable.
|
|
364
407
|
for (let i = 0; i < 5; i += 1) {
|
|
365
|
-
|
|
408
|
+
// Greyscale charts spread by TONE instead of hue — the only axis left.
|
|
409
|
+
tokens[`--chart-${i + 1}`] = monochrome ? rgb(_tonalPalette.TonalPalette.fromHueAndChroma(0, 0).tone(isDark ? 40 + i * 13 : 78 - i * 13)) : rgb(_tonalPalette.TonalPalette.fromHueAndChroma((seed.hue + i * 72) % 360, 60).tone(isDark ? 72 : 48));
|
|
366
410
|
}
|
|
367
411
|
|
|
368
412
|
// The status family, themed per mode. The four frozen hexes it replaces all
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_hct","_tonalPalette","_colorUtils","STATUS_SEEDS","exports","success","error","warning","info","AA","rgb","argb","redFromArgb","greenFromArgb","blueFromArgb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","LIGHT_FILL_TONE","DARK_FILL_TONE","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","TonalPalette","fromHueAndChroma","bestTone","bestChroma","tone","chroma","Hct","fromInt","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","argbFromHex","secondary","tertiary","buildPolicyTokens","seedHex","roles","pinned","seed","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_index","require","_hct","_tonalPalette","_colorUtils","STATUS_SEEDS","exports","success","error","warning","info","AA","rgb","argb","redFromArgb","greenFromArgb","blueFromArgb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","LIGHT_FILL_TONE","DARK_FILL_TONE","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","MONOCHROME_MAX_CHROMA","isColourlessSeed","seedHex","Hct","fromInt","argbFromHex","chroma","MONOCHROME_FILL_TONE","MONOCHROME_SECONDARY_TONE","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","TonalPalette","fromHueAndChroma","bestTone","bestChroma","tone","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","roles","pinned","seed","monochrome","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ exports.hexToAppColorName = hexToAppColorName;
|
|
|
24
24
|
* resolved `--token -> value` record that `getPresetVars` produces).
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
const APP_COLOR_NAMES = exports.APP_COLOR_NAMES = ['teal', 'blue', 'green', 'amber', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy', 'faircoin'];
|
|
27
|
+
const APP_COLOR_NAMES = exports.APP_COLOR_NAMES = ['teal', 'blue', 'green', 'amber', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy', 'faircoin', 'mono'];
|
|
28
28
|
|
|
29
29
|
/** Premium-exclusive presets, hidden from the standard color picker. */
|
|
30
30
|
const PREMIUM_COLOR_NAMES = exports.PREMIUM_COLOR_NAMES = ['oxy', 'faircoin'];
|
|
@@ -41,7 +41,8 @@ const HEX_TO_APP_COLOR = exports.HEX_TO_APP_COLOR = {
|
|
|
41
41
|
'#f97316': 'orange',
|
|
42
42
|
'#14b8a6': 'mint',
|
|
43
43
|
'#c46ede': 'oxy',
|
|
44
|
-
'#9ffb50': 'faircoin'
|
|
44
|
+
'#9ffb50': 'faircoin',
|
|
45
|
+
'#000000': 'mono'
|
|
45
46
|
};
|
|
46
47
|
function hexToAppColorName(hex) {
|
|
47
48
|
return HEX_TO_APP_COLOR[hex.toLowerCase()] ?? 'teal';
|
|
@@ -118,6 +119,17 @@ const APP_COLOR_PRESETS = exports.APP_COLOR_PRESETS = {
|
|
|
118
119
|
name: 'faircoin',
|
|
119
120
|
hex: '#9ffb50',
|
|
120
121
|
variant: 'vivid'
|
|
122
|
+
},
|
|
123
|
+
/**
|
|
124
|
+
* No colour at all — the black-and-white theme. Its seed carries zero chroma,
|
|
125
|
+
* which is the whole mechanism: the policy derives a greyscale palette from any
|
|
126
|
+
* seed with none, so a user who picks a grey in the colour wheel lands here too
|
|
127
|
+
* rather than on a nearly-grey approximation.
|
|
128
|
+
*/
|
|
129
|
+
mono: {
|
|
130
|
+
name: 'mono',
|
|
131
|
+
hex: '#000000',
|
|
132
|
+
variant: 'monochrome'
|
|
121
133
|
}
|
|
122
134
|
};
|
|
123
135
|
//# sourceMappingURL=color-presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin","mono"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBA;AACA;AACA;AACA;AACA;AACA;;AAGO,MAAMA,eAAwC,GAAAC,OAAA,CAAAD,eAAA,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;;AAEjL;AACO,MAAME,mBAA4C,GAAAD,OAAA,CAAAC,mBAAA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAExE,MAAMC,gBAA8C,GAAAF,OAAA,CAAAE,gBAAA,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,UAAU;EACrB,SAAS,EAAE;AACb,CAAC;AAEM,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAuD,GAAAN,OAAA,CAAAM,iBAAA,GAAG;EACrEC,IAAI,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDC,IAAI,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDE,KAAK,EAAE;IAAEH,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC1DG,KAAK,EAAE;IAAEJ,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC1DI,MAAM,EAAE;IAAEL,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DK,GAAG,EAAE;IAAEN,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDM,MAAM,EAAE;IAAEP,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DO,IAAI,EAAE;IAAER,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDQ,GAAG,EAAE;IAAET,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDS,MAAM,EAAE;IAAEV,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DU,IAAI,EAAE;IAAEX,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDW,GAAG,EAAE;IAAEZ,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDY,QAAQ,EAAE;IAAEb,IAAI,EAAE,UAAU;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAChE;AACF;AACA;AACA;AACA;AACA;EACEa,IAAI,EAAE;IAAEd,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAa;AAC9D,CAAC","ignoreList":[]}
|
|
@@ -84,7 +84,11 @@ function roleColorsToPresetTokens(r) {
|
|
|
84
84
|
function buildSeedScopeVars(options) {
|
|
85
85
|
const roles = (0, _index.generateRoleColors)({
|
|
86
86
|
seed: options.seed,
|
|
87
|
-
|
|
87
|
+
// A seed with no chroma has no colour for a chromatic variant to work with,
|
|
88
|
+
// so it takes the greyscale scheme unless the caller asked for something else.
|
|
89
|
+
// This is what makes a grey picked in a colour wheel produce the SAME
|
|
90
|
+
// black-and-white theme as the `mono` preset instead of a tinted near-grey.
|
|
91
|
+
variant: options.variant ?? ((0, _colorPolicy.isColourlessSeed)(options.seed) ? 'monochrome' : 'vivid'),
|
|
88
92
|
isDark: options.mode === 'dark',
|
|
89
93
|
contrastLevel: options.contrastLevel ?? 0,
|
|
90
94
|
secondarySeed: options.secondarySeed,
|