react-native-terra-ui 0.11.17 → 0.12.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 (88) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/lib/module/components/accordion/Accordion.js +109 -0
  3. package/lib/module/components/accordion/Accordion.js.map +1 -0
  4. package/lib/module/components/accordion/context.js +34 -0
  5. package/lib/module/components/accordion/context.js.map +1 -0
  6. package/lib/module/components/accordion/hooks/use-accordion-core.js +46 -0
  7. package/lib/module/components/accordion/hooks/use-accordion-core.js.map +1 -0
  8. package/lib/module/components/accordion/index.js +5 -0
  9. package/lib/module/components/accordion/index.js.map +1 -0
  10. package/lib/module/components/accordion/parts/AccordionContent.js +98 -0
  11. package/lib/module/components/accordion/parts/AccordionContent.js.map +1 -0
  12. package/lib/module/components/accordion/parts/AccordionIndicator.js +60 -0
  13. package/lib/module/components/accordion/parts/AccordionIndicator.js.map +1 -0
  14. package/lib/module/components/accordion/parts/AccordionItem.js +53 -0
  15. package/lib/module/components/accordion/parts/AccordionItem.js.map +1 -0
  16. package/lib/module/components/accordion/parts/AccordionTrigger.js +85 -0
  17. package/lib/module/components/accordion/parts/AccordionTrigger.js.map +1 -0
  18. package/lib/module/components/accordion/types.js +4 -0
  19. package/lib/module/components/accordion/types.js.map +1 -0
  20. package/lib/module/components/accordion/utils.js +15 -0
  21. package/lib/module/components/accordion/utils.js.map +1 -0
  22. package/lib/module/components/badge/Badge.js +219 -64
  23. package/lib/module/components/badge/Badge.js.map +1 -1
  24. package/lib/module/components/badge/WithBadge.js +94 -0
  25. package/lib/module/components/badge/WithBadge.js.map +1 -0
  26. package/lib/module/components/badge/index.js +1 -0
  27. package/lib/module/components/badge/index.js.map +1 -1
  28. package/lib/module/components/badge/utils.js +3 -3
  29. package/lib/module/components/header/parts/HeaderBar.js +34 -7
  30. package/lib/module/components/header/parts/HeaderBar.js.map +1 -1
  31. package/lib/module/components/index.js +1 -0
  32. package/lib/module/components/index.js.map +1 -1
  33. package/lib/typescript/src/components/accordion/Accordion.d.ts +33 -0
  34. package/lib/typescript/src/components/accordion/Accordion.d.ts.map +1 -0
  35. package/lib/typescript/src/components/accordion/context.d.ts +25 -0
  36. package/lib/typescript/src/components/accordion/context.d.ts.map +1 -0
  37. package/lib/typescript/src/components/accordion/hooks/use-accordion-core.d.ts +11 -0
  38. package/lib/typescript/src/components/accordion/hooks/use-accordion-core.d.ts.map +1 -0
  39. package/lib/typescript/src/components/accordion/index.d.ts +8 -0
  40. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -0
  41. package/lib/typescript/src/components/accordion/parts/AccordionContent.d.ts +8 -0
  42. package/lib/typescript/src/components/accordion/parts/AccordionContent.d.ts.map +1 -0
  43. package/lib/typescript/src/components/accordion/parts/AccordionIndicator.d.ts +16 -0
  44. package/lib/typescript/src/components/accordion/parts/AccordionIndicator.d.ts.map +1 -0
  45. package/lib/typescript/src/components/accordion/parts/AccordionItem.d.ts +16 -0
  46. package/lib/typescript/src/components/accordion/parts/AccordionItem.d.ts.map +1 -0
  47. package/lib/typescript/src/components/accordion/parts/AccordionTrigger.d.ts +11 -0
  48. package/lib/typescript/src/components/accordion/parts/AccordionTrigger.d.ts.map +1 -0
  49. package/lib/typescript/src/components/accordion/types.d.ts +65 -0
  50. package/lib/typescript/src/components/accordion/types.d.ts.map +1 -0
  51. package/lib/typescript/src/components/accordion/utils.d.ts +8 -0
  52. package/lib/typescript/src/components/accordion/utils.d.ts.map +1 -0
  53. package/lib/typescript/src/components/badge/Badge.d.ts +13 -9
  54. package/lib/typescript/src/components/badge/Badge.d.ts.map +1 -1
  55. package/lib/typescript/src/components/badge/WithBadge.d.ts +18 -0
  56. package/lib/typescript/src/components/badge/WithBadge.d.ts.map +1 -0
  57. package/lib/typescript/src/components/badge/index.d.ts +2 -1
  58. package/lib/typescript/src/components/badge/index.d.ts.map +1 -1
  59. package/lib/typescript/src/components/badge/types.d.ts +35 -12
  60. package/lib/typescript/src/components/badge/types.d.ts.map +1 -1
  61. package/lib/typescript/src/components/badge/utils.d.ts +3 -3
  62. package/lib/typescript/src/components/badge/utils.d.ts.map +1 -1
  63. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -1
  64. package/lib/typescript/src/components/index.d.ts +1 -0
  65. package/lib/typescript/src/components/index.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/src/components/accordion/Accordion.tsx +116 -0
  68. package/src/components/accordion/context.ts +45 -0
  69. package/src/components/accordion/hooks/use-accordion-core.ts +51 -0
  70. package/src/components/accordion/index.ts +14 -0
  71. package/src/components/accordion/parts/AccordionContent.tsx +96 -0
  72. package/src/components/accordion/parts/AccordionIndicator.tsx +67 -0
  73. package/src/components/accordion/parts/AccordionItem.tsx +55 -0
  74. package/src/components/accordion/parts/AccordionTrigger.tsx +88 -0
  75. package/src/components/accordion/types.ts +71 -0
  76. package/src/components/accordion/utils.ts +12 -0
  77. package/src/components/badge/Badge.tsx +177 -59
  78. package/src/components/badge/WithBadge.tsx +79 -0
  79. package/src/components/badge/index.ts +2 -1
  80. package/src/components/badge/types.ts +36 -12
  81. package/src/components/badge/utils.ts +3 -3
  82. package/src/components/header/parts/HeaderBar.tsx +41 -8
  83. package/src/components/index.ts +1 -0
  84. package/lib/module/components/badge/parts/BadgeIndicator.js +0 -212
  85. package/lib/module/components/badge/parts/BadgeIndicator.js.map +0 -1
  86. package/lib/typescript/src/components/badge/parts/BadgeIndicator.d.ts +0 -19
  87. package/lib/typescript/src/components/badge/parts/BadgeIndicator.d.ts.map +0 -1
  88. package/src/components/badge/parts/BadgeIndicator.tsx +0 -178
@@ -1,92 +1,247 @@
1
1
  "use strict";
2
2
 
3
3
  import { View } from "react-native-unistyles/components/native/View";
4
- import { forwardRef } from "react";
5
- import { StyleSheet } from "react-native-unistyles";
6
- import { BadgeIndicator } from "./parts/BadgeIndicator.js";
7
- import { getAnchorPosition } from "./utils.js";
4
+ import { Text as RNText } from "react-native-unistyles/components/native/Text";
5
+ import { StyleSheet, useUnistyles } from "react-native-unistyles";
6
+ import { resolveThemeColor } from "../../utils/resolve-theme-color.js";
7
+ import { FONT_WEIGHT_VALUE, SYSTEM_FONT } from "../../utils/typography.js";
8
+ import { getCustomBadgeColors, hasLabel } from "./utils.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ const SCHEME_NAMES = new Set(["primary", "secondary", "success", "warning", "danger"]);
11
+ /** Label foreground per scheme — mirrors the spec's token table. */
12
+ const FG_TOKEN = {
13
+ primary: "accent.solid.fg",
14
+ secondary: "neutral.solid.fg",
15
+ success: "success.solid.fg",
16
+ warning: "warning.solid.fg",
17
+ danger: "danger.solid.fg"
18
+ };
19
+ const LABEL_VARIANT = {
20
+ sm: "label-sm",
21
+ md: "label-md",
22
+ lg: "label-lg"
23
+ };
8
24
 
9
25
  /**
10
- * Overlays a count or status indicator on one corner of the element it wraps.
26
+ * A dot, or a pill carrying a count or short label.
11
27
  *
12
28
  * ```tsx
13
- * <Badge placement="top-right" color="danger" label={3}>
14
- * <Toolbar.Button icon="bell" accessibilityLabel="Notifications" />
15
- * </Badge>
29
+ * <Text>Appearing</Text>
30
+ * <Badge color="secondary" size="sm" label={56} />
16
31
  * ```
17
32
  *
18
- * The child renders untouched — `Badge` contributes the positioning context and
19
- * the overlay, nothing else. A round child usually wants a negative `offset`,
20
- * since the corner being anchored to is the bounding box's, not the circle's.
33
+ * Stands on its own, inline in a row beside the text it counts. To pin one to
34
+ * the corner of an icon or button, wrap that element in `WithBadge`, which
35
+ * renders this and owns only the position.
36
+ *
37
+ * `useUnistyles` is called unconditionally, which is what subscribes this
38
+ * component to theme changes. The background below comes from a variant, which
39
+ * unistyles applies straight to the native node on a theme switch; without a
40
+ * re-render React would go on believing the node holds the previous theme's
41
+ * value. `Chip` documents the same hazard on its root.
21
42
  */
22
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
- const Badge = /*#__PURE__*/forwardRef(function Badge({
24
- children,
25
- placement = "top-right",
43
+ export const Badge = ({
26
44
  label,
27
45
  color = "danger",
28
46
  size = "md",
29
- offset = 0,
30
- isVisible = true,
31
- fullWidth = false,
47
+ ring = false,
32
48
  accessibilityLabel,
33
49
  style,
34
50
  ...rest
35
- }, ref) {
51
+ }) => {
52
+ const {
53
+ theme
54
+ } = useUnistyles();
55
+ // A literal never matches one of the five variant options, so it's cast to
56
+ // satisfy `useVariants`'s literal-union type while still being compared
57
+ // against the real value below.
36
58
  const _styles = styles;
37
59
  {
38
60
  const styles = _styles.useVariants({
39
- fullWidth
61
+ color: color,
62
+ size,
63
+ ring
64
+ });
65
+ const custom = SCHEME_NAMES.has(color) ? null : getCustomBadgeColors(color);
66
+ const labelled = hasLabel(label);
67
+ const foreground = custom ? custom.fg : FG_TOKEN[color];
68
+
69
+ // An explicit label wins even on a dot; a dot with nothing to announce is
70
+ // decorative and hidden rather than read out as an unlabelled element.
71
+ const announced = accessibilityLabel ?? (labelled ? String(label) : undefined);
72
+ const accessibility = announced ? {
73
+ accessible: true,
74
+ accessibilityLabel: announced
75
+ } : {
76
+ accessibilityElementsHidden: true,
77
+ importantForAccessibility: "no-hide-descendants",
78
+ "aria-hidden": true
79
+ };
80
+ return /*#__PURE__*/_jsx(View, {
81
+ style: [styles.indicator, labelled ? styles.pill : styles.dot, custom ? {
82
+ backgroundColor: custom.bg
83
+ } : null, style],
84
+ ...rest,
85
+ ...accessibility,
86
+ children: labelled ? /*#__PURE__*/_jsx(RNText, {
87
+ style: [styles.label, {
88
+ color: resolveThemeColor(foreground, theme)
89
+ }],
90
+ maxFontSizeMultiplier: theme.typography.variants[LABEL_VARIANT[size]].maxFontSizeMultiplier,
91
+ numberOfLines: 1,
92
+ children: label
93
+ }) : null
40
94
  });
41
- return (
42
- /*#__PURE__*/
43
- // `style` last so an explicit `alignSelf` beats `fullWidth`.
44
- _jsxs(View, {
45
- ref: ref,
46
- style: [styles.wrapper, style],
47
- ...rest,
48
- children: [children, isVisible ? /*#__PURE__*/_jsx(View, {
49
- pointerEvents: "box-none",
50
- style: [styles.anchor, getAnchorPosition(placement, size, offset)],
51
- children: /*#__PURE__*/_jsx(BadgeIndicator, {
52
- label: label,
53
- color: color,
54
- size: size,
55
- accessibilityLabel: accessibilityLabel
56
- })
57
- }) : null]
58
- })
59
- );
60
95
  }
61
- });
62
- export { Badge };
96
+ };
63
97
 
64
98
  // ─── Styles ───────────────────────────────────────────────────────────────────
65
99
  //
66
- // The indicator's insets are computed in `getAnchorPosition`, not declared here:
67
- // `offset` is an open-ended number, so it could never be a variant condition,
68
- // and the position involves no theme tokens at all. That leaves this stylesheet
69
- // with only what genuinely varies declaratively.
70
- const styles = StyleSheet.create(() => ({
71
- wrapper: {
72
- position: "relative",
73
- variants: {
74
- // `alignSelf: 'flex-start'` hugs the child, so the indicator anchors to
75
- // the child's bounds rather than the surrounding container's. A child
76
- // that was stretching needs `fullWidth` to go on doing so.
77
- fullWidth: {
78
- true: {
79
- alignSelf: "stretch"
100
+ // `color` is a plain variant rather than a compound one: `Badge` renders solid
101
+ // only, so there is no second paint axis for it to interact with.
102
+ //
103
+ // React Native's box model is border-box, so the ring below eats into the
104
+ // badge rather than growing it — the dot's outer diameter stays exactly what
105
+ // `size` declares, with no compensation arithmetic, ring or not.
106
+ const styles = StyleSheet.create(theme => {
107
+ const c = theme.color;
108
+ // A custom font encodes its weight in the family name, so only the system
109
+ // font takes a numeric `fontWeight` — the same branch `Chip` makes. Inlined
110
+ // rather than extracted: the unistyles Babel plugin rewrites this factory,
111
+ // and an imported function called from inside it is not in scope at runtime.
112
+ const labelFont = theme.typography.fonts.semibold;
113
+ const isSystemLabelFont = labelFont === SYSTEM_FONT;
114
+ return {
115
+ indicator: {
116
+ alignItems: "center",
117
+ justifyContent: "center",
118
+ borderRadius: theme.radius.full,
119
+ borderColor: c["surface.canvas"],
120
+ variants: {
121
+ // No styles of its own; it only has to exist for the compound rows
122
+ // below to match on. The ring's width depends on size as well.
123
+ size: {
124
+ sm: {},
125
+ md: {},
126
+ lg: {}
127
+ },
128
+ ring: {
129
+ true: {},
130
+ false: {
131
+ borderWidth: 0
132
+ }
80
133
  },
81
- false: {
82
- alignSelf: "flex-start"
134
+ color: {
135
+ primary: {
136
+ backgroundColor: c["accent.solid.bg"]
137
+ },
138
+ secondary: {
139
+ backgroundColor: c["neutral.solid.bg"]
140
+ },
141
+ success: {
142
+ backgroundColor: c["success.solid.bg"]
143
+ },
144
+ warning: {
145
+ backgroundColor: c["warning.solid.bg"]
146
+ },
147
+ danger: {
148
+ backgroundColor: c["danger.solid.bg"]
149
+ }
150
+ }
151
+ },
152
+ compoundVariants: [{
153
+ ring: true,
154
+ size: "sm",
155
+ styles: {
156
+ borderWidth: 1.5
157
+ }
158
+ }, {
159
+ ring: true,
160
+ size: "md",
161
+ styles: {
162
+ borderWidth: 2
83
163
  }
84
- }
164
+ }, {
165
+ ring: true,
166
+ size: "lg",
167
+ styles: {
168
+ borderWidth: 2
169
+ }
170
+ }],
171
+ uni__dependencies: [0, 4]
85
172
  },
86
- uni__dependencies: [4]
87
- },
88
- anchor: {
89
- position: "absolute"
90
- }
91
- }));
173
+ // These diameters are mirrored by `DOT_SIZE` in `./utils.ts`, which the
174
+ // anchor arithmetic reads. The Babel plugin needs them literal here, so a
175
+ // test asserts the two stay equal.
176
+ dot: {
177
+ variants: {
178
+ size: {
179
+ sm: {
180
+ width: 12,
181
+ height: 12
182
+ },
183
+ md: {
184
+ width: 16,
185
+ height: 16
186
+ },
187
+ lg: {
188
+ width: 20,
189
+ height: 20
190
+ }
191
+ }
192
+ },
193
+ uni__dependencies: [4]
194
+ },
195
+ pill: {
196
+ variants: {
197
+ size: {
198
+ sm: {
199
+ height: 18,
200
+ minWidth: 18,
201
+ paddingHorizontal: 5
202
+ },
203
+ md: {
204
+ height: 22,
205
+ minWidth: 22,
206
+ paddingHorizontal: 6
207
+ },
208
+ lg: {
209
+ height: 26,
210
+ minWidth: 26,
211
+ paddingHorizontal: 8
212
+ }
213
+ }
214
+ },
215
+ uni__dependencies: [4]
216
+ },
217
+ // Spelled out rather than derived from `LABEL_VARIANT`: the unistyles Babel
218
+ // plugin reads this object statically, so computed variant keys are not
219
+ // safe here even though they would resolve correctly under test.
220
+ label: {
221
+ textAlign: "center",
222
+ fontFamily: isSystemLabelFont ? undefined : labelFont,
223
+ fontWeight: isSystemLabelFont ? FONT_WEIGHT_VALUE.semibold : undefined,
224
+ variants: {
225
+ size: {
226
+ sm: {
227
+ fontSize: theme.typography.variants["label-sm"].fontSize,
228
+ lineHeight: theme.typography.variants["label-sm"].lineHeight,
229
+ letterSpacing: theme.typography.variants["label-sm"].letterSpacing
230
+ },
231
+ md: {
232
+ fontSize: theme.typography.variants["label-md"].fontSize,
233
+ lineHeight: theme.typography.variants["label-md"].lineHeight,
234
+ letterSpacing: theme.typography.variants["label-md"].letterSpacing
235
+ },
236
+ lg: {
237
+ fontSize: theme.typography.variants["label-lg"].fontSize,
238
+ lineHeight: theme.typography.variants["label-lg"].lineHeight,
239
+ letterSpacing: theme.typography.variants["label-lg"].letterSpacing
240
+ }
241
+ }
242
+ },
243
+ uni__dependencies: [0, 4]
244
+ }
245
+ };
246
+ });
92
247
  //# sourceMappingURL=Badge.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","StyleSheet","BadgeIndicator","getAnchorPosition","jsx","_jsx","jsxs","_jsxs","Badge","children","placement","label","color","size","offset","isVisible","fullWidth","accessibilityLabel","style","rest","ref","_styles","styles","useVariants","View","wrapper","pointerEvents","anchor","create","position","variants","true","alignSelf","false","uni__dependencies"],"sourceRoot":"../../../../src","sources":["components/badge/Badge.tsx"],"mappings":";;;AAAA,SAA4BA,UAAU,QAAQ,OAAO;AAGrD,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,cAAc;AAEvB,SAASC,iBAAiB;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAaA,MAAMC,KAAK,gBAAGR,UAAU,CAAwC,SAASQ,KAAKA,CAC5E;EACEC,QAAQ;EACRC,SAAS,GAAG,WAAW;EACvBC,KAAK;EACLC,KAAK,GAAG,QAAQ;EAChBC,IAAI,GAAG,IAAI;EACXC,MAAM,GAAG,CAAC;EACVC,SAAS,GAAG,IAAI;EAChBC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,KAAK;EACL,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EAAA,MAAAC,OAAA,GAAAC,MAAA;EAAA;IAAA,MAAAA,MAAA,GAAAD,OAAA,CAAAE,WAAA,CACmB;MAAEP;IAAU,CAAC;IAEhC;MAAA;MACE;MACAT,KAAA,CAACiB,IAAI;QAACJ,GAAG,EAAEA,GAAI;QAACF,KAAK,EAAE,CAACI,MAAM,CAACG,OAAO,EAAEP,KAAK,CAAE;QAAA,GAAKC,IAAI;QAAAV,QAAA,GACrDA,QAAQ,EACRM,SAAS,gBACRV,IAAA,CAACmB,IAAI;UAACE,aAAa,EAAC,UAAU;UAACR,KAAK,EAAE,CAACI,MAAM,CAACK,MAAM,EAAExB,iBAAiB,CAACO,SAAS,EAAEG,IAAI,EAAEC,MAAM,CAAC,CAAE;UAAAL,QAAA,eAChGJ,IAAA,CAACH,cAAc;YAACS,KAAK,EAAEA,KAAM;YAACC,KAAK,EAAEA,KAAM;YAACC,IAAI,EAAEA,IAAK;YAACI,kBAAkB,EAAEA;UAAmB,CAAE;QAAC,CAC9F,CAAC,GACL,IAAI;MAAA,CACJ;IAAC;EACP;AACJ,CAAC,CAAC;AAEF,SAAST,KAAK;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,MAAMc,MAAM,GAAGrB,UAAU,CAAC2B,MAAM,CAAC,OAAO;EACtCH,OAAO,EAAE;IACPI,QAAQ,EAAE,UAAU;IACpBC,QAAQ,EAAE;MACR;MACA;MACA;MACAd,SAAS,EAAE;QACTe,IAAI,EAAE;UAAEC,SAAS,EAAE;QAAU,CAAC;QAC9BC,KAAK,EAAE;UAAED,SAAS,EAAE;QAAa;MACnC;IACF,CAAC;IAAAE,iBAAA;EACH,CAAC;EACDP,MAAM,EAAE;IACNE,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","getCustomBadgeColors","hasLabel","jsx","_jsx","SCHEME_NAMES","Set","FG_TOKEN","primary","secondary","success","warning","danger","LABEL_VARIANT","sm","md","lg","Badge","label","color","size","ring","accessibilityLabel","style","rest","theme","_styles","styles","useVariants","custom","has","labelled","foreground","fg","announced","String","undefined","accessibility","accessible","accessibilityElementsHidden","importantForAccessibility","View","indicator","pill","dot","backgroundColor","bg","children","RNText","maxFontSizeMultiplier","typography","variants","numberOfLines","create","c","labelFont","fonts","semibold","isSystemLabelFont","alignItems","justifyContent","borderRadius","radius","full","borderColor","true","false","borderWidth","compoundVariants","uni__dependencies","width","height","minWidth","paddingHorizontal","textAlign","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing"],"sourceRoot":"../../../../src","sources":["components/badge/Badge.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ import { View } from "react-native-unistyles/components/native/View";
4
+ import { forwardRef } from "react";
5
+ import { StyleSheet } from "react-native-unistyles";
6
+ import { Badge } from "./Badge.js";
7
+ import { getAnchorPosition } from "./utils.js";
8
+
9
+ /**
10
+ * Pins a `Badge` to one corner of the element it wraps.
11
+ *
12
+ * ```tsx
13
+ * <WithBadge placement="top-right" color="danger" label={3}>
14
+ * <Toolbar.Button icon="bell" accessibilityLabel="Notifications" />
15
+ * </WithBadge>
16
+ * ```
17
+ *
18
+ * The child renders untouched — `WithBadge` contributes the positioning context
19
+ * and the overlay, nothing else. A round child usually wants a negative
20
+ * `offset`, since the corner being anchored to is the bounding box's, not the
21
+ * circle's. For a badge that sits inline beside text, use `Badge` on its own.
22
+ */
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ const WithBadge = /*#__PURE__*/forwardRef(function WithBadge({
25
+ children,
26
+ placement = "top-right",
27
+ label,
28
+ color = "danger",
29
+ size = "md",
30
+ offset = 0,
31
+ isVisible = true,
32
+ fullWidth = false,
33
+ accessibilityLabel,
34
+ style,
35
+ ...rest
36
+ }, ref) {
37
+ const _styles = styles;
38
+ {
39
+ const styles = _styles.useVariants({
40
+ fullWidth
41
+ });
42
+ return (
43
+ /*#__PURE__*/
44
+ // `style` last so an explicit `alignSelf` beats `fullWidth`.
45
+ _jsxs(View, {
46
+ ref: ref,
47
+ style: [styles.wrapper, style],
48
+ ...rest,
49
+ children: [children, isVisible ? /*#__PURE__*/_jsx(View, {
50
+ pointerEvents: "box-none",
51
+ style: [styles.anchor, getAnchorPosition(placement, size, offset)],
52
+ children: /*#__PURE__*/_jsx(Badge, {
53
+ label: label,
54
+ color: color,
55
+ size: size,
56
+ ring: true,
57
+ accessibilityLabel: accessibilityLabel
58
+ })
59
+ }) : null]
60
+ })
61
+ );
62
+ }
63
+ });
64
+ export { WithBadge };
65
+
66
+ // ─── Styles ───────────────────────────────────────────────────────────────────
67
+ //
68
+ // The badge's insets are computed in `getAnchorPosition`, not declared here:
69
+ // `offset` is an open-ended number, so it could never be a variant condition,
70
+ // and the position involves no theme tokens at all. That leaves this stylesheet
71
+ // with only what genuinely varies declaratively.
72
+ const styles = StyleSheet.create(() => ({
73
+ wrapper: {
74
+ position: "relative",
75
+ variants: {
76
+ // `alignSelf: 'flex-start'` hugs the child, so the indicator anchors to
77
+ // the child's bounds rather than the surrounding container's. A child
78
+ // that was stretching needs `fullWidth` to go on doing so.
79
+ fullWidth: {
80
+ true: {
81
+ alignSelf: "stretch"
82
+ },
83
+ false: {
84
+ alignSelf: "flex-start"
85
+ }
86
+ }
87
+ },
88
+ uni__dependencies: [4]
89
+ },
90
+ anchor: {
91
+ position: "absolute"
92
+ }
93
+ }));
94
+ //# sourceMappingURL=WithBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","StyleSheet","Badge","getAnchorPosition","jsx","_jsx","jsxs","_jsxs","WithBadge","children","placement","label","color","size","offset","isVisible","fullWidth","accessibilityLabel","style","rest","ref","_styles","styles","useVariants","View","wrapper","pointerEvents","anchor","ring","create","position","variants","true","alignSelf","false","uni__dependencies"],"sourceRoot":"../../../../src","sources":["components/badge/WithBadge.tsx"],"mappings":";;;AAAA,SAA4BA,UAAU,QAAQ,OAAO;AAGrD,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,KAAK;AAEd,SAASC,iBAAiB;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAcA,MAAMC,SAAS,gBAAGR,UAAU,CAA4C,SAASQ,SAASA,CACxF;EACEC,QAAQ;EACRC,SAAS,GAAG,WAAW;EACvBC,KAAK;EACLC,KAAK,GAAG,QAAQ;EAChBC,IAAI,GAAG,IAAI;EACXC,MAAM,GAAG,CAAC;EACVC,SAAS,GAAG,IAAI;EAChBC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,KAAK;EACL,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EAAA,MAAAC,OAAA,GAAAC,MAAA;EAAA;IAAA,MAAAA,MAAA,GAAAD,OAAA,CAAAE,WAAA,CACmB;MAAEP;IAAU,CAAC;IAEhC;MAAA;MACE;MACAT,KAAA,CAACiB,IAAI;QAACJ,GAAG,EAAEA,GAAI;QAACF,KAAK,EAAE,CAACI,MAAM,CAACG,OAAO,EAAEP,KAAK,CAAE;QAAA,GAAKC,IAAI;QAAAV,QAAA,GACrDA,QAAQ,EACRM,SAAS,gBACRV,IAAA,CAACmB,IAAI;UAACE,aAAa,EAAC,UAAU;UAACR,KAAK,EAAE,CAACI,MAAM,CAACK,MAAM,EAAExB,iBAAiB,CAACO,SAAS,EAAEG,IAAI,EAAEC,MAAM,CAAC,CAAE;UAAAL,QAAA,eAChGJ,IAAA,CAACH,KAAK;YAACS,KAAK,EAAEA,KAAM;YAACC,KAAK,EAAEA,KAAM;YAACC,IAAI,EAAEA,IAAK;YAACe,IAAI;YAACX,kBAAkB,EAAEA;UAAmB,CAAE;QAAC,CAC1F,CAAC,GACL,IAAI;MAAA,CACJ;IAAC;EACP;AACJ,CAAC,CAAC;AAEF,SAAST,SAAS;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,MAAMc,MAAM,GAAGrB,UAAU,CAAC4B,MAAM,CAAC,OAAO;EACtCJ,OAAO,EAAE;IACPK,QAAQ,EAAE,UAAU;IACpBC,QAAQ,EAAE;MACR;MACA;MACA;MACAf,SAAS,EAAE;QACTgB,IAAI,EAAE;UAAEC,SAAS,EAAE;QAAU,CAAC;QAC9BC,KAAK,EAAE;UAAED,SAAS,EAAE;QAAa;MACnC;IACF,CAAC;IAAAE,iBAAA;EACH,CAAC;EACDR,MAAM,EAAE;IACNG,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  export { Badge } from "./Badge.js";
4
+ export { WithBadge } from "./WithBadge.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Badge"],"sourceRoot":"../../../../src","sources":["components/badge/index.ts"],"mappings":";;AAAA,SAASA,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["Badge","WithBadge"],"sourceRoot":"../../../../src","sources":["components/badge/index.ts"],"mappings":";;AAAA,SAASA,KAAK;AAEd,SAASC,SAAS","ignoreList":[]}
@@ -6,7 +6,7 @@ import { readableOn } from "../../utils/color-utils.js";
6
6
  // can't be a unistyles variant condition — it's derived here instead, the same
7
7
  // way `chip/utils.ts` handles the equivalent case on `Chip`.
8
8
 
9
- /** The indicator's paint for a raw literal: the literal itself, plus a readable label. */
9
+ /** The badge's paint for a raw literal: the literal itself, plus a readable label. */
10
10
  export function getCustomBadgeColors(literal) {
11
11
  return {
12
12
  bg: literal,
@@ -24,7 +24,7 @@ export function hasLabel(label) {
24
24
  }
25
25
 
26
26
  /**
27
- * Outer diameter of the dot per size. The indicator's own stylesheet repeats
27
+ * Outer diameter of the dot per size. The badge's own stylesheet repeats
28
28
  * these as literals — the unistyles Babel plugin reads that object statically,
29
29
  * so it cannot reference this table — and `anchorOffsetsMatchDotRadius` in the
30
30
  * test suite is what keeps the two in step.
@@ -35,7 +35,7 @@ export const DOT_SIZE = {
35
35
  lg: 20
36
36
  };
37
37
  /**
38
- * Absolute insets for the indicator, in pure arithmetic rather than one
38
+ * Absolute insets for a `WithBadge`'s badge, in pure arithmetic rather than one
39
39
  * compound variant per (placement, size) cell: `offset` is an open-ended number
40
40
  * and could never be a variant condition, and nothing here touches the theme.
41
41
  *
@@ -34,6 +34,13 @@ export function HeaderBar({
34
34
  left: 0,
35
35
  right: 0
36
36
  });
37
+ // Toolbar widths, so a centered title can stay clear of both sides.
38
+ const [leadingWidth, setLeadingWidth] = useState(0);
39
+ const [trailingWidth, setTrailingWidth] = useState(0);
40
+ const onLeadingLayout = event => setLeadingWidth(event.nativeEvent.layout.width);
41
+ const onTrailingLayout = event => setTrailingWidth(event.nativeEvent.layout.width);
42
+ const hasLeading = leading != null || dismissAction === "back";
43
+ const hasTrailing = trailing != null || dismissAction === "close";
37
44
  const _styles = styles;
38
45
  {
39
46
  const styles = _styles.useVariants({
@@ -67,18 +74,21 @@ export function HeaderBar({
67
74
  animatedStyle: surfaceStyle
68
75
  }), /*#__PURE__*/_jsx(HeaderWindowInsets, {
69
76
  onInsetsChange: setWindowInsets
70
- }), (leading != null || dismissAction === "back") && /*#__PURE__*/_jsxs(Toolbar, {
77
+ }), hasLeading && /*#__PURE__*/_jsxs(Toolbar, {
78
+ onLayout: onLeadingLayout,
71
79
  children: [dismissAction === "back" && dismiss, leading]
72
80
  }), /*#__PURE__*/_jsx(Animated.View, {
73
- style: [styles.titleContainer, styles.titleInsets(windowInsets.left, windowInsets.right, titleAlignment), titleStyle],
81
+ style: [styles.titleContainer, styles.titleInsets(windowInsets.left, windowInsets.right, hasLeading ? leadingWidth : 0, hasTrailing ? trailingWidth : 0, titleAlignment), titleStyle],
74
82
  pointerEvents: isCustomTitle(title) ? "box-none" : "none",
75
83
  children: isTextTitle(title) ? String(title).trim().length > 0 && /*#__PURE__*/_jsx(Text, {
76
84
  style: styles.title,
85
+ numberOfLines: 1,
77
86
  maxFontSizeMultiplier: theme.typography.variants["title-md"].maxFontSizeMultiplier,
78
87
  children: title
79
88
  }) : title
80
- }), (trailing != null || dismissAction === "close") && /*#__PURE__*/_jsxs(Toolbar, {
89
+ }), hasTrailing && /*#__PURE__*/_jsxs(Toolbar, {
81
90
  style: styles.trailing,
91
+ onLayout: onTrailingLayout,
82
92
  children: [dismissAction === "close" && dismiss, trailing]
83
93
  })]
84
94
  })
@@ -92,10 +102,27 @@ const styles = StyleSheet.create((theme, runtime) => ({
92
102
  paddingRight: Math.max(resolveScreenPadding(theme, runtime.breakpoint).x, right),
93
103
  uni__dependencies: [0, 3]
94
104
  }),
95
- titleInsets: (left, right, alignment) => alignment === "center" ? {
96
- left,
97
- right
98
- } : {},
105
+ // A centered title spans the region between the window controls and is inset
106
+ // by the same amount from both of its edges, so it stays centered in that
107
+ // region. The inset is whichever side reaches further in — bar padding plus
108
+ // that side's toolbar — so a long title truncates before either toolbar
109
+ // instead of running underneath it. A left-aligned title is in the flex row
110
+ // already and needs none of this.
111
+ titleInsets: (left, right, leadingWidth, trailingWidth, alignment) => {
112
+ if (alignment !== "center") return {
113
+ uni__dependencies: [0, 3]
114
+ };
115
+ const padding = resolveScreenPadding(theme, runtime.breakpoint).x;
116
+ const gap = theme.spacing["3"];
117
+ const reachLeft = Math.max(padding, left) + (leadingWidth > 0 ? leadingWidth + gap : 0) - left;
118
+ const reachRight = Math.max(padding, right) + (trailingWidth > 0 ? trailingWidth + gap : 0) - right;
119
+ const inset = Math.max(reachLeft, reachRight);
120
+ return {
121
+ left: left + inset,
122
+ right: right + inset,
123
+ uni__dependencies: [0, 3]
124
+ };
125
+ },
99
126
  bar: {
100
127
  height: theme.layout.header.height,
101
128
  flexDirection: "row",
@@ -1 +1 @@
1
- {"version":3,"names":["useState","Animated","ScrollToTopGuard","StyleSheet","useUnistyles","FONT_WEIGHT_VALUE","resolveScreenPadding","Toolbar","HeaderDismissButton","isCustomTitle","isTextTitle","HeaderSurface","HeaderWindowInsets","jsx","_jsx","jsxs","_jsxs","HeaderBar","title","leading","trailing","titleAlignment","color","surfaceStyle","titleStyle","dismissAction","navigation","onDismiss","theme","windowInsets","setWindowInsets","left","right","_styles","styles","useVariants","dismiss","children","View","style","bar","animatedStyle","onInsetsChange","titleContainer","titleInsets","pointerEvents","String","trim","length","Text","maxFontSizeMultiplier","typography","variants","create","runtime","paddingLeft","Math","max","breakpoint","x","paddingRight","uni__dependencies","alignment","height","layout","header","flexDirection","alignItems","paddingHorizontal","screen","padding","gap","spacing","justifyContent","center","marginLeft","position","flex","fontSize","lineHeight","letterSpacing","fontWeight","textAlign"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderBar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","Animated","ScrollToTopGuard","StyleSheet","useUnistyles","FONT_WEIGHT_VALUE","resolveScreenPadding","Toolbar","HeaderDismissButton","isCustomTitle","isTextTitle","HeaderSurface","HeaderWindowInsets","jsx","_jsx","jsxs","_jsxs","HeaderBar","title","leading","trailing","titleAlignment","color","surfaceStyle","titleStyle","dismissAction","navigation","onDismiss","theme","windowInsets","setWindowInsets","left","right","leadingWidth","setLeadingWidth","trailingWidth","setTrailingWidth","onLeadingLayout","event","nativeEvent","layout","width","onTrailingLayout","hasLeading","hasTrailing","_styles","styles","useVariants","dismiss","children","View","style","bar","animatedStyle","onInsetsChange","onLayout","titleContainer","titleInsets","pointerEvents","String","trim","length","Text","numberOfLines","maxFontSizeMultiplier","typography","variants","create","runtime","paddingLeft","Math","max","breakpoint","x","paddingRight","uni__dependencies","alignment","padding","gap","spacing","reachLeft","reachRight","inset","height","header","flexDirection","alignItems","paddingHorizontal","screen","justifyContent","center","marginLeft","position","flex","fontSize","lineHeight","letterSpacing","fontWeight","textAlign"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ export * from "./accordion/index.js";
3
4
  export * from "./avatar/index.js";
4
5
  export * from "./badge/index.js";
5
6
  export * from "./box/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import { AccordionContent } from "./parts/AccordionContent.js";
2
+ import { AccordionIndicator } from "./parts/AccordionIndicator.js";
3
+ import { AccordionItem } from "./parts/AccordionItem.js";
4
+ import { AccordionTrigger } from "./parts/AccordionTrigger.js";
5
+ import type { AccordionProps } from "./types.js";
6
+ /**
7
+ * A vertical stack of headers that each open a panel of content.
8
+ *
9
+ * `'single'` mode (the default) keeps one item open at a time; `'multiple'`
10
+ * lets any number be open. Uncontrolled through `defaultValue`, or controlled
11
+ * through `value` + `onValueChange`.
12
+ *
13
+ * @example
14
+ * <Accordion defaultValue="shipping">
15
+ * <Accordion.Item value="shipping">
16
+ * <Accordion.Trigger>
17
+ * How long does shipping take?
18
+ * <Accordion.Indicator />
19
+ * </Accordion.Trigger>
20
+ * <Accordion.Content>3–5 business days.</Accordion.Content>
21
+ * </Accordion.Item>
22
+ * </Accordion>
23
+ */
24
+ declare const AccordionRoot: import("react").ForwardRefExoticComponent<AccordionProps & import("react").RefAttributes<import("react-native/types_generated/src/private/webapis/dom/nodes/ReactNativeElement").default>>;
25
+ type AccordionComponent = typeof AccordionRoot & {
26
+ Item: typeof AccordionItem;
27
+ Trigger: typeof AccordionTrigger;
28
+ Indicator: typeof AccordionIndicator;
29
+ Content: typeof AccordionContent;
30
+ };
31
+ export declare const Accordion: AccordionComponent;
32
+ export {};
33
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAiB9C;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,aAAa,4LA2BjB,CAAC;AAEH,KAAK,kBAAkB,GAAG,OAAO,aAAa,GAAG;IAC/C,IAAI,EAAE,OAAO,aAAa,CAAC;IAC3B,OAAO,EAAE,OAAO,gBAAgB,CAAC;IACjC,SAAS,EAAE,OAAO,kBAAkB,CAAC;IACrC,OAAO,EAAE,OAAO,gBAAgB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAoB,kBAAkB,CAAC"}