@multiplatform.one/components 7.83.1 → 7.83.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/Alert/index.cjs +1 -1
  2. package/dist/cjs/Alert/index.native.js +1 -1
  3. package/dist/cjs/Alert/index.native.js.map +1 -1
  4. package/dist/cjs/Chip/index.cjs +2 -1
  5. package/dist/cjs/Chip/index.native.js +2 -1
  6. package/dist/cjs/Chip/index.native.js.map +1 -1
  7. package/dist/cjs/layouts/tags.cjs +25 -12
  8. package/dist/cjs/layouts/tags.native.js +25 -16
  9. package/dist/cjs/layouts/tags.native.js.map +1 -1
  10. package/dist/esm/Alert/index.mjs +1 -1
  11. package/dist/esm/Alert/index.mjs.map +1 -1
  12. package/dist/esm/Alert/index.native.js +1 -1
  13. package/dist/esm/Alert/index.native.js.map +1 -1
  14. package/dist/esm/Chip/index.mjs +3 -2
  15. package/dist/esm/Chip/index.mjs.map +1 -1
  16. package/dist/esm/Chip/index.native.js +3 -2
  17. package/dist/esm/Chip/index.native.js.map +1 -1
  18. package/dist/esm/layouts/tags.mjs +28 -15
  19. package/dist/esm/layouts/tags.mjs.map +1 -1
  20. package/dist/esm/layouts/tags.native.js +28 -19
  21. package/dist/esm/layouts/tags.native.js.map +1 -1
  22. package/dist/jsx/Alert/index.mjs +1 -1
  23. package/dist/jsx/Alert/index.mjs.map +1 -1
  24. package/dist/jsx/Alert/index.native.js +1 -1
  25. package/dist/jsx/Alert/index.native.js.map +1 -1
  26. package/dist/jsx/Chip/index.mjs +3 -2
  27. package/dist/jsx/Chip/index.mjs.map +1 -1
  28. package/dist/jsx/Chip/index.native.js +2 -1
  29. package/dist/jsx/Chip/index.native.js.map +1 -1
  30. package/dist/jsx/layouts/tags.mjs +28 -15
  31. package/dist/jsx/layouts/tags.mjs.map +1 -1
  32. package/dist/jsx/layouts/tags.native.js +25 -16
  33. package/dist/jsx/layouts/tags.native.js.map +1 -1
  34. package/package.json +9 -9
  35. package/src/Alert/Alert.spec.tsx +82 -1
  36. package/src/Alert/index.tsx +1 -1
  37. package/src/Chip/Chip.spec.tsx +33 -0
  38. package/src/Chip/index.tsx +10 -5
  39. package/src/hoverTouchPath.coarse.spec.tsx +166 -0
  40. package/src/layouts/tags-token-field.spec.tsx +21 -5
  41. package/src/layouts/tags.tsx +36 -20
  42. package/types/Chip/index.d.ts.map +1 -1
  43. package/types/layouts/tags.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","tags_exports","Tags","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react2","import_i18n","import_tamagui","import_ScrollView","import_Chip","import_componentColors","import_t","import_Text","param","tags","suggestions","label","disabled","maxTags","onTagClick","onAdd","onRemove","renderEmpty","renderTag","enableAdd","enableRemove","variant","theme","chipTheme","size","labels","placeholder","placeholderProp","stackProps","t","useTranslation","knobProps","disabledState","useResolvedKnobs","accentGlyphInk","useGlyphColor","textAccentColor","rowGlyphInk","componentColors","text","primary","small","sizeTokenStep","sizeToken","inputRef","useRef","listboxId","useId","isWeb","ensureCompositeFocusRing","ensureKeyboardModalityTracking","chipSize","sizeKeyBelow","inputValue","setInputValue","useState","isPopoverOpen","setIsPopoverOpen","pendingRemoveId","setPendingRemoveId","activeIndex","setActiveIndex","kbNav","setKbNav","addTag","addTagLabel","noTags","noTagsLabel","suggestionsLabel","noAvailableTags","noAvailableTagsLabel","createTag","createTagLabel","withInterp","appliedTagNames","useMemo","Set","map","tag","toLowerCase","availableSuggestions","searchTerm","trim","filter","tagName","has","includes","slice","canAdd","length","trimmedInput","canCreate","listOptions","rows","push","kind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","id","err","return","handleAddTag","useCallback","trimmedName","handleSelectOption","option","handleInputChange","handleKeyDown","e","_e_nativeEvent","nativeEvent","isComposing","count","preventDefault","i","Math","min","max","last","useEffect","current","focus","emptyState","jsxs","XStack","alignItems","gap","opacity","children","jsx","TagIcon","color","Text","fontSize","body","chipVariant","chipColor","renderTagItem","renderTagItem2","actions","onRemove1","chip","Chip","selected","icon","onDismiss","defaultContent","cursor","onPress","_e_stopPropagation","stopPropagation","role","hoverStyle","pressStyle","View","activeOptionId","showEmptyMessage","renderListboxOrdered","renderListboxOrdered2","createOption","find","o","suggestionOptions","renderRow","renderRow2","index","isActive","rowRing","ensureFocusVisibleRing","outlineOffset","outlineWidth","fill","interactive","hover","menuRowFrame","minHeight","paddingVertical","backgroundColor","borderRadius","active","onMouseEnter","PlusIcon","YStack","width","onMouseDown","paddingHorizontal","textAlign","padding","openAdd","fieldPadH","fieldPadV","field","flexWrap","surface","background","inputSurface","overflow","className","borderColor","border","focusStyle","focusVisibleStyle","surfaceKnobProps","assemblyKnobProps","_inputRef_current"],"sources":["../../../src/layouts/tags.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","tags_exports","Tags","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react2","import_i18n","import_tamagui","import_ScrollView","import_Chip","import_componentColors","import_t","import_Text","TagsFieldFrame","styled","XStack","param","tags","suggestions","label","disabled","maxTags","onTagClick","onAdd","onRemove","renderEmpty","renderTag","enableAdd","enableRemove","variant","theme","chipTheme","size","labels","placeholder","placeholderProp","stackProps","t","useTranslation","knobProps","disabledState","useResolvedKnobs","accentGlyphInk","useGlyphColor","textAccentColor","rowGlyphInk","componentColors","text","primary","small","sizeTokenStep","sizeToken","inputRef","useRef","listboxId","useId","isWeb","ensureCompositeFocusRing","ensureKeyboardModalityTracking","chipSize","sizeKeyBelow","fieldRecipe","sizeRecipeForToken","String","chipHeight","setChipHeight","useState","entryInset","length","chipFrameGeometry","paddingHorizontal","inputValue","setInputValue","isPopoverOpen","setIsPopoverOpen","pendingRemoveId","setPendingRemoveId","activeIndex","setActiveIndex","kbNav","setKbNav","addTag","addTagLabel","noTags","noTagsLabel","suggestionsLabel","noAvailableTags","noAvailableTagsLabel","createTag","createTagLabel","withInterp","appliedTagNames","useMemo","Set","map","tag","toLowerCase","availableSuggestions","searchTerm","trim","filter","tagName","has","includes","slice","canAdd","trimmedInput","canCreate","listOptions","rows","push","kind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","id","err","return","handleAddTag","useCallback","trimmedName","handleSelectOption","option","handleInputChange","handleKeyDown","e","_e_nativeEvent","nativeEvent","isComposing","count","preventDefault","i","Math","min","max","last","useEffect","current","focus","emptyState","jsxs","alignItems","gap","opacity","children","jsx","TagIcon","color","Text","fontSize","body","chipVariant","chipColor","onChipLayout","onChipLayout2","h","layout","height","abs","renderTagItem","renderTagItem2","actions","onRemove1","chip","Chip","selected","icon","onDismiss","defaultContent","cursor","onLayout","onPress","_e_stopPropagation","stopPropagation","role","hoverStyle","pressStyle","View","activeOptionId","showEmptyMessage","renderListboxOrdered","renderListboxOrdered2","createOption","find","o","suggestionOptions","renderRow","renderRow2","index","isActive","rowRing","ensureFocusVisibleRing","outlineOffset","outlineWidth","fill","interactive","hover","menuRowFrame","minHeight","paddingVertical","backgroundColor","borderRadius","active","onMouseEnter","PlusIcon","YStack","width","onMouseDown","textAlign","padding","openAdd","field","flexWrap","alignContent","textFieldInset","inputBackground","inputSurface","overflow","className","borderColor","focusStyle","focusVisibleStyle","surfaceKnobProps","assemblyKnobProps","_inputRef_current"],"sources":["../../../src/layouts/tags.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/components",
3
- "version": "7.83.1",
3
+ "version": "7.83.2",
4
4
  "description": "multiplatform.one ui components",
5
5
  "keywords": [
6
6
  "components",
@@ -58,11 +58,11 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@floating-ui/react": "^0.27.20",
61
- "@multiplatform.one/forms": "^7.83.1",
62
- "@multiplatform.one/i18n": "^7.83.1",
63
- "@multiplatform.one/platform": "^7.83.1",
64
- "@multiplatform.one/router": "^7.83.1",
65
- "@multiplatform.one/theme": "^7.83.1",
61
+ "@multiplatform.one/forms": "^7.83.2",
62
+ "@multiplatform.one/i18n": "^7.83.2",
63
+ "@multiplatform.one/platform": "^7.83.2",
64
+ "@multiplatform.one/router": "^7.83.2",
65
+ "@multiplatform.one/theme": "^7.83.2",
66
66
  "@phosphor-icons/react": "^2.1.10",
67
67
  "@shopify/flash-list": "^2.3.1",
68
68
  "@tamagui/colors": "2.7.6",
@@ -89,9 +89,9 @@
89
89
  "tamagui": "2.7.6"
90
90
  },
91
91
  "devDependencies": {
92
- "@multiplatform.one/config": "7.83.1",
93
- "@multiplatform.one/storybook": "7.83.1",
94
- "@multiplatform.one/test-utils": "7.83.1",
92
+ "@multiplatform.one/config": "7.83.2",
93
+ "@multiplatform.one/storybook": "7.83.2",
94
+ "@multiplatform.one/test-utils": "7.83.2",
95
95
  "@tamagui/build": "2.7.6",
96
96
  "@testing-library/jest-dom": "^7.0.1",
97
97
  "@testing-library/react": "^16.3.3",
@@ -203,7 +203,7 @@ describe("Alert nested action press-floor paint (LC-54 / LC-71 / LC-73)", () =>
203
203
  expect(floor).not.toBeNull();
204
204
  expect(floor.className).not.toMatch(paintedStateAtom);
205
205
  const pill = floor.firstElementChild as HTMLElement;
206
- expect(pill.className).toMatch(/_bg-0hover-color5/);
206
+ expect(pill.className).toMatch(/_bg-_groupalertAction-hover_color5/);
207
207
  });
208
208
 
209
209
  it("action activates via Enter on the floor", () => {
@@ -320,6 +320,87 @@ describe("Alert action targets size to their labels on web (FZ-8000)", () => {
320
320
  });
321
321
  });
322
322
 
323
+ // FZ-7792: with a mouse the pointer is still over the pill while it is held,
324
+ // so the hover fill and the press fill both match. The press fill has to win
325
+ // the cascade, or the pill never shows its press colour on web.
326
+ describe("Alert action pill press fill beats its hover fill on web (FZ-7792)", () => {
327
+ afterEach(cleanup);
328
+
329
+ type Painted = { selector: string; important: boolean; specificity: number[]; order: number };
330
+
331
+ function specificity(selector: string): number[] {
332
+ const s = selector.replace(/::[\w-]+/g, "");
333
+ const ids = (s.match(/#[\w-]+/g) ?? []).length;
334
+ const classes = (s.match(/\.[\w-]+|\[[^\]]*\]|:(?!:)[\w-]+/g) ?? []).length;
335
+ const types = (s.match(/(^|[\s>+~])[a-zA-Z][\w-]*/g) ?? []).length;
336
+ return [ids, classes, types];
337
+ }
338
+
339
+ function backgroundRules(classes: string[]): Painted[] {
340
+ const found: Painted[] = [];
341
+ let order = 0;
342
+ const walk = (rules: CSSRuleList) => {
343
+ for (const rule of Array.from(rules)) {
344
+ order += 1;
345
+ if (rule instanceof CSSStyleRule) {
346
+ const value = rule.style.getPropertyValue("background-color");
347
+ if (!value) continue;
348
+ for (const selector of rule.selectorText.split(",").map((part) => part.trim())) {
349
+ const last = selector.split(/[\s>+~]+/).pop() ?? "";
350
+ if (!classes.some((c) => last.includes(`.${c}`))) continue;
351
+ found.push({
352
+ selector,
353
+ important: rule.style.getPropertyPriority("background-color") === "important",
354
+ specificity: specificity(selector),
355
+ order,
356
+ });
357
+ }
358
+ } else if ("cssRules" in rule) {
359
+ walk((rule as CSSGroupingRule).cssRules);
360
+ }
361
+ }
362
+ };
363
+ for (const sheet of Array.from(document.styleSheets)) walk(sheet.cssRules);
364
+ return found;
365
+ }
366
+
367
+ const weight = (r: Painted) => [r.important ? 1 : 0, ...r.specificity, r.order];
368
+ const outranks = (a: Painted, b: Painted) => {
369
+ const wa = weight(a);
370
+ const wb = weight(b);
371
+ for (let i = 0; i < wa.length; i++) if (wa[i] !== wb[i]) return wa[i] > wb[i];
372
+ return false;
373
+ };
374
+
375
+ it("the held pill paints $color6 over the $color5 hover fill", () => {
376
+ renderWithProviders(
377
+ <Alert
378
+ intent="warning"
379
+ title="Trial expiring"
380
+ actionLabel="Upgrade"
381
+ secondaryActionLabel="Remind me"
382
+ onAction={() => {}}
383
+ onSecondaryAction={() => {}}
384
+ >
385
+ Your trial ends in 3 days.
386
+ </Alert>,
387
+ );
388
+ for (const label of ["Upgrade", "Remind me"]) {
389
+ const pill = (document.querySelector(`[aria-label="${label}"]`) as HTMLElement)
390
+ .firstElementChild as HTMLElement;
391
+ const classes = String(pill.className).split(/\s+/).filter(Boolean);
392
+ const painted = backgroundRules(classes);
393
+ const hover = painted.find((r) => /hover/.test(r.selector));
394
+ const press = painted.find((r) => /:active|press/.test(r.selector));
395
+ expect(hover?.selector, `${label} hover fill`).toMatch(/color5/);
396
+ expect(press?.selector, `${label} press fill`).toMatch(/color6/);
397
+ expect(outranks(press as Painted, hover as Painted), JSON.stringify({ hover, press })).toBe(
398
+ true,
399
+ );
400
+ }
401
+ });
402
+ });
403
+
323
404
  describe("Alert spacing roles hold at every size token (LC-100)", () => {
324
405
  afterEach(cleanup);
325
406
 
@@ -197,7 +197,7 @@ const AlertActionPill = styled(View, {
197
197
  paddingVertical: "$1",
198
198
  alignItems: "center",
199
199
  justifyContent: "center",
200
- hoverStyle: { backgroundColor: "$color5" },
200
+ "$group-alertAction-hover": { backgroundColor: "$color5" },
201
201
  "$group-alertAction-press": { backgroundColor: "$color6" },
202
202
  });
203
203
 
@@ -284,6 +284,39 @@ describe("Chip on a preset's token scale (FZ-7158 WP-a2)", () => {
284
284
  });
285
285
  });
286
286
 
287
+ describe("Chip vertical inset on every preset's scale (FZ-8018 theme matrix)", () => {
288
+ const sizes = ["$2", "$3", "$4", "$5"] as const;
289
+
290
+ it("draws the default scale exactly as a quarter of padX", () => {
291
+ for (const size of sizes) {
292
+ const { paddingHorizontal, paddingVertical } = chipFrameGeometry(size);
293
+ expect(paddingVertical).toBe(Math.round(paddingHorizontal * 0.25));
294
+ }
295
+ });
296
+
297
+ it("paints a space token on the installed scale wherever the default does", () => {
298
+ const themeConfig = createDefaultThemeConfig({ presets: { dense: densePreset } });
299
+ const dense = themeConfig.scales?.dense;
300
+ const defaults = themeConfig.scales?.[DEFAULT_SCALE_ID];
301
+ if (!dense || !defaults) throw new Error("scales missing");
302
+ const onDefault = Object.fromEntries(
303
+ sizes.map((size) => [size, chipFrameGeometry(size).paddingVertical]),
304
+ );
305
+ const defaultSpace = new Set(Object.values(defaults.tokens.space));
306
+ const denseSpace = new Set(Object.values(dense.tokens.space));
307
+ expect(defaultSpace.has(onDefault.$3)).toBe(true);
308
+ try {
309
+ applyThemeScale(dense);
310
+ for (const size of sizes) {
311
+ if (!defaultSpace.has(onDefault[size])) continue;
312
+ expect(denseSpace.has(chipFrameGeometry(size).paddingVertical)).toBe(true);
313
+ }
314
+ } finally {
315
+ applyThemeScale(defaults);
316
+ }
317
+ });
318
+ });
319
+
287
320
  describe("Chip label line height", () => {
288
321
  for (const [size, key] of [
289
322
  [undefined, "3"],
@@ -8,6 +8,7 @@ import {
8
8
  pressTargetHitSlop,
9
9
  radiusStopFromToken,
10
10
  resolveRadiusClass,
11
+ scaleSpaceFractionPx,
11
12
  sizeRecipeForToken,
12
13
  sizeKeyBelow,
13
14
  useGlyphColor,
@@ -192,9 +193,11 @@ export function chipTone(variant: ChipVariant | undefined): ChipTone {
192
193
  * Chip geometry rides the GENERATED `chip` family (LC-75 / LC-80):
193
194
  * padX / font / icon / inner gap come from the recipe table — no handwritten
194
195
  * per-size px map. The pill has no recipe height: it hugs its label, and the
195
- * vertical inset derives as a quarter of the recipe padX (preserves the
196
- * audited $3/$4 pill height). Module-eval objects so styled() can flatten
197
- * (pilot pattern: InputParts spreads `recipeFamilies.control.boxVariants`).
196
+ * vertical inset is a quarter of the recipe padX (preserves the audited $3/$4
197
+ * pill height), painted as the installed scale's `$space` token where the
198
+ * default scale's quarter lands on one (`scaleSpaceFractionPx`). Module-eval
199
+ * objects so styled() can flatten (pilot pattern: InputParts spreads
200
+ * `recipeFamilies.control.boxVariants`).
198
201
  * Kept in lockstep with the forms Chip.
199
202
  */
200
203
  const CHIP_RECIPE_FAMILY = "chip" as const;
@@ -209,7 +212,7 @@ export function chipFrameGeometry(token: string) {
209
212
  const recipe = sizeRecipeForToken(token, { family: CHIP_RECIPE_FAMILY });
210
213
  return {
211
214
  paddingHorizontal: recipe.paddingHorizontal,
212
- paddingVertical: Math.round(recipe.paddingHorizontal * 0.25),
215
+ paddingVertical: scaleSpaceFractionPx(recipe.paddingHorizontal, 0.25),
213
216
  gap: recipe.gap,
214
217
  };
215
218
  }
@@ -419,7 +422,8 @@ export function Chip({
419
422
  const frameGeometry = chipFrameGeometry(resolvedSize);
420
423
  // End cap: the dismiss box stretches to the pill's padding-box height and
421
424
  // mirrors it into its width, so the glyph's gap to the trailing edge equals
422
- // its gap to top and bottom at every size token (forms Chip, FZ-8018).
425
+ // its gap to top and bottom at every size token (forms Chip, FZ-8018). The
426
+ // cap abuts the label: its own inset is the label-to-x gap.
423
427
  const [dismissSide, setDismissSide] = useState<number | null>(null);
424
428
  const dismissHitOutset = dismissSide ? Math.max(0, (MIN_PRESS_TARGET - dismissSide) / 2) : 0;
425
429
  // DG-RAD-02 CIRCULAR-AT-FULL. At full, 1000 paints the same h/2 circle
@@ -621,6 +625,7 @@ export function Chip({
621
625
  position="relative"
622
626
  marginVertical={-frameGeometry.paddingVertical}
623
627
  marginRight={-frameGeometry.paddingHorizontal}
628
+ marginLeft={typeof frameGeometry.gap === "number" ? -frameGeometry.gap : 0}
624
629
  width={dismissSide ?? undefined}
625
630
  hitSlop={pressTargetHitSlop(dismissSide ?? dismissVisual)}
626
631
  onLayout={(e) => {
@@ -0,0 +1,166 @@
1
+ /**
2
+ * LC-177 HOVER-HAS-TOUCH-PATH, the coarse-pointer probe (FZ-8031).
3
+ *
4
+ * `scripts/hover-touch-path.spec.mjs` declares every public/* file that
5
+ * listens for hover, and names the touch or focus path of each one that
6
+ * reveals something. This probe walks each declared reveal the way a phone
7
+ * or a keyboard does: the pointer is coarse with no hover, no hover event is
8
+ * ever dispatched, and the revealed thing must still be reached.
9
+ *
10
+ * happy-dom cascades no Tamagui CSS, so paint is read from the atomic
11
+ * classes each node asks for (`_bg-`, `_o-`, `_pe-`) and its inline style.
12
+ */
13
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
14
+ import { act, cleanup, fireEvent } from "@testing-library/react";
15
+ import { readFileSync } from "node:fs";
16
+ import { dirname, join } from "node:path";
17
+ import { fileURLToPath } from "node:url";
18
+ import React from "react";
19
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
20
+ import { BarChart } from "./charts/BarChart";
21
+ import type { ChartDatum } from "./charts/types";
22
+ import { Video } from "./Video";
23
+ import { GanttView, type GanttTask } from "./views/Gantt";
24
+
25
+ vi.mock("expo-video", () => ({
26
+ useVideoPlayer: () => ({ loop: false, muted: false, play: vi.fn(), pause: vi.fn() }),
27
+ VideoView: () => null,
28
+ }));
29
+
30
+ const here = dirname(fileURLToPath(import.meta.url));
31
+ const registry = readFileSync(join(here, "../../../scripts/hover-touch-path.spec.mjs"), "utf8");
32
+ const declaredReveals = [...registry.matchAll(/"(public\/[^"]+)": \{\s*kind: "reveal"/g)].map(
33
+ (m) => m[1],
34
+ );
35
+
36
+ const hoverEvents = ["mouseover", "mouseenter", "pointerover", "pointerenter"] as const;
37
+ let hovered: string[];
38
+ const recordHover = (event: Event) => hovered.push(event.type);
39
+ let originalMatchMedia: typeof window.matchMedia;
40
+
41
+ beforeEach(() => {
42
+ hovered = [];
43
+ for (const type of hoverEvents) document.addEventListener(type, recordHover, true);
44
+ originalMatchMedia = window.matchMedia;
45
+ window.matchMedia = vi.fn((query: string) => ({
46
+ matches: /hover:\s*none|pointer:\s*coarse/.test(query),
47
+ media: query,
48
+ onchange: null,
49
+ addEventListener: vi.fn(),
50
+ removeEventListener: vi.fn(),
51
+ addListener: vi.fn(),
52
+ removeListener: vi.fn(),
53
+ dispatchEvent: () => false,
54
+ })) as unknown as typeof window.matchMedia;
55
+ });
56
+
57
+ afterEach(() => {
58
+ for (const type of hoverEvents) document.removeEventListener(type, recordHover, true);
59
+ window.matchMedia = originalMatchMedia;
60
+ cleanup();
61
+ vi.useRealTimers();
62
+ vi.restoreAllMocks();
63
+ });
64
+
65
+ function paint(el: Element, prefix: string, styleKey: string): string {
66
+ const resting = Array.from(el.classList).filter(
67
+ (c) => c.startsWith(prefix) && !/^_[a-zA-Z]+-\d*(hover|active|focus|press)/.test(c),
68
+ );
69
+ const inline = (el as HTMLElement).style?.getPropertyValue(styleKey) ?? "";
70
+ return [...resting, inline].filter(Boolean).join(" ");
71
+ }
72
+
73
+ const describeNode = (el: Element) => `class="${el.className}" style="${el.getAttribute("style")}"`;
74
+
75
+ /** Each declared reveal and how a coarse pointer reaches it without hover. */
76
+ const probes: Record<string, () => void | Promise<void>> = {
77
+ "public/components/src/views/Gantt.tsx": () => {
78
+ const tasks: GanttTask[] = [
79
+ {
80
+ id: "t1",
81
+ title: "Implementation",
82
+ start: new Date(2026, 2, 12),
83
+ end: new Date(2026, 2, 18),
84
+ },
85
+ ];
86
+ const { container } = renderWithProviders(<GanttView tasks={tasks} onItemMove={vi.fn()} />);
87
+ const bar = container.querySelector('[data-gantt-bar="t1"]') as HTMLElement;
88
+ expect(bar).toBeTruthy();
89
+ const handles = () =>
90
+ Array.from(bar.querySelectorAll("[data-gantt-resize-handle]")) as HTMLElement[];
91
+ expect(handles().length).toBe(2);
92
+ for (const handle of handles()) {
93
+ expect(paint(handle, "_bg-", "background-color"), describeNode(handle)).toMatch(
94
+ /transparent/,
95
+ );
96
+ }
97
+ act(() => bar.focus());
98
+ for (const handle of handles()) {
99
+ expect(paint(handle, "_bg-", "background-color"), describeNode(handle)).not.toMatch(
100
+ /transparent/,
101
+ );
102
+ }
103
+ },
104
+
105
+ "public/components/src/Video/PlayerChrome.tsx": () => {
106
+ vi.useFakeTimers();
107
+ const { container, getByTestId, getByLabelText } = renderWithProviders(
108
+ <Video src="https://example.com/clip.mp4" title="Demo" controls muted={false} />,
109
+ );
110
+ const video = container.querySelector("video") as HTMLVideoElement;
111
+ expect(video).toBeTruthy();
112
+ act(() => {
113
+ video.dispatchEvent(new Event("play"));
114
+ });
115
+ act(() => {
116
+ vi.advanceTimersByTime(5000);
117
+ });
118
+ const chrome = getByTestId("video-chrome");
119
+ const shut = () => /(^|\s)(_pe-none|none)(\s|$)/.test(paint(chrome, "_pe-", "pointer-events"));
120
+ expect(shut(), describeNode(chrome)).toBe(true);
121
+ act(() => getByLabelText("Mute").focus());
122
+ expect(shut(), describeNode(chrome)).toBe(false);
123
+ },
124
+
125
+ "public/components/src/charts/series.tsx": () => {
126
+ const data: ChartDatum[] = [
127
+ { label: "Jan", value: 400 },
128
+ { label: "Feb", value: 380 },
129
+ ];
130
+ const onDatumPress = vi.fn();
131
+ const onDatumHoverIn = vi.fn();
132
+ renderWithProviders(
133
+ <BarChart
134
+ data={data}
135
+ width={400}
136
+ onDatumPress={onDatumPress}
137
+ onDatumHoverIn={onDatumHoverIn}
138
+ />,
139
+ );
140
+ const target = document.querySelector('svg rect[aria-label="Feb: 380"]');
141
+ expect(target).toBeTruthy();
142
+ fireEvent.click(target as Element);
143
+ expect(onDatumPress).toHaveBeenCalledWith(data[1], 1);
144
+ expect(onDatumHoverIn).not.toHaveBeenCalled();
145
+ },
146
+ };
147
+
148
+ describe("LC-177: a coarse pointer reaches every hover reveal without hover", () => {
149
+ it("probes exactly the reveals scripts/hover-touch-path.spec.mjs declares", () => {
150
+ expect(declaredReveals.length).toBeGreaterThan(0);
151
+ expect(Object.keys(probes).sort()).toEqual([...declaredReveals].sort());
152
+ });
153
+
154
+ it("runs under a coarse pointer with no hover", () => {
155
+ expect(window.matchMedia("(hover: none)").matches).toBe(true);
156
+ expect(window.matchMedia("(pointer: coarse)").matches).toBe(true);
157
+ expect(window.matchMedia("(hover: hover)").matches).toBe(false);
158
+ });
159
+
160
+ for (const file of Object.keys(probes)) {
161
+ it(`reaches ${file.replace("public/components/src/", "")}'s reveal`, async () => {
162
+ await probes[file]();
163
+ expect(hovered, "the probe must never hover").toEqual([]);
164
+ });
165
+ }
166
+ });
@@ -7,7 +7,7 @@ import { TamaguiProvider } from "tamagui";
7
7
  // asserts on the atomic classes (same approach as timeline-radius.spec.tsx).
8
8
  import { cleanup, fireEvent, screen, waitFor } from "@testing-library/react";
9
9
  import { renderWithProviders } from "@multiplatform.one/test-utils";
10
- import { Preset, createDefaultThemeConfig } from "@multiplatform.one/theme";
10
+ import { Preset, createDefaultThemeConfig, sizeRecipeForToken } from "@multiplatform.one/theme";
11
11
  import * as React from "react";
12
12
  import { afterEach, describe, expect, it, vi } from "vitest";
13
13
  import { Tags } from "./tags";
@@ -49,9 +49,12 @@ describe("Tags token field: one way to add (FZ-8018)", () => {
49
49
  expect(addInput().getAttribute("placeholder")).toBe("Add tag...");
50
50
  });
51
51
 
52
- it("the input's font size class matches the chip label", () => {
52
+ it("the input takes the text field's font size, not the chip label's (FZ-8018 round 3)", () => {
53
53
  renderTags();
54
- expect(classesByPrefix(addInput(), ["_fos-"])).toEqual(
54
+ expect(classesByPrefix(addInput(), ["_fos-"])).toEqual([
55
+ `_fos-${sizeRecipeForToken("$4").fontSize}px`,
56
+ ]);
57
+ expect(classesByPrefix(addInput(), ["_fos-"])).not.toEqual(
55
58
  classesByPrefix(screen.getByText("urgent"), ["_fos-"]),
56
59
  );
57
60
  });
@@ -80,14 +83,27 @@ describe("Tags token field: one way to add (FZ-8018)", () => {
80
83
  },
81
84
  );
82
85
 
83
- it("the chip label keeps the $3 body line height", () => {
86
+ it("chips sit one size below the field: the label takes the $2 body line height (FZ-8018 round 3)", () => {
84
87
  renderWithProviders(
85
88
  <TamaguiProvider config={createDefaultThemeConfig().tamagui} defaultTheme="light">
86
89
  <Tags tags={tags} onAdd={vi.fn()} onRemove={vi.fn()} />
87
90
  </TamaguiProvider>,
88
91
  { tamagui: false },
89
92
  );
90
- expect(getComputedStyle(screen.getByText("urgent")).lineHeight).toBe("21px");
93
+ expect(getComputedStyle(screen.getByText("urgent")).lineHeight).toBe("20px");
94
+ });
95
+
96
+ it("with chips, the entry's text starts at a chip label's inset: edge plus padding (FZ-8018 round 3b)", () => {
97
+ renderTags();
98
+ const [chipPad] = classesByPrefix(chipFrameOf(screen.getByText("urgent")), ["_pl-"]);
99
+ const chipInset = Number.parseFloat(chipPad.slice("_pl-".length));
100
+ expect(chipInset).toBeGreaterThan(0);
101
+ expect(classesByPrefix(addInput(), ["_pl-"])).toEqual([`_pl-${chipInset + 1}px`]);
102
+ });
103
+
104
+ it("with no chips, the entry sits on the field's own inset (FZ-8018 round 3b)", () => {
105
+ renderWithProviders(<Tags tags={[]} onAdd={vi.fn()} onRemove={vi.fn()} />);
106
+ expect(classesByPrefix(addInput(), ["_pl-"]).filter((c) => c !== "_pl-0px")).toEqual([]);
91
107
  });
92
108
 
93
109
  it("Return and comma commit the typed tag", () => {