react-native-blur-vibe 0.1.6 → 0.1.7
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/README.md +374 -181
- package/android/src/main/java/com/blurvibe/BlurVibeView.kt +7 -5
- package/android/src/main/java/com/blurvibe/BlurVibeViewApi31.kt +448 -0
- package/android/src/main/java/com/blurvibe/BlurVibeViewManager.kt +70 -17
- package/ios/BlurVibeView.swift +28 -27
- package/ios/BlurVibeViewManager.m +9 -9
- package/ios/Views/BlurVibeSwiftUIView.swift +109 -16
- package/ios/Views/ProgressiveBlurView.swift +255 -0
- package/lib/commonjs/BlurVibeViewNativeComponent.ts +10 -16
- package/lib/commonjs/BlurView.js +34 -7
- package/lib/commonjs/BlurView.js.map +1 -1
- package/lib/module/BlurVibeViewNativeComponent.ts +10 -16
- package/lib/module/BlurView.js +34 -7
- package/lib/module/BlurView.js.map +1 -1
- package/lib/typescript/commonjs/src/BlurVibeViewNativeComponent.d.ts +4 -14
- package/lib/typescript/commonjs/src/BlurVibeViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/BlurView.d.ts +27 -8
- package/lib/typescript/commonjs/src/BlurView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +236 -18
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/BlurVibeViewNativeComponent.d.ts +4 -14
- package/lib/typescript/module/src/BlurVibeViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/BlurView.d.ts +27 -8
- package/lib/typescript/module/src/BlurView.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +236 -18
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/BlurVibeViewNativeComponent.ts +10 -16
- package/src/BlurView.tsx +34 -7
- package/src/types.ts +267 -18
package/lib/commonjs/BlurView.js
CHANGED
|
@@ -11,17 +11,36 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
/**
|
|
12
12
|
* BlurView — react-native-blur-vibe
|
|
13
13
|
*
|
|
14
|
-
* Cross-platform blur
|
|
15
|
-
* iOS: UIVisualEffectView | Android: RenderEffect (API 31+) / RenderScript fallback
|
|
14
|
+
* Cross-platform backdrop blur.
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* iOS: UIVisualEffectView — compositor-level, always smooth
|
|
17
|
+
* Android API 31+: Dual-RenderNode + RenderEffect — GPU, no pixelation,
|
|
18
|
+
* supports progressive blur + noise
|
|
19
|
+
* Android API < 31: QmBlurView RenderScript — CPU, smooth at downsample=4
|
|
19
20
|
*
|
|
20
|
-
* @example
|
|
21
|
+
* @example Basic frosted glass
|
|
21
22
|
* <BlurView
|
|
22
|
-
* blurAmount={
|
|
23
|
-
*
|
|
23
|
+
* blurAmount={30}
|
|
24
|
+
* overlayColor="#FFFFFF20"
|
|
25
|
+
* style={StyleSheet.absoluteFill}
|
|
26
|
+
* />
|
|
27
|
+
*
|
|
28
|
+
* @example Progressive blur (fades from full blur at top to transparent at bottom)
|
|
29
|
+
* <BlurView
|
|
30
|
+
* blurAmount={40}
|
|
24
31
|
* overlayColor="#00000040"
|
|
32
|
+
* progressiveBlurDirection="topToBottom"
|
|
33
|
+
* progressiveStartIntensity={1}
|
|
34
|
+
* progressiveEndIntensity={0}
|
|
35
|
+
* style={StyleSheet.absoluteFill}
|
|
36
|
+
* />
|
|
37
|
+
*
|
|
38
|
+
* @example Music card frosted glass with noise
|
|
39
|
+
* <BlurView
|
|
40
|
+
* blurAmount={60}
|
|
41
|
+
* overlayColor="#FFFFFF15"
|
|
42
|
+
* noiseFactor={0.12}
|
|
43
|
+
* borderRadius={16}
|
|
25
44
|
* style={StyleSheet.absoluteFill}
|
|
26
45
|
* />
|
|
27
46
|
*/const BlurView = ({
|
|
@@ -30,6 +49,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
30
49
|
overlayColor,
|
|
31
50
|
reducedTransparencyFallbackColor = '#F2F2F2',
|
|
32
51
|
blurRadius = 4,
|
|
52
|
+
progressiveBlurDirection = 'none',
|
|
53
|
+
progressiveStartIntensity = 1.0,
|
|
54
|
+
progressiveEndIntensity = 0.0,
|
|
55
|
+
noiseFactor = 0.08,
|
|
33
56
|
style,
|
|
34
57
|
children,
|
|
35
58
|
...rest
|
|
@@ -41,6 +64,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
41
64
|
overlayColor: resolvedOverlayColor,
|
|
42
65
|
reducedTransparencyFallbackColor: reducedTransparencyFallbackColor,
|
|
43
66
|
blurRadius: blurRadius,
|
|
67
|
+
progressiveBlurDirection: progressiveBlurDirection,
|
|
68
|
+
progressiveStartIntensity: progressiveStartIntensity,
|
|
69
|
+
progressiveEndIntensity: progressiveEndIntensity,
|
|
70
|
+
noiseFactor: noiseFactor,
|
|
44
71
|
style: [styles.transparent, style],
|
|
45
72
|
...rest,
|
|
46
73
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_BlurVibeViewNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","BlurView","blurAmount","blurType","overlayColor","reducedTransparencyFallbackColor","blurRadius","style","children","rest","resolvedOverlayColor","Platform","OS","jsx","styles","transparent","displayName","StyleSheet","create","backgroundColor","_default","exports"],"sourceRoot":"../../src","sources":["BlurView.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,4BAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,MAAMG,QAAQ,GAAGA,CAAC;EAChBC,UAAU,GAAG,EAAE;EACfC,QAAQ,GAAG,OAAO;EAClBC,YAAY;EACZC,gCAAgC,GAAG,SAAS;EAC5CC,UAAU,GAAG,CAAC;EACdC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACU,CAAC,KAAK;EACnB,MAAMC,oBAAoB,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_BlurVibeViewNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","BlurView","blurAmount","blurType","overlayColor","reducedTransparencyFallbackColor","blurRadius","progressiveBlurDirection","progressiveStartIntensity","progressiveEndIntensity","noiseFactor","style","children","rest","resolvedOverlayColor","Platform","OS","jsx","styles","transparent","displayName","StyleSheet","create","backgroundColor","_default","exports"],"sourceRoot":"../../src","sources":["BlurView.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,4BAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/D;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,GACA,MAAMG,QAAQ,GAAGA,CAAC;EAChBC,UAAU,GAAG,EAAE;EACfC,QAAQ,GAAG,OAAO;EAClBC,YAAY;EACZC,gCAAgC,GAAG,SAAS;EAC5CC,UAAU,GAAG,CAAC;EACdC,wBAAwB,GAAG,MAAM;EACjCC,yBAAyB,GAAG,GAAG;EAC/BC,uBAAuB,GAAG,GAAG;EAC7BC,WAAW,GAAG,IAAI;EAClBC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACU,CAAC,KAAK;EACnB,MAAMC,oBAAoB,GACxBV,YAAY,KAAKW,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;EAE3E,oBACE,IAAAnB,WAAA,CAAAoB,GAAA,EAACtB,4BAAA,CAAAK,OAAkB;IACjBE,UAAU,EAAEA,UAAW;IACvBC,QAAQ,EAAEA,QAAS;IACnBC,YAAY,EAAEU,oBAAqB;IACnCT,gCAAgC,EAAEA,gCAAiC;IACnEC,UAAU,EAAEA,UAAW;IACvBC,wBAAwB,EAAEA,wBAAyB;IACnDC,yBAAyB,EAAEA,yBAA0B;IACrDC,uBAAuB,EAAEA,uBAAwB;IACjDC,WAAW,EAAEA,WAAY;IACzBC,KAAK,EAAE,CAACO,MAAM,CAACC,WAAW,EAAER,KAAK,CAAE;IAAA,GAC/BE,IAAI;IAAAD,QAAA,EAEPA;EAAQ,CACS,CAAC;AAEzB,CAAC;AAEDX,QAAQ,CAACmB,WAAW,GAAG,UAAU;AAEjC,MAAMF,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BH,WAAW,EAAE;IACXI,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEYC,QAAQ","ignoreList":[]}
|
|
@@ -4,20 +4,6 @@ import type { HostComponent, ViewProps } from 'react-native';
|
|
|
4
4
|
// @ts-ignore - internal RN path, exists at runtime
|
|
5
5
|
import type { Float, Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* NativeComponent codegen spec for BlurVibeView.
|
|
9
|
-
*
|
|
10
|
-
* Type mapping (JS → Native):
|
|
11
|
-
* Float → NSNumber (iOS) / Float (Android)
|
|
12
|
-
* string → NSString (iOS) / String (Android)
|
|
13
|
-
* Int32 → NSNumber (iOS) / Int (Android)
|
|
14
|
-
*
|
|
15
|
-
* Color props (overlayColor, reducedTransparencyFallbackColor) use
|
|
16
|
-
* plain `string` — NOT the RN `ColorValue` type — because we parse
|
|
17
|
-
* hex manually on both platforms for full alpha channel control.
|
|
18
|
-
* Using ColorValue would trigger RN's color normalization which
|
|
19
|
-
* reorders alpha bytes and breaks #RRGGBBAA format.
|
|
20
|
-
*/
|
|
21
7
|
export interface NativeBlurVibeViewProps extends ViewProps {
|
|
22
8
|
// 0–100 blur intensity
|
|
23
9
|
blurAmount?: Float;
|
|
@@ -28,11 +14,19 @@ export interface NativeBlurVibeViewProps extends ViewProps {
|
|
|
28
14
|
// Hex color string with alpha — "transparent", "#RGB", "#RRGGBB", "#RRGGBBAA"
|
|
29
15
|
overlayColor?: string;
|
|
30
16
|
|
|
31
|
-
// Fallback when blur unavailable
|
|
17
|
+
// Fallback when blur unavailable
|
|
32
18
|
reducedTransparencyFallbackColor?: string;
|
|
33
19
|
|
|
34
|
-
// Android
|
|
20
|
+
// Android API < 31 only: downsample factor 1–8
|
|
35
21
|
blurRadius?: Int32;
|
|
22
|
+
|
|
23
|
+
// Progressive blur — Android API 31+ only
|
|
24
|
+
progressiveBlurDirection?: string;
|
|
25
|
+
progressiveStartIntensity?: Float;
|
|
26
|
+
progressiveEndIntensity?: Float;
|
|
27
|
+
|
|
28
|
+
// Noise grain overlay — Android API 31+ only
|
|
29
|
+
noiseFactor?: Float;
|
|
36
30
|
}
|
|
37
31
|
|
|
38
32
|
export default codegenNativeComponent<NativeBlurVibeViewProps>(
|
package/lib/module/BlurView.js
CHANGED
|
@@ -6,17 +6,36 @@ import NativeBlurVibeView from './BlurVibeViewNativeComponent';
|
|
|
6
6
|
/**
|
|
7
7
|
* BlurView — react-native-blur-vibe
|
|
8
8
|
*
|
|
9
|
-
* Cross-platform blur
|
|
10
|
-
* iOS: UIVisualEffectView | Android: RenderEffect (API 31+) / RenderScript fallback
|
|
9
|
+
* Cross-platform backdrop blur.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* iOS: UIVisualEffectView — compositor-level, always smooth
|
|
12
|
+
* Android API 31+: Dual-RenderNode + RenderEffect — GPU, no pixelation,
|
|
13
|
+
* supports progressive blur + noise
|
|
14
|
+
* Android API < 31: QmBlurView RenderScript — CPU, smooth at downsample=4
|
|
14
15
|
*
|
|
15
|
-
* @example
|
|
16
|
+
* @example Basic frosted glass
|
|
16
17
|
* <BlurView
|
|
17
|
-
* blurAmount={
|
|
18
|
-
*
|
|
18
|
+
* blurAmount={30}
|
|
19
|
+
* overlayColor="#FFFFFF20"
|
|
20
|
+
* style={StyleSheet.absoluteFill}
|
|
21
|
+
* />
|
|
22
|
+
*
|
|
23
|
+
* @example Progressive blur (fades from full blur at top to transparent at bottom)
|
|
24
|
+
* <BlurView
|
|
25
|
+
* blurAmount={40}
|
|
19
26
|
* overlayColor="#00000040"
|
|
27
|
+
* progressiveBlurDirection="topToBottom"
|
|
28
|
+
* progressiveStartIntensity={1}
|
|
29
|
+
* progressiveEndIntensity={0}
|
|
30
|
+
* style={StyleSheet.absoluteFill}
|
|
31
|
+
* />
|
|
32
|
+
*
|
|
33
|
+
* @example Music card frosted glass with noise
|
|
34
|
+
* <BlurView
|
|
35
|
+
* blurAmount={60}
|
|
36
|
+
* overlayColor="#FFFFFF15"
|
|
37
|
+
* noiseFactor={0.12}
|
|
38
|
+
* borderRadius={16}
|
|
20
39
|
* style={StyleSheet.absoluteFill}
|
|
21
40
|
* />
|
|
22
41
|
*/
|
|
@@ -27,6 +46,10 @@ const BlurView = ({
|
|
|
27
46
|
overlayColor,
|
|
28
47
|
reducedTransparencyFallbackColor = '#F2F2F2',
|
|
29
48
|
blurRadius = 4,
|
|
49
|
+
progressiveBlurDirection = 'none',
|
|
50
|
+
progressiveStartIntensity = 1.0,
|
|
51
|
+
progressiveEndIntensity = 0.0,
|
|
52
|
+
noiseFactor = 0.08,
|
|
30
53
|
style,
|
|
31
54
|
children,
|
|
32
55
|
...rest
|
|
@@ -38,6 +61,10 @@ const BlurView = ({
|
|
|
38
61
|
overlayColor: resolvedOverlayColor,
|
|
39
62
|
reducedTransparencyFallbackColor: reducedTransparencyFallbackColor,
|
|
40
63
|
blurRadius: blurRadius,
|
|
64
|
+
progressiveBlurDirection: progressiveBlurDirection,
|
|
65
|
+
progressiveStartIntensity: progressiveStartIntensity,
|
|
66
|
+
progressiveEndIntensity: progressiveEndIntensity,
|
|
67
|
+
noiseFactor: noiseFactor,
|
|
41
68
|
style: [styles.transparent, style],
|
|
42
69
|
...rest,
|
|
43
70
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","StyleSheet","NativeBlurVibeView","jsx","_jsx","BlurView","blurAmount","blurType","overlayColor","reducedTransparencyFallbackColor","blurRadius","style","children","rest","resolvedOverlayColor","OS","styles","transparent","displayName","create","backgroundColor"],"sourceRoot":"../../src","sources":["BlurView.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,OAAOC,kBAAkB,MAAM,+BAA+B;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["Platform","StyleSheet","NativeBlurVibeView","jsx","_jsx","BlurView","blurAmount","blurType","overlayColor","reducedTransparencyFallbackColor","blurRadius","progressiveBlurDirection","progressiveStartIntensity","progressiveEndIntensity","noiseFactor","style","children","rest","resolvedOverlayColor","OS","styles","transparent","displayName","create","backgroundColor"],"sourceRoot":"../../src","sources":["BlurView.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,OAAOC,kBAAkB,MAAM,+BAA+B;;AAE9D;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;AAnCA,SAAAC,GAAA,IAAAC,IAAA;AAoCA,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,UAAU,GAAG,EAAE;EACfC,QAAQ,GAAG,OAAO;EAClBC,YAAY;EACZC,gCAAgC,GAAG,SAAS;EAC5CC,UAAU,GAAG,CAAC;EACdC,wBAAwB,GAAG,MAAM;EACjCC,yBAAyB,GAAG,GAAG;EAC/BC,uBAAuB,GAAG,GAAG;EAC7BC,WAAW,GAAG,IAAI;EAClBC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACU,CAAC,KAAK;EACnB,MAAMC,oBAAoB,GACxBV,YAAY,KAAKR,QAAQ,CAACmB,EAAE,KAAK,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;EAE3E,oBACEf,IAAA,CAACF,kBAAkB;IACjBI,UAAU,EAAEA,UAAW;IACvBC,QAAQ,EAAEA,QAAS;IACnBC,YAAY,EAAEU,oBAAqB;IACnCT,gCAAgC,EAAEA,gCAAiC;IACnEC,UAAU,EAAEA,UAAW;IACvBC,wBAAwB,EAAEA,wBAAyB;IACnDC,yBAAyB,EAAEA,yBAA0B;IACrDC,uBAAuB,EAAEA,uBAAwB;IACjDC,WAAW,EAAEA,WAAY;IACzBC,KAAK,EAAE,CAACK,MAAM,CAACC,WAAW,EAAEN,KAAK,CAAE;IAAA,GAC/BE,IAAI;IAAAD,QAAA,EAEPA;EAAQ,CACS,CAAC;AAEzB,CAAC;AAEDX,QAAQ,CAACiB,WAAW,GAAG,UAAU;AAEjC,MAAMF,MAAM,GAAGnB,UAAU,CAACsB,MAAM,CAAC;EAC/BF,WAAW,EAAE;IACXG,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAEF,eAAenB,QAAQ","ignoreList":[]}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
1
|
import type { HostComponent, ViewProps } from 'react-native';
|
|
2
2
|
import type { Float, Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
/**
|
|
4
|
-
* NativeComponent codegen spec for BlurVibeView.
|
|
5
|
-
*
|
|
6
|
-
* Type mapping (JS → Native):
|
|
7
|
-
* Float → NSNumber (iOS) / Float (Android)
|
|
8
|
-
* string → NSString (iOS) / String (Android)
|
|
9
|
-
* Int32 → NSNumber (iOS) / Int (Android)
|
|
10
|
-
*
|
|
11
|
-
* Color props (overlayColor, reducedTransparencyFallbackColor) use
|
|
12
|
-
* plain `string` — NOT the RN `ColorValue` type — because we parse
|
|
13
|
-
* hex manually on both platforms for full alpha channel control.
|
|
14
|
-
* Using ColorValue would trigger RN's color normalization which
|
|
15
|
-
* reorders alpha bytes and breaks #RRGGBBAA format.
|
|
16
|
-
*/
|
|
17
3
|
export interface NativeBlurVibeViewProps extends ViewProps {
|
|
18
4
|
blurAmount?: Float;
|
|
19
5
|
blurType?: string;
|
|
20
6
|
overlayColor?: string;
|
|
21
7
|
reducedTransparencyFallbackColor?: string;
|
|
22
8
|
blurRadius?: Int32;
|
|
9
|
+
progressiveBlurDirection?: string;
|
|
10
|
+
progressiveStartIntensity?: Float;
|
|
11
|
+
progressiveEndIntensity?: Float;
|
|
12
|
+
noiseFactor?: Float;
|
|
23
13
|
}
|
|
24
14
|
declare const _default: HostComponent<NativeBlurVibeViewProps>;
|
|
25
15
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlurVibeViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/BlurVibeViewNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAE9E
|
|
1
|
+
{"version":3,"file":"BlurVibeViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/BlurVibeViewNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IAExD,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAG1C,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,KAAK,CAAC;IAClC,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAGhC,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;wBAII,aAAa,CAAC,uBAAuB,CAAC;AAF3C,wBAE4C"}
|
|
@@ -2,22 +2,41 @@ import type { BlurViewProps } from './types';
|
|
|
2
2
|
/**
|
|
3
3
|
* BlurView — react-native-blur-vibe
|
|
4
4
|
*
|
|
5
|
-
* Cross-platform blur
|
|
6
|
-
* iOS: UIVisualEffectView | Android: RenderEffect (API 31+) / RenderScript fallback
|
|
5
|
+
* Cross-platform backdrop blur.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* iOS: UIVisualEffectView — compositor-level, always smooth
|
|
8
|
+
* Android API 31+: Dual-RenderNode + RenderEffect — GPU, no pixelation,
|
|
9
|
+
* supports progressive blur + noise
|
|
10
|
+
* Android API < 31: QmBlurView RenderScript — CPU, smooth at downsample=4
|
|
10
11
|
*
|
|
11
|
-
* @example
|
|
12
|
+
* @example Basic frosted glass
|
|
12
13
|
* <BlurView
|
|
13
|
-
* blurAmount={
|
|
14
|
-
*
|
|
14
|
+
* blurAmount={30}
|
|
15
|
+
* overlayColor="#FFFFFF20"
|
|
16
|
+
* style={StyleSheet.absoluteFill}
|
|
17
|
+
* />
|
|
18
|
+
*
|
|
19
|
+
* @example Progressive blur (fades from full blur at top to transparent at bottom)
|
|
20
|
+
* <BlurView
|
|
21
|
+
* blurAmount={40}
|
|
15
22
|
* overlayColor="#00000040"
|
|
23
|
+
* progressiveBlurDirection="topToBottom"
|
|
24
|
+
* progressiveStartIntensity={1}
|
|
25
|
+
* progressiveEndIntensity={0}
|
|
26
|
+
* style={StyleSheet.absoluteFill}
|
|
27
|
+
* />
|
|
28
|
+
*
|
|
29
|
+
* @example Music card frosted glass with noise
|
|
30
|
+
* <BlurView
|
|
31
|
+
* blurAmount={60}
|
|
32
|
+
* overlayColor="#FFFFFF15"
|
|
33
|
+
* noiseFactor={0.12}
|
|
34
|
+
* borderRadius={16}
|
|
16
35
|
* style={StyleSheet.absoluteFill}
|
|
17
36
|
* />
|
|
18
37
|
*/
|
|
19
38
|
declare const BlurView: {
|
|
20
|
-
({ blurAmount, blurType, overlayColor, reducedTransparencyFallbackColor, blurRadius, style, children, ...rest }: BlurViewProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
({ blurAmount, blurType, overlayColor, reducedTransparencyFallbackColor, blurRadius, progressiveBlurDirection, progressiveStartIntensity, progressiveEndIntensity, noiseFactor, style, children, ...rest }: BlurViewProps): import("react/jsx-runtime").JSX.Element;
|
|
21
40
|
displayName: string;
|
|
22
41
|
};
|
|
23
42
|
export default BlurView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlurView.d.ts","sourceRoot":"","sources":["../../../../src/BlurView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C
|
|
1
|
+
{"version":3,"file":"BlurView.d.ts","sourceRoot":"","sources":["../../../../src/BlurView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,QAAQ;gNAaX,aAAa;;CAqBf,CAAC;AAUF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,40 +1,258 @@
|
|
|
1
1
|
import type { ViewProps } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* iOS blur material style — maps directly to `UIBlurEffect.Style`.
|
|
4
|
+
*
|
|
5
|
+
* **iOS only.** Ignored on Android (Android uses `blurAmount` + `overlayColor`
|
|
6
|
+
* to control blur appearance).
|
|
7
|
+
*
|
|
8
|
+
* ### Adaptive styles (recommended)
|
|
9
|
+
* These automatically adapt to light/dark mode:
|
|
10
|
+
* - `"light"` — light frosted glass (default)
|
|
11
|
+
* - `"dark"` — dark frosted glass
|
|
12
|
+
* - `"extraLight"` — brighter than light
|
|
13
|
+
* - `"regular"` — system default material
|
|
14
|
+
* - `"prominent"` — higher contrast than regular
|
|
15
|
+
*
|
|
16
|
+
* ### Material styles (iOS 13+, adaptive)
|
|
17
|
+
* - `"systemUltraThinMaterial"` — thinnest, most transparent
|
|
18
|
+
* - `"systemThinMaterial"` — thin
|
|
19
|
+
* - `"systemMaterial"` — medium (equivalent to iOS sheet backgrounds)
|
|
20
|
+
* - `"systemThickMaterial"` — thick
|
|
21
|
+
* - `"systemChromeMaterial"` — for toolbars and navigation bars
|
|
22
|
+
*
|
|
23
|
+
* ### Light variants (iOS 13+, always light)
|
|
24
|
+
* - `"systemUltraThinMaterialLight"`
|
|
25
|
+
* - `"systemThinMaterialLight"`
|
|
26
|
+
* - `"systemMaterialLight"`
|
|
27
|
+
* - `"systemThickMaterialLight"`
|
|
28
|
+
* - `"systemChromeMaterialLight"`
|
|
29
|
+
*
|
|
30
|
+
* ### Dark variants (iOS 13+, always dark)
|
|
31
|
+
* - `"systemUltraThinMaterialDark"`
|
|
32
|
+
* - `"systemThinMaterialDark"`
|
|
33
|
+
* - `"systemMaterialDark"`
|
|
34
|
+
* - `"systemThickMaterialDark"`
|
|
35
|
+
* - `"systemChromeMaterialDark"`
|
|
36
|
+
*/
|
|
2
37
|
export type BlurType = 'light' | 'dark' | 'extraLight' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
|
|
38
|
+
/**
|
|
39
|
+
* Direction for progressive (gradient) blur.
|
|
40
|
+
*
|
|
41
|
+
* Controls which axis the blur fades across, and which end starts at full
|
|
42
|
+
* intensity vs. transparent. Use with `progressiveStartIntensity` and
|
|
43
|
+
* `progressiveEndIntensity` for fine control.
|
|
44
|
+
*
|
|
45
|
+
* **iOS**: Uses `CAFilter variableBlur` — true per-pixel variable radius,
|
|
46
|
+
* same technique as Apple's Home Screen and Control Center. Falls back to
|
|
47
|
+
* `maskView` opacity gradient if CAFilter is unavailable.
|
|
48
|
+
*
|
|
49
|
+
* **Android API 31+**: Uses `LinearGradient`/`RadialGradient` as an alpha
|
|
50
|
+
* mask over the GPU `RenderEffect` blur layer.
|
|
51
|
+
*
|
|
52
|
+
* **Android API < 31**: Silently ignored (uniform blur is shown).
|
|
53
|
+
*
|
|
54
|
+
* | Value | Blur starts at | Fades towards |
|
|
55
|
+
* |------------------|----------------|----------------|
|
|
56
|
+
* | `"topToBottom"` | Top edge | Bottom edge |
|
|
57
|
+
* | `"bottomToTop"` | Bottom edge | Top edge |
|
|
58
|
+
* | `"leftToRight"` | Left edge | Right edge |
|
|
59
|
+
* | `"rightToLeft"` | Right edge | Left edge |
|
|
60
|
+
* | `"radial"` | Center | Outer edges |
|
|
61
|
+
* | `"none"` | — uniform blur — no gradient |
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Sticky header: full blur at top, invisible at bottom
|
|
65
|
+
* progressiveBlurDirection="topToBottom"
|
|
66
|
+
* progressiveStartIntensity={1}
|
|
67
|
+
* progressiveEndIntensity={0}
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* // Bottom sheet scrim: invisible at top, full blur at bottom
|
|
71
|
+
* progressiveBlurDirection="bottomToTop"
|
|
72
|
+
* progressiveStartIntensity={1}
|
|
73
|
+
* progressiveEndIntensity={0}
|
|
74
|
+
*/
|
|
75
|
+
export type ProgressiveBlurDirection = 'topToBottom' | 'bottomToTop' | 'leftToRight' | 'rightToLeft' | 'radial' | 'none';
|
|
3
76
|
export interface BlurViewProps extends ViewProps {
|
|
4
77
|
/**
|
|
5
|
-
* Blur intensity
|
|
78
|
+
* Blur intensity. Range: `0` (no blur) to `100` (maximum blur).
|
|
79
|
+
*
|
|
80
|
+
* Approximate CSS `backdrop-filter` equivalents:
|
|
81
|
+
*
|
|
82
|
+
* | `blurAmount` | CSS equivalent | Visual feel |
|
|
83
|
+
* |-------------|-------------------------|---------------------|
|
|
84
|
+
* | `5` | `backdrop-blur-sm` (4px) | Subtle hint of blur |
|
|
85
|
+
* | `15` | `backdrop-blur` (8px) | Light frosted glass |
|
|
86
|
+
* | `25` | `backdrop-blur-md` (12px) | Standard card blur |
|
|
87
|
+
* | `50` | `backdrop-blur-xl` (24px) | Heavy frosted glass |
|
|
88
|
+
* | `75` | `backdrop-blur-2xl` | Dense blur |
|
|
89
|
+
* | `100` | `backdrop-blur-3xl` | Maximum blur |
|
|
90
|
+
*
|
|
91
|
+
* **iOS**: Controls `UIViewPropertyAnimator` fraction on `UIBlurEffect`.
|
|
92
|
+
* **Android API 31+**: Maps quadratically to `RenderEffect.createBlurEffect` radius (0–25px).
|
|
93
|
+
* **Android API < 31**: Maps to `RenderScript` Gaussian radius via QmBlurView.
|
|
94
|
+
*
|
|
6
95
|
* @default 10
|
|
7
96
|
*/
|
|
8
97
|
blurAmount?: number;
|
|
9
98
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @default 'light'
|
|
12
|
-
*/
|
|
13
|
-
blurType?: BlurType;
|
|
14
|
-
/**
|
|
15
|
-
* Overlay color composited ON TOP of the blur layer. Works on iOS AND Android.
|
|
99
|
+
* Overlay color composited **on top of** the blur layer.
|
|
16
100
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
101
|
+
* Equivalent to CSS:
|
|
102
|
+
* ```css
|
|
103
|
+
* backdrop-filter: blur(Xpx);
|
|
104
|
+
* background-color: <overlayColor>;
|
|
105
|
+
* ```
|
|
19
106
|
*
|
|
20
|
-
*
|
|
21
|
-
* "#
|
|
22
|
-
* "#
|
|
107
|
+
* The alpha channel controls how much of the blur is visible:
|
|
108
|
+
* - `"#00000000"` — fully transparent, pure blur (no tint)
|
|
109
|
+
* - `"#00000040"` — 25% black tint over blur (dark frosted glass)
|
|
110
|
+
* - `"#FFFFFF30"` — 19% white tint over blur (light frosted glass)
|
|
111
|
+
* - `"#000000FF"` — fully opaque black, blur is hidden
|
|
23
112
|
*
|
|
24
|
-
*
|
|
113
|
+
* Supported color formats: `"transparent"`, `"#RGB"`, `"#RRGGBB"`, `"#RRGGBBAA"`
|
|
114
|
+
*
|
|
115
|
+
* **Works on both iOS and Android.**
|
|
116
|
+
*
|
|
117
|
+
* @default `"transparent"` on iOS, `"#00000030"` on Android
|
|
25
118
|
*/
|
|
26
119
|
overlayColor?: string;
|
|
27
120
|
/**
|
|
28
|
-
* Fallback color when blur
|
|
29
|
-
*
|
|
30
|
-
*
|
|
121
|
+
* Fallback solid color shown when blur effects are unavailable.
|
|
122
|
+
*
|
|
123
|
+
* Shown when:
|
|
124
|
+
* - **iOS**: User has enabled *Reduce Transparency* in Accessibility settings
|
|
125
|
+
* - **Android**: Device API level < 21
|
|
126
|
+
*
|
|
127
|
+
* Should be a color that provides sufficient contrast for your UI without
|
|
128
|
+
* the blur effect. Commonly a semi-opaque version of your background color.
|
|
129
|
+
*
|
|
130
|
+
* Supported formats: `"transparent"`, `"#RGB"`, `"#RRGGBB"`, `"#RRGGBBAA"`
|
|
131
|
+
*
|
|
132
|
+
* **Works on both iOS and Android.**
|
|
133
|
+
*
|
|
134
|
+
* @default `"#F2F2F2"`
|
|
31
135
|
*/
|
|
32
136
|
reducedTransparencyFallbackColor?: string;
|
|
33
137
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
138
|
+
* iOS blur material style.
|
|
139
|
+
*
|
|
140
|
+
* Maps to `UIBlurEffect.Style`. Controls the visual character of the blur —
|
|
141
|
+
* thickness, color tint, and how content shows through.
|
|
142
|
+
*
|
|
143
|
+
* Use adaptive styles (`"systemMaterial"`, `"light"`, `"dark"`) for apps
|
|
144
|
+
* that support both light and dark mode.
|
|
145
|
+
*
|
|
146
|
+
* **iOS only.** Ignored on Android — use `overlayColor` to tint the blur
|
|
147
|
+
* on Android.
|
|
148
|
+
*
|
|
149
|
+
* @default `"light"`
|
|
150
|
+
* @platform ios
|
|
151
|
+
*/
|
|
152
|
+
blurType?: BlurType;
|
|
153
|
+
/**
|
|
154
|
+
* Android API < 31 only — RenderScript capture downsample factor.
|
|
155
|
+
*
|
|
156
|
+
* Controls how aggressively the screen is downsampled before the blur
|
|
157
|
+
* kernel is applied. Higher values are faster but produce a softer,
|
|
158
|
+
* less detailed blur.
|
|
159
|
+
*
|
|
160
|
+
* | Value | Resolution captured | Quality | Performance |
|
|
161
|
+
* |-------|---------------------|----------|-------------|
|
|
162
|
+
* | `1` | Full resolution | Sharpest | Slowest |
|
|
163
|
+
* | `4` | 1/16 pixels (default) | Good | Fast |
|
|
164
|
+
* | `8` | 1/64 pixels | Softer | Fastest |
|
|
165
|
+
*
|
|
166
|
+
* On **Android API 31+** this prop is ignored — blur runs at full
|
|
167
|
+
* resolution on the GPU via `RenderEffect`.
|
|
168
|
+
*
|
|
169
|
+
* On **iOS** this prop is ignored entirely.
|
|
170
|
+
*
|
|
36
171
|
* @default 4
|
|
172
|
+
* @platform android
|
|
37
173
|
*/
|
|
38
174
|
blurRadius?: number;
|
|
175
|
+
/**
|
|
176
|
+
* Direction the blur fades across the view.
|
|
177
|
+
*
|
|
178
|
+
* Creates a gradient blur effect — full blur intensity at one edge,
|
|
179
|
+
* fading to no blur (or a different intensity) at the other.
|
|
180
|
+
* Commonly used for:
|
|
181
|
+
* - Sticky/floating headers (blur fades downward)
|
|
182
|
+
* - Bottom sheet scrims (blur fades upward)
|
|
183
|
+
* - Side drawers (blur fades horizontally)
|
|
184
|
+
* - Spotlight effects (radial, full blur at center)
|
|
185
|
+
*
|
|
186
|
+
* Use `progressiveStartIntensity` and `progressiveEndIntensity` to
|
|
187
|
+
* control the intensity at each end of the gradient.
|
|
188
|
+
*
|
|
189
|
+
* **iOS**: True per-pixel variable-radius blur via `CAFilter variableBlur`
|
|
190
|
+
* (same as Apple's Home Screen / Control Center). Falls back to opacity
|
|
191
|
+
* masking if CAFilter is unavailable.
|
|
192
|
+
*
|
|
193
|
+
* **Android API 31+**: Alpha mask gradient over GPU `RenderEffect` blur.
|
|
194
|
+
*
|
|
195
|
+
* **Android API < 31**: Silently ignored — uniform blur is shown.
|
|
196
|
+
*
|
|
197
|
+
* @default `"none"` (uniform blur)
|
|
198
|
+
* @platform ios, android (API 31+)
|
|
199
|
+
*/
|
|
200
|
+
progressiveBlurDirection?: ProgressiveBlurDirection;
|
|
201
|
+
/**
|
|
202
|
+
* Blur intensity at the **start** of the gradient direction. Range: `0.0`–`1.0`.
|
|
203
|
+
*
|
|
204
|
+
* - `1.0` = full blur (at `blurAmount` intensity)
|
|
205
|
+
* - `0.0` = completely unblurred / transparent
|
|
206
|
+
*
|
|
207
|
+
* What "start" means per direction:
|
|
208
|
+
* - `"topToBottom"` → intensity at the **top** edge
|
|
209
|
+
* - `"bottomToTop"` → intensity at the **bottom** edge
|
|
210
|
+
* - `"leftToRight"` → intensity at the **left** edge
|
|
211
|
+
* - `"rightToLeft"` → intensity at the **right** edge
|
|
212
|
+
* - `"radial"` → intensity at the **center**
|
|
213
|
+
*
|
|
214
|
+
* @default 1.0
|
|
215
|
+
* @platform ios, android (API 31+)
|
|
216
|
+
*/
|
|
217
|
+
progressiveStartIntensity?: number;
|
|
218
|
+
/**
|
|
219
|
+
* Blur intensity at the **end** of the gradient direction. Range: `0.0`–`1.0`.
|
|
220
|
+
*
|
|
221
|
+
* - `1.0` = full blur (at `blurAmount` intensity)
|
|
222
|
+
* - `0.0` = completely unblurred / transparent
|
|
223
|
+
*
|
|
224
|
+
* What "end" means per direction:
|
|
225
|
+
* - `"topToBottom"` → intensity at the **bottom** edge
|
|
226
|
+
* - `"bottomToTop"` → intensity at the **top** edge
|
|
227
|
+
* - `"leftToRight"` → intensity at the **right** edge
|
|
228
|
+
* - `"rightToLeft"` → intensity at the **left** edge
|
|
229
|
+
* - `"radial"` → intensity at the **outer edges**
|
|
230
|
+
*
|
|
231
|
+
* @default 0.0
|
|
232
|
+
* @platform ios, android (API 31+)
|
|
233
|
+
*/
|
|
234
|
+
progressiveEndIntensity?: number;
|
|
235
|
+
/**
|
|
236
|
+
* Noise grain overlay strength — adds tactile frosted-glass texture.
|
|
237
|
+
*
|
|
238
|
+
* Overlays a subtle static noise pattern on top of the blur layer.
|
|
239
|
+
* This mimics the micro-texture of real ground glass, making digital
|
|
240
|
+
* blur feel more physical and premium.
|
|
241
|
+
*
|
|
242
|
+
* | Value | Effect |
|
|
243
|
+
* |--------|-------------------------------------------------|
|
|
244
|
+
* | `0` | No noise — clean digital blur |
|
|
245
|
+
* | `0.08` | Subtle grain, barely perceptible (default) |
|
|
246
|
+
* | `0.15` | Noticeable grain (matches Haze library default) |
|
|
247
|
+
* | `0.30` | Heavy grain — strong tactile texture |
|
|
248
|
+
*
|
|
249
|
+
* **iOS**: Drawn as a tiled `CGImage` noise layer with `.overlay` blend mode.
|
|
250
|
+
* **Android API 31+**: Tiled `BitmapShader` drawn over the blur layer.
|
|
251
|
+
* **Android API < 31**: Silently ignored.
|
|
252
|
+
*
|
|
253
|
+
* @default 0.08
|
|
254
|
+
* @platform ios, android (API 31+)
|
|
255
|
+
*/
|
|
256
|
+
noiseFactor?: number;
|
|
39
257
|
}
|
|
40
258
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,YAAY,GACZ,SAAS,GACT,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,GACtB,8BAA8B,GAC9B,yBAAyB,GACzB,qBAAqB,GACrB,0BAA0B,GAC1B,2BAA2B,GAC3B,6BAA6B,GAC7B,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,0BAA0B,CAAC;AAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,QAAQ,GACR,MAAM,CAAC;AAMX,MAAM,WAAW,aAAc,SAAQ,SAAS;IAG9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAI1C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAIpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAEpD;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;;;;;;;;OAeG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
1
|
import type { HostComponent, ViewProps } from 'react-native';
|
|
2
2
|
import type { Float, Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
/**
|
|
4
|
-
* NativeComponent codegen spec for BlurVibeView.
|
|
5
|
-
*
|
|
6
|
-
* Type mapping (JS → Native):
|
|
7
|
-
* Float → NSNumber (iOS) / Float (Android)
|
|
8
|
-
* string → NSString (iOS) / String (Android)
|
|
9
|
-
* Int32 → NSNumber (iOS) / Int (Android)
|
|
10
|
-
*
|
|
11
|
-
* Color props (overlayColor, reducedTransparencyFallbackColor) use
|
|
12
|
-
* plain `string` — NOT the RN `ColorValue` type — because we parse
|
|
13
|
-
* hex manually on both platforms for full alpha channel control.
|
|
14
|
-
* Using ColorValue would trigger RN's color normalization which
|
|
15
|
-
* reorders alpha bytes and breaks #RRGGBBAA format.
|
|
16
|
-
*/
|
|
17
3
|
export interface NativeBlurVibeViewProps extends ViewProps {
|
|
18
4
|
blurAmount?: Float;
|
|
19
5
|
blurType?: string;
|
|
20
6
|
overlayColor?: string;
|
|
21
7
|
reducedTransparencyFallbackColor?: string;
|
|
22
8
|
blurRadius?: Int32;
|
|
9
|
+
progressiveBlurDirection?: string;
|
|
10
|
+
progressiveStartIntensity?: Float;
|
|
11
|
+
progressiveEndIntensity?: Float;
|
|
12
|
+
noiseFactor?: Float;
|
|
23
13
|
}
|
|
24
14
|
declare const _default: HostComponent<NativeBlurVibeViewProps>;
|
|
25
15
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlurVibeViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/BlurVibeViewNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAE9E
|
|
1
|
+
{"version":3,"file":"BlurVibeViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/BlurVibeViewNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IAExD,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAG1C,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,KAAK,CAAC;IAClC,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAGhC,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;wBAII,aAAa,CAAC,uBAAuB,CAAC;AAF3C,wBAE4C"}
|