@retray-dev/ui-kit 10.1.0 → 12.1.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 (192) hide show
  1. package/COMPONENTS.md +419 -38
  2. package/README.md +14 -5
  3. package/dist/Accordion.js +1 -1
  4. package/dist/Accordion.mjs +3 -3
  5. package/dist/AlertBanner.js +1 -1
  6. package/dist/AlertBanner.mjs +3 -3
  7. package/dist/AppHeader.js +1 -1
  8. package/dist/AppHeader.mjs +4 -4
  9. package/dist/Avatar.mjs +2 -2
  10. package/dist/Badge.js +1 -1
  11. package/dist/Badge.mjs +3 -3
  12. package/dist/Button.js +1 -1
  13. package/dist/Button.mjs +3 -3
  14. package/dist/Card.mjs +2 -2
  15. package/dist/CategoryStrip.js +1 -1
  16. package/dist/CategoryStrip.mjs +3 -3
  17. package/dist/Checkbox.mjs +2 -2
  18. package/dist/Chip.js +1 -1
  19. package/dist/Chip.mjs +3 -3
  20. package/dist/ConfirmDialog.d.mts +1 -6
  21. package/dist/ConfirmDialog.d.ts +1 -6
  22. package/dist/ConfirmDialog.js +30 -24
  23. package/dist/ConfirmDialog.mjs +4 -4
  24. package/dist/CurrencyDisplay.mjs +2 -2
  25. package/dist/CurrencyInput.d.mts +3 -8
  26. package/dist/CurrencyInput.d.ts +3 -8
  27. package/dist/CurrencyInput.js +4 -2
  28. package/dist/CurrencyInput.mjs +4 -4
  29. package/dist/DetailRow.d.mts +1 -1
  30. package/dist/DetailRow.d.ts +1 -1
  31. package/dist/DetailRow.js +1 -1
  32. package/dist/DetailRow.mjs +3 -3
  33. package/dist/EmptyState.js +1 -1
  34. package/dist/EmptyState.mjs +4 -4
  35. package/dist/ErrorBoundary.js +1 -1
  36. package/dist/ErrorBoundary.mjs +3 -3
  37. package/dist/Form.mjs +2 -2
  38. package/dist/IconButton.js +1 -1
  39. package/dist/IconButton.mjs +3 -3
  40. package/dist/IconPicker.d.mts +17 -0
  41. package/dist/IconPicker.d.ts +17 -0
  42. package/dist/IconPicker.js +1424 -0
  43. package/dist/IconPicker.mjs +8 -0
  44. package/dist/ImageUpload.d.mts +3 -1
  45. package/dist/ImageUpload.d.ts +3 -1
  46. package/dist/ImageUpload.js +28 -10
  47. package/dist/ImageUpload.mjs +3 -3
  48. package/dist/ImageViewer.js +1 -1
  49. package/dist/ImageViewer.mjs +5 -5
  50. package/dist/Input.js +1 -1
  51. package/dist/Input.mjs +3 -3
  52. package/dist/LabelValue.js +1 -1
  53. package/dist/LabelValue.mjs +3 -3
  54. package/dist/ListGroup.mjs +2 -2
  55. package/dist/ListItem.d.mts +7 -7
  56. package/dist/ListItem.d.ts +7 -7
  57. package/dist/ListItem.js +13 -8
  58. package/dist/ListItem.mjs +3 -3
  59. package/dist/MediaCard.js +1 -1
  60. package/dist/MediaCard.mjs +3 -3
  61. package/dist/MenuGroup.mjs +2 -2
  62. package/dist/MenuItem.js +1 -1
  63. package/dist/MenuItem.mjs +3 -3
  64. package/dist/MonthPicker.mjs +2 -2
  65. package/dist/NumberStepper.d.mts +19 -0
  66. package/dist/NumberStepper.d.ts +19 -0
  67. package/dist/NumberStepper.js +410 -0
  68. package/dist/NumberStepper.mjs +9 -0
  69. package/dist/PagerDots.js +1 -1
  70. package/dist/PagerDots.mjs +3 -3
  71. package/dist/Pressable.d.mts +15 -7
  72. package/dist/Pressable.d.ts +15 -7
  73. package/dist/Pressable.js +7 -3
  74. package/dist/Pressable.mjs +1 -1
  75. package/dist/PricingCard.js +1 -1
  76. package/dist/PricingCard.mjs +5 -5
  77. package/dist/Progress.mjs +2 -2
  78. package/dist/RadioGroup.mjs +2 -2
  79. package/dist/RetrayProvider.mjs +3 -3
  80. package/dist/Select.mjs +2 -2
  81. package/dist/SelectableGrid.js +1 -1
  82. package/dist/SelectableGrid.mjs +3 -3
  83. package/dist/Separator.mjs +2 -2
  84. package/dist/Sheet.d.mts +4 -46
  85. package/dist/Sheet.d.ts +4 -46
  86. package/dist/Sheet.js +46 -114
  87. package/dist/Sheet.mjs +2 -3
  88. package/dist/SheetSelect.js +1 -1
  89. package/dist/SheetSelect.mjs +3 -3
  90. package/dist/Skeleton.mjs +2 -2
  91. package/dist/Slider.mjs +2 -2
  92. package/dist/Spinner.mjs +2 -2
  93. package/dist/Stats.d.mts +30 -0
  94. package/dist/Stats.d.ts +30 -0
  95. package/dist/Stats.js +429 -0
  96. package/dist/Stats.mjs +9 -0
  97. package/dist/Switch.mjs +2 -2
  98. package/dist/TabBar.js +1 -1
  99. package/dist/TabBar.mjs +3 -3
  100. package/dist/Tabs.mjs +2 -2
  101. package/dist/Text.d.mts +3 -1
  102. package/dist/Text.d.ts +3 -1
  103. package/dist/Text.js +3 -3
  104. package/dist/Text.mjs +2 -2
  105. package/dist/Textarea.js +1 -1
  106. package/dist/Textarea.mjs +3 -3
  107. package/dist/Toast.mjs +2 -2
  108. package/dist/Toggle.js +1 -1
  109. package/dist/Toggle.mjs +3 -3
  110. package/dist/{chunk-DJ7RN37L.mjs → chunk-265G6A46.mjs} +2 -2
  111. package/dist/{chunk-WOEYDUJZ.mjs → chunk-2A2LEFZG.mjs} +2 -2
  112. package/dist/{chunk-ID72TK46.mjs → chunk-2CBQKU7H.mjs} +1 -1
  113. package/dist/{chunk-OB4JUQ3O.mjs → chunk-2I2AYECM.mjs} +1 -1
  114. package/dist/{chunk-WJLKJMKR.mjs → chunk-357YO24D.mjs} +4 -4
  115. package/dist/{chunk-GQYFLP3D.mjs → chunk-3GEYJ7I5.mjs} +1 -1
  116. package/dist/{chunk-AV4EMIRH.mjs → chunk-3N2M3WZL.mjs} +1 -1
  117. package/dist/{chunk-TERDKCLE.mjs → chunk-3UYAZ7I4.mjs} +2 -2
  118. package/dist/{chunk-JMOZEC77.mjs → chunk-4WFMPFZB.mjs} +1 -1
  119. package/dist/chunk-5OLNXP3S.mjs +144 -0
  120. package/dist/{chunk-6OAZJ577.mjs → chunk-7HSILTC4.mjs} +3 -3
  121. package/dist/{chunk-IRRY3CRZ.mjs → chunk-AKM4EPOT.mjs} +1 -1
  122. package/dist/{chunk-VGTDN7SW.mjs → chunk-AQEVCEXV.mjs} +2 -2
  123. package/dist/{chunk-WBOOUHSS.mjs → chunk-BCWEHE34.mjs} +1 -1
  124. package/dist/{chunk-AJ7ZDNBT.mjs → chunk-BOVUP27T.mjs} +1 -1
  125. package/dist/{chunk-BRKYVJVV.mjs → chunk-BQZE3HAW.mjs} +1 -1
  126. package/dist/{chunk-MLF3EZFW.mjs → chunk-D3Y2T42P.mjs} +2 -2
  127. package/dist/{chunk-3U4SSNWP.mjs → chunk-DF6DU42P.mjs} +2 -2
  128. package/dist/{chunk-ZJKGQMYH.mjs → chunk-DI7CBDL6.mjs} +2 -2
  129. package/dist/{chunk-2TFTAWVJ.mjs → chunk-DOGIPOF5.mjs} +2 -2
  130. package/dist/{chunk-MBMXYJJV.mjs → chunk-E7NEHHXV.mjs} +7 -3
  131. package/dist/{chunk-MX6HRKMI.mjs → chunk-EFLFRAHD.mjs} +1 -1
  132. package/dist/{chunk-SOYNZDVY.mjs → chunk-EMUWGDWC.mjs} +6 -1
  133. package/dist/{chunk-4I7D47FH.mjs → chunk-F4V6XLP4.mjs} +4 -4
  134. package/dist/{chunk-UREA2GYY.mjs → chunk-FA2KMTH5.mjs} +2 -2
  135. package/dist/{chunk-Y2NS74WS.mjs → chunk-FFTYLPSB.mjs} +46 -98
  136. package/dist/{chunk-OHBNABL5.mjs → chunk-FUVYSVGR.mjs} +14 -9
  137. package/dist/{chunk-KIHCWCWL.mjs → chunk-FVTVCJAH.mjs} +2 -2
  138. package/dist/{chunk-Y4GL2MHX.mjs → chunk-GK4VRMNE.mjs} +30 -12
  139. package/dist/{chunk-6Q64UFIA.mjs → chunk-HJ46DTJE.mjs} +1 -1
  140. package/dist/{chunk-WF2XDFRK.mjs → chunk-HLMPMUK2.mjs} +1 -1
  141. package/dist/{chunk-GD6KXMG5.mjs → chunk-I4V5XZPS.mjs} +1 -1
  142. package/dist/{chunk-AZJF2BLK.mjs → chunk-ISY26JQJ.mjs} +2 -2
  143. package/dist/{chunk-X4G6APW6.mjs → chunk-J6Q2YJEV.mjs} +1 -1
  144. package/dist/{chunk-KZL5VTYK.mjs → chunk-JCZQOY4O.mjs} +31 -24
  145. package/dist/{chunk-CZCQZHG6.mjs → chunk-JNVAIDLK.mjs} +2 -2
  146. package/dist/{chunk-SOA2Z4RB.mjs → chunk-JULSIZDM.mjs} +1 -1
  147. package/dist/{chunk-T7XZ7H7Y.mjs → chunk-KA7LTET3.mjs} +17 -3
  148. package/dist/chunk-KHYX4IOM.mjs +1114 -0
  149. package/dist/{chunk-LXJIIOYQ.mjs → chunk-LRM4AVYY.mjs} +2 -2
  150. package/dist/{chunk-VQ57HWPL.mjs → chunk-MYZ2EDYU.mjs} +2 -2
  151. package/dist/chunk-N4ZPVCJH.mjs +126 -0
  152. package/dist/{chunk-NA7PARID.mjs → chunk-NXI4YDZ2.mjs} +2 -2
  153. package/dist/{chunk-4K625MVM.mjs → chunk-OULVKTWL.mjs} +2 -2
  154. package/dist/{chunk-A4MDAP7G.mjs → chunk-P64WHW4A.mjs} +2 -2
  155. package/dist/{chunk-URI2WBIV.mjs → chunk-P73V2EKS.mjs} +2 -2
  156. package/dist/{chunk-ZUR7AU5R.mjs → chunk-PGERH3P7.mjs} +2 -2
  157. package/dist/{chunk-2UYENBLV.mjs → chunk-QSFV2P7O.mjs} +1 -1
  158. package/dist/{chunk-JT7HKXRB.mjs → chunk-S3KJCPEJ.mjs} +1 -1
  159. package/dist/{chunk-6MKGPAR2.mjs → chunk-V6NFJXKO.mjs} +2 -2
  160. package/dist/{chunk-A3A6KNQN.mjs → chunk-WOEWGSTU.mjs} +1 -1
  161. package/dist/{chunk-JUXSWN54.mjs → chunk-X26S5EVZ.mjs} +4 -2
  162. package/dist/{chunk-YFZ3ELX5.mjs → chunk-XBAGGKLW.mjs} +2 -2
  163. package/dist/{chunk-JB67UOB5.mjs → chunk-ZHMSAYLT.mjs} +2 -2
  164. package/dist/fonts.d.mts +1 -7
  165. package/dist/fonts.d.ts +1 -7
  166. package/dist/fonts.js +0 -2
  167. package/dist/fonts.mjs +1 -2
  168. package/dist/index.d.mts +7 -1
  169. package/dist/index.d.ts +7 -1
  170. package/dist/index.js +1831 -475
  171. package/dist/index.mjs +54 -51
  172. package/package.json +3 -3
  173. package/src/components/ConfirmDialog/ConfirmDialog.tsx +39 -30
  174. package/src/components/CurrencyInput/CurrencyInput.tsx +4 -7
  175. package/src/components/DetailRow/DetailRow.tsx +1 -1
  176. package/src/components/IconPicker/IconPicker.tsx +395 -0
  177. package/src/components/IconPicker/index.ts +1 -0
  178. package/src/components/ImageUpload/ImageUpload.tsx +34 -12
  179. package/src/components/ListItem/ListItem.tsx +43 -28
  180. package/src/components/NumberStepper/NumberStepper.tsx +147 -0
  181. package/src/components/NumberStepper/index.ts +1 -0
  182. package/src/components/Pressable/Pressable.tsx +20 -8
  183. package/src/components/Sheet/Sheet.tsx +64 -172
  184. package/src/components/Stats/Stats.tsx +226 -0
  185. package/src/components/Stats/index.ts +2 -0
  186. package/src/components/Text/Text.tsx +4 -2
  187. package/src/fonts.ts +0 -7
  188. package/src/index.ts +7 -1
  189. package/src/theme/colorUtils.ts +9 -0
  190. package/src/utils/curatedIcons.ts +849 -0
  191. package/src/utils/fontGuard.ts +2 -1
  192. package/src/utils/icons.ts +20 -2
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A personal React Native / Expo UI component library with a built-in design system, dark mode support, haptic feedback, and smooth animations.
4
4
 
5
- - 51 components across 9 categories (plus the deep-import `HolographicCard`)
5
+ - 54 components across 9 categories (plus the deep-import `HolographicCard`)
6
6
  - Light/dark theme with 12 public tokens (25 resolved) and full customization
7
7
  - Apple HIG–compliant touch targets and haptic feedback
8
8
  - Animated interactions: spring press, sliding tabs, accordion easing, animated progress
@@ -23,14 +23,14 @@ pnpm add @retray-dev/ui-kit
23
23
  Install these in your app if not already present:
24
24
 
25
25
  ```bash
26
- pnpm add expo-font expo-haptics expo-linear-gradient react-native-safe-area-context @gorhom/bottom-sheet react-native-reanimated react-native-gesture-handler react-native-worklets @react-native-picker/picker @react-native-community/slider @expo/vector-icons react-native-size-matters react-native-svg react-native-screens sonner-native pressto react-native-ease
26
+ pnpm add expo-font expo-haptics expo-linear-gradient react-native-safe-area-context @gorhom/bottom-sheet react-native-reanimated react-native-gesture-handler react-native-worklets @react-native-picker/picker @react-native-community/slider @expo/vector-icons react-native-size-matters react-native-svg react-native-screens sonner-native pressto react-native-ease expo-image-picker
27
27
  ```
28
28
 
29
29
  For Expo projects, run `npx expo install` instead to get SDK-compatible versions.
30
30
 
31
31
  `pressto` is **required** — it powers the press animations on every interactive component. Omitting it crashes the import. `sonner-native` is **required** for `Toast`.
32
32
 
33
- **Optional:** for richer haptics in a custom dev build (not Expo Go), also `pnpm add react-native-pulsar`. The kit falls back to `expo-haptics` automatically when it is absent. For the deep-import `HolographicCard`, add `@shopify/react-native-skia expo-sensors`.
33
+ **Optional:** for richer haptics in a custom dev build (not Expo Go), also `pnpm add react-native-pulsar`. The kit falls back to `expo-haptics` automatically when it is absent. For `ImageUpload`, add `expo-image-picker`. For the deep-import `HolographicCard`, add `@shopify/react-native-skia expo-sensors`.
34
34
 
35
35
  Add the Worklets Babel plugin to `babel.config.js` (required by `@gorhom/bottom-sheet`):
36
36
 
@@ -177,13 +177,17 @@ import { SPACING, ICON_SIZES, RADIUS, SHADOWS, BREAKPOINTS, TYPOGRAPHY } from '@
177
177
  | `BREAKPOINTS` | `wide` (700) |
178
178
  | `TYPOGRAPHY` | 16 variants: `display-hero`, `display-xl`, `display-lg`, `display-md`, `display-sm`, `title-md`, `title-sm`, `body-md`, `body-sm`, `caption`, `caption-sm`, `badge-text`, `micro-label`, `uppercase-tag`, `button-lg`, `button-sm` |
179
179
 
180
+ ### Color Utilities
181
+
182
+ - **`withAlpha(color: string, alpha: number)`** — takes a hex color string (e.g., `"#6366f1"`) and an opacity value (0–1), returns an `rgba()` string. Useful for semi-transparent overlays without adding a separate token.
183
+
180
184
  ## Components
181
185
 
182
186
  | Category | Components |
183
187
  | ----------- | ----------------------------------------------------------------------------------------------- |
184
- | Display | `Text`, `Badge`, `Avatar`, `Separator`, `Spinner`, `Skeleton`, `Progress`, `CurrencyDisplay` |
188
+ | Display | `Text`, `Badge`, `Avatar`, `Separator`, `Spinner`, `Skeleton`, `Progress`, `CurrencyDisplay`, `Stats` |
185
189
  | Surfaces | `Card`, `AlertBanner`, `EmptyState`, `MediaCard`, `PricingCard` |
186
- | Form | `Form` (+ `Form.Field` / `Form.Section` / `Form.Footer`), `Button`, `ButtonGroup`, `IconButton`, `Input`, `CurrencyInput`, `Textarea`, `Checkbox`, `Switch`, `Toggle`, `RadioGroup`, `Select`, `Slider`, `SelectableGrid`, `SheetSelect`, `ImageUpload` |
190
+ | Form | `Form` (+ `Form.Field` / `Form.Section` / `Form.Footer`), `Button`, `ButtonGroup`, `IconButton`, `Input`, `CurrencyInput`, `Textarea`, `Checkbox`, `Switch`, `Toggle`, `RadioGroup`, `Select`, `Slider`, `SelectableGrid`, `SheetSelect`, `ImageUpload`, `IconPicker`, `NumberStepper` |
187
191
  | Composition | `Tabs`, `Accordion` |
188
192
  | Navigation | `AppHeader`, `TabBar`, `PagerDots` |
189
193
  | Overlays | `Sheet`, `ConfirmDialog`, `ImageViewer` |
@@ -220,6 +224,11 @@ toast({ title: 'Saved', variant: 'success' })
220
224
  options={[{ label: 'Option A', value: 'a' }, { label: 'Option B', value: 'b' }]}
221
225
  placeholder="Pick one"
222
226
  />
227
+
228
+ // Color utilities
229
+ import { useTheme, withAlpha } from '@retray-dev/ui-kit'
230
+ const { colors } = useTheme()
231
+ ;<View style={{ backgroundColor: withAlpha(colors.primary, 0.15) }} />
223
232
  ```
224
233
 
225
234
  Full props reference and more examples are available in [COMPONENTS.md](./COMPONENTS.md), which is also shipped inside the npm package for use with AI tools:
package/dist/Accordion.js CHANGED
@@ -217,7 +217,7 @@ var ALL_FAMILIES = [
217
217
  ];
218
218
  var activeFamilies = ALL_FAMILIES;
219
219
  var resolvedCache = null;
220
- function buildCache() {
220
+ function buildCache(families) {
221
221
  const cache = /* @__PURE__ */ new Map();
222
222
  for (const family of activeFamilies) {
223
223
  const glyphMap = family.getGlyphMap();
@@ -1,7 +1,7 @@
1
- export { Accordion } from './chunk-DJ7RN37L.mjs';
1
+ export { Accordion } from './chunk-265G6A46.mjs';
2
2
  import './chunk-EJ7ZPXOH.mjs';
3
3
  import './chunk-DVK4G2GT.mjs';
4
- import './chunk-T7XZ7H7Y.mjs';
5
- import './chunk-SOYNZDVY.mjs';
4
+ import './chunk-KA7LTET3.mjs';
5
+ import './chunk-EMUWGDWC.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
@@ -156,7 +156,7 @@ var ALL_FAMILIES = [
156
156
  ];
157
157
  var activeFamilies = ALL_FAMILIES;
158
158
  var resolvedCache = null;
159
- function buildCache() {
159
+ function buildCache(families) {
160
160
  const cache = /* @__PURE__ */ new Map();
161
161
  for (const family of activeFamilies) {
162
162
  const glyphMap = family.getGlyphMap();
@@ -1,6 +1,6 @@
1
- export { AlertBanner } from './chunk-6MKGPAR2.mjs';
1
+ export { AlertBanner } from './chunk-V6NFJXKO.mjs';
2
2
  import './chunk-QY3X2UYR.mjs';
3
- import './chunk-T7XZ7H7Y.mjs';
4
- import './chunk-SOYNZDVY.mjs';
3
+ import './chunk-KA7LTET3.mjs';
4
+ import './chunk-EMUWGDWC.mjs';
5
5
  import './chunk-2CE3TQVY.mjs';
6
6
  import './chunk-Y6FXYEAI.mjs';
package/dist/AppHeader.js CHANGED
@@ -218,7 +218,7 @@ var ALL_FAMILIES = [
218
218
  ];
219
219
  var activeFamilies = ALL_FAMILIES;
220
220
  var resolvedCache = null;
221
- function buildCache() {
221
+ function buildCache(families) {
222
222
  const cache = /* @__PURE__ */ new Map();
223
223
  for (const family of activeFamilies) {
224
224
  const glyphMap = family.getGlyphMap();
@@ -1,10 +1,10 @@
1
- export { AppHeader } from './chunk-AZJF2BLK.mjs';
2
- import './chunk-3U4SSNWP.mjs';
1
+ export { AppHeader } from './chunk-ISY26JQJ.mjs';
2
+ import './chunk-DF6DU42P.mjs';
3
3
  import './chunk-3DKJ2GIC.mjs';
4
4
  import './chunk-EJ7ZPXOH.mjs';
5
5
  import './chunk-DVK4G2GT.mjs';
6
6
  import './chunk-QY3X2UYR.mjs';
7
- import './chunk-T7XZ7H7Y.mjs';
8
- import './chunk-SOYNZDVY.mjs';
7
+ import './chunk-KA7LTET3.mjs';
8
+ import './chunk-EMUWGDWC.mjs';
9
9
  import './chunk-2CE3TQVY.mjs';
10
10
  import './chunk-Y6FXYEAI.mjs';
package/dist/Avatar.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { Avatar } from './chunk-JT7HKXRB.mjs';
2
- import './chunk-SOYNZDVY.mjs';
1
+ export { Avatar } from './chunk-S3KJCPEJ.mjs';
2
+ import './chunk-EMUWGDWC.mjs';
3
3
  import './chunk-2CE3TQVY.mjs';
4
4
  import './chunk-Y6FXYEAI.mjs';
package/dist/Badge.js CHANGED
@@ -155,7 +155,7 @@ var ALL_FAMILIES = [
155
155
  ];
156
156
  var activeFamilies = ALL_FAMILIES;
157
157
  var resolvedCache = null;
158
- function buildCache() {
158
+ function buildCache(families) {
159
159
  const cache = /* @__PURE__ */ new Map();
160
160
  for (const family of activeFamilies) {
161
161
  const glyphMap = family.getGlyphMap();
package/dist/Badge.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { Badge } from './chunk-TERDKCLE.mjs';
2
- import './chunk-T7XZ7H7Y.mjs';
3
- import './chunk-SOYNZDVY.mjs';
1
+ export { Badge } from './chunk-3UYAZ7I4.mjs';
2
+ import './chunk-KA7LTET3.mjs';
3
+ import './chunk-EMUWGDWC.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
5
5
  import './chunk-Y6FXYEAI.mjs';
package/dist/Button.js CHANGED
@@ -217,7 +217,7 @@ var ALL_FAMILIES = [
217
217
  ];
218
218
  var activeFamilies = ALL_FAMILIES;
219
219
  var resolvedCache = null;
220
- function buildCache() {
220
+ function buildCache(families) {
221
221
  const cache = /* @__PURE__ */ new Map();
222
222
  for (const family of activeFamilies) {
223
223
  const glyphMap = family.getGlyphMap();
package/dist/Button.mjs CHANGED
@@ -1,9 +1,9 @@
1
- export { Button } from './chunk-2TFTAWVJ.mjs';
1
+ export { Button } from './chunk-DOGIPOF5.mjs';
2
2
  import './chunk-3DKJ2GIC.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
5
  import './chunk-QY3X2UYR.mjs';
6
- import './chunk-T7XZ7H7Y.mjs';
7
- import './chunk-SOYNZDVY.mjs';
6
+ import './chunk-KA7LTET3.mjs';
7
+ import './chunk-EMUWGDWC.mjs';
8
8
  import './chunk-2CE3TQVY.mjs';
9
9
  import './chunk-Y6FXYEAI.mjs';
package/dist/Card.mjs CHANGED
@@ -1,8 +1,8 @@
1
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-ID72TK46.mjs';
1
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-2CBQKU7H.mjs';
2
2
  import './chunk-3DKJ2GIC.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
5
  import './chunk-QY3X2UYR.mjs';
6
- import './chunk-SOYNZDVY.mjs';
6
+ import './chunk-EMUWGDWC.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
8
  import './chunk-Y6FXYEAI.mjs';
@@ -217,7 +217,7 @@ var ALL_FAMILIES = [
217
217
  ];
218
218
  var activeFamilies = ALL_FAMILIES;
219
219
  var resolvedCache = null;
220
- function buildCache() {
220
+ function buildCache(families) {
221
221
  const cache = /* @__PURE__ */ new Map();
222
222
  for (const family of activeFamilies) {
223
223
  const glyphMap = family.getGlyphMap();
@@ -1,9 +1,9 @@
1
- export { CategoryStrip } from './chunk-VQ57HWPL.mjs';
1
+ export { CategoryStrip } from './chunk-MYZ2EDYU.mjs';
2
2
  import './chunk-YNROWHQJ.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
5
  import './chunk-QY3X2UYR.mjs';
6
- import './chunk-T7XZ7H7Y.mjs';
7
- import './chunk-SOYNZDVY.mjs';
6
+ import './chunk-KA7LTET3.mjs';
7
+ import './chunk-EMUWGDWC.mjs';
8
8
  import './chunk-2CE3TQVY.mjs';
9
9
  import './chunk-Y6FXYEAI.mjs';
package/dist/Checkbox.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { Checkbox } from './chunk-AV4EMIRH.mjs';
1
+ export { Checkbox } from './chunk-3N2M3WZL.mjs';
2
2
  import './chunk-3DKJ2GIC.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
- import './chunk-SOYNZDVY.mjs';
5
+ import './chunk-EMUWGDWC.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
package/dist/Chip.js CHANGED
@@ -218,7 +218,7 @@ var ALL_FAMILIES = [
218
218
  ];
219
219
  var activeFamilies = ALL_FAMILIES;
220
220
  var resolvedCache = null;
221
- function buildCache() {
221
+ function buildCache(families) {
222
222
  const cache = /* @__PURE__ */ new Map();
223
223
  for (const family of activeFamilies) {
224
224
  const glyphMap = family.getGlyphMap();
package/dist/Chip.mjs CHANGED
@@ -1,8 +1,8 @@
1
- export { Chip, ChipGroup } from './chunk-UREA2GYY.mjs';
1
+ export { Chip, ChipGroup } from './chunk-FA2KMTH5.mjs';
2
2
  import './chunk-3DKJ2GIC.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
- import './chunk-T7XZ7H7Y.mjs';
6
- import './chunk-SOYNZDVY.mjs';
5
+ import './chunk-KA7LTET3.mjs';
6
+ import './chunk-EMUWGDWC.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
8
  import './chunk-Y6FXYEAI.mjs';
@@ -3,20 +3,15 @@ import React from 'react';
3
3
  interface ConfirmDialogProps {
4
4
  visible: boolean;
5
5
  title: string;
6
- /** Secondary text below title. */
7
6
  subtitle?: string;
8
- /** @deprecated Use `subtitle` instead. */
9
- description?: string;
10
7
  confirmLabel?: string;
11
8
  cancelLabel?: string;
12
9
  confirmVariant?: 'primary' | 'destructive';
13
- /** Show a loading spinner in the confirm button (e.g. while async action completes). */
14
10
  loading?: boolean;
15
- /** Show an X close button in the top-right corner. */
16
11
  showCloseButton?: boolean;
17
12
  onConfirm: () => void;
18
13
  onCancel: () => void;
19
14
  }
20
- declare function ConfirmDialog({ visible, title, subtitle, description, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
15
+ declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
21
16
 
22
17
  export { ConfirmDialog, type ConfirmDialogProps };
@@ -3,20 +3,15 @@ import React from 'react';
3
3
  interface ConfirmDialogProps {
4
4
  visible: boolean;
5
5
  title: string;
6
- /** Secondary text below title. */
7
6
  subtitle?: string;
8
- /** @deprecated Use `subtitle` instead. */
9
- description?: string;
10
7
  confirmLabel?: string;
11
8
  cancelLabel?: string;
12
9
  confirmVariant?: 'primary' | 'destructive';
13
- /** Show a loading spinner in the confirm button (e.g. while async action completes). */
14
10
  loading?: boolean;
15
- /** Show an X close button in the top-right corner. */
16
11
  showCloseButton?: boolean;
17
12
  onConfirm: () => void;
18
13
  onCancel: () => void;
19
14
  }
20
- declare function ConfirmDialog({ visible, title, subtitle, description, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
15
+ declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
21
16
 
22
17
  export { ConfirmDialog, type ConfirmDialogProps };
@@ -2,7 +2,8 @@
2
2
 
3
3
  var React3 = require('react');
4
4
  var reactNative = require('react-native');
5
- var BottomSheet = require('@gorhom/bottom-sheet');
5
+ var bottomSheet = require('@gorhom/bottom-sheet');
6
+ var reactNativeSafeAreaContext = require('react-native-safe-area-context');
6
7
  var vectorIcons = require('@expo/vector-icons');
7
8
  var reactNativeSizeMatters = require('react-native-size-matters');
8
9
  var AntDesign = require('@expo/vector-icons/AntDesign');
@@ -17,7 +18,6 @@ var reactNativeReanimated = require('react-native-reanimated');
17
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
19
 
19
20
  var React3__default = /*#__PURE__*/_interopDefault(React3);
20
- var BottomSheet__default = /*#__PURE__*/_interopDefault(BottomSheet);
21
21
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
22
22
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
23
23
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -240,7 +240,7 @@ var ALL_FAMILIES = [
240
240
  ];
241
241
  var activeFamilies = ALL_FAMILIES;
242
242
  var resolvedCache = null;
243
- function buildCache() {
243
+ function buildCache(families) {
244
244
  const cache = /* @__PURE__ */ new Map();
245
245
  for (const family of activeFamilies) {
246
246
  const glyphMap = family.getGlyphMap();
@@ -457,7 +457,6 @@ function ConfirmDialog({
457
457
  visible,
458
458
  title,
459
459
  subtitle,
460
- description,
461
460
  confirmLabel = "Confirm",
462
461
  cancelLabel = "Cancel",
463
462
  confirmVariant = "primary",
@@ -467,38 +466,45 @@ function ConfirmDialog({
467
466
  onCancel
468
467
  }) {
469
468
  const { colors } = useTheme();
469
+ const insets = reactNativeSafeAreaContext.useSafeAreaInsets();
470
470
  const ref = React3.useRef(null);
471
- const effectiveSubtitle = subtitle ?? description;
471
+ const wasOpened = React3.useRef(false);
472
+ const name = React3.useId();
472
473
  React3.useEffect(() => {
473
474
  if (visible) {
474
475
  impactMedium();
475
- ref.current?.snapToIndex(0);
476
- } else {
477
- ref.current?.close();
476
+ ref.current?.present();
477
+ wasOpened.current = true;
478
+ } else if (wasOpened.current) {
479
+ ref.current?.dismiss();
478
480
  }
479
481
  }, [visible]);
480
- const renderBackdrop = (props) => /* @__PURE__ */ React3__default.default.createElement(
481
- BottomSheet.BottomSheetBackdrop,
482
- {
483
- ...props,
484
- disappearsOnIndex: -1,
485
- appearsOnIndex: 0,
486
- pressBehavior: "close"
487
- }
482
+ const renderBackdrop = React3.useCallback(
483
+ (props) => /* @__PURE__ */ React3__default.default.createElement(
484
+ bottomSheet.BottomSheetBackdrop,
485
+ {
486
+ ...props,
487
+ disappearsOnIndex: -1,
488
+ appearsOnIndex: 0,
489
+ pressBehavior: "close"
490
+ }
491
+ ),
492
+ []
488
493
  );
489
494
  return /* @__PURE__ */ React3__default.default.createElement(
490
- BottomSheet__default.default,
495
+ bottomSheet.BottomSheetModal,
491
496
  {
492
497
  ref,
493
- index: -1,
494
- onClose: onCancel,
498
+ name,
499
+ onDismiss: onCancel,
495
500
  enableDynamicSizing: true,
496
501
  backdropComponent: renderBackdrop,
497
- backgroundStyle: [styles2.background, { backgroundColor: colors.card }],
498
- handleIndicatorStyle: [styles2.handle, { backgroundColor: colors.border }],
499
- enablePanDownToClose: true
502
+ backgroundStyle: { ...styles2.background, backgroundColor: colors.card },
503
+ handleIndicatorStyle: { ...styles2.handle, backgroundColor: colors.border },
504
+ enablePanDownToClose: true,
505
+ topInset: insets.top
500
506
  },
501
- /* @__PURE__ */ React3__default.default.createElement(BottomSheet.BottomSheetView, { style: styles2.content }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.header, accessibilityRole: "header" }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.headerRow }, /* @__PURE__ */ React3__default.default.createElement(reactNative.Text, { style: [styles2.title, { color: colors.foreground }], allowFontScaling: true }, title), showCloseButton ? /* @__PURE__ */ React3__default.default.createElement(
507
+ /* @__PURE__ */ React3__default.default.createElement(bottomSheet.BottomSheetView, { style: styles2.content }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.header, accessibilityRole: "header" }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.headerRow }, /* @__PURE__ */ React3__default.default.createElement(reactNative.Text, { style: [styles2.title, { color: colors.foreground }], allowFontScaling: true }, title), showCloseButton ? /* @__PURE__ */ React3__default.default.createElement(
502
508
  reactNative.TouchableOpacity,
503
509
  {
504
510
  onPress: onCancel,
@@ -510,7 +516,7 @@ function ConfirmDialog({
510
516
  hitSlop: { top: 12, bottom: 12, left: 12, right: 12 }
511
517
  },
512
518
  /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Feather, { name: "x", size: ms(18), color: colors.foregroundMuted })
513
- ) : null), effectiveSubtitle ? /* @__PURE__ */ React3__default.default.createElement(reactNative.Text, { style: [styles2.subtitle, { color: colors.foregroundMuted }], allowFontScaling: true }, effectiveSubtitle) : null), /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.actions }, /* @__PURE__ */ React3__default.default.createElement(
519
+ ) : null), subtitle ? /* @__PURE__ */ React3__default.default.createElement(reactNative.Text, { style: [styles2.subtitle, { color: colors.foregroundMuted }], allowFontScaling: true }, subtitle) : null), /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.actions }, /* @__PURE__ */ React3__default.default.createElement(
514
520
  Button,
515
521
  {
516
522
  label: confirmLabel,
@@ -1,10 +1,10 @@
1
- export { ConfirmDialog } from './chunk-KZL5VTYK.mjs';
2
- import './chunk-2TFTAWVJ.mjs';
1
+ export { ConfirmDialog } from './chunk-JCZQOY4O.mjs';
2
+ import './chunk-DOGIPOF5.mjs';
3
3
  import './chunk-3DKJ2GIC.mjs';
4
4
  import './chunk-EJ7ZPXOH.mjs';
5
5
  import './chunk-DVK4G2GT.mjs';
6
6
  import './chunk-QY3X2UYR.mjs';
7
- import './chunk-T7XZ7H7Y.mjs';
8
- import './chunk-SOYNZDVY.mjs';
7
+ import './chunk-KA7LTET3.mjs';
8
+ import './chunk-EMUWGDWC.mjs';
9
9
  import './chunk-2CE3TQVY.mjs';
10
10
  import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- export { CurrencyDisplay } from './chunk-BRKYVJVV.mjs';
2
- import './chunk-SOYNZDVY.mjs';
1
+ export { CurrencyDisplay } from './chunk-BQZE3HAW.mjs';
2
+ import './chunk-EMUWGDWC.mjs';
3
3
  import './chunk-2CE3TQVY.mjs';
4
4
  import './chunk-Y6FXYEAI.mjs';
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
- import { ViewStyle, TextStyle } from 'react-native';
2
+ import { TextInputProps, ViewStyle } from 'react-native';
3
3
 
4
- interface CurrencyInputProps {
5
- value?: string;
6
- onChangeText?: (formatted: string) => void;
4
+ interface CurrencyInputProps extends TextInputProps {
7
5
  /** Called with the parsed numeric value (no separators, no prefix). */
8
6
  onChangeValue?: (raw: number) => void;
9
7
  /** Currency symbol shown left of the value. Any string (`'$'`, `'€'`, `'£'`, `'COP '`). Defaults to `'$'`. */
@@ -16,13 +14,10 @@ interface CurrencyInputProps {
16
14
  /** Red helper text; also changes input border to destructive color. */
17
15
  error?: string;
18
16
  hint?: string;
19
- placeholder?: string;
20
- editable?: boolean;
21
17
  containerStyle?: ViewStyle;
22
- style?: TextStyle;
23
18
  /** Use inside a Sheet/BottomSheet — passes sheetMode to the underlying Input. */
24
19
  sheetMode?: boolean;
25
20
  }
26
- declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, }: CurrencyInputProps): React.JSX.Element;
21
+ declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React.JSX.Element;
27
22
 
28
23
  export { CurrencyInput, type CurrencyInputProps };
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
- import { ViewStyle, TextStyle } from 'react-native';
2
+ import { TextInputProps, ViewStyle } from 'react-native';
3
3
 
4
- interface CurrencyInputProps {
5
- value?: string;
6
- onChangeText?: (formatted: string) => void;
4
+ interface CurrencyInputProps extends TextInputProps {
7
5
  /** Called with the parsed numeric value (no separators, no prefix). */
8
6
  onChangeValue?: (raw: number) => void;
9
7
  /** Currency symbol shown left of the value. Any string (`'$'`, `'€'`, `'£'`, `'COP '`). Defaults to `'$'`. */
@@ -16,13 +14,10 @@ interface CurrencyInputProps {
16
14
  /** Red helper text; also changes input border to destructive color. */
17
15
  error?: string;
18
16
  hint?: string;
19
- placeholder?: string;
20
- editable?: boolean;
21
17
  containerStyle?: ViewStyle;
22
- style?: TextStyle;
23
18
  /** Use inside a Sheet/BottomSheet — passes sheetMode to the underlying Input. */
24
19
  sheetMode?: boolean;
25
20
  }
26
- declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, }: CurrencyInputProps): React.JSX.Element;
21
+ declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React.JSX.Element;
27
22
 
28
23
  export { CurrencyInput, type CurrencyInputProps };
@@ -159,7 +159,7 @@ var ALL_FAMILIES = [
159
159
  ];
160
160
  var activeFamilies = ALL_FAMILIES;
161
161
  var resolvedCache = null;
162
- function buildCache() {
162
+ function buildCache(families) {
163
163
  const cache = /* @__PURE__ */ new Map();
164
164
  for (const family of activeFamilies) {
165
165
  const glyphMap = family.getGlyphMap();
@@ -379,7 +379,8 @@ function CurrencyInput({
379
379
  editable,
380
380
  containerStyle,
381
381
  style,
382
- sheetMode
382
+ sheetMode,
383
+ ...props
383
384
  }) {
384
385
  const handleChange = (text) => {
385
386
  const withoutPrefix = prefix && text.startsWith(prefix) ? text.slice(prefix.length) : text;
@@ -400,6 +401,7 @@ function CurrencyInput({
400
401
  return /* @__PURE__ */ React3__default.default.createElement(
401
402
  Input,
402
403
  {
404
+ ...props,
403
405
  value: displayValue,
404
406
  onChangeText: handleChange,
405
407
  keyboardType: "numeric",
@@ -1,7 +1,7 @@
1
- export { CurrencyInput } from './chunk-JUXSWN54.mjs';
2
- import './chunk-ZUR7AU5R.mjs';
1
+ export { CurrencyInput } from './chunk-X26S5EVZ.mjs';
2
+ import './chunk-PGERH3P7.mjs';
3
3
  import './chunk-DVK4G2GT.mjs';
4
- import './chunk-T7XZ7H7Y.mjs';
5
- import './chunk-SOYNZDVY.mjs';
4
+ import './chunk-KA7LTET3.mjs';
5
+ import './chunk-EMUWGDWC.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
@@ -5,7 +5,7 @@ type DetailRowSeparator = 'dotted' | 'solid' | 'dashed' | 'none';
5
5
  type DetailRowLabelWeight = 'normal' | 'medium' | 'semibold' | 'bold';
6
6
  interface DetailRowProps {
7
7
  label: React.ReactNode;
8
- value: string | React.ReactNode;
8
+ value: string | number | React.ReactNode;
9
9
  /** Dotted/dashed/solid line between label and value. Defaults to 'dotted'. */
10
10
  separator?: DetailRowSeparator;
11
11
  labelWeight?: DetailRowLabelWeight;
@@ -5,7 +5,7 @@ type DetailRowSeparator = 'dotted' | 'solid' | 'dashed' | 'none';
5
5
  type DetailRowLabelWeight = 'normal' | 'medium' | 'semibold' | 'bold';
6
6
  interface DetailRowProps {
7
7
  label: React.ReactNode;
8
- value: string | React.ReactNode;
8
+ value: string | number | React.ReactNode;
9
9
  /** Dotted/dashed/solid line between label and value. Defaults to 'dotted'. */
10
10
  separator?: DetailRowSeparator;
11
11
  labelWeight?: DetailRowLabelWeight;
package/dist/DetailRow.js CHANGED
@@ -155,7 +155,7 @@ var ALL_FAMILIES = [
155
155
  ];
156
156
  var activeFamilies = ALL_FAMILIES;
157
157
  var resolvedCache = null;
158
- function buildCache() {
158
+ function buildCache(families) {
159
159
  const cache = /* @__PURE__ */ new Map();
160
160
  for (const family of activeFamilies) {
161
161
  const glyphMap = family.getGlyphMap();
@@ -1,5 +1,5 @@
1
- export { DetailRow } from './chunk-JB67UOB5.mjs';
2
- import './chunk-T7XZ7H7Y.mjs';
3
- import './chunk-SOYNZDVY.mjs';
1
+ export { DetailRow } from './chunk-ZHMSAYLT.mjs';
2
+ import './chunk-KA7LTET3.mjs';
3
+ import './chunk-EMUWGDWC.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
5
5
  import './chunk-Y6FXYEAI.mjs';
@@ -163,7 +163,7 @@ var ALL_FAMILIES = [
163
163
  ];
164
164
  var activeFamilies = ALL_FAMILIES;
165
165
  var resolvedCache = null;
166
- function buildCache() {
166
+ function buildCache(families) {
167
167
  const cache = /* @__PURE__ */ new Map();
168
168
  for (const family of activeFamilies) {
169
169
  const glyphMap = family.getGlyphMap();
@@ -1,10 +1,10 @@
1
- export { EmptyState } from './chunk-6OAZJ577.mjs';
2
- import './chunk-2TFTAWVJ.mjs';
1
+ export { EmptyState } from './chunk-7HSILTC4.mjs';
2
+ import './chunk-DOGIPOF5.mjs';
3
3
  import './chunk-3DKJ2GIC.mjs';
4
4
  import './chunk-EJ7ZPXOH.mjs';
5
5
  import './chunk-DVK4G2GT.mjs';
6
6
  import './chunk-QY3X2UYR.mjs';
7
- import './chunk-T7XZ7H7Y.mjs';
8
- import './chunk-SOYNZDVY.mjs';
7
+ import './chunk-KA7LTET3.mjs';
8
+ import './chunk-EMUWGDWC.mjs';
9
9
  import './chunk-2CE3TQVY.mjs';
10
10
  import './chunk-Y6FXYEAI.mjs';
@@ -156,7 +156,7 @@ var ALL_FAMILIES = [
156
156
  ];
157
157
  var activeFamilies = ALL_FAMILIES;
158
158
  var resolvedCache = null;
159
- function buildCache() {
159
+ function buildCache(families) {
160
160
  const cache = /* @__PURE__ */ new Map();
161
161
  for (const family of activeFamilies) {
162
162
  const glyphMap = family.getGlyphMap();
@@ -1,7 +1,7 @@
1
- export { ErrorBoundary } from './chunk-LXJIIOYQ.mjs';
1
+ export { ErrorBoundary } from './chunk-LRM4AVYY.mjs';
2
2
  import './chunk-EJ7ZPXOH.mjs';
3
3
  import './chunk-QY3X2UYR.mjs';
4
- import './chunk-T7XZ7H7Y.mjs';
5
- import './chunk-SOYNZDVY.mjs';
4
+ import './chunk-KA7LTET3.mjs';
5
+ import './chunk-EMUWGDWC.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
package/dist/Form.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { Form, FormField, FormFooter, FormSection } from './chunk-6Q64UFIA.mjs';
2
- import './chunk-SOYNZDVY.mjs';
1
+ export { Form, FormField, FormFooter, FormSection } from './chunk-HJ46DTJE.mjs';
2
+ import './chunk-EMUWGDWC.mjs';
3
3
  import './chunk-2CE3TQVY.mjs';
4
4
  import './chunk-Y6FXYEAI.mjs';