@multiplatform.one/theme 7.88.7 → 7.88.9

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.
@@ -1 +1 @@
1
- {"version":3,"names":["Colors","PALETTE_BACKGROUND_OFFSET","createThemes","tamaguiCreateThemes","defaultChildrenThemes","v5Templates","aaTextContrastRatio","apcaContrast","contrastRatio","fillLabelLc","holdInkFloor","inSwitchOffBand","isLightGround","minContrastRatio","normalizeToHex","pickReadableForeground","plateContrastRatio","relativeLuminance","switchOffFillAlpha","systemFillHex","systemFillLuminance","pickSecondaryInk","themeRampHues","withAccentOnSurface","tintHueNames","intentInkFloor","warning","success","withIntentInkFloor","palette","ink","length","stepped","lightSurfaceGrouped","light_surface1","background","backgroundHover","backgroundPress","backgroundFocus","backgroundActive","houseTemplates","houseComponentThemes","Button","template","Input","TextArea","Progress","ProgressIndicator","Slider","SliderActive","SliderThumb","Switch","Card","ListItem","SelectTrigger","SelectItem","InputContainerFrame","houseGrandChildrenThemes","active","alt1","alt2","sanitizeGetTheme","getTheme","props","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","key","value","err","return","tintNeutralTextKeys","neutralizeTintText","themes","name","theme","parts","split","scheme","has","base","patched","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","textMuted","semanticIntentNames","Set","entryControlNames","neutralizeSemanticEntryText","intent","component","rest","placeholderColor","neutral","luminanceOf","color","hex","nearestHoldingStep","preferred","steps","holds","preferredLum","best","bestDistance","Number","POSITIVE_INFINITY","step","lum","distance","Math","abs","holdAccentFloor","_loop","_i2","_iter2","accentBackground","accentColor","paper","color1","color12","surfaces","color2","color3","color4","map","some","Array","from","_","index","fill","slice","max","accentInk","every","surface","startsWith","inheritsFill","inheritsInk","_i","_iter","selectionSurfaceContrastRatio","selectionSurfaceScope","holdSelectionSurface","scopeName","scope","test","page","last","color5","color6","candidates","mixHex","held","find","candidate","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","borderColor","selectedTintContrastRatio","neutralSelectedTintContrastRatio","achromaticChannelSpread","isAchromaticRamp","channels","offset","parseInt","min","holdSelectedState","paint","selectedPaint","grey","offNeutral","tint","lum2","tintLum","strongest","strongestRatio","ratio","selectedBackground","selectedColor","switchStateContrastRatio","switchRaisedAlphas","switchRaisedAlphaStep","raisedGrounds","_themes_scheme","hues","filter","param","RegExp","holdSwitchTrack","switchTrackPaint","onFill","ground","raised","arguments","_ref","_inBand_find","on","alpha","target","raisedLums","greys","hover","press","entry","fills","flatMap","fillAlpha","byTarget","byTarget2","a","b","sort","inBand","pick","switchTrackOff","switchTrackOffHover","switchTrackOffPress","syntaxInkHues","to","share","channel","channel2","round","toString","padStart","holdSyntaxFloor"],"sources":["../../../src/theme/createThemes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Colors","PALETTE_BACKGROUND_OFFSET","createThemes","tamaguiCreateThemes","defaultChildrenThemes","v5Templates","aaTextContrastRatio","apcaContrast","contrastRatio","fillLabelLc","holdInkFloor","inSwitchOffBand","isLightGround","minContrastRatio","normalizeToHex","pickReadableForeground","plateContrastRatio","relativeLuminance","switchOffFillAlpha","systemFillHex","systemFillLuminance","pickSecondaryInk","themeRampHues","withAccentOnSurface","withIdentityInk","tintHueNames","intentInkFloor","warning","success","withIntentInkFloor","palette","ink","length","stepped","lightSurfaceGrouped","light_surface1","background","backgroundHover","backgroundPress","backgroundFocus","backgroundActive","houseTemplates","houseComponentThemes","Button","template","Input","TextArea","Progress","ProgressIndicator","Slider","SliderActive","SliderThumb","Switch","Card","ListItem","SelectTrigger","SelectItem","InputContainerFrame","houseGrandChildrenThemes","active","alt1","alt2","sanitizeGetTheme","getTheme","props","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","key","value","err","return","tintNeutralTextKeys","neutralizeTintText","themes","name","theme","parts","split","scheme","has","base","patched","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","textMuted","semanticIntentNames","Set","entryControlNames","neutralizeSemanticEntryText","intent","component","rest","placeholderColor","neutral","luminanceOf","color","hex","nearestHoldingStep","preferred","steps","holds","preferredLum","best","bestDistance","Number","POSITIVE_INFINITY","step","lum","distance","Math","abs","holdAccentFloor","_loop","_i2","_iter2","accentBackground","accentColor","paper","color1","color12","surfaces","color2","color3","color4","map","some","Array","from","_","index","fill","slice","max","accentInk","every","surface","startsWith","inheritsFill","inheritsInk","_i","_iter","selectionSurfaceContrastRatio","selectionSurfaceScope","holdSelectionSurface","scopeName","scope","test","page","last","color5","color6","candidates","mixHex","held","find","candidate","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","borderColor","selectedTintContrastRatio","neutralSelectedTintContrastRatio","achromaticChannelSpread","isAchromaticRamp","channels","offset","parseInt","min","holdSelectedState","paint","selectedPaint","grey","offNeutral","tint","lum2","tintLum","strongest","strongestRatio","ratio","selectedBackground","selectedColor","switchStateContrastRatio","switchRaisedAlphas","switchRaisedAlphaStep","raisedGrounds","_themes_scheme","hues","filter","param","RegExp","holdSwitchTrack","switchTrackPaint","onFill","ground","raised","arguments","_ref","_inBand_find","on","alpha","target","raisedLums","greys","hover","press","entry","fills","flatMap","fillAlpha","byTarget","byTarget2","a","b","sort","inBand","pick","switchTrackOff","switchTrackOffHover","switchTrackOffPress","syntaxInkHues","to","share","channel","channel2","round","toString","padStart","holdSyntaxFloor","hue"],"sources":["../../../src/theme/createThemes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/theme",
3
- "version": "7.88.7",
3
+ "version": "7.88.9",
4
4
  "description": "Tamagui theme system for multiplatform.one",
5
5
  "keywords": [
6
6
  "multiplatform",
@@ -115,8 +115,8 @@
115
115
  "access": "public"
116
116
  },
117
117
  "dependencies": {
118
- "@multiplatform.one/platform": "^7.88.7",
119
- "@multiplatform.one/store": "^7.88.7",
118
+ "@multiplatform.one/platform": "^7.88.9",
119
+ "@multiplatform.one/store": "^7.88.9",
120
120
  "@tamagui/animations-react-native": "2.7.6",
121
121
  "@tamagui/colors": "2.7.6",
122
122
  "@tamagui/config": "2.7.6",
@@ -132,8 +132,8 @@
132
132
  },
133
133
  "devDependencies": {
134
134
  "@expo/prebuild-config": "55.0.18",
135
- "@multiplatform.one/config": "7.88.7",
136
- "@multiplatform.one/test-utils": "7.88.7",
135
+ "@multiplatform.one/config": "7.88.9",
136
+ "@multiplatform.one/test-utils": "7.88.9",
137
137
  "@tamagui/animations-css": "2.7.6",
138
138
  "@tamagui/animations-reanimated": "2.7.6",
139
139
  "@tamagui/build": "2.7.6",
@@ -132,3 +132,27 @@ export function withAccentOnSurface(
132
132
  }),
133
133
  );
134
134
  }
135
+
136
+ /**
137
+ * FZ-9617. Every theme with the ink {@link resolveIdentityInk} picks inside it,
138
+ * as `identityInk`: the LC-176 icon-button glyph tint under the house `ink`
139
+ * fallback. On web a bar Button paints it through its host alias, so the glyph
140
+ * follows a light/dark flip with no re-render, where the picked literal stayed
141
+ * on the scheme it was picked in.
142
+ */
143
+ export function withIdentityInk(
144
+ themes: Record<string, Record<string, string>>,
145
+ ): Record<string, Record<string, string>> {
146
+ return Object.fromEntries(
147
+ Object.entries(themes).map(([name, theme]) => {
148
+ const values = resolveThemeThroughParents(themes, name);
149
+ if (!values.color12) return [name, theme];
150
+ const identityInk = resolveIdentityInk({
151
+ candidates: identityKeys(name).map((key) => values[key]),
152
+ surfaces: [values.color1, values.color2],
153
+ ink: values.color12,
154
+ });
155
+ return [name, { ...theme, identityInk }];
156
+ }),
157
+ );
158
+ }
@@ -452,10 +452,10 @@ describe("the v5 theme matrix", () => {
452
452
  // `theme="accent"` follows a picked colour; the budget moved 260 -> 280 KB.
453
453
  // FZ-7970 (LC-160) dedupes values another rule already puts on the element:
454
454
  // 280,833 -> 263,241 bytes, and the budget ratchets down to 264 KB.
455
- it("ships 478 themes and the heading-scope category fonts in under 265 KB of CSS (the v4 matrix and stock spread shipped 913 KB)", async () => {
455
+ it("ships 478 themes and the heading-scope category fonts in under 267 KB of CSS (the v4 matrix and stock spread shipped 913 KB)", async () => {
456
456
  const { createTamagui: build } = await vi.importActual<typeof import("tamagui")>("tamagui");
457
457
  const css = build(config.tamagui).getCSS();
458
458
  expect(Object.keys(themes)).toHaveLength(478);
459
- expect(Buffer.byteLength(css, "utf8")).toBeLessThan(265_000);
459
+ expect(Buffer.byteLength(css, "utf8")).toBeLessThan(267_000);
460
460
  });
461
461
  });
@@ -23,7 +23,7 @@ import {
23
23
  } from "./colorRules";
24
24
  import { pickSecondaryInk } from "./defaults/builderOptions";
25
25
  import { themeRampHues } from "./ramps";
26
- import { withAccentOnSurface } from "./accentInk";
26
+ import { withAccentOnSurface, withIdentityInk } from "./accentInk";
27
27
  import { tintHueNames } from "./tintHues";
28
28
 
29
29
  export { tintHueNames };
@@ -999,16 +999,18 @@ export function createThemesBuilder(
999
999
  const initialTheme = tamaguiCreateThemes(
1000
1000
  createThemesProps as Parameters<typeof tamaguiCreateThemes>[0],
1001
1001
  );
1002
- const themes = withAccentOnSurface(
1003
- holdFocusRingAccent(
1004
- holdColorThemeAccent(
1005
- holdSwitchTrack(
1006
- holdSyntaxFloor(
1007
- holdNamedInkFloor(
1008
- holdSelectedState(
1009
- holdAccentFloor(
1010
- holdSelectionSurface(
1011
- neutralizeSemanticEntryText(neutralizeTintText(initialTheme)),
1002
+ const themes = withIdentityInk(
1003
+ withAccentOnSurface(
1004
+ holdFocusRingAccent(
1005
+ holdColorThemeAccent(
1006
+ holdSwitchTrack(
1007
+ holdSyntaxFloor(
1008
+ holdNamedInkFloor(
1009
+ holdSelectedState(
1010
+ holdAccentFloor(
1011
+ holdSelectionSurface(
1012
+ neutralizeSemanticEntryText(neutralizeTintText(initialTheme)),
1013
+ ),
1012
1014
  ),
1013
1015
  ),
1014
1016
  ),
@@ -1042,13 +1044,12 @@ export function createThemesBuilder(
1042
1044
  const createdTheme = tamaguiCreateThemes(
1043
1045
  addThemeProps as Parameters<typeof tamaguiCreateThemes>[0],
1044
1046
  );
1045
- return withAccentOnSurface({
1046
- [`dark_${name}`]: createdTheme.dark_accent,
1047
- [`light_${name}`]: createdTheme.light_accent,
1048
- } as Record<string, Record<string, string>>) as Record<
1049
- `dark_${K}` | `light_${K}`,
1050
- typeof createdTheme.dark_accent
1051
- >;
1047
+ return withIdentityInk(
1048
+ withAccentOnSurface({
1049
+ [`dark_${name}`]: createdTheme.dark_accent,
1050
+ [`light_${name}`]: createdTheme.light_accent,
1051
+ } as Record<string, Record<string, string>>),
1052
+ ) as Record<`dark_${K}` | `light_${K}`, typeof createdTheme.dark_accent>;
1052
1053
  },
1053
1054
  };
1054
1055
  }
@@ -0,0 +1,251 @@
1
+ import { cleanup, render } from "@testing-library/react";
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+
4
+ type Props = Record<string, any>;
5
+
6
+ const seen = vi.hoisted(() => ({
7
+ props: {} as Record<string, Props>,
8
+ dialog: { open: false, contentId: undefined as string | undefined },
9
+ width: 0,
10
+ }));
11
+
12
+ vi.mock("tamagui", async () => {
13
+ const React = await import("react");
14
+ const part = (name: string) =>
15
+ React.forwardRef<HTMLDivElement, Props>((props, ref) => {
16
+ seen.props[name] = props;
17
+ return React.createElement("div", { ref, "data-part": name }, props.children);
18
+ });
19
+ return {
20
+ isWeb: true,
21
+ Dialog: { Content: part("Dialog.Content"), Overlay: part("Dialog.Overlay") },
22
+ AlertDialog: { Content: part("AlertDialog.Content"), Overlay: part("AlertDialog.Overlay") },
23
+ Popover: { Content: part("Popover.Content") },
24
+ useDialogContext: () => seen.dialog,
25
+ useWindowDimensions: () => ({ width: seen.width, height: 800 }),
26
+ };
27
+ });
28
+ vi.mock("./Surface", () => ({ Surface: ({ children }: { children?: unknown }) => children }));
29
+ vi.mock("./useResolvedKnobs", () => ({
30
+ useResolvedKnobs: () => ({
31
+ knobProps: {
32
+ elevatedSurface: {},
33
+ containerRadius: {},
34
+ panelPadding: {},
35
+ gap: {},
36
+ motion: { overlay: undefined, scrim: undefined },
37
+ },
38
+ }),
39
+ }));
40
+ vi.mock("./resolveKnobs", () => ({ panelPaddingPx: () => 16 }));
41
+
42
+ const {
43
+ AlertDialogContent,
44
+ AlertDialogOverlay,
45
+ DialogContent,
46
+ DialogOverlay,
47
+ DialogShowFocus,
48
+ PopoverContent,
49
+ overlayScrim,
50
+ useIsInDialogRegion,
51
+ } = await import("./overlaySurfaces");
52
+
53
+ const pointer = () => document.dispatchEvent(new Event("pointerdown"));
54
+ const keyboard = () => document.dispatchEvent(new KeyboardEvent("keydown", { key: "Tab" }));
55
+
56
+ function el<K extends keyof HTMLElementTagNameMap>(tag: K, attrs: Record<string, string> = {}) {
57
+ const node = document.createElement(tag);
58
+ for (const [name, value] of Object.entries(attrs)) node.setAttribute(name, value);
59
+ return node;
60
+ }
61
+
62
+ function openFocus(onOpenAutoFocus?: (event: Event) => void) {
63
+ render(<PopoverContent onOpenAutoFocus={onOpenAutoFocus}>body</PopoverContent>);
64
+ return seen.props["Popover.Content"].onOpenAutoFocus as (event: Event) => void;
65
+ }
66
+
67
+ function fire(target: EventTarget, handler: (event: Event) => void) {
68
+ const event = new Event("open", { cancelable: true });
69
+ target.addEventListener("open", handler, { once: true });
70
+ target.dispatchEvent(event);
71
+ return event;
72
+ }
73
+
74
+ beforeEach(() => {
75
+ seen.props = {};
76
+ seen.dialog = { open: false, contentId: undefined };
77
+ seen.width = 0;
78
+ pointer();
79
+ });
80
+
81
+ afterEach(() => {
82
+ cleanup();
83
+ document.body.replaceChildren();
84
+ });
85
+
86
+ describe("house open focus (MPO-452, LC-71)", () => {
87
+ it("skips everything that is not a tab stop and lands the caret in the first field", () => {
88
+ const frame = el("div");
89
+ const wrapper = el("div", { style: "display: none" });
90
+ wrapper.append(el("button"));
91
+ const field = el("input", { type: "text" });
92
+ const select = vi.spyOn(field, "select");
93
+ frame.append(
94
+ el("div", { tabindex: "-1" }),
95
+ el("a", { href: "#", tabindex: "0" }),
96
+ el("button", { hidden: "" }),
97
+ el("button", { disabled: "" }),
98
+ el("input", { type: "hidden", tabindex: "0" }),
99
+ el("button", { style: "visibility: hidden" }),
100
+ wrapper,
101
+ field,
102
+ el("button"),
103
+ );
104
+ document.body.append(frame);
105
+ const event = fire(frame, openFocus());
106
+ expect(event.defaultPrevented).toBe(true);
107
+ expect(document.activeElement).toBe(field);
108
+ expect(select).toHaveBeenCalledTimes(1);
109
+ });
110
+
111
+ it("puts a pointer open on the frame, and a keyboard open on the first control", () => {
112
+ const frame = el("div");
113
+ const button = el("button");
114
+ frame.append(button);
115
+ document.body.append(frame);
116
+ const handler = openFocus();
117
+ expect(fire(frame, handler).defaultPrevented).toBe(true);
118
+ expect(document.activeElement).toBe(frame);
119
+ expect(frame.tabIndex).toBe(-1);
120
+ keyboard();
121
+ fire(frame, handler);
122
+ expect(document.activeElement).toBe(button);
123
+ });
124
+
125
+ it("runs the caller first and stands down when it prevents the default", () => {
126
+ const frame = el("div");
127
+ frame.append(el("input", { type: "text" }));
128
+ document.body.append(frame);
129
+ const caller = vi.fn((event: Event) => event.preventDefault());
130
+ const before = document.activeElement;
131
+ fire(frame, openFocus(caller));
132
+ expect(caller).toHaveBeenCalledTimes(1);
133
+ expect(document.activeElement).toBe(before);
134
+ });
135
+
136
+ it("leaves the default alone when nothing can take focus or the target is not an element", () => {
137
+ const frame = el("div");
138
+ frame.append(el("button", { disabled: "" }));
139
+ document.body.append(frame);
140
+ const handler = openFocus();
141
+ expect(fire(frame, handler).defaultPrevented).toBe(false);
142
+ expect(fire(document, handler).defaultPrevented).toBe(false);
143
+ });
144
+ });
145
+
146
+ describe("<dialog>.show() focus (MPO-470)", () => {
147
+ function content(focusable: HTMLElement) {
148
+ const node = el("div", { id: "dialog-1" });
149
+ const field = el("input", { type: "text" });
150
+ node.append(focusable, field);
151
+ document.body.append(node);
152
+ focusable.focus();
153
+ return { node, field };
154
+ }
155
+
156
+ it("moves focus off a frame show() left it on, after the caller's handler", () => {
157
+ const { field } = content(el("div", { tabindex: "-1" }));
158
+ seen.dialog = { open: true, contentId: "dialog-1" };
159
+ const caller = vi.fn();
160
+ render(<DialogShowFocus onOpenAutoFocus={caller} />);
161
+ expect(caller).toHaveBeenCalledTimes(1);
162
+ expect(document.activeElement).toBe(field);
163
+ });
164
+
165
+ it("keeps a keyboard user's tab stop, and does nothing while closed", () => {
166
+ const button = el("button");
167
+ content(button);
168
+ keyboard();
169
+ seen.dialog = { open: true, contentId: "dialog-1" };
170
+ const caller = vi.fn();
171
+ render(<DialogShowFocus onOpenAutoFocus={caller} />);
172
+ seen.dialog = { open: false, contentId: "dialog-1" };
173
+ render(<DialogShowFocus onOpenAutoFocus={caller} />);
174
+ expect(caller).not.toHaveBeenCalled();
175
+ expect(document.activeElement).toBe(button);
176
+ });
177
+
178
+ it("ignores focus outside the content and a content id that is not in the page", () => {
179
+ const outside = el("button");
180
+ document.body.append(outside);
181
+ content(el("div", { tabindex: "-1" }));
182
+ outside.focus();
183
+ const caller = vi.fn();
184
+ seen.dialog = { open: true, contentId: "dialog-1" };
185
+ render(<DialogShowFocus onOpenAutoFocus={caller} />);
186
+ seen.dialog = { open: true, contentId: "missing" };
187
+ render(<DialogShowFocus onOpenAutoFocus={caller} />);
188
+ expect(caller).not.toHaveBeenCalled();
189
+ expect(document.activeElement).toBe(outside);
190
+ });
191
+ });
192
+
193
+ describe("dialog frames", () => {
194
+ it("fit a numeric width to the window less one panel inset each side (FZ-8020)", () => {
195
+ seen.width = 390;
196
+ render(
197
+ <DialogContent width={400} minWidth={300}>
198
+ body
199
+ </DialogContent>,
200
+ );
201
+ const props = seen.props["Dialog.Content"];
202
+ expect(props.maxWidth).toBe(358);
203
+ expect(props.width).toBe(358);
204
+ expect(props.minWidth).toBe(300);
205
+ expect(props.unstyled).toBe(true);
206
+ expect(props.elevate).toBe(false);
207
+ });
208
+
209
+ it("leave a token width alone and add no cap before the window is measured", () => {
210
+ seen.width = 390;
211
+ render(<DialogContent width="$20">body</DialogContent>);
212
+ expect(seen.props["Dialog.Content"].width).toBe("$20");
213
+ seen.width = 0;
214
+ render(<DialogContent width={400}>body</DialogContent>);
215
+ expect(seen.props["Dialog.Content"].maxWidth).toBeUndefined();
216
+ expect(seen.props["Dialog.Content"].width).toBe(400);
217
+ });
218
+
219
+ it("mark their children as inside a dialog region (DG-OVL-04)", () => {
220
+ const regions: boolean[] = [];
221
+ function Probe() {
222
+ regions.push(useIsInDialogRegion());
223
+ return null;
224
+ }
225
+ render(
226
+ <>
227
+ <Probe />
228
+ <DialogContent>
229
+ <Probe />
230
+ </DialogContent>
231
+ <AlertDialogContent>
232
+ <Probe />
233
+ </AlertDialogContent>
234
+ </>,
235
+ );
236
+ expect(regions).toEqual([false, true, true]);
237
+ expect(seen.props["AlertDialog.Content"].unstyled).toBe(true);
238
+ });
239
+
240
+ it("dim the page with the house scrim under both dialog kinds", () => {
241
+ render(
242
+ <>
243
+ <DialogOverlay />
244
+ <AlertDialogOverlay />
245
+ </>,
246
+ );
247
+ expect(seen.props["Dialog.Overlay"].backgroundColor).toBe(overlayScrim);
248
+ expect(seen.props["AlertDialog.Overlay"].backgroundColor).toBe(overlayScrim);
249
+ expect(seen.props["Dialog.Overlay"].enterStyle).toEqual({ opacity: 0 });
250
+ });
251
+ });
@@ -0,0 +1,103 @@
1
+ import { cleanup, render } from "@testing-library/react";
2
+ import type { ReactElement } from "react";
3
+ import { afterEach, describe, expect, it, vi } from "vitest";
4
+
5
+ const media = vi.hoisted(() => ({ sm: false as boolean | undefined }));
6
+ vi.mock("tamagui", () => ({ useMedia: () => ({ sm: media.sm }) }));
7
+
8
+ const {
9
+ PageGutter,
10
+ ScreenNesting,
11
+ negateSpaceToken,
12
+ usePageGutter,
13
+ useParentScreen,
14
+ usePhoneTableBleed,
15
+ } = await import("./pageGutter");
16
+
17
+ afterEach(() => {
18
+ cleanup();
19
+ media.sm = false;
20
+ });
21
+
22
+ function read<T>(hook: () => T, wrap: (probe: ReactElement) => ReactElement) {
23
+ const out: { value?: T } = {};
24
+ function Probe() {
25
+ out.value = hook();
26
+ return null;
27
+ }
28
+ render(wrap(<Probe />));
29
+ return out.value as T;
30
+ }
31
+
32
+ describe("page gutter (LC-146)", () => {
33
+ it("is null off the page line and the nearest declared token inside one", () => {
34
+ expect(read(usePageGutter, (probe) => probe)).toBeNull();
35
+ expect(read(usePageGutter, (probe) => <PageGutter inset="$4">{probe}</PageGutter>)).toBe("$4");
36
+ expect(
37
+ read(usePageGutter, (probe) => (
38
+ <PageGutter inset="$4">
39
+ <PageGutter inset={null}>{probe}</PageGutter>
40
+ </PageGutter>
41
+ )),
42
+ ).toBeNull();
43
+ });
44
+
45
+ it("negates a space token both ways", () => {
46
+ expect(negateSpaceToken("$4")).toBe("$-4");
47
+ expect(negateSpaceToken("$-4")).toBe("$4");
48
+ expect(negateSpaceToken("4")).toBe("$-4");
49
+ });
50
+
51
+ it("bleeds a table to the screen edges on a phone that sits on the page line", () => {
52
+ media.sm = false;
53
+ expect(
54
+ read(usePhoneTableBleed, (probe) => <PageGutter inset="$3">{probe}</PageGutter>),
55
+ ).toEqual({ inset: "$3", frame: { marginHorizontal: "$-3" } });
56
+ });
57
+
58
+ it("keeps the frame when wide, when the media is unknown, or off the page line", () => {
59
+ media.sm = true;
60
+ expect(read(usePhoneTableBleed, (probe) => <PageGutter inset="$3">{probe}</PageGutter>)).toBe(
61
+ null,
62
+ );
63
+ media.sm = undefined;
64
+ expect(read(usePhoneTableBleed, (probe) => <PageGutter inset="$3">{probe}</PageGutter>)).toBe(
65
+ null,
66
+ );
67
+ media.sm = false;
68
+ expect(read(usePhoneTableBleed, (probe) => probe)).toBeNull();
69
+ });
70
+ });
71
+
72
+ describe("screen nesting (LC-159, FZ-7993)", () => {
73
+ it("is null at the top of a page and the parent shell's record under one", () => {
74
+ expect(read(useParentScreen, (probe) => probe)).toBeNull();
75
+ expect(
76
+ read(useParentScreen, (probe) => (
77
+ <ScreenNesting scrolls inset="$4" capped={false}>
78
+ {probe}
79
+ </ScreenNesting>
80
+ )),
81
+ ).toEqual({ scrolls: true, inset: "$4", capped: false });
82
+ });
83
+
84
+ it("keeps the record's identity while the shell's values hold", () => {
85
+ const seen: unknown[] = [];
86
+ function Probe() {
87
+ seen.push(useParentScreen());
88
+ return null;
89
+ }
90
+ const tree = (capped: boolean) => (
91
+ <ScreenNesting scrolls={false} inset={null} capped={capped}>
92
+ <Probe />
93
+ </ScreenNesting>
94
+ );
95
+ const { rerender } = render(tree(true));
96
+ rerender(tree(true));
97
+ rerender(tree(false));
98
+ expect(seen).toHaveLength(3);
99
+ expect(seen[1]).toBe(seen[0]);
100
+ expect(seen[2]).not.toBe(seen[0]);
101
+ expect(seen[2]).toEqual({ scrolls: false, inset: null, capped: false });
102
+ });
103
+ });