@oxyhq/bloom 1.12.0 → 1.14.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.
Files changed (114) hide show
  1. package/README.md +1 -1
  2. package/docs/avatar.mdx +46 -5
  3. package/docs/index.mdx +1 -1
  4. package/docs/layout.mdx +21 -35
  5. package/docs/tab-bar.mdx +35 -0
  6. package/lib/commonjs/avatar/Avatar.js +24 -8
  7. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  8. package/lib/commonjs/avatar/AvatarRing.js +13 -12
  9. package/lib/commonjs/avatar/AvatarRing.js.map +1 -1
  10. package/lib/commonjs/avatar/index.js +19 -0
  11. package/lib/commonjs/avatar/index.js.map +1 -1
  12. package/lib/commonjs/avatar/resolve-shape.js +43 -0
  13. package/lib/commonjs/avatar/resolve-shape.js.map +1 -0
  14. package/lib/commonjs/avatar/shape-paths.js +174 -0
  15. package/lib/commonjs/avatar/shape-paths.js.map +1 -0
  16. package/lib/commonjs/fab/Fab.js +4 -55
  17. package/lib/commonjs/fab/Fab.js.map +1 -1
  18. package/lib/commonjs/fab/Fab.web.js +1 -29
  19. package/lib/commonjs/fab/Fab.web.js.map +1 -1
  20. package/lib/commonjs/layout/bottom-edge.js +47 -92
  21. package/lib/commonjs/layout/bottom-edge.js.map +1 -1
  22. package/lib/commonjs/layout/index.js +0 -6
  23. package/lib/commonjs/layout/index.js.map +1 -1
  24. package/lib/commonjs/tab-bar/TabBarBase.js +59 -29
  25. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
  26. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +5 -0
  27. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -1
  28. package/lib/module/avatar/Avatar.js +24 -8
  29. package/lib/module/avatar/Avatar.js.map +1 -1
  30. package/lib/module/avatar/AvatarRing.js +13 -12
  31. package/lib/module/avatar/AvatarRing.js.map +1 -1
  32. package/lib/module/avatar/index.js +1 -0
  33. package/lib/module/avatar/index.js.map +1 -1
  34. package/lib/module/avatar/resolve-shape.js +40 -0
  35. package/lib/module/avatar/resolve-shape.js.map +1 -0
  36. package/lib/module/avatar/shape-paths.js +170 -0
  37. package/lib/module/avatar/shape-paths.js.map +1 -0
  38. package/lib/module/fab/Fab.js +6 -57
  39. package/lib/module/fab/Fab.js.map +1 -1
  40. package/lib/module/fab/Fab.web.js +2 -30
  41. package/lib/module/fab/Fab.web.js.map +1 -1
  42. package/lib/module/layout/bottom-edge.js +47 -91
  43. package/lib/module/layout/bottom-edge.js.map +1 -1
  44. package/lib/module/layout/index.js +1 -1
  45. package/lib/module/layout/index.js.map +1 -1
  46. package/lib/module/tab-bar/TabBarBase.js +60 -30
  47. package/lib/module/tab-bar/TabBarBase.js.map +1 -1
  48. package/lib/module/tab-bar/expo-router/RouterTabBar.js +5 -0
  49. package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -1
  50. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/avatar/AvatarRing.d.ts +4 -3
  52. package/lib/typescript/commonjs/avatar/AvatarRing.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/avatar/index.d.ts +3 -1
  54. package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/avatar/resolve-shape.d.ts +17 -0
  56. package/lib/typescript/commonjs/avatar/resolve-shape.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/avatar/shape-paths.d.ts +27 -0
  58. package/lib/typescript/commonjs/avatar/shape-paths.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/avatar/types.d.ts +30 -3
  60. package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/fab/Fab.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/layout/bottom-edge.d.ts +31 -57
  64. package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/layout/index.d.ts +1 -1
  66. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +5 -0
  69. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/tab-bar/types.d.ts +36 -5
  71. package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -1
  72. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  73. package/lib/typescript/module/avatar/AvatarRing.d.ts +4 -3
  74. package/lib/typescript/module/avatar/AvatarRing.d.ts.map +1 -1
  75. package/lib/typescript/module/avatar/index.d.ts +3 -1
  76. package/lib/typescript/module/avatar/index.d.ts.map +1 -1
  77. package/lib/typescript/module/avatar/resolve-shape.d.ts +17 -0
  78. package/lib/typescript/module/avatar/resolve-shape.d.ts.map +1 -0
  79. package/lib/typescript/module/avatar/shape-paths.d.ts +27 -0
  80. package/lib/typescript/module/avatar/shape-paths.d.ts.map +1 -0
  81. package/lib/typescript/module/avatar/types.d.ts +30 -3
  82. package/lib/typescript/module/avatar/types.d.ts.map +1 -1
  83. package/lib/typescript/module/fab/Fab.d.ts.map +1 -1
  84. package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
  85. package/lib/typescript/module/layout/bottom-edge.d.ts +31 -57
  86. package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
  87. package/lib/typescript/module/layout/index.d.ts +1 -1
  88. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  89. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
  90. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +5 -0
  91. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -1
  92. package/lib/typescript/module/tab-bar/types.d.ts +36 -5
  93. package/lib/typescript/module/tab-bar/types.d.ts.map +1 -1
  94. package/package.json +1 -1
  95. package/src/avatar/Avatar.tsx +27 -10
  96. package/src/avatar/AvatarRing.tsx +21 -14
  97. package/src/avatar/index.ts +7 -0
  98. package/src/avatar/resolve-shape.ts +33 -0
  99. package/src/avatar/shape-paths.ts +150 -0
  100. package/src/avatar/types.ts +32 -3
  101. package/src/fab/Fab.tsx +4 -57
  102. package/src/fab/Fab.web.tsx +2 -31
  103. package/src/layout/bottom-edge.tsx +54 -108
  104. package/src/layout/index.ts +1 -6
  105. package/src/tab-bar/TabBarBase.tsx +74 -37
  106. package/src/tab-bar/expo-router/RouterTabBar.tsx +5 -0
  107. package/src/tab-bar/types.ts +36 -5
  108. package/src/__tests__/support/collision-fixture-barrel.ts +0 -20
  109. package/src/__tests__/support/constructed-style-sheets.ts +0 -68
  110. package/src/__tests__/support/press-host.ts +0 -30
  111. package/src/__tests__/support/rendered-style.ts +0 -99
  112. package/src/__tests__/support/unread-hook-fixture.ts +0 -33
  113. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +0 -7682
  114. package/src/theme/__tests__/fixtures/color-engine-golden.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","Text","Pressable","Svg","ClipPath","Defs","SvgImage","Path","useTheme","useInteractionState","useImageResolver","Z_INDEX","useAvatarPlaceholder","LiveBadge","AvatarRing","getRingOuterSize","SQUIRCLE_PATH","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","i","length","charCodeAt","index","Math","abs","DEFAULT_AVATAR_IMAGE","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","clipIdCounter","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","clipId","href","CircleFallback","icon","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","hasName","initialStyle","color","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","borderRadius","backgroundColor","justifyContent","alignItems","overflow","allowFontScaling","numberOfLines","resizeMode","AvatarComponent","variant","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","ring","testID","errored","setErrored","state","pressed","onIn","onPressIn","onOut","onPressOut","theme","placeholderConfig","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","prevUriRef","prevVariantRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveBadgeColor","negative","resolvedRing","gap","ringWidth","ringGap","outer","showLiveBadge","ringElement","gradientDirection","avatarBox","imageContainer","absoluteFill","verifiedBadge","label","textColor","negativeForeground","content","container","accessibilityRole","accessibilityLabel","create","opacity","position","bottom","right","zIndex","raised","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","Text","Pressable","Svg","ClipPath","Defs","SvgImage","Path","useTheme","useInteractionState","useImageResolver","Z_INDEX","useAvatarPlaceholder","LiveBadge","AvatarRing","getRingOuterSize","resolveAvatarShape","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","i","length","charCodeAt","index","Math","abs","DEFAULT_AVATAR_IMAGE","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","clipIdCounter","ClippedImage","uri","fallbackSource","size","shape","fallbackColor","placeholderIcon","onError","clipId","href","CircleFallback","icon","span","viewBox","children","source","style","styles","errorDetector","width","height","id","d","preserveAspectRatio","clipPath","radius","hasName","initialStyle","color","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","borderRadius","backgroundColor","justifyContent","alignItems","overflow","allowFontScaling","numberOfLines","resizeMode","AvatarComponent","variant","verified","verifiedIcon","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","ring","testID","errored","setErrored","state","pressed","onIn","onPressIn","onOut","onPressOut","theme","placeholderConfig","clipShape","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","prevUriRef","prevVariantRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveBadgeColor","negative","resolvedRing","gap","ringWidth","ringGap","outer","showLiveBadge","ringElement","gradientDirection","avatarBox","imageContainer","absoluteFill","verifiedBadge","label","textColor","negativeForeground","content","container","accessibilityRole","accessibilityLabel","create","opacity","position","bottom","right","zIndex","raised","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,6 @@ import React, { memo, useMemo } from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
5
  import Svg, { Circle, Defs, LinearGradient, Path, Stop } from 'react-native-svg';
6
6
  import { Z_INDEX } from "../styles/z-index.js";
7
- import { SQUIRCLE_PATH } from "./squircle-path.js";
8
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
8
  // Module counter for unique gradient element ids — mirrors the `clipIdCounter`
10
9
  // pattern in `Avatar.tsx`. Deterministic (no `Math.random()`) so ids are stable
@@ -76,10 +75,10 @@ const AvatarRingComponent = ({
76
75
  // box; drawn as a plain border it is a full circle → radius `outer / 2`.
77
76
  const ringRadius = outer / 2;
78
77
 
79
- // SVG is only needed for gradients (both shapes) and for the squircle
80
- // outline. A solid circle ring is a plain bordered View — cheaper, and it
81
- // keeps the common case off the SVG renderer entirely.
82
- const needsSvg = wantsGradient || shape === 'squircle';
78
+ // SVG is only needed for gradients and for non-circular outlines. A solid
79
+ // circle ring is a plain bordered View — cheaper, and it keeps the common
80
+ // case off the SVG renderer entirely.
81
+ const needsSvg = wantsGradient || shape !== null;
83
82
  if (!needsSvg) {
84
83
  return /*#__PURE__*/_jsx(View, {
85
84
  pointerEvents: "none",
@@ -118,22 +117,24 @@ const AvatarRingComponent = ({
118
117
  const overlayStyle = [StyleSheet.absoluteFill, {
119
118
  zIndex: gap > 0 ? Z_INDEX.base : Z_INDEX.raised
120
119
  }];
121
- if (shape === 'squircle') {
122
- // The path lives in 0–1 space, so the stroke width is expressed in the same
123
- // units; center-stroking it and letting the viewport clip the outer half
124
- // yields a ~`width`-px band on the inner edge of the outer box.
120
+ if (shape !== null) {
121
+ // The path lives in its own square space, so the stroke width has to be
122
+ // expressed in those units too: one unit is `outer / span` px. Center-
123
+ // stroking and letting the viewport clip the outer half yields a
124
+ // ~`width`-px band on the inner edge of the outer box, hence the doubling.
125
+ const span = shape.viewBox ?? 1;
125
126
  return /*#__PURE__*/_jsx(View, {
126
127
  pointerEvents: "none",
127
128
  style: overlayStyle,
128
129
  children: /*#__PURE__*/_jsxs(Svg, {
129
130
  width: outer,
130
131
  height: outer,
131
- viewBox: "0 0 1 1",
132
+ viewBox: `0 0 ${span} ${span}`,
132
133
  children: [gradientDefs, /*#__PURE__*/_jsx(Path, {
133
- d: SQUIRCLE_PATH,
134
+ d: shape.d,
134
135
  fill: "none",
135
136
  stroke: stroke,
136
- strokeWidth: width / outer * 2
137
+ strokeWidth: width / outer * 2 * span
137
138
  })]
138
139
  })
139
140
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","View","StyleSheet","Svg","Circle","Defs","LinearGradient","Path","Stop","Z_INDEX","SQUIRCLE_PATH","jsx","_jsx","jsxs","_jsxs","ringGradientIdCounter","getRingOuterSize","size","width","gap","gradientCoords","direction","x1","y1","x2","y2","AvatarRingComponent","shape","colors","gradientDirection","gradientId","colorList","Array","isArray","wantsGradient","length","solidColor","outer","ringRadius","needsSvg","pointerEvents","style","position","top","left","height","borderRadius","borderColor","borderWidth","zIndex","base","raised","stroke","coords","gradientDefs","children","id","map","color","index","offset","stopColor","overlayStyle","absoluteFill","viewBox","d","fill","strokeWidth","cx","cy","r","AvatarRing","displayName"],"sourceRoot":"../../../src","sources":["avatar/AvatarRing.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","View","StyleSheet","Svg","Circle","Defs","LinearGradient","Path","Stop","Z_INDEX","jsx","_jsx","jsxs","_jsxs","ringGradientIdCounter","getRingOuterSize","size","width","gap","gradientCoords","direction","x1","y1","x2","y2","AvatarRingComponent","shape","colors","gradientDirection","gradientId","colorList","Array","isArray","wantsGradient","length","solidColor","outer","ringRadius","needsSvg","pointerEvents","style","position","top","left","height","borderRadius","borderColor","borderWidth","zIndex","base","raised","stroke","coords","gradientDefs","children","id","map","color","index","offset","stopColor","overlayStyle","absoluteFill","span","viewBox","d","fill","strokeWidth","cx","cy","r","AvatarRing","displayName"],"sourceRoot":"../../../src","sources":["avatar/AvatarRing.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,4 +3,5 @@
3
3
  export { Avatar } from "./Avatar.js";
4
4
  export { AvatarPlaceholderProvider } from "./context.js";
5
5
  export { defaultAvatarSource } from "./default-avatar.js";
6
+ export { AVATAR_SHAPE_PATHS, AVATAR_SHAPE_LABELS, NAMED_SHAPE_VIEW_BOX } from "./shape-paths.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Avatar","AvatarPlaceholderProvider","defaultAvatarSource"],"sourceRoot":"../../../src","sources":["avatar/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AACjC,SAASC,yBAAyB,QAAQ,cAAW;AAQrD,SAASC,mBAAmB,QAAQ,qBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Avatar","AvatarPlaceholderProvider","defaultAvatarSource","AVATAR_SHAPE_PATHS","AVATAR_SHAPE_LABELS","NAMED_SHAPE_VIEW_BOX"],"sourceRoot":"../../../src","sources":["avatar/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AACjC,SAASC,yBAAyB,QAAQ,cAAW;AASrD,SAASC,mBAAmB,QAAQ,qBAAkB;AACtD,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,oBAAoB,QACf,kBAAe","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ import { SQUIRCLE_PATH } from "./squircle-path.js";
4
+ import { AVATAR_SHAPE_PATHS, NAMED_SHAPE_VIEW_BOX } from "./shape-paths.js";
5
+
6
+ /**
7
+ * A shape reduced to what the renderers need: either nothing (a circle, drawn
8
+ * with `borderRadius` and no SVG at all) or one outline plus the size of the
9
+ * square space it is drawn in.
10
+ */
11
+
12
+ /**
13
+ * Turns the public `shape` prop into an outline.
14
+ *
15
+ * Returns `null` for a circle so callers can keep the cheap `borderRadius`
16
+ * path — the common case never touches `react-native-svg`. An unknown string
17
+ * also returns `null`: a shape name that does not resolve should degrade to a
18
+ * plain circular avatar, never to a blank hole where a face should be.
19
+ */
20
+ export function resolveAvatarShape(shape) {
21
+ if (!shape || shape === 'circle') return null;
22
+ if (typeof shape !== 'string') {
23
+ return {
24
+ d: shape.d,
25
+ viewBox: shape.viewBox ?? 1
26
+ };
27
+ }
28
+ if (shape === 'squircle') {
29
+ return {
30
+ d: SQUIRCLE_PATH,
31
+ viewBox: 1
32
+ };
33
+ }
34
+ const named = AVATAR_SHAPE_PATHS[shape];
35
+ return named ? {
36
+ d: named,
37
+ viewBox: NAMED_SHAPE_VIEW_BOX
38
+ } : null;
39
+ }
40
+ //# sourceMappingURL=resolve-shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SQUIRCLE_PATH","AVATAR_SHAPE_PATHS","NAMED_SHAPE_VIEW_BOX","resolveAvatarShape","shape","d","viewBox","named"],"sourceRoot":"../../../src","sources":["avatar/resolve-shape.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,kBAAkB,EAAEC,oBAAoB,QAAQ,kBAAe;;AAGxE;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,KAAgD,EAAuB;EACxG,IAAI,CAACA,KAAK,IAAIA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EAE7C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO;MAAEC,CAAC,EAAED,KAAK,CAACC,CAAC;MAAEC,OAAO,EAAEF,KAAK,CAACE,OAAO,IAAI;IAAE,CAAC;EACpD;EAEA,IAAIF,KAAK,KAAK,UAAU,EAAE;IACxB,OAAO;MAAEC,CAAC,EAAEL,aAAa;MAAEM,OAAO,EAAE;IAAE,CAAC;EACzC;EAEA,MAAMC,KAAK,GAAGN,kBAAkB,CAACG,KAAK,CAAC;EACvC,OAAOG,KAAK,GAAG;IAAEF,CAAC,EAAEE,KAAK;IAAED,OAAO,EAAEJ;EAAqB,CAAC,GAAG,IAAI;AACnE","ignoreList":[]}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Named avatar outlines.
5
+ *
6
+ * Each entry is an SVG path drawn in a 100×100 square coordinate space, scaled
7
+ * at render time to the avatar's pixel size. That space is declared once in
8
+ * {@link NAMED_SHAPE_VIEW_BOX} rather than baked into the numbers, so the paths
9
+ * can be read and edited at human-friendly magnitudes. The built-in squircle
10
+ * lives in `squircle-path.ts` and uses a 0–1 space; both are supported because
11
+ * {@link AvatarShapePath} carries its own `viewBox`.
12
+ *
13
+ * `circle` is deliberately absent: a circular avatar is rendered with
14
+ * `borderRadius` and never reaches the SVG renderer.
15
+ */
16
+
17
+ /** Side length of the coordinate space every path below is drawn in. */
18
+ export const NAMED_SHAPE_VIEW_BOX = 100;
19
+ export const AVATAR_SHAPE_PATHS = {
20
+ // --- Basic ---
21
+ square: 'M12 0H88Q100 0 100 12V88Q100 100 88 100H12Q0 100 0 88V12Q0 0 12 0Z',
22
+ slanted: 'M22 0H88Q100 0 100 12V78Q100 100 78 100H12Q0 100 0 88V22Q0 0 22 0Z',
23
+ arch: 'M50 0Q100 0 100 50V88Q100 100 88 100H12Q0 100 0 88V50Q0 0 50 0Z',
24
+ semicircle: 'M0 50A50 50 0 0 1 100 50V88Q100 100 88 100H12Q0 100 0 88Z',
25
+ // --- Organic ---
26
+ oval: 'M50 2C78 2 96 22 96 50S78 98 50 98S4 78 4 50S22 2 50 2Z',
27
+ pill: 'M34 4H66Q96 4 96 34V66Q96 96 66 96H34Q4 96 4 66V34Q4 4 34 4Z',
28
+ triangle: 'M50 5L95 90Q97 95 92 95H8Q3 95 5 90Z',
29
+ arrow: 'M50 0L100 45Q100 52 94 52H68V92Q68 100 58 100H42Q32 100 32 92V52H6Q0 52 0 45Z',
30
+ fan: 'M50 8Q90 8 96 48Q100 78 70 96Q50 108 30 96Q0 78 4 48Q10 8 50 8Z',
31
+ // --- Geometric ---
32
+ diamond: 'M50 2L96 50L50 98L4 50Z',
33
+ clamshell: 'M10 20Q10 4 26 4H74Q90 4 90 20V60Q90 96 50 96Q10 96 10 60Z',
34
+ pentagon: 'M50 2L97 36L79 96H21L3 36Z',
35
+ gem: 'M30 4H70L98 36L50 98L2 36Z',
36
+ // --- Sunny/Cookie ---
37
+ 'very-sunny': 'M50 0L58 20L78 6L72 28L96 22L82 42L100 50L82 58L96 78L72 72L78 94L58 80L50 100L42 80L22 94L28 72L4 78L18 58L0 50L18 42L4 22L28 28L22 6L42 20Z',
38
+ sunny: 'M50 4L60 24L80 10L74 32L98 28L84 48L100 50L84 52L98 72L74 68L80 90L60 76L50 96L40 76L20 90L26 68L2 72L16 52L0 50L16 48L2 28L26 32L20 10L40 24Z',
39
+ '4-sided-cookie': 'M50 2Q76 22 76 50Q76 78 50 98Q24 78 24 50Q24 22 50 2Z',
40
+ '6-sided-cookie': 'M50 2Q72 10 82 30Q92 52 80 74Q66 96 44 96Q22 96 10 74Q-2 52 10 30Q22 10 50 2Z',
41
+ '7-sided-cookie': 'M50 2Q70 6 84 22Q96 40 94 62Q90 82 74 94Q56 102 38 96Q20 88 10 70Q2 50 8 32Q18 10 50 2Z',
42
+ '9-sided-cookie': 'M50 2Q64 4 76 14Q86 26 92 42Q94 58 88 72Q78 86 64 94Q50 98 36 94Q22 86 12 72Q6 58 8 42Q14 26 24 14Q36 4 50 2Z',
43
+ '12-sided-cookie': 'M50 2L62 6L74 14L84 26L90 40L92 54L88 68L80 80L68 88L54 92L40 90L28 84L18 72L10 58L8 44L12 30L20 18L32 10L44 4Z',
44
+ // --- Nature ---
45
+ '4-leaf-clover': 'M50 4Q70 4 70 26Q96 26 96 50Q96 74 70 74Q70 96 50 96Q30 96 30 74Q4 74 4 50Q4 26 30 26Q30 4 50 4Z',
46
+ '8-leaf-clover': 'M50 2Q60 16 72 8Q84 16 80 30Q96 32 92 46Q100 60 86 66Q92 80 78 84Q76 98 60 92Q52 100 42 92Q28 98 24 84Q10 80 16 66Q2 60 10 46Q6 32 22 30Q18 16 30 8Q42 16 50 2Z',
47
+ burst: 'M50 0L56 30L80 6L62 34L100 26L70 44L100 50L70 56L100 74L62 66L80 94L56 70L50 100L44 70L20 94L38 66L0 74L30 56L0 50L30 44L0 26L38 34L20 6L44 30Z',
48
+ 'soft-burst': 'M50 4L58 28L78 8L66 32L96 24L76 44L98 50L76 56L96 76L66 68L78 92L58 72L50 96L42 72L22 92L34 68L4 76L24 56L2 50L24 44L4 24L34 32L22 8L42 28Z',
49
+ boom: 'M50 0L54 18L62 2L60 20L76 6L68 24L88 14L76 30L98 24L82 38L100 38L86 46L100 50L86 54L100 62L82 62L98 76L76 70L88 86L68 76L76 94L60 80L62 98L54 82L50 100L46 82L38 98L40 80L24 94L32 76L12 86L24 70L2 76L18 62L0 62L14 54L0 50L14 46L0 38L18 38L2 24L24 30L12 14L32 24L24 6L40 20L38 2L46 18Z',
50
+ 'soft-boom': 'M50 4L56 22L68 6L64 26L82 14L74 32L94 24L82 40L100 36L86 48L100 50L86 52L100 64L82 60L94 76L74 68L82 86L64 74L68 94L56 78L50 96L44 78L32 94L36 74L18 86L26 68L6 76L18 60L0 64L14 52L0 50L14 48L0 36L18 40L6 24L26 32L18 14L36 26L32 6L44 22Z',
51
+ flower: 'M50 4Q62 18 72 10Q82 18 76 32Q90 30 88 44Q98 50 88 56Q90 70 76 68Q82 82 72 90Q62 82 50 96Q38 82 28 90Q18 82 24 68Q10 70 12 56Q2 50 12 44Q10 30 24 32Q18 18 28 10Q38 18 50 4Z',
52
+ puffy: 'M34 6Q50-4 66 6Q84 6 90 22Q104 34 96 50Q104 66 90 78Q84 94 66 94Q50 104 34 94Q16 94 10 78Q-4 66 4 50Q-4 34 10 22Q16 6 34 6Z',
53
+ 'puffy-diamond': 'M50 2Q66 10 72 4Q86 12 84 28Q98 32 94 48Q100 64 86 70Q88 86 72 88Q62 98 48 94Q34 100 26 86Q12 88 8 72Q-2 62 6 48Q0 32 16 28Q14 12 28 4Q38 10 50 2Z',
54
+ // --- Fun ---
55
+ 'ghost-ish': 'M20 96V40Q20 4 50 4Q80 4 80 40V96L70 86L60 96L50 86L40 96L30 86Z',
56
+ 'pixel-circle': 'M30 4H70V4H86V14H96V30H100V70H96V86H86V96H70V100H30V96H14V86H4V70H0V30H4V14H14V4H30Z',
57
+ 'pixel-triangle': 'M42 4H58V18H70V32H82V46H94V60H100V100H0V60H6V46H18V32H30V18H42Z',
58
+ bun: 'M12 54Q-4 24 20 8Q44-6 68 8Q92 22 94 50Q96 72 76 88Q56 100 36 96Q14 90 12 54Z',
59
+ heart: 'M50 90C25 70 2 55 2 32Q2 10 24 6Q40 2 50 18Q60 2 76 6Q98 10 98 32Q98 55 75 70Z'
60
+ };
61
+
62
+ /**
63
+ * Display labels for the named shapes, in the order a picker should show them.
64
+ * Exported so consumers building a shape picker do not re-derive the order (or
65
+ * the capitalisation) themselves.
66
+ */
67
+ export const AVATAR_SHAPE_LABELS = [{
68
+ name: 'square',
69
+ label: 'Square'
70
+ }, {
71
+ name: 'slanted',
72
+ label: 'Slanted'
73
+ }, {
74
+ name: 'arch',
75
+ label: 'Arch'
76
+ }, {
77
+ name: 'semicircle',
78
+ label: 'Semicircle'
79
+ }, {
80
+ name: 'oval',
81
+ label: 'Oval'
82
+ }, {
83
+ name: 'pill',
84
+ label: 'Pill'
85
+ }, {
86
+ name: 'triangle',
87
+ label: 'Triangle'
88
+ }, {
89
+ name: 'arrow',
90
+ label: 'Arrow'
91
+ }, {
92
+ name: 'fan',
93
+ label: 'Fan'
94
+ }, {
95
+ name: 'diamond',
96
+ label: 'Diamond'
97
+ }, {
98
+ name: 'clamshell',
99
+ label: 'Clamshell'
100
+ }, {
101
+ name: 'pentagon',
102
+ label: 'Pentagon'
103
+ }, {
104
+ name: 'gem',
105
+ label: 'Gem'
106
+ }, {
107
+ name: 'very-sunny',
108
+ label: 'Very Sunny'
109
+ }, {
110
+ name: 'sunny',
111
+ label: 'Sunny'
112
+ }, {
113
+ name: '4-sided-cookie',
114
+ label: '4-Sided Cookie'
115
+ }, {
116
+ name: '6-sided-cookie',
117
+ label: '6-Sided Cookie'
118
+ }, {
119
+ name: '7-sided-cookie',
120
+ label: '7-Sided Cookie'
121
+ }, {
122
+ name: '9-sided-cookie',
123
+ label: '9-Sided Cookie'
124
+ }, {
125
+ name: '12-sided-cookie',
126
+ label: '12-Sided Cookie'
127
+ }, {
128
+ name: '4-leaf-clover',
129
+ label: '4-Leaf Clover'
130
+ }, {
131
+ name: '8-leaf-clover',
132
+ label: '8-Leaf Clover'
133
+ }, {
134
+ name: 'burst',
135
+ label: 'Burst'
136
+ }, {
137
+ name: 'soft-burst',
138
+ label: 'Soft Burst'
139
+ }, {
140
+ name: 'boom',
141
+ label: 'Boom'
142
+ }, {
143
+ name: 'soft-boom',
144
+ label: 'Soft Boom'
145
+ }, {
146
+ name: 'flower',
147
+ label: 'Flower'
148
+ }, {
149
+ name: 'puffy',
150
+ label: 'Puffy'
151
+ }, {
152
+ name: 'puffy-diamond',
153
+ label: 'Puffy Diamond'
154
+ }, {
155
+ name: 'ghost-ish',
156
+ label: 'Ghost-ish'
157
+ }, {
158
+ name: 'pixel-circle',
159
+ label: 'Pixel Circle'
160
+ }, {
161
+ name: 'pixel-triangle',
162
+ label: 'Pixel Triangle'
163
+ }, {
164
+ name: 'bun',
165
+ label: 'Bun'
166
+ }, {
167
+ name: 'heart',
168
+ label: 'Heart'
169
+ }];
170
+ //# sourceMappingURL=shape-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NAMED_SHAPE_VIEW_BOX","AVATAR_SHAPE_PATHS","square","slanted","arch","semicircle","oval","pill","triangle","arrow","fan","diamond","clamshell","pentagon","gem","sunny","burst","boom","flower","puffy","bun","heart","AVATAR_SHAPE_LABELS","name","label"],"sourceRoot":"../../../src","sources":["avatar/shape-paths.ts"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo, useEffect, useMemo, useRef } from 'react';
3
+ import React, { memo, useMemo } from 'react';
4
4
  import { Animated, Pressable, Text, View } from 'react-native';
5
5
  import { styled } from 'react-native-css';
6
- import { useBottomEdgeCollapsed, useBottomEdgeInset } from "../layout/bottom-edge.js";
6
+ import { useBottomEdgeInset } from "../layout/bottom-edge.js";
7
7
  import { useTheme } from "../theme/use-theme.js";
8
8
  import { animation, borderRadius } from "../styles/tokens.js";
9
9
  import { bloomShadowStyle } from '../design-tokens/shadows';
@@ -50,23 +50,6 @@ function resolveSize(size) {
50
50
  }
51
51
  return SIZE_CONFIG[size];
52
52
  }
53
-
54
- /**
55
- * How long the FAB takes to leave when the bottom edge collapses.
56
- *
57
- * A DURATION, not a spring matched to the tab bar's — because the FAB is not
58
- * trying to stay level with the bar any more. It tried: an earlier version rode
59
- * the bar down by the 14px it shrank, and on a device the two visibly did not
60
- * move together. The bar animates on the UI thread while this component learns
61
- * about the collapse through `runOnJS` plus two React renders, so it starts one
62
- * to three frames late — worst exactly while scrolling, which is the only time
63
- * it happens. No spring config fixes a variable start delay.
64
- *
65
- * Fading is what makes that latency invisible: there is no spatial relationship
66
- * left to violate, so nothing betrays the few frames. Slightly quicker than the
67
- * bar's 380ms minimize, so the FAB is gone before the eye goes looking for it.
68
- */
69
- const COLLAPSE_FADE_MS = 200;
70
53
  const DEFAULT_OFFSET = 16;
71
54
  const DEFAULT_Z_INDEX = 50;
72
55
  const HIT_SLOP = {
@@ -88,10 +71,6 @@ const HIT_SLOP = {
88
71
  * lands above a floating tab bar instead of behind it. A z-index cannot fix that
89
72
  * pairing: the bar's host is the last sibling of the app shell and paints over
90
73
  * every descendant, so the FAB has to be somewhere else, not merely on top.
91
- *
92
- * It is the RESERVED inset, so this stays a static layout value — it does not
93
- * shrink when the bar collapses. The FAB fades out instead of chasing the bar
94
- * down; see `COLLAPSE_FADE_MS` for why chasing it does not work.
95
74
  */
96
75
  function placementStyle(placement, offset, bottomEdgeInset) {
97
76
  if (placement === 'static') return {};
@@ -158,34 +137,10 @@ const FabComponent = ({
158
137
  zIndex = DEFAULT_Z_INDEX
159
138
  }) => {
160
139
  const bottomEdgeInset = useBottomEdgeInset();
161
- // The FAB belongs to the chrome: when the chrome retracts, so does it.
162
- const bottomEdgeCollapsed = useBottomEdgeCollapsed();
163
140
  const theme = useTheme();
164
141
  const sizeConfig = useMemo(() => resolveSize(size), [size]);
165
142
  const isExtended = label != null && label.length > 0;
166
143
  const content = icon ?? children;
167
-
168
- // Only a FAB anchored to the BOTTOM edge is affected by the bottom edge
169
- // collapsing; a top-placed or consumer-placed one is not.
170
- const hidesOnCollapse = placement === 'bottom-right' || placement === 'bottom-left';
171
- const hidden = hidesOnCollapse && bottomEdgeCollapsed;
172
- const fade = useRef(new Animated.Value(1)).current;
173
-
174
- // An effect because RN's Animated has no declarative form — starting an
175
- // animation is imperative by construction. `opacity` is native-drivable, so
176
- // once started this never touches the JS thread again, which matters: it runs
177
- // while the user is mid-scroll.
178
- // The disabled dim rides on the SAME value rather than a second static
179
- // `opacity` in the style array: two opacity entries would mean the later one
180
- // silently wins, so a disabled FAB would either not dim or not fade.
181
- const restingOpacity = disabled ? 0.5 : 1;
182
- useEffect(() => {
183
- Animated.timing(fade, {
184
- toValue: hidden ? 0 : restingOpacity,
185
- duration: COLLAPSE_FADE_MS,
186
- useNativeDriver: true
187
- }).start();
188
- }, [hidden, restingOpacity, fade]);
189
144
  const {
190
145
  scaleAnim,
191
146
  onPressIn,
@@ -242,8 +197,8 @@ const FabComponent = ({
242
197
  className: className,
243
198
  style: [placementStyle(placement, offset, bottomEdgeInset), {
244
199
  zIndex
245
- }, containerStyle, {
246
- opacity: fade
200
+ }, containerStyle, disabled && {
201
+ opacity: 0.5
247
202
  }, pressed && !disabled && {
248
203
  backgroundColor: pressedBackground
249
204
  },
@@ -256,14 +211,8 @@ const FabComponent = ({
256
211
  transform: [{
257
212
  scale: scaleAnim
258
213
  }]
259
- }, style]
260
- // A FAB that has faded out must not be pressable or reachable — an
261
- // invisible target that still takes a tap is worse than a visible one.
262
- ,
263
- pointerEvents: hidden ? 'none' : 'auto',
264
- accessibilityElementsHidden: hidden,
265
- importantForAccessibility: hidden ? 'no-hide-descendants' : 'auto',
266
- onPress: disabled || hidden ? undefined : onPress,
214
+ }, style],
215
+ onPress: disabled ? undefined : onPress,
267
216
  onPressIn: handlePressIn,
268
217
  onPressOut: handlePressOut,
269
218
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useEffect","useMemo","useRef","Animated","Pressable","Text","View","styled","useBottomEdgeCollapsed","useBottomEdgeInset","useTheme","animation","borderRadius","bloomShadowStyle","pressedSurface","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","COLLAPSE_FADE_MS","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","bottomEdgeInset","style","position","FabPressable","StyledPressable","className","AnimatedPressable","createAnimatedComponent","FabComponent","onPress","icon","children","label","variant","disabled","accessibilityLabel","accessibilityHint","labelStyle","testID","zIndex","bottomEdgeCollapsed","theme","sizeConfig","isExtended","length","content","hidesOnCollapse","hidden","fade","Value","current","restingOpacity","timing","toValue","duration","useNativeDriver","start","scaleAnim","onPressIn","onPressOut","undefined","pressScale","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","pressedBackground","background","foreground","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","full","height","paddingHorizontal","gap","width","shadow","labelTextStyle","fontWeight","color","handlePressIn","handlePressOut","opacity","transform","scale","pointerEvents","accessibilityElementsHidden","importantForAccessibility","hitSlop","accessibilityRole","accessibilityState","numberOfLines","secondary","secondaryForeground","tertiary","tertiaryForeground","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","Animated","Pressable","Text","View","styled","useBottomEdgeInset","useTheme","animation","borderRadius","bloomShadowStyle","pressedSurface","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","bottomEdgeInset","style","position","FabPressable","StyledPressable","className","AnimatedPressable","createAnimatedComponent","FabComponent","onPress","icon","children","label","variant","disabled","accessibilityLabel","accessibilityHint","labelStyle","testID","zIndex","theme","sizeConfig","isExtended","length","content","scaleAnim","onPressIn","onPressOut","undefined","pressScale","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","pressedBackground","background","foreground","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","full","height","paddingHorizontal","gap","width","shadow","labelTextStyle","fontWeight","color","handlePressIn","handlePressOut","opacity","transform","scale","hitSlop","accessibilityRole","accessibilityState","numberOfLines","secondary","secondaryForeground","tertiary","tertiaryForeground","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { memo, useCallback, useId, useMemo } from 'react';
4
- import { useBottomEdgeCollapsed, useBottomEdgeInset } from "../layout/bottom-edge.js";
4
+ import { useBottomEdgeInset } from "../layout/bottom-edge.js";
5
5
  import { useTheme } from "../theme/use-theme.js";
6
6
  import { animation, borderRadius } from "../styles/tokens.js";
7
7
  import { pressedSurface } from "../theme/press-colors.js";
@@ -76,10 +76,7 @@ const BLOOM_FAB_CSS = interactiveWebCss({
76
76
  box-shadow: var(--bloom-fab-shadow);
77
77
  font-family: inherit;
78
78
  `,
79
- // `opacity` carries two things: the disabled dim and the collapse fade. 200ms
80
- // is the collapse's number — the dim is imperceptibly slower for it, and one
81
- // property cannot hold two durations.
82
- transition: 'opacity 200ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
79
+ transition: 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
83
80
  // A FAB lifts on hover rather than dimming: it floats over the content, so a
84
81
  // deeper shadow is the affordance an opacity dip cannot express.
85
82
  hover: {
@@ -126,16 +123,6 @@ const BLOOM_FAB_CSS = interactiveWebCss({
126
123
  * behind it. A z-index cannot fix that pairing: the bar's host is the last
127
124
  * sibling of the app shell and paints over every descendant, so the FAB has to be
128
125
  * somewhere else, not merely on top.
129
- *
130
- * It is the LIVE inset here, and `bottom` is transitioned — where the native fork
131
- * follows a collapsing bar with an Animated TRANSFORM instead. The forks differ
132
- * because the constraint does. Native must stay off the JS thread mid-scroll, so
133
- * the follow has to be a native-driver transform. On web a transform cannot carry
134
- * it: `:active` already sets `transform: scale(...)` from the shared
135
- * `interactive-web-css` rule, and an inline transform would beat that stylesheet
136
- * rule and eat the press scale — and one property cannot hold the press's 120ms
137
- * and the collapse's 380ms at once. `bottom` is a separate property with its own
138
- * duration, and it moves twice per scroll gesture rather than per frame.
139
126
  */
140
127
  function placementStyle(placement, offset, bottomEdgeInset) {
141
128
  if (placement === 'static') return {};
@@ -214,12 +201,6 @@ const FabWebComponent = ({
214
201
  }) => {
215
202
  useInteractiveWebCss(STYLE_ID, BLOOM_FAB_CSS);
216
203
  const bottomEdgeInset = useBottomEdgeInset();
217
- // The FAB belongs to the chrome: when the chrome retracts, so does it. Only a
218
- // BOTTOM-anchored FAB is affected by the bottom edge collapsing.
219
- const bottomEdgeCollapsed = useBottomEdgeCollapsed();
220
- // A faded-out FAB must not be tabbable, clickable or announced — an invisible
221
- // target that still takes a click is worse than a visible one.
222
- const hidden = bottomEdgeCollapsed && (placement === 'bottom-right' || placement === 'bottom-left');
223
204
  const theme = useTheme();
224
205
  const reactId = useId();
225
206
  const resolvedId = id ?? `bloom-fab-${reactId}`;
@@ -250,13 +231,6 @@ const FabWebComponent = ({
250
231
  ['--bloom-fab-press-scale']: animation.pressScale,
251
232
  ...placementStyle(placement, offset, bottomEdgeInset)
252
233
  };
253
- // Only while HIDDEN, so the `:disabled { opacity }` rule still owns the
254
- // dim the rest of the time — an inline opacity would beat that stylesheet
255
- // rule unconditionally and a disabled FAB would stop dimming.
256
- if (hidden) {
257
- base.opacity = 0;
258
- base.pointerEvents = 'none';
259
- }
260
234
  if (isExtended) {
261
235
  const pad = sizeConfig.diameter <= 44 ? 14 : 20;
262
236
  base.paddingLeft = pad;
@@ -295,8 +269,6 @@ const FabWebComponent = ({
295
269
  onClick: handleClick,
296
270
  disabled: disabled,
297
271
  "aria-disabled": disabled || undefined,
298
- "aria-hidden": hidden || undefined,
299
- tabIndex: hidden ? -1 : undefined,
300
272
  "aria-label": ariaLabel,
301
273
  title: title ?? accessibilityHint,
302
274
  "data-testid": testID,