@oxyhq/bloom 0.67.0 → 0.69.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.
- package/lib/commonjs/animated-check/AnimatedCheck.js +22 -93
- package/lib/commonjs/animated-check/AnimatedCheck.js.map +1 -1
- package/lib/commonjs/avatar/Avatar.js +6 -24
- package/lib/commonjs/avatar/Avatar.js.map +1 -1
- package/lib/commonjs/avatar/AvatarRing.js +14 -30
- package/lib/commonjs/avatar/AvatarRing.js.map +1 -1
- package/lib/commonjs/bottom-sheet/index.js +9 -4
- package/lib/commonjs/bottom-sheet/index.js.map +1 -1
- package/lib/commonjs/connection-status/index.js +16 -7
- package/lib/commonjs/connection-status/index.js.map +1 -1
- package/lib/commonjs/connection-status/netinfo.js +119 -0
- package/lib/commonjs/connection-status/netinfo.js.map +1 -0
- package/lib/commonjs/hooks/haptics-module.js +109 -0
- package/lib/commonjs/hooks/haptics-module.js.map +1 -0
- package/lib/commonjs/hooks/useHaptics.js +6 -8
- package/lib/commonjs/hooks/useHaptics.js.map +1 -1
- package/lib/commonjs/loading/SpinnerIcon.js +22 -55
- package/lib/commonjs/loading/SpinnerIcon.js.map +1 -1
- package/lib/commonjs/theme/adaptive-colors.js +20 -4
- package/lib/commonjs/theme/adaptive-colors.js.map +1 -1
- package/lib/commonjs/theme/color-scope/style-builder.js +107 -6
- package/lib/commonjs/theme/color-scope/style-builder.js.map +1 -1
- package/lib/commonjs/theme/init-css-interop.js +13 -11
- package/lib/commonjs/theme/init-css-interop.js.map +1 -1
- package/lib/commonjs/toast/Toaster.js +5 -0
- package/lib/commonjs/toast/Toaster.js.map +1 -1
- package/lib/commonjs/toast/use-single-outlet-guard.js +72 -0
- package/lib/commonjs/toast/use-single-outlet-guard.js.map +1 -0
- package/lib/module/animated-check/AnimatedCheck.js +22 -91
- package/lib/module/animated-check/AnimatedCheck.js.map +1 -1
- package/lib/module/avatar/Avatar.js +1 -19
- package/lib/module/avatar/Avatar.js.map +1 -1
- package/lib/module/avatar/AvatarRing.js +7 -23
- package/lib/module/avatar/AvatarRing.js.map +1 -1
- package/lib/module/bottom-sheet/index.js +9 -4
- package/lib/module/bottom-sheet/index.js.map +1 -1
- package/lib/module/connection-status/index.js +16 -6
- package/lib/module/connection-status/index.js.map +1 -1
- package/lib/module/connection-status/netinfo.js +114 -0
- package/lib/module/connection-status/netinfo.js.map +1 -0
- package/lib/module/hooks/haptics-module.js +104 -0
- package/lib/module/hooks/haptics-module.js.map +1 -0
- package/lib/module/hooks/useHaptics.js +7 -11
- package/lib/module/hooks/useHaptics.js.map +1 -1
- package/lib/module/loading/SpinnerIcon.js +13 -46
- package/lib/module/loading/SpinnerIcon.js.map +1 -1
- package/lib/module/loading/index.web.js +2 -2
- package/lib/module/theme/adaptive-colors.js +20 -4
- package/lib/module/theme/adaptive-colors.js.map +1 -1
- package/lib/module/theme/color-scope/style-builder.js +107 -6
- package/lib/module/theme/color-scope/style-builder.js.map +1 -1
- package/lib/module/theme/init-css-interop.js +13 -11
- package/lib/module/theme/init-css-interop.js.map +1 -1
- package/lib/module/toast/Toaster.js +5 -0
- package/lib/module/toast/Toaster.js.map +1 -1
- package/lib/module/toast/use-single-outlet-guard.js +65 -0
- package/lib/module/toast/use-single-outlet-guard.js.map +1 -0
- package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/AvatarRing.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-status/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-status/netinfo.d.ts +69 -0
- package/lib/typescript/commonjs/connection-status/netinfo.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/haptics-module.d.ts +58 -0
- package/lib/typescript/commonjs/hooks/haptics-module.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useHaptics.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/SpinnerIcon.d.ts +9 -2
- package/lib/typescript/commonjs/loading/SpinnerIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/init-css-interop.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/Toaster.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/use-single-outlet-guard.d.ts +9 -0
- package/lib/typescript/commonjs/toast/use-single-outlet-guard.d.ts.map +1 -0
- package/lib/typescript/module/animated-check/AnimatedCheck.d.ts.map +1 -1
- package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/avatar/AvatarRing.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/index.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/netinfo.d.ts +69 -0
- package/lib/typescript/module/connection-status/netinfo.d.ts.map +1 -0
- package/lib/typescript/module/hooks/haptics-module.d.ts +58 -0
- package/lib/typescript/module/hooks/haptics-module.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useHaptics.d.ts.map +1 -1
- package/lib/typescript/module/loading/SpinnerIcon.d.ts +9 -2
- package/lib/typescript/module/loading/SpinnerIcon.d.ts.map +1 -1
- package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-scope/style-builder.d.ts.map +1 -1
- package/lib/typescript/module/theme/init-css-interop.d.ts.map +1 -1
- package/lib/typescript/module/toast/Toaster.d.ts.map +1 -1
- package/lib/typescript/module/toast/use-single-outlet-guard.d.ts +9 -0
- package/lib/typescript/module/toast/use-single-outlet-guard.d.ts.map +1 -0
- package/package.json +348 -88
- package/src/__tests__/color-scope-nativewind.test.ts +135 -0
- package/src/__tests__/connection-status-netinfo.test.tsx +203 -0
- package/src/__tests__/exports-map-contract.test.ts +112 -0
- package/src/__tests__/optional-peer-imports.test.ts +406 -0
- package/src/__tests__/svg-required-peer.test.tsx +75 -0
- package/src/__tests__/toast-single-outlet-guard.test.tsx +176 -0
- package/src/__tests__/useHaptics.test.tsx +203 -16
- package/src/animated-check/AnimatedCheck.tsx +19 -86
- package/src/avatar/Avatar.tsx +1 -11
- package/src/avatar/AvatarRing.tsx +7 -15
- package/src/bottom-sheet/index.tsx +9 -4
- package/src/connection-status/index.tsx +16 -6
- package/src/connection-status/netinfo.ts +131 -0
- package/src/hooks/haptics-module.ts +118 -0
- package/src/hooks/useHaptics.tsx +6 -9
- package/src/loading/SpinnerIcon.tsx +13 -52
- package/src/loading/index.web.ts +2 -2
- package/src/theme/adaptive-colors.ts +20 -4
- package/src/theme/color-scope/style-builder.ts +118 -6
- package/src/theme/init-css-interop.ts +13 -11
- package/src/toast/Toaster.tsx +6 -0
- package/src/toast/use-single-outlet-guard.ts +72 -0
- package/lib/commonjs/avatar/svg-module.js +0 -15
- package/lib/commonjs/avatar/svg-module.js.map +0 -1
- package/lib/commonjs/utils/lazy-require.js +0 -37
- package/lib/commonjs/utils/lazy-require.js.map +0 -1
- package/lib/module/avatar/svg-module.js +0 -11
- package/lib/module/avatar/svg-module.js.map +0 -1
- package/lib/module/utils/lazy-require.js +0 -33
- package/lib/module/utils/lazy-require.js.map +0 -1
- package/lib/typescript/commonjs/avatar/svg-module.d.ts +0 -8
- package/lib/typescript/commonjs/avatar/svg-module.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/lazy-require.d.ts +0 -15
- package/lib/typescript/commonjs/utils/lazy-require.d.ts.map +0 -1
- package/lib/typescript/module/avatar/svg-module.d.ts +0 -8
- package/lib/typescript/module/avatar/svg-module.d.ts.map +0 -1
- package/lib/typescript/module/utils/lazy-require.d.ts +0 -15
- package/lib/typescript/module/utils/lazy-require.d.ts.map +0 -1
- package/src/avatar/svg-module.ts +0 -11
- package/src/utils/lazy-require.ts +0 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haptics-module.d.ts","sourceRoot":"","sources":["../../../../src/hooks/haptics-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB,EAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAQD,kFAAkF;AAClF,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAiChD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAY7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaptics.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHaptics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useHaptics.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHaptics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,6CAA6C;AAC7C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAQ1D,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,OAAc,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAG3F;yBAHe,oBAAoB;;;AAOpC;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,IAAI,CAwBhE"}
|
|
@@ -8,8 +8,15 @@ interface SpinnerIconProps {
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* iOS-style SVG spinner with 8 rotating rectangles and an opacity gradient trail.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
*
|
|
12
|
+
* `react-native-svg` and `react-native-reanimated` are both REQUIRED peers and
|
|
13
|
+
* both are imported statically. Reanimated in particular must never be loaded at
|
|
14
|
+
* runtime: the worklets Babel plugin performs build-time closure analysis
|
|
15
|
+
* (`__closure` metadata) that fails on a runtime require, which crashes the UI
|
|
16
|
+
* thread with "Tried to synchronously call a non-worklet function `addListener`".
|
|
17
|
+
*
|
|
18
|
+
* Native only — `SpinnerIcon.web.tsx` draws the same shape with CSS, so this
|
|
19
|
+
* file is never reached by a web bundler.
|
|
13
20
|
*/
|
|
14
21
|
export declare const SpinnerIcon: React.FC<SpinnerIconProps>;
|
|
15
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwDlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgH3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-builder.d.ts","sourceRoot":"","sources":["../../../../../src/theme/color-scope/style-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"style-builder.d.ts","sourceRoot":"","sources":["../../../../../src/theme/color-scope/style-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA6CtD;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC,aAAa,CAAC;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAkEH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,YAAY,EACzB,IAAI,EAAE,OAAO,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,IAAI,gCAAgC,GAAG,IAAI,CAepF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EACzB,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,SAAS,CAAC,SAAS,CAAC,CAQtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-css-interop.d.ts","sourceRoot":"","sources":["../../../../src/theme/init-css-interop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-css-interop.d.ts","sourceRoot":"","sources":["../../../../src/theme/init-css-interop.ts"],"names":[],"mappings":"AAyHA;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAS7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../../src/toast/Toaster.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../../src/toast/Toaster.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AA0BjB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8M1C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function useSingleOutletGuard(): void;
|
|
2
|
+
/**
|
|
3
|
+
* Test-only reset: both the counter and the one-shot latch are module state that
|
|
4
|
+
* outlives a render tree, so without this the first suite to mount two outlets
|
|
5
|
+
* would latch the warning and leave every later suite asserting against a guard
|
|
6
|
+
* that can no longer fire — passing whatever the implementation did.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resetSingleOutletGuardForTests(): void;
|
|
9
|
+
//# sourceMappingURL=use-single-outlet-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-single-outlet-guard.d.ts","sourceRoot":"","sources":["../../../../src/toast/use-single-outlet-guard.ts"],"names":[],"mappings":"AAmCA,wBAAgB,oBAAoB,IAAI,IAAI,CAyB3C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedCheck.d.ts","sourceRoot":"","sources":["../../../../src/animated-check/AnimatedCheck.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AnimatedCheck.d.ts","sourceRoot":"","sources":["../../../../src/animated-check/AnimatedCheck.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AA4B5E,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD;;;;GAIG;AACH,eAAO,MAAM,aAAa,6FAyDzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAY/D,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAY/D,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AAoX7D,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarRing.d.ts","sourceRoot":"","sources":["../../../../src/avatar/AvatarRing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,OAAO,KAAK,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,UAAU,eAAe;IACvB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,iBAAiB,EAAE,2BAA2B,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"AvatarRing.d.ts","sourceRoot":"","sources":["../../../../src/avatar/AvatarRing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,OAAO,KAAK,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,UAAU,eAAe;IACvB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,iBAAiB,EAAE,2BAA2B,CAAC;CAChD;AA2HD,eAAO,MAAM,UAAU,6CAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEtB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEtB,MAAM,mBAAmB,CAAC;AAmF3B,QAAA,MAAM,WAAW,yFAEf,CAAC;AAUH,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;AACjD,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connection-status/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connection-status/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAA6B,KAAK,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAEvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,KAAK,GAAE,2BAAgC,GAAG,IAAI,CAsBpF;yBAtBe,sBAAsB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The optional-peer boundary for `@react-native-community/netinfo`.
|
|
3
|
+
*
|
|
4
|
+
* netinfo is an OPTIONAL peer, and a static `import` contradicts that: an
|
|
5
|
+
* optional peer that is omitted does not degrade, it fails to RESOLVE, and Metro
|
|
6
|
+
* aborts the whole bundle with `Unable to resolve module
|
|
7
|
+
* @react-native-community/netinfo` — naming a package the app never mentions.
|
|
8
|
+
* Bloom's other optional-peer static imports are immune by accident (`expo-font`
|
|
9
|
+
* ships inside `expo`; `react-dom` is required by react-native-web), but netinfo
|
|
10
|
+
* arrives with nothing, so for this one the failure is real.
|
|
11
|
+
*
|
|
12
|
+
* Metro treats a `require()` of a STRING LITERAL inside a `try` block as an
|
|
13
|
+
* optional dependency: it resolves the real module when installed, and writes
|
|
14
|
+
* `null` into the dependency map when it is not, so the failure moves from build
|
|
15
|
+
* time to the `catch` below. Three constraints the shape has to respect, each
|
|
16
|
+
* checked against metro 0.83.5's own `collectDependencies`:
|
|
17
|
+
*
|
|
18
|
+
* - The specifier must be STATICALLY EVALUABLE, and a literal is the only form
|
|
19
|
+
* worth relying on. Metro rewrites a require it cannot evaluate — the
|
|
20
|
+
* specifier arriving as a function parameter, say — into a thrower ("Dynamic
|
|
21
|
+
* require defined at line N; not supported by Metro"), collecting no
|
|
22
|
+
* dependency at all, so it resolves nothing whether or not the package is
|
|
23
|
+
* installed. That is the defect that made Bloom's haptics, spinner and
|
|
24
|
+
* native color scoping silently dead before it was swept out.
|
|
25
|
+
* - The require must be a DIRECT statement of the try block.
|
|
26
|
+
* `isOptionalDependency` walks up from the call and returns at the first
|
|
27
|
+
* BlockStatement it meets, marking the dependency optional only if that
|
|
28
|
+
* block belongs to a `try`. One `if`/`else` of nesting is enough to lose it,
|
|
29
|
+
* and a non-optional dependency that cannot be resolved fails the BUILD —
|
|
30
|
+
* precisely what this boundary exists to avoid. Hence the `typeof require`
|
|
31
|
+
* guard below sits outside the try rather than inside it.
|
|
32
|
+
* - `require` may not exist at all (this file also backs the `import`
|
|
33
|
+
* condition, i.e. an ESM build under Node), hence that guard.
|
|
34
|
+
*
|
|
35
|
+
* The caller degrades to inert rather than throwing: an absent netinfo costs the
|
|
36
|
+
* outage toast and nothing else, and crashing an app root over a missing
|
|
37
|
+
* cosmetic affordance would be a worse trade than the build failure this
|
|
38
|
+
* replaces. The degradation is silent by construction — a connection toast that
|
|
39
|
+
* never appears looks exactly like a connection that never dropped — so
|
|
40
|
+
* {@link warnNetInfoUnavailable} names the missing package once, in dev.
|
|
41
|
+
*/
|
|
42
|
+
/** The slice of netinfo's state this component reads. */
|
|
43
|
+
export interface NetInfoStateLike {
|
|
44
|
+
isConnected: boolean | null;
|
|
45
|
+
isInternetReachable: boolean | null | undefined;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The slice of netinfo's module surface this component calls.
|
|
49
|
+
*
|
|
50
|
+
* Hand-written rather than `typeof import('@react-native-community/netinfo')` so
|
|
51
|
+
* no netinfo type reaches Bloom's emitted declarations — a consumer that skips
|
|
52
|
+
* the optional peer must not inherit a TS7016 from Bloom's own `.d.ts`. The two
|
|
53
|
+
* are kept in step by the assignability check in
|
|
54
|
+
* `__tests__/connection-status-netinfo.test.tsx`, which is excluded from the
|
|
55
|
+
* build and so may name the real package.
|
|
56
|
+
*/
|
|
57
|
+
export interface NetInfoLike {
|
|
58
|
+
addEventListener: (listener: (state: NetInfoStateLike) => void) => () => void;
|
|
59
|
+
}
|
|
60
|
+
/** The netinfo module, or `null` when the optional peer is not installed. */
|
|
61
|
+
export declare function loadNetInfo(): NetInfoLike | null;
|
|
62
|
+
/**
|
|
63
|
+
* One warning per module lifetime, and none in production — the same mechanism
|
|
64
|
+
* as `toast/use-single-outlet-guard.ts`. Metro and Vite/Rolldown both fold the
|
|
65
|
+
* `NODE_ENV` check statically, so a production bundle keeps neither the branch
|
|
66
|
+
* nor the message.
|
|
67
|
+
*/
|
|
68
|
+
export declare function warnNetInfoUnavailable(): void;
|
|
69
|
+
//# sourceMappingURL=netinfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netinfo.d.ts","sourceRoot":"","sources":["../../../../src/connection-status/netinfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AASH,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC/E;AAQD,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAiChD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAa7C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The optional-peer boundary for `expo-haptics`.
|
|
3
|
+
*
|
|
4
|
+
* The load has to be dynamic — an optional peer that is omitted does not
|
|
5
|
+
* degrade when it is imported statically, it fails to RESOLVE and Metro aborts
|
|
6
|
+
* the whole bundle naming a package the app never mentions. But it also has to
|
|
7
|
+
* be dynamic in the ONE shape Metro understands: a `require()` of a STRING
|
|
8
|
+
* LITERAL inside a `try` block, which Metro collects as an optional dependency
|
|
9
|
+
* (resolving the real module when installed, writing `null` into the dependency
|
|
10
|
+
* map when it is not, so the failure lands in the `catch` below at evaluation
|
|
11
|
+
* time instead of at build time).
|
|
12
|
+
*
|
|
13
|
+
* The shape this replaced — the deleted `utils/lazy-require.ts`, which took the
|
|
14
|
+
* specifier as a function PARAMETER — satisfied neither. Metro can only collect
|
|
15
|
+
* a dependency whose specifier it can evaluate statically; a parameter it
|
|
16
|
+
* cannot, so it collected nothing and rewrote the call into a thrower ("Dynamic
|
|
17
|
+
* require defined at line N; not supported by Metro"). From a consumer's
|
|
18
|
+
* `node_modules` that resolved NOTHING, installed or not: `expo-haptics` was
|
|
19
|
+
* never loaded on any device and every haptic in Bloom was a silent no-op. It
|
|
20
|
+
* only ever worked under jest, which is CommonJS with a real dynamic `require`.
|
|
21
|
+
*
|
|
22
|
+
* `require` may also not exist at all (this file backs the `import` condition
|
|
23
|
+
* too, i.e. an ESM build under Node), hence the `typeof` guard.
|
|
24
|
+
*
|
|
25
|
+
* A missing haptic is invisible — indistinguishable from a device with haptics
|
|
26
|
+
* turned off — so {@link warnHapticsUnavailable} names the package once, in dev.
|
|
27
|
+
*
|
|
28
|
+
* @see connection-status/netinfo.ts — the same boundary for netinfo.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* The slice of expo-haptics' module surface this hook calls.
|
|
32
|
+
*
|
|
33
|
+
* Hand-written rather than `typeof import('expo-haptics')` so no expo-haptics
|
|
34
|
+
* type reaches Bloom's emitted declarations — a consumer that skips the optional
|
|
35
|
+
* peer must not inherit a TS7016 from Bloom's own `.d.ts`. The two are kept in
|
|
36
|
+
* step by the assignability check in `__tests__/useHaptics.test.tsx`, which is
|
|
37
|
+
* excluded from the build and so may name the real package.
|
|
38
|
+
*
|
|
39
|
+
* `impactAsync` is declared in METHOD syntax deliberately: `strictFunctionTypes`
|
|
40
|
+
* exempts method parameters from contravariance, which is what keeps the real
|
|
41
|
+
* `(style?: ImpactFeedbackStyle) => Promise<void>` assignable to a `string`
|
|
42
|
+
* parameter here. The widening cannot admit a bad value in practice — the only
|
|
43
|
+
* arguments passed are read straight back out of `ImpactFeedbackStyle`.
|
|
44
|
+
*/
|
|
45
|
+
export interface HapticsLike {
|
|
46
|
+
ImpactFeedbackStyle: Record<'Light' | 'Medium' | 'Heavy', string>;
|
|
47
|
+
impactAsync(style?: string): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
/** The expo-haptics module, or `null` when the optional peer is not installed. */
|
|
50
|
+
export declare function loadHaptics(): HapticsLike | null;
|
|
51
|
+
/**
|
|
52
|
+
* One warning per module lifetime, and none in production — the same mechanism
|
|
53
|
+
* as `connection-status/netinfo.ts` and `toast/use-single-outlet-guard.ts`.
|
|
54
|
+
* Metro and Vite/Rolldown both fold the `NODE_ENV` check statically, so a
|
|
55
|
+
* production bundle keeps neither the branch nor the message.
|
|
56
|
+
*/
|
|
57
|
+
export declare function warnHapticsUnavailable(): void;
|
|
58
|
+
//# sourceMappingURL=haptics-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haptics-module.d.ts","sourceRoot":"","sources":["../../../../src/hooks/haptics-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB,EAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAQD,kFAAkF;AAClF,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAiChD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAY7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaptics.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHaptics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useHaptics.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHaptics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,6CAA6C;AAC7C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAQ1D,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,OAAc,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAG3F;yBAHe,oBAAoB;;;AAOpC;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,IAAI,CAwBhE"}
|
|
@@ -8,8 +8,15 @@ interface SpinnerIconProps {
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* iOS-style SVG spinner with 8 rotating rectangles and an opacity gradient trail.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
*
|
|
12
|
+
* `react-native-svg` and `react-native-reanimated` are both REQUIRED peers and
|
|
13
|
+
* both are imported statically. Reanimated in particular must never be loaded at
|
|
14
|
+
* runtime: the worklets Babel plugin performs build-time closure analysis
|
|
15
|
+
* (`__closure` metadata) that fails on a runtime require, which crashes the UI
|
|
16
|
+
* thread with "Tried to synchronously call a non-worklet function `addListener`".
|
|
17
|
+
*
|
|
18
|
+
* Native only — `SpinnerIcon.web.tsx` draws the same shape with CSS, so this
|
|
19
|
+
* file is never reached by a web bundler.
|
|
13
20
|
*/
|
|
14
21
|
export declare const SpinnerIcon: React.FC<SpinnerIconProps>;
|
|
15
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwDlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgH3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-builder.d.ts","sourceRoot":"","sources":["../../../../../src/theme/color-scope/style-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"style-builder.d.ts","sourceRoot":"","sources":["../../../../../src/theme/color-scope/style-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA6CtD;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC,aAAa,CAAC;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAkEH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,YAAY,EACzB,IAAI,EAAE,OAAO,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,IAAI,gCAAgC,GAAG,IAAI,CAepF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EACzB,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,SAAS,CAAC,SAAS,CAAC,CAQtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-css-interop.d.ts","sourceRoot":"","sources":["../../../../src/theme/init-css-interop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-css-interop.d.ts","sourceRoot":"","sources":["../../../../src/theme/init-css-interop.ts"],"names":[],"mappings":"AAyHA;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAS7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../../src/toast/Toaster.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../../src/toast/Toaster.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AA0BjB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8M1C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function useSingleOutletGuard(): void;
|
|
2
|
+
/**
|
|
3
|
+
* Test-only reset: both the counter and the one-shot latch are module state that
|
|
4
|
+
* outlives a render tree, so without this the first suite to mount two outlets
|
|
5
|
+
* would latch the warning and leave every later suite asserting against a guard
|
|
6
|
+
* that can no longer fire — passing whatever the implementation did.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resetSingleOutletGuardForTests(): void;
|
|
9
|
+
//# sourceMappingURL=use-single-outlet-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-single-outlet-guard.d.ts","sourceRoot":"","sources":["../../../../src/toast/use-single-outlet-guard.ts"],"names":[],"mappings":"AAmCA,wBAAgB,oBAAoB,IAAI,IAAI,CAyB3C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
|