@oxyhq/bloom 0.51.1 → 0.52.1
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/bottom-sheet/BottomSheetBase.js +7 -4
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/commonjs/connection-dots/ConnectionDots.web.js.map +1 -1
- package/lib/commonjs/design-tokens/shadows.js +4 -0
- package/lib/commonjs/design-tokens/shadows.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +26 -10
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/frosted-icon-button/shared.js +10 -0
- package/lib/commonjs/frosted-icon-button/shared.js.map +1 -1
- package/lib/commonjs/index.js +66 -66
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +90 -90
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/loading/Loading.web.js.map +1 -1
- package/lib/commonjs/loading/SpinnerIcon.web.js +10 -6
- package/lib/commonjs/loading/SpinnerIcon.web.js.map +1 -1
- package/lib/commonjs/motion/index.js +1 -1
- package/lib/commonjs/motion/index.web.js +32 -0
- package/lib/commonjs/motion/index.web.js.map +1 -0
- package/lib/commonjs/motion/motion.js +10 -2
- package/lib/commonjs/motion/motion.js.map +1 -1
- package/lib/commonjs/motion/motion.web.js +137 -0
- package/lib/commonjs/motion/motion.web.js.map +1 -0
- package/lib/commonjs/progressive-blur/index.web.js.map +1 -1
- package/lib/commonjs/styles/web-view-style.js +33 -0
- package/lib/commonjs/styles/web-view-style.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +46 -7
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/commonjs/tab-bar/glyph.js +9 -4
- package/lib/commonjs/tab-bar/glyph.js.map +1 -1
- package/lib/commonjs/tab-bar/glyph.native.js +7 -2
- package/lib/commonjs/tab-bar/glyph.native.js.map +1 -1
- package/lib/commonjs/tab-bar/index.js +7 -0
- package/lib/commonjs/tab-bar/index.js.map +1 -1
- package/lib/commonjs/tab-bar/index.web.js +7 -0
- package/lib/commonjs/tab-bar/index.web.js.map +1 -1
- package/lib/commonjs/tab-bar/shared.js +32 -1
- package/lib/commonjs/tab-bar/shared.js.map +1 -1
- package/lib/commonjs/tab-bar/surface.web.js.map +1 -1
- package/lib/commonjs/tab-bar/use-footprint.js +56 -0
- package/lib/commonjs/tab-bar/use-footprint.js.map +1 -0
- package/lib/commonjs/toast/ToastRow.js +7 -3
- package/lib/commonjs/toast/ToastRow.js.map +1 -1
- package/lib/commonjs/toast/ToastSwipeHandler.js +29 -13
- package/lib/commonjs/toast/ToastSwipeHandler.js.map +1 -1
- package/lib/commonjs/toast/constants.js +29 -1
- package/lib/commonjs/toast/constants.js.map +1 -1
- package/lib/commonjs/toast/position-utils.js +9 -4
- package/lib/commonjs/toast/position-utils.js.map +1 -1
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +12 -9
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js +7 -4
- package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/module/connection-dots/ConnectionDots.web.js.map +1 -1
- package/lib/module/design-tokens/shadows.js +4 -0
- package/lib/module/design-tokens/shadows.js.map +1 -1
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +26 -10
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/frosted-icon-button/shared.js +10 -0
- package/lib/module/frosted-icon-button/shared.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/loading/Loading.web.js.map +1 -1
- package/lib/module/loading/SpinnerIcon.web.js +10 -6
- package/lib/module/loading/SpinnerIcon.web.js.map +1 -1
- package/lib/module/motion/index.js +1 -1
- package/lib/module/motion/index.js.map +1 -1
- package/lib/module/motion/index.web.js +10 -0
- package/lib/module/motion/index.web.js.map +1 -0
- package/lib/module/motion/motion.js +10 -2
- package/lib/module/motion/motion.js.map +1 -1
- package/lib/module/motion/motion.web.js +133 -0
- package/lib/module/motion/motion.web.js.map +1 -0
- package/lib/module/progressive-blur/index.web.js.map +1 -1
- package/lib/module/styles/web-view-style.js +33 -0
- package/lib/module/styles/web-view-style.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +47 -8
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/tab-bar/glyph.js +9 -4
- package/lib/module/tab-bar/glyph.js.map +1 -1
- package/lib/module/tab-bar/glyph.native.js +7 -2
- package/lib/module/tab-bar/glyph.native.js.map +1 -1
- package/lib/module/tab-bar/index.js +1 -0
- package/lib/module/tab-bar/index.js.map +1 -1
- package/lib/module/tab-bar/index.web.js +1 -0
- package/lib/module/tab-bar/index.web.js.map +1 -1
- package/lib/module/tab-bar/shared.js +30 -0
- package/lib/module/tab-bar/shared.js.map +1 -1
- package/lib/module/tab-bar/surface.web.js.map +1 -1
- package/lib/module/tab-bar/use-footprint.js +52 -0
- package/lib/module/tab-bar/use-footprint.js.map +1 -0
- package/lib/module/toast/ToastRow.js +8 -4
- package/lib/module/toast/ToastRow.js.map +1 -1
- package/lib/module/toast/ToastSwipeHandler.js +29 -13
- package/lib/module/toast/ToastSwipeHandler.js.map +1 -1
- package/lib/module/toast/constants.js +28 -1
- package/lib/module/toast/constants.js.map +1 -1
- package/lib/module/toast/position-utils.js +9 -4
- package/lib/module/toast/position-utils.js.map +1 -1
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +12 -9
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-dots/ConnectionDots.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/design-tokens/shadows.d.ts +4 -0
- package/lib/typescript/commonjs/design-tokens/shadows.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts +10 -0
- package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -2
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/Loading.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/SpinnerIcon.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/motion/index.web.d.ts +9 -0
- package/lib/typescript/commonjs/motion/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/motion.d.ts +14 -6
- package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -1
- package/lib/typescript/commonjs/motion/motion.web.d.ts +79 -0
- package/lib/typescript/commonjs/motion/motion.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles/web-view-style.d.ts +49 -0
- package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/glyph.d.ts +1 -1
- package/lib/typescript/commonjs/tab-bar/glyph.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts +1 -1
- package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/index.d.ts +1 -0
- package/lib/typescript/commonjs/tab-bar/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/shared.d.ts +25 -0
- package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/surface.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/types.d.ts +37 -1
- package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/use-footprint.d.ts +31 -0
- package/lib/typescript/commonjs/tab-bar/use-footprint.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts +12 -6
- package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/constants.d.ts +26 -8
- package/lib/typescript/commonjs/toast/constants.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/position-utils.d.ts +8 -3
- package/lib/typescript/commonjs/toast/position-utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/module/connection-dots/ConnectionDots.web.d.ts.map +1 -1
- package/lib/typescript/module/design-tokens/shadows.d.ts +4 -0
- package/lib/typescript/module/design-tokens/shadows.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/frosted-icon-button/shared.d.ts +10 -0
- package/lib/typescript/module/frosted-icon-button/shared.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -2
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/loading/Loading.web.d.ts.map +1 -1
- package/lib/typescript/module/loading/SpinnerIcon.web.d.ts.map +1 -1
- package/lib/typescript/module/motion/index.web.d.ts +9 -0
- package/lib/typescript/module/motion/index.web.d.ts.map +1 -0
- package/lib/typescript/module/motion/motion.d.ts +14 -6
- package/lib/typescript/module/motion/motion.d.ts.map +1 -1
- package/lib/typescript/module/motion/motion.web.d.ts +79 -0
- package/lib/typescript/module/motion/motion.web.d.ts.map +1 -0
- package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -1
- package/lib/typescript/module/styles/web-view-style.d.ts +49 -0
- package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/glyph.d.ts +1 -1
- package/lib/typescript/module/tab-bar/glyph.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/glyph.native.d.ts +1 -1
- package/lib/typescript/module/tab-bar/glyph.native.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/index.d.ts +1 -0
- package/lib/typescript/module/tab-bar/index.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/index.web.d.ts +1 -0
- package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/shared.d.ts +25 -0
- package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/surface.web.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/types.d.ts +37 -1
- package/lib/typescript/module/tab-bar/types.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/use-footprint.d.ts +31 -0
- package/lib/typescript/module/tab-bar/use-footprint.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastRow.d.ts.map +1 -1
- package/lib/typescript/module/toast/ToastSwipeHandler.d.ts +12 -6
- package/lib/typescript/module/toast/ToastSwipeHandler.d.ts.map +1 -1
- package/lib/typescript/module/toast/constants.d.ts +26 -8
- package/lib/typescript/module/toast/constants.d.ts.map +1 -1
- package/lib/typescript/module/toast/position-utils.d.ts +8 -3
- package/lib/typescript/module/toast/position-utils.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/__tests__/Motion.test.tsx +31 -3
- package/src/__tests__/MotionWebFork.test.ts +140 -0
- package/src/__tests__/TabBar.test.tsx +82 -2
- package/src/__tests__/TabBarAnimatedShorthand.test.ts +135 -0
- package/src/__tests__/TabBarFootprint.test.tsx +172 -0
- package/src/__tests__/TabBarLongPress.test.tsx +258 -0
- package/src/__tests__/TabBarWebFork.test.ts +1 -0
- package/src/__tests__/ToastHostWebFork.test.ts +6 -2
- package/src/__tests__/Toaster.test.tsx +62 -1
- package/src/__tests__/toast-position-utils.test.ts +23 -7
- package/src/__tests__/web-css-style.test.ts +139 -0
- package/src/bottom-sheet/BottomSheetBase.tsx +11 -7
- package/src/connection-dots/ConnectionDots.web.tsx +4 -3
- package/src/design-tokens/shadows.ts +5 -1
- package/src/dialog/Dialog.tsx +1 -1
- package/src/dialog/Dialog.web.tsx +41 -26
- package/src/frosted-icon-button/shared.ts +10 -0
- package/src/index.web.ts +2 -2
- package/src/loading/Loading.web.tsx +7 -5
- package/src/loading/SpinnerIcon.web.tsx +12 -9
- package/src/motion/index.web.ts +8 -0
- package/src/motion/motion.ts +14 -6
- package/src/motion/motion.web.ts +99 -0
- package/src/progressive-blur/index.web.tsx +4 -3
- package/src/styles/web-view-style.ts +50 -0
- package/src/tab-bar/TabBarBase.tsx +54 -15
- package/src/tab-bar/glyph.native.tsx +5 -2
- package/src/tab-bar/glyph.tsx +8 -4
- package/src/tab-bar/index.ts +1 -0
- package/src/tab-bar/index.web.tsx +1 -0
- package/src/tab-bar/shared.ts +38 -0
- package/src/tab-bar/surface.web.tsx +4 -3
- package/src/tab-bar/types.ts +37 -1
- package/src/tab-bar/use-footprint.ts +50 -0
- package/src/toast/ToastRow.tsx +8 -3
- package/src/toast/ToastSwipeHandler.tsx +30 -12
- package/src/toast/constants.ts +28 -0
- package/src/toast/position-utils.ts +10 -5
- package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +9 -8
|
@@ -6,13 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ShrinkAndPop = exports.ScaleAndFadeOut = exports.ScaleAndFadeIn = void 0;
|
|
7
7
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
8
|
/**
|
|
9
|
-
* Reanimated
|
|
10
|
-
*
|
|
9
|
+
* Reanimated layout-animation presets. Each is a value you hand to an
|
|
10
|
+
* `Animated.View`'s `entering` / `exiting` prop:
|
|
11
11
|
*
|
|
12
12
|
* ```tsx
|
|
13
13
|
* <Animated.View entering={ScaleAndFadeIn} exiting={ScaleAndFadeOut} />
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* THIS IS THE NATIVE FILE. Custom worklet builders animate correctly on native
|
|
17
|
+
* and do NOTHING on web, where reanimated resolves an animation by preset name —
|
|
18
|
+
* `motion.web.ts` reimplements all three against the mechanisms web actually
|
|
19
|
+
* supports and documents why the two platforms cannot share one. The exported
|
|
20
|
+
* TYPE is deliberately reanimated's own "thing you can pass to entering/exiting"
|
|
21
|
+
* union rather than the concrete builder shape, so the two files present one
|
|
22
|
+
* contract and no consumer can depend on the mechanism.
|
|
23
|
+
*
|
|
16
24
|
* Ported from Bluesky's custom-animation set. The `'worklet'` directive is
|
|
17
25
|
* preserved through Bloom's build; the consuming app's Metro + reanimated Babel
|
|
18
26
|
* plugin transforms it so the animation runs on the UI thread (same path the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","ScaleAndFadeIn","animations","opacity","withTiming","transform","scale","initialValues","exports","ScaleAndFadeOut","ShrinkAndPop","withDelay","duration","withSequence"],"sourceRoot":"../../../src","sources":["motion/motion.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMC,cAAqC,GAAGA,CAAA,KAAM;EACzD,SAAS;;EACT,OAAO;IACLC,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,CAAC;MAAE,CAAC;IACtC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAI,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AAAAE,OAAA,CAAAP,cAAA,GAAAA,cAAA;AACO,MAAMQ,eAAsC,GAAGA,CAAA,KAAM;EAC1D,SAAS;;EACT,OAAO;IACLP,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,GAAG;MAAE,CAAC;IACxC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AAHAE,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAIO,MAAMC,YAAmC,GAAGA,CAAA,KAAM;EACvD,SAAS;;EACT,OAAO;IACLR,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAQ,gCAAS,EAAC,GAAG,EAAE,IAAAP,iCAAU,EAAC,CAAC,EAAE;QAAEQ,QAAQ,EAAE;MAAI,CAAC,CAAC,CAAC;MACzDP,SAAS,EAAE,CACT;QACEC,KAAK,EAAE,IAAAO,mCAAY,EACjB,IAAAT,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAG,CAAC,CAAC,EACjC,IAAAR,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAI,CAAC,CACnC;MACF,CAAC;IAEL,CAAC;IACDL,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAE,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","ScaleAndFadeIn","animations","opacity","withTiming","transform","scale","initialValues","exports","ScaleAndFadeOut","ShrinkAndPop","withDelay","duration","withSequence"],"sourceRoot":"../../../src","sources":["motion/motion.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMC,cAAqC,GAAGA,CAAA,KAAM;EACzD,SAAS;;EACT,OAAO;IACLC,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,CAAC;MAAE,CAAC;IACtC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAI,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AAAAE,OAAA,CAAAP,cAAA,GAAAA,cAAA;AACO,MAAMQ,eAAsC,GAAGA,CAAA,KAAM;EAC1D,SAAS;;EACT,OAAO;IACLP,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,GAAG;MAAE,CAAC;IACxC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AAHAE,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAIO,MAAMC,YAAmC,GAAGA,CAAA,KAAM;EACvD,SAAS;;EACT,OAAO;IACLR,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAQ,gCAAS,EAAC,GAAG,EAAE,IAAAP,iCAAU,EAAC,CAAC,EAAE;QAAEQ,QAAQ,EAAE;MAAI,CAAC,CAAC,CAAC;MACzDP,SAAS,EAAE,CACT;QACEC,KAAK,EAAE,IAAAO,mCAAY,EACjB,IAAAT,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAG,CAAC,CAAC,EACjC,IAAAR,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAI,CAAC,CACnC;MACF,CAAC;IAEL,CAAC;IACDL,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAE,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ShrinkAndPop = exports.ScaleAndFadeOut = exports.ScaleAndFadeIn = void 0;
|
|
7
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
/**
|
|
9
|
+
* WEB FORK of `motion.ts`. Same three names, same contract ("a value you hand to
|
|
10
|
+
* an `Animated.View`'s `entering` / `exiting`"), different mechanism — because on
|
|
11
|
+
* web the native mechanism does nothing at all and the obvious replacement is
|
|
12
|
+
* worse than nothing.
|
|
13
|
+
*
|
|
14
|
+
* WHY THE DEFAULT FILE CANNOT SERVE WEB. `motion.ts` exports custom
|
|
15
|
+
* `EntryExitAnimationFunction` worklet builders. Reanimated's web layout-animation
|
|
16
|
+
* manager resolves an animation by NAME: `tryGetAnimationConfig` reads
|
|
17
|
+
* `config.presetName` off the function, a custom builder has none, and
|
|
18
|
+
* `checkUndefinedAnimationFail` then bails to `makeElementVisible(element, 0)`.
|
|
19
|
+
* Measured in Chrome 5.x/reanimated 4.5.0: the card mounts at `transform: none`,
|
|
20
|
+
* `opacity: 1` and stays there for every sampled frame of both directions, with
|
|
21
|
+
* one `[Reanimated] Couldn't load entering/exiting animation` warning per element.
|
|
22
|
+
* Native is unaffected — it runs the builder directly, with no name lookup.
|
|
23
|
+
*
|
|
24
|
+
* WHY THE ENTER AND THE EXITS USE DIFFERENT MECHANISMS. Rebuilding all three as
|
|
25
|
+
* `Keyframe`s is the obvious fix and is only HALF right, because reanimated's two
|
|
26
|
+
* web directions differ in one decisive argument:
|
|
27
|
+
*
|
|
28
|
+
* - `exiting` -> `handleExitingAnimation` calls `setElementAnimation` on a
|
|
29
|
+
* throwaway clone with `shouldSavePosition` FALSE. The custom keyframe's
|
|
30
|
+
* `duration x 5` cleanup only tears that clone down, which is what it is for.
|
|
31
|
+
* A `Keyframe` here is safe AND exact: it compiles to a real CSS `@keyframes`
|
|
32
|
+
* rule, so the full scale + opacity shape survives.
|
|
33
|
+
* - `entering` -> `chooseAction` calls `setElementAnimation` on the REAL element
|
|
34
|
+
* with `shouldSavePosition` TRUE, and since a custom keyframe's generated
|
|
35
|
+
* `REA-ENTERING-n` name is absent from reanimated's built-in `Animations`
|
|
36
|
+
* map, `scheduleAnimationCleanup` fires
|
|
37
|
+
* `setElementPosition` at `duration x 5` — `position: absolute`, a frozen
|
|
38
|
+
* `top`/`left`/`width`/`height` snapshot, `transform` cleared. The animation
|
|
39
|
+
* plays and the element is then pinned, silently, one and a half seconds
|
|
40
|
+
* later. That is failure mode (C) in `~/Oxy/AGENTS.md` and it is strictly
|
|
41
|
+
* worse than the inert animation it would replace.
|
|
42
|
+
*
|
|
43
|
+
* So the enter uses a PREDEFINED builder, whose `presetName` IS in `Animations`
|
|
44
|
+
* and therefore skips `scheduleAnimationCleanup` entirely. Predefined builders
|
|
45
|
+
* cannot combine a fade with a scale, so the web enter keeps the fade and drops
|
|
46
|
+
* the 0.7 -> 1 growth. `ScreenTransition` in this same folder already made that
|
|
47
|
+
* trade for the same reason ("on web the slide is intentionally dropped").
|
|
48
|
+
*
|
|
49
|
+
* The imperative shared-value drive (failure mode (A)'s remedy, and what
|
|
50
|
+
* `toast/ToastRow.tsx` uses for its own enter) is the third option and is not
|
|
51
|
+
* available here: these are exported VALUES, not components, so there is no
|
|
52
|
+
* render to hang a `useSharedValue` off — and it could not express an exit at
|
|
53
|
+
* all, since keeping an unmounting element alive is exactly what `exiting` is for.
|
|
54
|
+
*
|
|
55
|
+
* WEB EASING IS LINEAR. `Keyframe` has no `.easing()` modifier, and a per-stop
|
|
56
|
+
* easing only survives `convertAnimationObjectToKeyframes` when it resolves to one
|
|
57
|
+
* of reanimated's seven `WebEasings` names (all of them ease-IN curves), while
|
|
58
|
+
* `.easing(Easing.bezier(...))` needs the `__closure` the worklets babel plugin
|
|
59
|
+
* adds — absent in every Oxy web build — and degrades to linear WITH a warning.
|
|
60
|
+
* `ShrinkAndPop` therefore carries an extra midpoint stop so its piecewise-linear
|
|
61
|
+
* web curve tracks the native `withTiming` segments closely rather than cutting
|
|
62
|
+
* the corner.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
/** `withTiming`'s default, which is what the native builders animate over. */
|
|
66
|
+
const DEFAULT_DURATION = 300;
|
|
67
|
+
/** `ShrinkAndPop`: 75ms shrink + 150ms overshoot, with the fade ending with it. */
|
|
68
|
+
const POP_DURATION = 250;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Entering: fade in.
|
|
72
|
+
*
|
|
73
|
+
* The scale is dropped on web — see the header. `FadeIn`'s own default duration
|
|
74
|
+
* is already 300ms, matching the native builder, and the bare class is exported
|
|
75
|
+
* rather than a `.duration()` instance so nothing shares a mutable builder.
|
|
76
|
+
*/
|
|
77
|
+
const ScaleAndFadeIn = exports.ScaleAndFadeIn = _reactNativeReanimated.FadeIn;
|
|
78
|
+
|
|
79
|
+
/** Exiting counterpart to {@link ScaleAndFadeIn}: fade out while shrinking to 70%. */
|
|
80
|
+
const ScaleAndFadeOut = exports.ScaleAndFadeOut = new _reactNativeReanimated.Keyframe({
|
|
81
|
+
from: {
|
|
82
|
+
opacity: 1,
|
|
83
|
+
transform: [{
|
|
84
|
+
scale: 1
|
|
85
|
+
}]
|
|
86
|
+
},
|
|
87
|
+
to: {
|
|
88
|
+
opacity: 0,
|
|
89
|
+
transform: [{
|
|
90
|
+
scale: 0.7
|
|
91
|
+
}]
|
|
92
|
+
}
|
|
93
|
+
}).duration(DEFAULT_DURATION);
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Exiting with a brief "pop": the scale dips to 70%, overshoots to 110%, and the
|
|
97
|
+
* element fades out.
|
|
98
|
+
*
|
|
99
|
+
* Stops are the native timeline sampled at its own breakpoints, so every property
|
|
100
|
+
* is declared at every stop and nothing depends on CSS's cross-stop interpolation:
|
|
101
|
+
* scale reaches 0.7 at 75ms (30%) and 1.1 at 225ms (90%); opacity holds until
|
|
102
|
+
* 125ms (50%) and then falls to 0 by 250ms. The 50% stop's 0.8333 scale and the
|
|
103
|
+
* 90% stop's 0.2 opacity are the native values at those instants.
|
|
104
|
+
*/
|
|
105
|
+
const ShrinkAndPop = exports.ShrinkAndPop = new _reactNativeReanimated.Keyframe({
|
|
106
|
+
0: {
|
|
107
|
+
opacity: 1,
|
|
108
|
+
transform: [{
|
|
109
|
+
scale: 1
|
|
110
|
+
}]
|
|
111
|
+
},
|
|
112
|
+
30: {
|
|
113
|
+
opacity: 1,
|
|
114
|
+
transform: [{
|
|
115
|
+
scale: 0.7
|
|
116
|
+
}]
|
|
117
|
+
},
|
|
118
|
+
50: {
|
|
119
|
+
opacity: 1,
|
|
120
|
+
transform: [{
|
|
121
|
+
scale: 0.8333
|
|
122
|
+
}]
|
|
123
|
+
},
|
|
124
|
+
90: {
|
|
125
|
+
opacity: 0.2,
|
|
126
|
+
transform: [{
|
|
127
|
+
scale: 1.1
|
|
128
|
+
}]
|
|
129
|
+
},
|
|
130
|
+
100: {
|
|
131
|
+
opacity: 0,
|
|
132
|
+
transform: [{
|
|
133
|
+
scale: 1.1
|
|
134
|
+
}]
|
|
135
|
+
}
|
|
136
|
+
}).duration(POP_DURATION);
|
|
137
|
+
//# sourceMappingURL=motion.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","DEFAULT_DURATION","POP_DURATION","ScaleAndFadeIn","exports","FadeIn","ScaleAndFadeOut","Keyframe","from","opacity","transform","scale","to","duration","ShrinkAndPop"],"sourceRoot":"../../../src","sources":["motion/motion.web.ts"],"mappings":";;;;;;AAwDA,IAAAA,sBAAA,GAAAC,OAAA;AAxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA,MAAMC,gBAAgB,GAAG,GAAG;AAC5B;AACA,MAAMC,YAAY,GAAG,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAqC,GAAAC,OAAA,CAAAD,cAAA,GAAGE,6BAAM;;AAE3D;AACO,MAAMC,eAAsC,GAAAF,OAAA,CAAAE,eAAA,GAAG,IAAIC,+BAAQ,CAAC;EACjEC,IAAI,EAAE;IAAEC,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC;EAAE,CAAC;EAC/CC,EAAE,EAAE;IAAEH,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAAE;AAChD,CAAC,CAAC,CAACE,QAAQ,CAACZ,gBAAgB,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMa,YAAmC,GAAAV,OAAA,CAAAU,YAAA,GAAG,IAAIP,+BAAQ,CAAC;EAC9D,CAAC,EAAE;IAAEE,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC;EAAE,CAAC;EAC5C,EAAE,EAAE;IAAEF,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAAE,CAAC;EAC/C,EAAE,EAAE;IAAEF,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAO,CAAC;EAAE,CAAC;EAClD,EAAE,EAAE;IAAEF,OAAO,EAAE,GAAG;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAAE,CAAC;EACjD,GAAG,EAAE;IAAEF,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAAE;AACjD,CAAC,CAAC,CAACE,QAAQ,CAACX,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_useTheme","_shared","_jsxRuntime","ProgressiveBlur","style","intensity","direction","rest","colors","useTheme","filter","WEB_BLUR_PER_INTENSITY","mask","buildMaskGradient","webStyle","pointerEvents","backdropFilter","WebkitBackdropFilter","maskImage","WebkitMaskImage","backgroundImage","buildTailGradient","background","jsx","View","displayName"],"sourceRoot":"../../../src","sources":["progressive-blur/index.web.tsx"],"mappings":";;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_useTheme","_shared","_jsxRuntime","ProgressiveBlur","style","intensity","direction","rest","colors","useTheme","filter","WEB_BLUR_PER_INTENSITY","mask","buildMaskGradient","webStyle","pointerEvents","backdropFilter","WebkitBackdropFilter","maskImage","WebkitMaskImage","backgroundImage","buildTailGradient","background","jsx","View","displayName"],"sourceRoot":"../../../src","sources":["progressive-blur/index.web.tsx"],"mappings":";;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAIkB,IAAAG,WAAA,GAAAH,OAAA;AAZlB;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,eAAeA,CAAC;EAC9BC,KAAK;EACLC,SAAS,GAAG,CAAC;EACbC,SAAS,GAAG,KAAK;EACjB,GAAGC;AACiB,CAAC,EAAE;EACvB,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAE7B,MAAMC,MAAM,GAAG,QAAQL,SAAS,GAAGM,8BAAsB,KAAK;EAC9D,MAAMC,IAAI,GAAG,IAAAC,yBAAiB,EAACP,SAAS,CAAC;EACzC;EACA;EACA;EACA,MAAMQ,QAAqB,GAAG;IAC5BC,aAAa,EAAE,MAAM;IACrBC,cAAc,EAAEN,MAAM;IACtBO,oBAAoB,EAAEP,MAAM;IAC5BQ,SAAS,EAAEN,IAAI;IACfO,eAAe,EAAEP,IAAI;IACrBQ,eAAe,EAAE,IAAAC,yBAAiB,EAACb,MAAM,CAACc,UAAU,EAAEhB,SAAS;EACjE,CAAC;EAED,oBAAO,IAAAJ,WAAA,CAAAqB,GAAA,EAACzB,YAAA,CAAA0B,IAAI;IAAA,GAAKjB,IAAI;IAAEH,KAAK,EAAE,CAACU,QAAQ,EAAEV,KAAK;EAAE,CAAE,CAAC;AACrD;AAEAD,eAAe,CAACsB,WAAW,GAAG,iBAAiB","ignoreList":[]}
|
|
@@ -23,4 +23,37 @@ exports.WEB_POSITION_FIXED = void 0;
|
|
|
23
23
|
* where Yoga silently ignores it.
|
|
24
24
|
*/
|
|
25
25
|
const WEB_POSITION_FIXED = exports.WEB_POSITION_FIXED = 'fixed';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A `ViewStyle` that may ALSO carry CSS react-native-web forwards straight to the
|
|
29
|
+
* DOM node but React Native does not model at all.
|
|
30
|
+
*
|
|
31
|
+
* This is the OTHER shape of the same RN/RNW type gap `WEB_POSITION_FIXED`
|
|
32
|
+
* covers, and it needs a different escape hatch because the two are structurally
|
|
33
|
+
* different: `position` is a key RN DOES model, just with a narrower value union,
|
|
34
|
+
* so a value-level cast is enough and it can still be written inside an ordinary
|
|
35
|
+
* style object. The properties below have no key on `ViewStyle` at all, so the
|
|
36
|
+
* whole OBJECT has to cross the boundary.
|
|
37
|
+
*
|
|
38
|
+
* ANNOTATE, DO NOT CAST. Every `.web` fork used to spell this `{ … } as ViewStyle`
|
|
39
|
+
* inline. That is not a widening, it is SILENCING: `as` only requires the two
|
|
40
|
+
* types to be COMPARABLE, so `{ animatoin: '…' } as ViewStyle` compiles happily
|
|
41
|
+
* and the typo ships as a style key react-native-web drops on the floor.
|
|
42
|
+
* Annotating with this interface restores excess-property checking — a key that
|
|
43
|
+
* is neither a real RN style nor a listed web-only property is a compile error —
|
|
44
|
+
* and, unlike a widening helper function, it erases completely, so the emitted
|
|
45
|
+
* JavaScript is byte-identical to the cast it replaces.
|
|
46
|
+
*
|
|
47
|
+
* ```ts
|
|
48
|
+
* const glass: WebCssStyle = { backdropFilter: 'blur(24px)' };
|
|
49
|
+
* // …then pass it anywhere a `ViewStyle` is expected.
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* Only add a key here once react-native-web is confirmed to pass it through and
|
|
53
|
+
* RN has no equivalent. Several near-misses do NOT belong: RN 0.83 models
|
|
54
|
+
* `cursor`, `boxShadow`, `filter` and `pointerEvents` on `ViewStyle` directly, so
|
|
55
|
+
* those need no widening at all (`userSelect` is the trap — RN declares it on
|
|
56
|
+
* `TextStyle` only). Prefixed spellings sit alongside the standard ones because
|
|
57
|
+
* Safari still needs them for `backdrop-filter` and `mask-image`.
|
|
58
|
+
*/
|
|
26
59
|
//# sourceMappingURL=web-view-style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WEB_POSITION_FIXED","exports"],"sourceRoot":"../../../src","sources":["styles/web-view-style.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,OAAgC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WEB_POSITION_FIXED","exports"],"sourceRoot":"../../../src","sources":["styles/web-view-style.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,OAAgC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -48,6 +48,7 @@ function TabBarBody({
|
|
|
48
48
|
children,
|
|
49
49
|
activeIndex,
|
|
50
50
|
onIndexChange,
|
|
51
|
+
onIndexLongPress,
|
|
51
52
|
theme: themeOverrides,
|
|
52
53
|
haptics = true,
|
|
53
54
|
style,
|
|
@@ -78,6 +79,11 @@ function TabBarBody({
|
|
|
78
79
|
// scrubbing makes the content jump under the finger.
|
|
79
80
|
const selectIndex = (0, _react.useCallback)(index => onIndexChange?.(index), [onIndexChange]);
|
|
80
81
|
|
|
82
|
+
// Long press is reported through the same shape, and deliberately does NOT
|
|
83
|
+
// select: it is a secondary action on the tab under the finger.
|
|
84
|
+
const longPressIndex = (0, _react.useCallback)(index => onIndexLongPress?.(index), [onIndexLongPress]);
|
|
85
|
+
const hasLongPress = onIndexLongPress !== undefined;
|
|
86
|
+
|
|
81
87
|
// CONTROLLED path: the bar owns the highlight when `activeIndex` is provided,
|
|
82
88
|
// so it tracks the prop even when a consumer renders custom children instead
|
|
83
89
|
// of `TabBarButton`s. Syncing an imperative animation to a controlled prop is
|
|
@@ -142,8 +148,22 @@ function TabBarBody({
|
|
|
142
148
|
(0, _minimizeContext.setMinimized)(minimized, 0);
|
|
143
149
|
(0, _reactNativeReanimated.runOnJS)(selectIndex)(index);
|
|
144
150
|
});
|
|
145
|
-
return _reactNativeGestureHandler.Gesture.Race(pan, tap);
|
|
146
|
-
|
|
151
|
+
if (!hasLongPress) return _reactNativeGestureHandler.Gesture.Race(pan, tap);
|
|
152
|
+
|
|
153
|
+
// Long press: the ONLY path to one, because the detector consumes the
|
|
154
|
+
// bar's touches and a button's inner `Pressable` therefore never sees a
|
|
155
|
+
// real finger (see `TabBarButtonBody`). Added to the race only when a
|
|
156
|
+
// handler was supplied — an always-armed long press would cancel the pan
|
|
157
|
+
// for anyone who rests a finger before scrubbing, and no existing consumer
|
|
158
|
+
// asked for that. It cannot cost a tap either: the tap gesture gives up at
|
|
159
|
+
// 400ms, before this one can activate at 500ms, so the two are never
|
|
160
|
+
// candidates at the same instant. Resolves its index through the same
|
|
161
|
+
// `indexAtX` worklet as tap and pan, so all three agree on the geometry.
|
|
162
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().minDuration(_shared.LONG_PRESS_MIN_DURATION).onStart(event => {
|
|
163
|
+
(0, _reactNativeReanimated.runOnJS)(longPressIndex)(Math.round(indexAtX(event.x, progress.value)));
|
|
164
|
+
});
|
|
165
|
+
return _reactNativeGestureHandler.Gesture.Race(pan, tap, longPress);
|
|
166
|
+
}, [windowWidth, tabCount, selectIndex, hasLongPress, longPressIndex, tick, isDragging, lastTicked, slideIndex, minimized, progress]);
|
|
147
167
|
|
|
148
168
|
// CRITICAL — every shared value and every scalar a mapper READS must appear
|
|
149
169
|
// in its dependency array. On web WITHOUT the react-native-worklets babel
|
|
@@ -157,10 +177,24 @@ function TabBarBody({
|
|
|
157
177
|
// `ZoomableImageGallery`. Do NOT strip these.
|
|
158
178
|
const barStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
159
179
|
const height = (0, _reactNativeReanimated.interpolate)(progress.value, [0, 1], [_shared.EXPANDED_HEIGHT, _shared.MINIMIZED_HEIGHT], _reactNativeReanimated.Extrapolation.CLAMP);
|
|
180
|
+
// Revolut-style: the pill shrinks in both dimensions.
|
|
181
|
+
//
|
|
182
|
+
// Written as the two long-form margins, NEVER as `marginHorizontal`.
|
|
183
|
+
// Reanimated's web path hands a mapper's result to react-native-web's
|
|
184
|
+
// `createReactDOMStyle`, whose `STYLE_SHORT_FORM_EXPANSIONS` map covers
|
|
185
|
+
// `marginInline` but NOT React Native's `marginHorizontal` (verified absent
|
|
186
|
+
// from the whole file in RNW 0.21.2). An unexpanded shorthand is written
|
|
187
|
+
// straight onto the DOM node as `style.marginHorizontal`, which is not a CSS
|
|
188
|
+
// property, so the browser drops it silently: the bar keeps its full width
|
|
189
|
+
// while `highlightStyle` still subtracts `MINIMIZED_INSET` from `barWidth`,
|
|
190
|
+
// leaving the highlight narrower than the tab it sits under. Static styles
|
|
191
|
+
// are unaffected — they take RNW's own StyleSheet path, which does handle
|
|
192
|
+
// the shorthand — so this only bites inside a mapper.
|
|
193
|
+
const inset = (0, _reactNativeReanimated.interpolate)(progress.value, [0, 1], [0, _shared.MINIMIZED_INSET], _reactNativeReanimated.Extrapolation.CLAMP);
|
|
160
194
|
return {
|
|
161
195
|
height,
|
|
162
|
-
|
|
163
|
-
|
|
196
|
+
marginLeft: inset,
|
|
197
|
+
marginRight: inset
|
|
164
198
|
};
|
|
165
199
|
}, [progress]);
|
|
166
200
|
|
|
@@ -192,7 +226,10 @@ function TabBarBody({
|
|
|
192
226
|
}]
|
|
193
227
|
};
|
|
194
228
|
}, [progress, slideIndex, windowWidth, tabCount]);
|
|
195
|
-
|
|
229
|
+
|
|
230
|
+
// Shared with `useTabBarFootprint`, so a consumer accounting for the bar in
|
|
231
|
+
// its own layout can never drift from where the bar actually sits.
|
|
232
|
+
const bottomOffset = (0, _shared.tabBarBottomGap)(insets.bottom);
|
|
196
233
|
const barContext = (0, _react.useMemo)(() => ({
|
|
197
234
|
slideIndex,
|
|
198
235
|
isDragging,
|
|
@@ -322,13 +359,15 @@ function TabBarButtonBody({
|
|
|
322
359
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Glyph, {
|
|
323
360
|
item: item,
|
|
324
361
|
tint: theme.inactiveTint,
|
|
325
|
-
size: _shared.ICON_SIZE
|
|
362
|
+
size: _shared.ICON_SIZE,
|
|
363
|
+
active: false
|
|
326
364
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
327
365
|
style: [_reactNative.StyleSheet.absoluteFill, styles.glyphLayer, activeGlyphStyle],
|
|
328
366
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Glyph, {
|
|
329
367
|
item: item,
|
|
330
368
|
tint: theme.activeTint,
|
|
331
|
-
size: _shared.ICON_SIZE
|
|
369
|
+
size: _shared.ICON_SIZE,
|
|
370
|
+
active: true
|
|
332
371
|
})
|
|
333
372
|
})]
|
|
334
373
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_minimizeContext","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","theme","themeOverrides","haptics","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","slideIndex","useSharedValue","isDragging","lastTicked","tabCount","Math","max","Children","count","useTabBarTheme","impact","useHaptics","tick","useCallback","selectIndex","index","useEffect","undefined","value","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","BAR_MARGIN","itemWidth","ROW_PAD_H","raw","min","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","round","setMinimized","onUpdate","event","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","marginHorizontal","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","transform","translateX","bottomOffset","bottom","barContext","jsxs","View","styles","root","jsx","direction","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","opacity","abs","labelStyle","color","interpolateColor","activeTint","inactiveTint","boxStyle","Pressable","accessibilityState","selected","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","pointerEvents","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","alignSelf","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_minimizeContext","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","slideIndex","useSharedValue","isDragging","lastTicked","tabCount","Math","max","Children","count","useTabBarTheme","impact","useHaptics","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","undefined","useEffect","value","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","BAR_MARGIN","itemWidth","ROW_PAD_H","raw","min","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","round","setMinimized","onUpdate","event","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","transform","translateX","bottomOffset","tabBarBottomGap","bottom","barContext","jsxs","View","styles","root","jsx","direction","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","opacity","abs","labelStyle","color","interpolateColor","activeTint","inactiveTint","boxStyle","Pressable","accessibilityState","selected","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","pointerEvents","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","alignSelf","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
11
11
|
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
12
12
|
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
13
13
|
*
|
|
14
|
-
* NEUTRAL default variant of a tab glyph: renders the item's own `icon` node
|
|
15
|
-
* tinted for this crossfade layer.
|
|
14
|
+
* NEUTRAL default variant of a tab glyph: renders the item's own `icon` node —
|
|
15
|
+
* or its `activeIcon` on the active layer — tinted for this crossfade layer.
|
|
16
16
|
*
|
|
17
17
|
* `item.icon` is the primary icon API for the whole family — a Bloom icon
|
|
18
18
|
* element, exactly like `TabsTrigger` and `FrostedIconButton` take. `sfSymbol`
|
|
@@ -25,18 +25,23 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
25
25
|
function TabBarGlyph({
|
|
26
26
|
item,
|
|
27
27
|
tint,
|
|
28
|
-
size
|
|
28
|
+
size,
|
|
29
|
+
active
|
|
29
30
|
}) {
|
|
30
31
|
// The tint is injected as the icon's `fill` FALLBACK — an icon that sets its
|
|
31
32
|
// own `fill` (a brand mark, say) keeps it, so the crossfade layers simply
|
|
32
33
|
// render it twice at full opacity and it never flickers.
|
|
34
|
+
//
|
|
35
|
+
// `activeIcon` is what makes the crossfade able to swap NODES: an icon set
|
|
36
|
+
// whose selected state is a different SHAPE (outline → filled) cannot be
|
|
37
|
+
// expressed by tinting one node two ways. Absent, the layer renders `icon`.
|
|
33
38
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
34
39
|
style: {
|
|
35
40
|
height: size,
|
|
36
41
|
alignItems: 'center',
|
|
37
42
|
justifyContent: 'center'
|
|
38
43
|
},
|
|
39
|
-
children: (0, _shared.applyIconColor)(item.icon, tint)
|
|
44
|
+
children: (0, _shared.applyIconColor)(active ? item.activeIcon ?? item.icon : item.icon, tint)
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
TabBarGlyph.displayName = 'TabBarGlyph';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","jsx","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.tsx"],"mappings":";;;;;;AAcA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASG,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","active","jsx","View","style","height","alignItems","justifyContent","children","applyIconColor","activeIcon","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.tsx"],"mappings":";;;;;;AAcA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASG,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAyB,CAAC,EAAE;EAC1E;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBACE,IAAAL,WAAA,CAAAM,GAAA,EAACT,YAAA,CAAAU,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEL,IAAI;MAAEM,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACR,MAAM,GAAIH,IAAI,CAACY,UAAU,IAAIZ,IAAI,CAACa,IAAI,GAAIb,IAAI,CAACa,IAAI,EAAEZ,IAAI;EAAC,CACtE,CAAC;AAEX;AAEAF,WAAW,CAACe,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -25,7 +25,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
25
25
|
function TabBarGlyph({
|
|
26
26
|
item,
|
|
27
27
|
tint,
|
|
28
|
-
size
|
|
28
|
+
size,
|
|
29
|
+
active
|
|
29
30
|
}) {
|
|
30
31
|
if (item.sfSymbol && _reactNative.Platform.OS === 'ios') {
|
|
31
32
|
// `TabBarItem.sfSymbol` is a plain `string` because `types.ts` may import
|
|
@@ -42,13 +43,17 @@ function TabBarGlyph({
|
|
|
42
43
|
weight: "semibold"
|
|
43
44
|
});
|
|
44
45
|
}
|
|
46
|
+
|
|
47
|
+
// Same node-swapping crossfade as the neutral variant: the active layer takes
|
|
48
|
+
// `activeIcon` when the item has one. An SF Symbol never reaches here, and is
|
|
49
|
+
// tinted natively above, so the tint crossfade remains its correct expression.
|
|
45
50
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
46
51
|
style: {
|
|
47
52
|
height: size,
|
|
48
53
|
alignItems: 'center',
|
|
49
54
|
justifyContent: 'center'
|
|
50
55
|
},
|
|
51
|
-
children: (0, _shared.applyIconColor)(item.icon, tint)
|
|
56
|
+
children: (0, _shared.applyIconColor)(active ? item.activeIcon ?? item.icon : item.icon, tint)
|
|
52
57
|
});
|
|
53
58
|
}
|
|
54
59
|
TabBarGlyph.displayName = 'TabBarGlyph';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_expoSymbols","require","_reactNative","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","sfSymbol","Platform","OS","jsx","SymbolView","name","tintColor","weight","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.native.tsx"],"mappings":";;;;;;AAaA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,SAASI,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;
|
|
1
|
+
{"version":3,"names":["_expoSymbols","require","_reactNative","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","active","sfSymbol","Platform","OS","jsx","SymbolView","name","tintColor","weight","View","style","height","alignItems","justifyContent","children","applyIconColor","activeIcon","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.native.tsx"],"mappings":";;;;;;AAaA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,SAASI,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAyB,CAAC,EAAE;EAC1E,IAAIH,IAAI,CAACI,QAAQ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACb,YAAA,CAAAc,UAAU;MACTC,IAAI,EAAET,IAAI,CAACI,QAAqB;MAChCM,SAAS,EAAET,IAAK;MAChBC,IAAI,EAAEA,IAAK;MACXS,MAAM,EAAC;IAAU,CAClB,CAAC;EAEN;;EAEA;EACA;EACA;EACA,oBACE,IAAAb,WAAA,CAAAS,GAAA,EAACX,YAAA,CAAAgB,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEZ,IAAI;MAAEa,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACf,MAAM,GAAIH,IAAI,CAACmB,UAAU,IAAInB,IAAI,CAACoB,IAAI,GAAIpB,IAAI,CAACoB,IAAI,EAAEnB,IAAI;EAAC,CACtE,CAAC;AAEX;AAEAF,WAAW,CAACsB,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "useMinimizeState", {
|
|
|
34
34
|
return _minimizeContext.useMinimizeState;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
|
+
Object.defineProperty(exports, "useTabBarFootprint", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _useFootprint.useTabBarFootprint;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
37
43
|
Object.defineProperty(exports, "useTabBarMinimized", {
|
|
38
44
|
enumerable: true,
|
|
39
45
|
get: function () {
|
|
@@ -45,6 +51,7 @@ var _TabBarBase = require("./TabBarBase.js");
|
|
|
45
51
|
var _glyph = require("./glyph");
|
|
46
52
|
var _surface = require("./surface");
|
|
47
53
|
var _minimizeContext = require("./minimize-context.js");
|
|
54
|
+
var _useFootprint = require("./use-footprint.js");
|
|
48
55
|
/**
|
|
49
56
|
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
50
57
|
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_progressiveBlur","require","_TabBarBase","_glyph","_surface","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_progressiveBlur","require","_TabBarBase","_glyph","_surface","_minimizeContext","_useFootprint","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AASA,IAAAK,aAAA,GAAAL,OAAA;AA/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMM,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,sBAAa,EAAEC,gCAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
|
|
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "useMinimizeState", {
|
|
|
34
34
|
return _minimizeContext.useMinimizeState;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
|
+
Object.defineProperty(exports, "useTabBarFootprint", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _useFootprint.useTabBarFootprint;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
37
43
|
Object.defineProperty(exports, "useTabBarMinimized", {
|
|
38
44
|
enumerable: true,
|
|
39
45
|
get: function () {
|
|
@@ -45,6 +51,7 @@ var _TabBarBase = require("./TabBarBase.js");
|
|
|
45
51
|
var _glyph = require("./glyph");
|
|
46
52
|
var _surfaceWeb = require("./surface.web.js");
|
|
47
53
|
var _minimizeContext = require("./minimize-context.js");
|
|
54
|
+
var _useFootprint = require("./use-footprint.js");
|
|
48
55
|
/**
|
|
49
56
|
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
50
57
|
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_indexWeb","require","_TabBarBase","_glyph","_surfaceWeb","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.web.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_indexWeb","require","_TabBarBase","_glyph","_surfaceWeb","_minimizeContext","_useFootprint","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.web.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AASA,IAAAK,aAAA,GAAAL,OAAA;AAjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMM,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,yBAAa,EAAEC,yBAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SLIDE_SPRING = exports.ROW_PAD_H = exports.MINIMIZED_INSET = exports.MINIMIZED_HEIGHT = exports.LABEL_HEIGHT = exports.LABEL_FONT_SIZE = exports.LABEL_BLOCK = exports.ITEM_PAD_V = exports.ITEM_GAP = exports.ICON_SIZE = exports.HIGHLIGHT_MINIMIZED = exports.HIGHLIGHT_EXPANDED = exports.EXPANDED_HEIGHT = exports.BLUR_BLEED = exports.BAR_MARGIN = void 0;
|
|
6
|
+
exports.SLIDE_SPRING = exports.ROW_PAD_H = exports.MINIMIZED_INSET = exports.MINIMIZED_HEIGHT = exports.LONG_PRESS_MIN_DURATION = exports.LABEL_HEIGHT = exports.LABEL_FONT_SIZE = exports.LABEL_BLOCK = exports.ITEM_PAD_V = exports.ITEM_GAP = exports.ICON_SIZE = exports.HIGHLIGHT_MINIMIZED = exports.HIGHLIGHT_EXPANDED = exports.EXPANDED_HEIGHT = exports.BLUR_BLEED = exports.BAR_MARGIN = void 0;
|
|
7
7
|
exports.resolveTabBarTheme = resolveTabBarTheme;
|
|
8
|
+
exports.tabBarBottomGap = tabBarBottomGap;
|
|
8
9
|
exports.useTabBarTheme = useTabBarTheme;
|
|
9
10
|
var _react = require("react");
|
|
10
11
|
var _colorUtils = require("../theme/color-utils.js");
|
|
@@ -54,6 +55,27 @@ const BLUR_BLEED = exports.BLUR_BLEED = 44;
|
|
|
54
55
|
/** Label type size. Small by design — the icon carries the meaning. */
|
|
55
56
|
const LABEL_FONT_SIZE = exports.LABEL_FONT_SIZE = 9.5;
|
|
56
57
|
|
|
58
|
+
/**
|
|
59
|
+
* How much of the bottom safe-area inset the bar's own gap absorbs. The pill
|
|
60
|
+
* already floats clear of the content, so sitting the FULL inset below it
|
|
61
|
+
* strands it in the middle of the screen on a home-indicator device.
|
|
62
|
+
*/
|
|
63
|
+
const SAFE_AREA_ABSORBED = 16;
|
|
64
|
+
/** Gap floor, for a device (or a browser) reporting no bottom inset at all. */
|
|
65
|
+
const MIN_BOTTOM_GAP = 12;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Vertical gap between the bottom of the pill and the bottom of the window.
|
|
69
|
+
*
|
|
70
|
+
* The safe-area inset is folded in HERE, which is why anything accounting for
|
|
71
|
+
* the bar in its own layout must go through `useTabBarFootprint` (which derives
|
|
72
|
+
* its number from this same function) rather than adding `insets.bottom` to a
|
|
73
|
+
* hardcoded height — that double-counts the inset.
|
|
74
|
+
*/
|
|
75
|
+
function tabBarBottomGap(bottomInset) {
|
|
76
|
+
return Math.max(bottomInset - SAFE_AREA_ABSORBED, MIN_BOTTOM_GAP);
|
|
77
|
+
}
|
|
78
|
+
|
|
57
79
|
/**
|
|
58
80
|
* Slide spring: interruptible by design — rapid tab-hopping retargets with
|
|
59
81
|
* preserved velocity. Slight under-damping gives the pill a tiny settle, safe
|
|
@@ -64,6 +86,15 @@ const SLIDE_SPRING = exports.SLIDE_SPRING = {
|
|
|
64
86
|
dampingRatio: 0.82
|
|
65
87
|
};
|
|
66
88
|
|
|
89
|
+
/**
|
|
90
|
+
* How long a press must be held before `onIndexLongPress` fires.
|
|
91
|
+
*
|
|
92
|
+
* Comfortably above the tap gesture's own 400ms ceiling: the two can never both
|
|
93
|
+
* be candidates at the same instant, so arming the long press cannot cost the
|
|
94
|
+
* bar a tap. Matches the platform long-press feel (iOS ~0.5s).
|
|
95
|
+
*/
|
|
96
|
+
const LONG_PRESS_MIN_DURATION = exports.LONG_PRESS_MIN_DURATION = 500;
|
|
97
|
+
|
|
67
98
|
// ---------------------------------------------------------------------------
|
|
68
99
|
// Theme
|
|
69
100
|
// ---------------------------------------------------------------------------
|