@oxyhq/bloom 0.80.0 → 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/tabs/Tabs.js +153 -15
- package/lib/commonjs/tabs/Tabs.js.map +1 -1
- 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/tabs/Tabs.js +153 -15
- package/lib/module/tabs/Tabs.js.map +1 -1
- 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/tabs/Tabs.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/tabs/Tabs.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 +1 -1
- package/src/__tests__/Tabs.test.tsx +286 -10
- package/src/__tests__/theme.test.ts +2 -1
- package/src/tabs/Tabs.tsx +172 -12
- 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
|
@@ -13,6 +13,17 @@ var _tokens = require("../styles/tokens.js");
|
|
|
13
13
|
var _shadows = require("../design-tokens/shadows");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
|
+
/**
|
|
17
|
+
* Re-read ONE trigger's geometry from the platform and report it back.
|
|
18
|
+
*
|
|
19
|
+
* A callback rather than a return value because measuring is asynchronous on
|
|
20
|
+
* both platforms: react-native-web defers to a `setTimeout(0)` inside
|
|
21
|
+
* `UIManager.measure`, and native hops to the UI thread. Each trigger keeps its
|
|
22
|
+
* own host ref and hands the strip this instead, so the registry says exactly
|
|
23
|
+
* what it needs — a position on demand — and nothing about what a trigger
|
|
24
|
+
* renders.
|
|
25
|
+
*/
|
|
26
|
+
|
|
16
27
|
/**
|
|
17
28
|
* Underline travel. The same spring the floating `TabBar` highlight uses, so the
|
|
18
29
|
* two strips read as one motion language; stated here rather than imported
|
|
@@ -24,7 +35,7 @@ const SLIDE_SPRING = {
|
|
|
24
35
|
dampingRatio: 0.82
|
|
25
36
|
};
|
|
26
37
|
|
|
27
|
-
/** Visibility, not travel —
|
|
38
|
+
/** Visibility, not travel — the underline fades, it does not slide, in and out. */
|
|
28
39
|
const HIGHLIGHT_FADE = {
|
|
29
40
|
duration: 160
|
|
30
41
|
};
|
|
@@ -100,6 +111,11 @@ const TabsBarComponent = /*#__PURE__*/(0, _react.forwardRef)(function TabsBar({
|
|
|
100
111
|
const dragOffset = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
101
112
|
const dragWidthDelta = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
102
113
|
const triggerLayoutsRef = (0, _react.useRef)({});
|
|
114
|
+
// How to ask each trigger where it is NOW, keyed by value. Registration order
|
|
115
|
+
// carries no meaning — everything that consumes the geometry orders itself by
|
|
116
|
+
// measured `x`, which is the only ordering that survives a reorder.
|
|
117
|
+
const triggerMeasuresRef = (0, _react.useRef)(new Map());
|
|
118
|
+
const remeasureScheduledRef = (0, _react.useRef)(false);
|
|
103
119
|
const indicatorPlacedRef = (0, _react.useRef)(false);
|
|
104
120
|
const scrollRef = (0, _react.useRef)(null);
|
|
105
121
|
const viewportWidthRef = (0, _react.useRef)(0);
|
|
@@ -115,8 +131,15 @@ const TabsBarComponent = /*#__PURE__*/(0, _react.forwardRef)(function TabsBar({
|
|
|
115
131
|
indicatorX.value = target.x;
|
|
116
132
|
indicatorWidth.value = target.width;
|
|
117
133
|
}
|
|
134
|
+
// Reveal only while something IS selected. Geometry keeps arriving while
|
|
135
|
+
// a non-tab sibling route is showing — the measurement pass below is
|
|
136
|
+
// precisely what makes it arrive — and fading the underline back in there
|
|
137
|
+
// would re-assert a tab the reader has left. Read from the closure rather
|
|
138
|
+
// than a ref: a ref written in an effect is still stale at this point,
|
|
139
|
+
// because a child's effect runs before its parent's.
|
|
140
|
+
if (!hasSelection) return;
|
|
118
141
|
indicatorOpacity.value = (0, _reactNativeReanimated.withTiming)(1, HIGHLIGHT_FADE);
|
|
119
|
-
}, [indicatorX, indicatorWidth, indicatorOpacity]);
|
|
142
|
+
}, [indicatorX, indicatorWidth, indicatorOpacity, hasSelection]);
|
|
120
143
|
|
|
121
144
|
// Keep the active tab in view when the strip overflows its viewport. Centring
|
|
122
145
|
// is what makes a ROUTED strip usable: arriving at a tab that is scrolled out
|
|
@@ -140,16 +163,92 @@ const TabsBarComponent = /*#__PURE__*/(0, _react.forwardRef)(function TabsBar({
|
|
|
140
163
|
revealTrigger(target, animate);
|
|
141
164
|
indicatorPlacedRef.current = true;
|
|
142
165
|
}, [moveIndicator, revealTrigger]);
|
|
143
|
-
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Record where a trigger is, from whichever source measured it, and keep the
|
|
169
|
+
* underline glued to it.
|
|
170
|
+
*
|
|
171
|
+
* Placement here never animates: the tab did not become SELECTED, it MOVED,
|
|
172
|
+
* and it moved instantly because nothing animates a strip's reflow. Sliding
|
|
173
|
+
* the underline across would read as a selection change that never happened.
|
|
174
|
+
*/
|
|
175
|
+
const applyTriggerLayout = (0, _react.useCallback)((tabValue, layout) => {
|
|
176
|
+
const previous = triggerLayoutsRef.current[tabValue];
|
|
177
|
+
// Unchanged geometry must be a no-op, not a re-place: a measurement pass
|
|
178
|
+
// runs after every render, and re-placing would cancel a selection slide
|
|
179
|
+
// mid-flight for no reason.
|
|
180
|
+
if (previous !== undefined && previous.x === layout.x && previous.width === layout.width) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
144
183
|
triggerLayoutsRef.current[tabValue] = layout;
|
|
184
|
+
if (tabValue !== selectedValueRef.current) return;
|
|
185
|
+
moveIndicator(layout, false);
|
|
186
|
+
revealTrigger(layout, false);
|
|
187
|
+
indicatorPlacedRef.current = true;
|
|
188
|
+
}, [moveIndicator, revealTrigger]);
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Re-read EVERY trigger's position from the platform.
|
|
192
|
+
*
|
|
193
|
+
* This exists because `onLayout` cannot be trusted to report a MOVE. On
|
|
194
|
+
* react-native-web it is backed by a single `ResizeObserver`
|
|
195
|
+
* (`modules/useElementLayout`), which fires for a SIZE change and never for a
|
|
196
|
+
* position-only one — so a trigger inserted, removed or reordered after first
|
|
197
|
+
* layout shifts every trigger after it while not one of them re-reports, and
|
|
198
|
+
* the underline stays where the stale numbers put it: silently, one tab off,
|
|
199
|
+
* only on the first paint after an async tab list lands. A tab whose own
|
|
200
|
+
* width changes has the same effect on its neighbours.
|
|
201
|
+
*
|
|
202
|
+
* So `onLayout` is demoted to a change SIGNAL and the geometry is read back
|
|
203
|
+
* explicitly, through the `measure` both platforms put on a host view ref. It
|
|
204
|
+
* answers in the view's PARENT coordinate space, which is the space the
|
|
205
|
+
* underline is positioned in and the same one `onLayout` reports — the two
|
|
206
|
+
* sources cannot disagree about what they mean.
|
|
207
|
+
*/
|
|
208
|
+
const remeasureTriggers = (0, _react.useCallback)(() => {
|
|
209
|
+
for (const [tabValue, measure] of triggerMeasuresRef.current) {
|
|
210
|
+
measure(layout => {
|
|
211
|
+
// A strip that is mounted but not laid out — a `display: none` ancestor
|
|
212
|
+
// on web, an unmeasured subtree on native — measures as zero, and a
|
|
213
|
+
// trigger cannot genuinely be zero-wide (it always carries horizontal
|
|
214
|
+
// padding). Recording that would collapse the underline and throw away
|
|
215
|
+
// the real geometry, so the last known position stands until it is on
|
|
216
|
+
// screen again.
|
|
217
|
+
if (layout.width <= 0) return;
|
|
218
|
+
applyTriggerLayout(tabValue, layout);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}, [applyTriggerLayout]);
|
|
222
|
+
const scheduleRemeasure = (0, _react.useCallback)(() => {
|
|
223
|
+
// One pass per turn, however many signals arrive: a mount registers N
|
|
224
|
+
// triggers and reports N layouts, which is N+1 reasons to measure the same
|
|
225
|
+
// frame. A microtask, so the pass is queued before the browser paints the
|
|
226
|
+
// frame the change landed in.
|
|
227
|
+
if (remeasureScheduledRef.current) return;
|
|
228
|
+
remeasureScheduledRef.current = true;
|
|
229
|
+
queueMicrotask(() => {
|
|
230
|
+
remeasureScheduledRef.current = false;
|
|
231
|
+
remeasureTriggers();
|
|
232
|
+
});
|
|
233
|
+
}, [remeasureTriggers]);
|
|
234
|
+
const registerTrigger = (0, _react.useCallback)((tabValue, measure) => {
|
|
235
|
+
triggerMeasuresRef.current.set(tabValue, measure);
|
|
236
|
+
return () => {
|
|
237
|
+
triggerMeasuresRef.current.delete(tabValue);
|
|
238
|
+
// A tab that is gone must not keep a position in the geometry the drag
|
|
239
|
+
// controller orders itself by, or a swipe can commit to a trigger that is
|
|
240
|
+
// no longer on screen.
|
|
241
|
+
delete triggerLayoutsRef.current[tabValue];
|
|
242
|
+
};
|
|
243
|
+
}, []);
|
|
244
|
+
const reportTriggerLayout = (0, _react.useCallback)((tabValue, layout) => {
|
|
145
245
|
// Snap onto the active trigger the moment it is first measured (mount), or
|
|
146
246
|
// when its size changes — never slide in from the origin.
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}, [moveIndicator, revealTrigger]);
|
|
247
|
+
applyTriggerLayout(tabValue, layout);
|
|
248
|
+
// One trigger changing size moves every trigger after it, and not one of
|
|
249
|
+
// them will say so.
|
|
250
|
+
scheduleRemeasure();
|
|
251
|
+
}, [applyTriggerLayout, scheduleRemeasure]);
|
|
153
252
|
const reportFocused = (0, _react.useCallback)(tabValue => {
|
|
154
253
|
selectedValueRef.current = tabValue;
|
|
155
254
|
applySelection(tabValue);
|
|
@@ -173,6 +272,16 @@ const TabsBarComponent = /*#__PURE__*/(0, _react.forwardRef)(function TabsBar({
|
|
|
173
272
|
if (hasSelection) return;
|
|
174
273
|
indicatorOpacity.value = (0, _reactNativeReanimated.withTiming)(0, HIGHLIGHT_FADE);
|
|
175
274
|
}, [hasSelection, indicatorOpacity]);
|
|
275
|
+
|
|
276
|
+
// Every render of the strip is a render in which its contents may have MOVED:
|
|
277
|
+
// a trigger inserted, removed or reordered, or one re-rendered at a new size.
|
|
278
|
+
// Unconditional on purpose, rather than keyed on a signature of `children` —
|
|
279
|
+
// any such signature has to be built from React keys or child props, both of
|
|
280
|
+
// which the caller controls and neither of which is obliged to change on a
|
|
281
|
+
// reorder. A pass writes nothing when nothing moved, so being wrong in this
|
|
282
|
+
// direction costs a handful of reads and being wrong in the other direction
|
|
283
|
+
// is the bug.
|
|
284
|
+
(0, _react.useEffect)(scheduleRemeasure);
|
|
176
285
|
(0, _react.useImperativeHandle)(dragRef, () => ({
|
|
177
286
|
drag(translationX) {
|
|
178
287
|
const current = selectedValueRef.current;
|
|
@@ -224,9 +333,10 @@ const TabsBarComponent = /*#__PURE__*/(0, _react.forwardRef)(function TabsBar({
|
|
|
224
333
|
onValueChange,
|
|
225
334
|
variant,
|
|
226
335
|
fullWidth,
|
|
336
|
+
registerTrigger,
|
|
227
337
|
reportTriggerLayout,
|
|
228
338
|
reportFocused
|
|
229
|
-
}), [value, onValueChange, variant, fullWidth, reportTriggerLayout, reportFocused]);
|
|
339
|
+
}), [value, onValueChange, variant, fullWidth, registerTrigger, reportTriggerLayout, reportFocused]);
|
|
230
340
|
const containerStyle = (0, _react.useMemo)(() => {
|
|
231
341
|
const base = {
|
|
232
342
|
flexDirection: 'row',
|
|
@@ -324,6 +434,7 @@ const TabComponent = ({
|
|
|
324
434
|
onValueChange,
|
|
325
435
|
variant,
|
|
326
436
|
fullWidth,
|
|
437
|
+
registerTrigger,
|
|
327
438
|
reportTriggerLayout,
|
|
328
439
|
reportFocused
|
|
329
440
|
} = useTabsContext('TabsTrigger');
|
|
@@ -338,6 +449,24 @@ const TabComponent = ({
|
|
|
338
449
|
const resolvedCount = count ?? 0;
|
|
339
450
|
const showCount = resolvedCount > 0;
|
|
340
451
|
|
|
452
|
+
// The trigger's own host view. It stays here rather than in the strip because
|
|
453
|
+
// the strip has no way to reach a child it did not create — it receives them
|
|
454
|
+
// as `children` — and because a trigger is the only thing that knows its own
|
|
455
|
+
// value, which is what the geometry has to be keyed by.
|
|
456
|
+
const nodeRef = (0, _react.useRef)(null);
|
|
457
|
+
const measureSelf = (0, _react.useCallback)(report => {
|
|
458
|
+
nodeRef.current?.measure((x, _y, width) => {
|
|
459
|
+
report({
|
|
460
|
+
x,
|
|
461
|
+
width
|
|
462
|
+
});
|
|
463
|
+
});
|
|
464
|
+
}, []);
|
|
465
|
+
|
|
466
|
+
// Registration IS the insertion/removal signal the strip acts on, so it must
|
|
467
|
+
// outlive nothing: the cleanup drops both the measure hook and the geometry.
|
|
468
|
+
(0, _react.useEffect)(() => registerTrigger(value, measureSelf), [registerTrigger, value, measureSelf]);
|
|
469
|
+
|
|
341
470
|
// FOCUS-DRIVEN path only. This covers programmatic navigation too — a deep
|
|
342
471
|
// link, a browser Back, a back gesture — because nothing here asks HOW the
|
|
343
472
|
// change happened: the trigger simply re-renders focused and the underline
|
|
@@ -401,6 +530,7 @@ const TabComponent = ({
|
|
|
401
530
|
return base;
|
|
402
531
|
}, [variant, isSelected, theme]);
|
|
403
532
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
533
|
+
ref: nodeRef,
|
|
404
534
|
onLayout: e => {
|
|
405
535
|
const {
|
|
406
536
|
x,
|
|
@@ -429,11 +559,19 @@ const TabComponent = ({
|
|
|
429
559
|
onPressOut: onPressOut,
|
|
430
560
|
disabled: disabled,
|
|
431
561
|
accessibilityRole: "tab",
|
|
432
|
-
accessibilityLabel: showCount ? `${label}, ${resolvedCount}` : label
|
|
433
|
-
accessibilityState
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
562
|
+
accessibilityLabel: showCount ? `${label}, ${resolvedCount}` : label
|
|
563
|
+
// `aria-selected`, and NOT a web-only spelling of `accessibilityState`.
|
|
564
|
+
// react-native-web's `createDOMProps` reads `aria-selected` (or the
|
|
565
|
+
// deprecated `accessibilitySelected`) and does not look at
|
|
566
|
+
// `accessibilityState` at all, so a strip that set only the latter
|
|
567
|
+
// announced no selection on web at all — every tab equally current.
|
|
568
|
+
// React Native's own `Pressable` folds `aria-selected` back into
|
|
569
|
+
// `accessibilityState.selected`, so this one prop serves both platforms
|
|
570
|
+
// and there is no second place for the answer to disagree. `disabled`
|
|
571
|
+
// needs no counterpart: both Pressables already derive that state from
|
|
572
|
+
// the `disabled` prop above.
|
|
573
|
+
,
|
|
574
|
+
"aria-selected": isSelected,
|
|
437
575
|
children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
438
576
|
style: [labelStyle, textStyle],
|
|
439
577
|
children: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useTheme","_usePressAnimation","_tokens","_shadows","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SLIDE_SPRING","duration","dampingRatio","HIGHLIGHT_FADE","COMMIT_THRESHOLD","EDGE_RUBBER_BAND_DAMPING","EDGE_RUBBER_BAND_MAX","MAX_DISPLAYED_COUNT","formatCount","count","String","TabsContext","createContext","useTabsContext","component","ctx","useContext","Error","TabsBarComponent","forwardRef","TabsBar","value","onValueChange","hasSelection","variant","fullWidth","children","style","testID","dragRef","theme","useTheme","isUnderline","indicatorX","useSharedValue","indicatorWidth","indicatorOpacity","dragOffset","dragWidthDelta","triggerLayoutsRef","useRef","indicatorPlacedRef","scrollRef","viewportWidthRef","selectedValueRef","moveIndicator","useCallback","target","animate","withSpring","x","width","withTiming","revealTrigger","viewport","current","centred","scrollTo","Math","max","animated","applySelection","tabValue","reportTriggerLayout","layout","reportFocused","useEffect","undefined","useImperativeHandle","drag","translationX","ordered","entries","sort","a","b","index","findIndex","from","travel","neighbour","damped","min","abs","sign","neighbourValue","to","distance","progress","release","committed","contextValue","useMemo","selectedValue","containerStyle","base","flexDirection","alignItems","borderBottomWidth","borderBottomColor","colors","borderLight","backgroundColor","backgroundSecondary","borderRadius","sm","padding","borderWidth","borderColor","border","indicatorStyle","useAnimatedStyle","opacity","transform","translateX","indicator","jsx","View","pointerEvents","position","left","bottom","height","borderTopLeftRadius","borderTopRightRadius","primary","Provider","jsxs","ScrollView","ref","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","onLayout","nativeEvent","TabComponent","label","icon","isFocused","disabled","onPress","onPressProp","textStyle","isSelected","scaleAnim","onPressIn","onPressOut","usePressAnimation","resolvedCount","showCount","handlePress","tabStyle","justifyContent","paddingHorizontal","space","lg","paddingVertical","gap","xs","card","assign","bloomShadowStyle","labelStyle","fontSize","fontWeight","color","primaryForeground","textSecondary","Animated","scale","flex","Pressable","accessibilityRole","accessibilityLabel","accessibilityState","selected","Text","textTertiary","numberOfLines","TabPanelComponent","Tabs","exports","memo","displayName","TabsTrigger","TabsContent"],"sourceRoot":"../../../src","sources":["tabs/Tabs.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useTheme","_usePressAnimation","_tokens","_shadows","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SLIDE_SPRING","duration","dampingRatio","HIGHLIGHT_FADE","COMMIT_THRESHOLD","EDGE_RUBBER_BAND_DAMPING","EDGE_RUBBER_BAND_MAX","MAX_DISPLAYED_COUNT","formatCount","count","String","TabsContext","createContext","useTabsContext","component","ctx","useContext","Error","TabsBarComponent","forwardRef","TabsBar","value","onValueChange","hasSelection","variant","fullWidth","children","style","testID","dragRef","theme","useTheme","isUnderline","indicatorX","useSharedValue","indicatorWidth","indicatorOpacity","dragOffset","dragWidthDelta","triggerLayoutsRef","useRef","triggerMeasuresRef","Map","remeasureScheduledRef","indicatorPlacedRef","scrollRef","viewportWidthRef","selectedValueRef","moveIndicator","useCallback","target","animate","withSpring","x","width","withTiming","revealTrigger","viewport","current","centred","scrollTo","Math","max","animated","applySelection","tabValue","applyTriggerLayout","layout","previous","undefined","remeasureTriggers","measure","scheduleRemeasure","queueMicrotask","registerTrigger","delete","reportTriggerLayout","reportFocused","useEffect","useImperativeHandle","drag","translationX","ordered","entries","sort","a","b","index","findIndex","from","travel","neighbour","damped","min","abs","sign","neighbourValue","to","distance","progress","release","committed","contextValue","useMemo","selectedValue","containerStyle","base","flexDirection","alignItems","borderBottomWidth","borderBottomColor","colors","borderLight","backgroundColor","backgroundSecondary","borderRadius","sm","padding","borderWidth","borderColor","border","indicatorStyle","useAnimatedStyle","opacity","transform","translateX","indicator","jsx","View","pointerEvents","position","left","bottom","height","borderTopLeftRadius","borderTopRightRadius","primary","Provider","jsxs","ScrollView","ref","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","onLayout","nativeEvent","TabComponent","label","icon","isFocused","disabled","onPress","onPressProp","textStyle","isSelected","scaleAnim","onPressIn","onPressOut","usePressAnimation","resolvedCount","showCount","nodeRef","measureSelf","report","_y","handlePress","tabStyle","justifyContent","paddingHorizontal","space","lg","paddingVertical","gap","xs","card","assign","bloomShadowStyle","labelStyle","fontSize","fontWeight","color","primaryForeground","textSecondary","Animated","scale","flex","Pressable","accessibilityRole","accessibilityLabel","Text","textTertiary","numberOfLines","TabPanelComponent","Tabs","exports","memo","displayName","TabsTrigger","TabsContent"],"sourceRoot":"../../../src","sources":["tabs/Tabs.tsx"],"mappings":"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","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoBA;AACO,SAASU,WAAWA,CAACC,GAAW,EAAU;EAC/C,MAAMC,CAAC,GAAGD,GAAG,CAACE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAC9B,MAAMC,CAAC,GAAGF,CAAC,CAACG,MAAM,KAAK,CAAC,GAAG,KAAKH,CAAC,EAAE,GAAGA,CAAC;EACvC,OAAOI,QAAQ,CAACF,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;AAC9B;;AAEA;AACO,SAASG,WAAWA,CAACC,IAAY,EAAU;EAChD,MAAMC,CAAC,GAAG,IAAAC,uBAAW,EAACF,IAAI,CAAC,CAACG,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACzD,MAAMC,CAAC,GAAG,IAAAC,yBAAa,EAACN,IAAI,CAAC,CAACG,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC3D,MAAMG,CAAC,GAAG,IAAAC,wBAAY,EAACR,IAAI,CAAC,CAACG,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,OAAO,IAAIH,CAAC,GAAGI,CAAC,GAAGE,CAAC,EAAE;AACxB;;AAEA;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAACC,IAAqB,EAAc;EACpE,MAAMC,MAAM,GAAG,IAAAC,2BAAW,EACxBF,IAAI,CAACG,OAAO,IAAI,SAAS,EACzBC,QAAG,CAACC,OAAO,CAACvB,WAAW,CAACkB,IAAI,CAACM,IAAI,CAAC,CAAC,EACnCN,IAAI,CAACO,MAAM,IAAI,KAAK,EACpBP,IAAI,CAACQ,aAAa,IAAI,CAAC,EACvB;IACEC,eAAe,EACbT,IAAI,CAACU,aAAa,KAAKC,SAAS,GAC5BP,QAAG,CAACC,OAAO,CAACvB,WAAW,CAACkB,IAAI,CAACU,aAAa,CAAC,CAAC,GAC5CC,SAAS;IACfC,cAAc,EACZZ,IAAI,CAACa,YAAY,KAAKF,SAAS,GAC3BP,QAAG,CAACC,OAAO,CAACvB,WAAW,CAACkB,IAAI,CAACa,YAAY,CAAC,CAAC,GAC3CF;EACR,CACF,CAAC;EACD,MAAMG,GAAG,GAAG,CAAC,CAAe;EAC5B,KAAK,MAAMC,IAAI,IAAIC,MAAM,CAACC,IAAI,CAACC,iBAAK,CAAC,EAAgB;IACnD,MAAM5B,IAAI,GAAG4B,iBAAK,CAACH,IAAI,CAAC,CAACI,OAAO,CAAClB,MAAM,CAAC;IACxCa,GAAG,CAACC,IAAI,CAAC,GAAG,OAAO,IAAAvB,uBAAW,EAACF,IAAI,CAAC,IAAI,IAAAM,yBAAa,EAACN,IAAI,CAAC,IAAI,IAAAQ,wBAAY,EAACR,IAAI,CAAC,GAAG;EACtF;EACA,OAAOwB,GAAG;AACZ","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":"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","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
|