@expo/ui 58.0.20 → 58.0.22
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/CHANGELOG.md +29 -0
- package/README.md +86 -2
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/ui/CompositionLocalProviderView.kt +26 -0
- package/android/src/main/java/expo/modules/ui/ExpoUIModule.kt +12 -0
- package/android/src/main/java/expo/modules/ui/HostView.kt +4 -1
- package/android/src/main/java/expo/modules/ui/MaskView.kt +3 -2
- package/android/src/main/java/expo/modules/ui/ModifierRegistry.kt +3 -1
- package/android/src/main/java/expo/modules/ui/RNHostView.kt +11 -7
- package/android/src/main/java/expo/modules/ui/SwitchView.kt +6 -1
- package/android/src/main/java/expo/modules/ui/TopAppBarView.kt +62 -0
- package/android/src/main/java/expo/modules/ui/colors/MaterialColors.kt +61 -0
- package/build/community/bottom-sheet/BottomSheet.ios.js +8 -3
- package/build/community/bottom-sheet/BottomSheet.ios.js.map +1 -1
- package/build/community/pager-view/PagerView.ios.js +25 -8
- package/build/community/pager-view/PagerView.ios.js.map +1 -1
- package/build/community/segmented-control/SegmentedControl.ios.js +11 -2
- package/build/community/segmented-control/SegmentedControl.ios.js.map +1 -1
- package/build/community/segmented-control/types.d.ts +5 -1
- package/build/community/segmented-control/types.js.map +1 -1
- package/build/community/segmented-control/vendor/SegmentedControl.js +2 -2
- package/build/community/segmented-control/vendor/SegmentedControl.js.map +1 -1
- package/build/jetpack-compose/CompositionLocalProvider/index.d.ts +28 -0
- package/build/jetpack-compose/CompositionLocalProvider/index.js +15 -0
- package/build/jetpack-compose/CompositionLocalProvider/index.js.map +1 -0
- package/build/jetpack-compose/Host/index.d.ts +8 -0
- package/build/jetpack-compose/Host/index.js +38 -5
- package/build/jetpack-compose/Host/index.js.map +1 -1
- package/build/jetpack-compose/Switch/index.d.ts +2 -0
- package/build/jetpack-compose/Switch/index.js +1 -0
- package/build/jetpack-compose/Switch/index.js.map +1 -1
- package/build/jetpack-compose/TopAppBar/index.d.ts +72 -0
- package/build/jetpack-compose/TopAppBar/index.js +45 -0
- package/build/jetpack-compose/TopAppBar/index.js.map +1 -0
- package/build/jetpack-compose/index.d.ts +2 -0
- package/build/jetpack-compose/index.js +2 -0
- package/build/jetpack-compose/index.js.map +1 -1
- package/build/jetpack-compose/modifiers/index.d.ts +5 -1
- package/build/jetpack-compose/modifiers/index.js +6 -2
- package/build/jetpack-compose/modifiers/index.js.map +1 -1
- package/build/swift-ui/BottomSheet/index.d.ts +6 -0
- package/build/swift-ui/BottomSheet/index.js +9 -3
- package/build/swift-ui/BottomSheet/index.js.map +1 -1
- package/build/universal/Checkbox/index.android.js +16 -4
- package/build/universal/Checkbox/index.android.js.map +1 -1
- package/build/universal/ScrollView/index.ios.js +12 -6
- package/build/universal/ScrollView/index.ios.js.map +1 -1
- package/build/universal/Switch/index.android.js +17 -4
- package/build/universal/Switch/index.android.js.map +1 -1
- package/build/universal/Switch/index.js +1 -0
- package/build/universal/Switch/index.js.map +1 -1
- package/build/universal/Text/index.js +2 -2
- package/build/universal/Text/index.js.map +1 -1
- package/build/universal/webUtils.js +4 -0
- package/build/universal/webUtils.js.map +1 -1
- package/ios/BottomSheetView.swift +11 -2
- package/ios/DataListForEachView.swift +24 -6
- package/ios/DatePickerView.swift +134 -9
- package/ios/Modifiers/SelectedSegmentTintColorModifier.swift +86 -0
- package/ios/Modifiers/ViewModifierRegistry.swift +4 -0
- package/ios/RNHostView.swift +34 -16
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.20/expo.modules.ui-58.0.20-sources.jar → 58.0.22/expo.modules.ui-58.0.22-sources.jar} +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.20/expo.modules.ui-58.0.20.module → 58.0.22/expo.modules.ui-58.0.22.module} +22 -22
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.20/expo.modules.ui-58.0.20.pom → 58.0.22/expo.modules.ui-58.0.22.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha512 +1 -0
- package/package.json +2 -2
- package/src/community/bottom-sheet/BottomSheet.ios.tsx +7 -3
- package/src/community/pager-view/PagerView.ios.tsx +25 -8
- package/src/community/segmented-control/SegmentedControl.ios.tsx +13 -1
- package/src/community/segmented-control/types.tsx +5 -1
- package/src/community/segmented-control/vendor/SegmentedControl.tsx +10 -2
- package/src/jetpack-compose/CompositionLocalProvider/index.tsx +43 -0
- package/src/jetpack-compose/Host/index.tsx +50 -4
- package/src/jetpack-compose/Switch/index.tsx +4 -0
- package/src/jetpack-compose/TopAppBar/index.tsx +113 -0
- package/src/jetpack-compose/index.ts +2 -0
- package/src/jetpack-compose/modifiers/index.ts +11 -3
- package/src/swift-ui/BottomSheet/index.tsx +24 -3
- package/src/universal/Checkbox/index.android.tsx +24 -5
- package/src/universal/ScrollView/index.ios.tsx +14 -3
- package/src/universal/Switch/index.android.tsx +23 -4
- package/src/universal/Switch/index.tsx +1 -0
- package/src/universal/Text/index.tsx +2 -2
- package/src/universal/webUtils.ts +4 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.20/expo.modules.ui-58.0.20.pom.sha512 +0 -1
|
@@ -2,19 +2,28 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Host } from '../../swift-ui/Host';
|
|
3
3
|
import { Picker } from '../../swift-ui/Picker';
|
|
4
4
|
import { Text } from '../../swift-ui/Text';
|
|
5
|
-
import { disabled as disabledModifier } from '../../swift-ui/modifiers';
|
|
5
|
+
import { accessibilityLabel as accessibilityLabelModifier, disabled as disabledModifier } from '../../swift-ui/modifiers';
|
|
6
|
+
import { createModifier } from '../../swift-ui/modifiers/createModifier';
|
|
6
7
|
import { environment } from '../../swift-ui/modifiers/environment';
|
|
7
8
|
import { pickerStyle } from '../../swift-ui/modifiers/pickerStyle';
|
|
8
9
|
import { tag } from '../../swift-ui/modifiers/tag';
|
|
9
10
|
import { buildChangeEvent } from './types';
|
|
10
11
|
export function SegmentedControl(props) {
|
|
11
|
-
const { values, selectedIndex, enabled = true, onChange, onValueChange, appearance, style, testID } = props;
|
|
12
|
+
const { values, selectedIndex, enabled = true, onChange, onValueChange, tintColor, appearance, style, testID, accessibilityLabel } = props;
|
|
12
13
|
const modifiers = [
|
|
13
14
|
pickerStyle('segmented')
|
|
14
15
|
];
|
|
15
16
|
if (!enabled) {
|
|
16
17
|
modifiers.push(disabledModifier());
|
|
17
18
|
}
|
|
19
|
+
if (accessibilityLabel) {
|
|
20
|
+
modifiers.push(accessibilityLabelModifier(accessibilityLabel));
|
|
21
|
+
}
|
|
22
|
+
if (tintColor) {
|
|
23
|
+
modifiers.push(createModifier('selectedSegmentTintColor', {
|
|
24
|
+
color: tintColor
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
18
27
|
if (appearance) {
|
|
19
28
|
modifiers.push(environment('colorScheme', appearance));
|
|
20
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/segmented-control/SegmentedControl.ios.tsx"],"sourcesContent":[null],"names":["Host","Picker","Text","disabled","disabledModifier","environment","pickerStyle","tag","buildChangeEvent","SegmentedControl","props","values","selectedIndex","enabled","onChange","onValueChange","appearance","style","testID","modifiers","push","handleSelectionChange","selection","val","matchContents","vertical","ignoreSafeArea","onSelectionChange","label","map","index"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,
|
|
1
|
+
{"version":3,"sources":["community/segmented-control/SegmentedControl.ios.tsx"],"sourcesContent":[null],"names":["Host","Picker","Text","accessibilityLabel","accessibilityLabelModifier","disabled","disabledModifier","createModifier","environment","pickerStyle","tag","buildChangeEvent","SegmentedControl","props","values","selectedIndex","enabled","onChange","onValueChange","tintColor","appearance","style","testID","modifiers","push","color","handleSelectionChange","selection","val","matchContents","vertical","ignoreSafeArea","onSelectionChange","label","map","index"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SACEC,sBAAsBC,0BAA0B,EAChDC,YAAYC,gBAAgB,QACvB,2BAA2B;AAClC,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,GAAG,QAAQ,+BAA+B;AAEnD,SAASC,gBAAgB,QAAoC,UAAU;AAEvE,OAAO,SAASC,iBAAiBC,KAA4B;IAC3D,MAAM,EACJC,MAAM,EACNC,aAAa,EACbC,UAAU,IAAI,EACdC,QAAQ,EACRC,aAAa,EACbC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNnB,kBAAkB,EACnB,GAAGU;IAEJ,MAAMU,YAA8B;QAACd,YAAY;KAAa;IAC9D,IAAI,CAACO,SAAS;QACZO,UAAUC,IAAI,CAAClB;IACjB;IACA,IAAIH,oBAAoB;QACtBoB,UAAUC,IAAI,CAACpB,2BAA2BD;IAC5C;IACA,IAAIgB,WAAW;QACbI,UAAUC,IAAI,CAACjB,eAAe,4BAA4B;YAAEkB,OAAON;QAAU;IAC/E;IACA,IAAIC,YAAY;QACdG,UAAUC,IAAI,CAAChB,YAAY,eAAeY;IAC5C;IAEA,MAAMM,wBAAwB,CAACC;QAC7B,MAAMC,MAAMd,QAAQ,CAACa,UAAU,IAAI;QACnCT,gBAAgBU;QAChBX,WAAWN,iBAAiBgB,WAAWC;IACzC;IAEA,qBACE,KAAC5B;QAAK6B,eAAe;YAAEC,UAAU;QAAK;QAAGT,OAAOA;QAAOU,gBAAe;kBACpE,cAAA,KAAC9B;YACC0B,WAAWZ;YACXiB,mBAAmBN;YACnBH,WAAWA;YACXU,OAAM;YACNX,QAAQA;sBACP,AAACR,CAAAA,UAAU,EAAE,AAAD,EAAGoB,GAAG,CAAC,CAACD,OAAOE,sBAC1B,KAACjC;oBAAiBqB,WAAW;wBAACb,IAAIyB;qBAAO;8BACtCF;mBADQE;;;AAOrB"}
|
|
@@ -40,7 +40,6 @@ export interface SegmentedControlProps {
|
|
|
40
40
|
onValueChange?: (value: string) => void;
|
|
41
41
|
/**
|
|
42
42
|
* Accent color of the control.
|
|
43
|
-
* @platform android, web
|
|
44
43
|
*/
|
|
45
44
|
tintColor?: string;
|
|
46
45
|
/**
|
|
@@ -49,6 +48,11 @@ export interface SegmentedControlProps {
|
|
|
49
48
|
appearance?: 'dark' | 'light';
|
|
50
49
|
style?: StyleProp<ViewStyle>;
|
|
51
50
|
testID?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The name of the control that screen readers announce.
|
|
53
|
+
* @platform ios
|
|
54
|
+
*/
|
|
55
|
+
accessibilityLabel?: string;
|
|
52
56
|
}
|
|
53
57
|
/**
|
|
54
58
|
* Builds a synthetic `onChange` event matching the community library shape.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/segmented-control/types.tsx"],"sourcesContent":[null],"names":["buildChangeEvent","index","value","nativeEvent","selectedSegmentIndex"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["community/segmented-control/types.tsx"],"sourcesContent":[null],"names":["buildChangeEvent","index","value","nativeEvent","selectedSegmentIndex"],"mappings":"AA4DA;;CAEC,GACD,OAAO,SAASA,iBAAiBC,KAAa,EAAEC,KAAa;IAC3D,OAAO;QACLC,aAAa;YACXC,sBAAsBH;YACtBC;QACF;IACF;AACF"}
|
|
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
* Vendored from @react-native-segmented-control/segmented-control (MIT license).
|
|
5
5
|
* https://github.com/react-native-segmented-control/segmented-control
|
|
6
6
|
*/ import * as React from 'react';
|
|
7
|
-
import { Animated, Easing, I18nManager, StyleSheet, View, useColorScheme } from 'react-native';
|
|
7
|
+
import { Animated, Easing, I18nManager, Platform, StyleSheet, View, useColorScheme } from 'react-native';
|
|
8
8
|
import { SegmentedControlTab } from './SegmentedControlTab';
|
|
9
9
|
import { SegmentsSeparators } from './SegmentsSeparators';
|
|
10
10
|
import { buildChangeEvent } from '../types';
|
|
@@ -40,7 +40,7 @@ export function SegmentedControl({ style, onChange, onValueChange, enabled = tru
|
|
|
40
40
|
toValue: isRTL * (selectedIndex ?? 0),
|
|
41
41
|
duration: 300,
|
|
42
42
|
easing: Easing.out(Easing.quad),
|
|
43
|
-
useNativeDriver:
|
|
43
|
+
useNativeDriver: Platform.OS !== 'web'
|
|
44
44
|
}).start();
|
|
45
45
|
}
|
|
46
46
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/segmented-control/vendor/SegmentedControl.tsx"],"sourcesContent":[null],"names":["React","Animated","Easing","I18nManager","StyleSheet","View","useColorScheme","SegmentedControlTab","SegmentsSeparators","buildChangeEvent","SegmentedControl","style","onChange","onValueChange","enabled","selectedIndex","values","tintColor","appearance","colorSchemeHook","colorScheme","segmentWidth","setSegmentWidth","useState","animation","useRef","Value","current","handleChange","index","val","updateSegmentWidth","useCallback","width","count","length","newSegmentWidth","setValue","useEffect","isRTL","timing","toValue","duration","easing","out","quad","useNativeDriver","start","styles","default","darkControl","disabled","onLayout","nativeEvent","layout","slider","transform","translateX","zIndex","backgroundColor","segmentsContainer","map","value","selected","accessibilityHint","onSelect","create","overflow","position","height","borderRadius","opacity","top","bottom","right","left","borderWidth","borderColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","flexDirection","justifyContent","alignItems"],"mappings":";AAAA;;;;CAIC,GAED,YAAYA,WAAW,QAAQ;AAC/B,
|
|
1
|
+
{"version":3,"sources":["community/segmented-control/vendor/SegmentedControl.tsx"],"sourcesContent":[null],"names":["React","Animated","Easing","I18nManager","Platform","StyleSheet","View","useColorScheme","SegmentedControlTab","SegmentsSeparators","buildChangeEvent","SegmentedControl","style","onChange","onValueChange","enabled","selectedIndex","values","tintColor","appearance","colorSchemeHook","colorScheme","segmentWidth","setSegmentWidth","useState","animation","useRef","Value","current","handleChange","index","val","updateSegmentWidth","useCallback","width","count","length","newSegmentWidth","setValue","useEffect","isRTL","timing","toValue","duration","easing","out","quad","useNativeDriver","OS","start","styles","default","darkControl","disabled","onLayout","nativeEvent","layout","slider","transform","translateX","zIndex","backgroundColor","segmentsContainer","map","value","selected","accessibilityHint","onSelect","create","overflow","position","height","borderRadius","opacity","top","bottom","right","left","borderWidth","borderColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","flexDirection","justifyContent","alignItems"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Composition local values that `CompositionLocalProvider` can provide.
|
|
4
|
+
*/
|
|
5
|
+
export type CompositionLocalValues = {
|
|
6
|
+
/**
|
|
7
|
+
* The minimum size, in dp, that Material components such as `Button`, `IconButton`, `Checkbox`, and
|
|
8
|
+
* `Switch` reserve for their touch target. Maps to `LocalMinimumInteractiveComponentSize`.
|
|
9
|
+
* Set it to `0` to let these components be smaller than Material's default of 48dp.
|
|
10
|
+
*/
|
|
11
|
+
minimumInteractiveComponentSize?: number;
|
|
12
|
+
};
|
|
13
|
+
export type CompositionLocalProviderProps = {
|
|
14
|
+
/**
|
|
15
|
+
* The values to provide to the children.
|
|
16
|
+
*/
|
|
17
|
+
values: CompositionLocalValues;
|
|
18
|
+
/**
|
|
19
|
+
* The content that receives the values.
|
|
20
|
+
*/
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Provides composition local values to its children, like Jetpack Compose's `CompositionLocalProvider`.
|
|
25
|
+
* It adds no layout of its own, so children keep modifiers such as `weight` from the parent `Row`
|
|
26
|
+
* or `Column`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function CompositionLocalProvider({ values, children }: CompositionLocalProviderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { requireNativeView } from 'expo';
|
|
3
|
+
const CompositionLocalProviderNativeView = requireNativeView('ExpoUI', 'CompositionLocalProviderView');
|
|
4
|
+
/**
|
|
5
|
+
* Provides composition local values to its children, like Jetpack Compose's `CompositionLocalProvider`.
|
|
6
|
+
* It adds no layout of its own, so children keep modifiers such as `weight` from the parent `Row`
|
|
7
|
+
* or `Column`.
|
|
8
|
+
*/ export function CompositionLocalProvider({ values, children }) {
|
|
9
|
+
return /*#__PURE__*/ _jsx(CompositionLocalProviderNativeView, {
|
|
10
|
+
...values,
|
|
11
|
+
children: children
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/CompositionLocalProvider/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","CompositionLocalProviderNativeView","CompositionLocalProvider","values","children"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AA8BzC,MAAMC,qCACJD,kBAAkB,UAAU;AAE9B;;;;CAIC,GACD,OAAO,SAASE,yBAAyB,EAAEC,MAAM,EAAEC,QAAQ,EAAiC;IAC1F,qBACE,KAACH;QAAoC,GAAGE,MAAM;kBAAGC;;AAErD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Ref } from 'react';
|
|
2
2
|
import { type ColorSchemeName, type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import { type MaterialColors } from '../colors';
|
|
3
4
|
import { type PrimitiveBaseProps } from '../layout';
|
|
4
5
|
export interface HostProps extends PrimitiveBaseProps {
|
|
5
6
|
/**
|
|
@@ -41,6 +42,13 @@ export interface HostProps extends PrimitiveBaseProps {
|
|
|
41
42
|
* available to descendants via `useMaterialColors()`.
|
|
42
43
|
*/
|
|
43
44
|
seedColor?: ColorValue;
|
|
45
|
+
/**
|
|
46
|
+
* Material 3 color roles that replace the matching roles of the palette from
|
|
47
|
+
* `colorScheme` and `seedColor`. Roles you omit keep their palette value.
|
|
48
|
+
* The overrides theme Compose children and are returned by `useMaterialColors()`
|
|
49
|
+
* in the same `#RRGGBBAA` form as the other roles.
|
|
50
|
+
*/
|
|
51
|
+
colorOverrides?: Partial<MaterialColors>;
|
|
44
52
|
/**
|
|
45
53
|
* The layout direction for the content.
|
|
46
54
|
* Defaults to the current locale direction from I18nManager.
|
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { requireNativeView } from 'expo';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
|
-
import { I18nManager, useColorScheme as useRNColorScheme } from 'react-native';
|
|
4
|
+
import { I18nManager, processColor, useColorScheme as useRNColorScheme } from 'react-native';
|
|
5
5
|
import { NativeTreeContext, useWarnIfNestedHost } from '../../NativeTreeContext';
|
|
6
6
|
import { TextInputHostProvider, useTextInputHostRef } from '../../keyboard';
|
|
7
7
|
import { useMergeRefs } from '../../utils/useMergeRefs';
|
|
8
8
|
import { getMaterialColors, HostPaletteContext } from '../colors';
|
|
9
9
|
const HostNativeView = requireNativeView('ExpoUI', 'HostView');
|
|
10
10
|
export function Host(props) {
|
|
11
|
-
const { matchContents, modifiers, onLayoutContent, layoutDirection, colorScheme, seedColor, ref, children, ...restProps } = props;
|
|
11
|
+
const { matchContents, modifiers, onLayoutContent, layoutDirection, colorScheme, seedColor, colorOverrides, ref, children, ...restProps } = props;
|
|
12
12
|
const schemeString = colorScheme === 'light' || colorScheme === 'dark' ? colorScheme : undefined;
|
|
13
13
|
const systemScheme = useRNColorScheme();
|
|
14
14
|
const resolvedScheme = schemeString ?? (systemScheme === 'dark' ? 'dark' : 'light');
|
|
15
|
-
|
|
15
|
+
// Key on the normalized values, not the object, so an inline `colorOverrides` object keeps
|
|
16
|
+
// the palette from `useMaterialColors()` reference-stable across re-renders.
|
|
17
|
+
const overridesKey = colorOverrides ? JSON.stringify(normalizeColorOverrides(colorOverrides)) : null;
|
|
18
|
+
const normalizedOverrides = useMemo(()=>overridesKey ? JSON.parse(overridesKey) : undefined, [
|
|
19
|
+
overridesKey
|
|
20
|
+
]);
|
|
21
|
+
const palette = useMemo(()=>{
|
|
22
|
+
const basePalette = getMaterialColors({
|
|
16
23
|
scheme: resolvedScheme,
|
|
17
24
|
seedColor
|
|
18
|
-
})
|
|
25
|
+
});
|
|
26
|
+
return normalizedOverrides ? {
|
|
27
|
+
...basePalette,
|
|
28
|
+
...normalizedOverrides
|
|
29
|
+
} : basePalette;
|
|
30
|
+
}, [
|
|
19
31
|
resolvedScheme,
|
|
20
|
-
seedColor
|
|
32
|
+
seedColor,
|
|
33
|
+
normalizedOverrides
|
|
21
34
|
]);
|
|
22
35
|
const hostRef = useTextInputHostRef();
|
|
23
36
|
const mergedRef = useMergeRefs(ref, hostRef);
|
|
@@ -33,6 +46,7 @@ export function Host(props) {
|
|
|
33
46
|
matchContentsHorizontal: typeof matchContents === 'object' ? matchContents.horizontal : matchContents,
|
|
34
47
|
colorScheme: schemeString,
|
|
35
48
|
seedColor: seedColor,
|
|
49
|
+
colorOverrides: normalizedOverrides,
|
|
36
50
|
onLayoutContent: onLayoutContent,
|
|
37
51
|
layoutDirection: layoutDirection ?? (I18nManager.getConstants().isRTL ? 'rightToLeft' : 'leftToRight'),
|
|
38
52
|
ref: mergedRef,
|
|
@@ -44,5 +58,24 @@ export function Host(props) {
|
|
|
44
58
|
})
|
|
45
59
|
});
|
|
46
60
|
}
|
|
61
|
+
function normalizeColorOverrides(overrides) {
|
|
62
|
+
const normalized = {};
|
|
63
|
+
for (const [role, color] of Object.entries(overrides)){
|
|
64
|
+
const hex = color != null ? toRgbaHex(color) : null;
|
|
65
|
+
if (hex) {
|
|
66
|
+
normalized[role] = hex;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return normalized;
|
|
70
|
+
}
|
|
71
|
+
// `processColor` returns `0xAARRGGBB`; the palette uses `#RRGGBBAA` like native `toTokenMap()`.
|
|
72
|
+
function toRgbaHex(color) {
|
|
73
|
+
const argb = processColor(color);
|
|
74
|
+
if (typeof argb !== 'number') {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const rgba = (argb << 8 | argb >>> 24) >>> 0;
|
|
78
|
+
return `#${rgba.toString(16).padStart(8, '0').toUpperCase()}`;
|
|
79
|
+
}
|
|
47
80
|
|
|
48
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["jetpack-compose/Host/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useMemo","I18nManager","useColorScheme","useRNColorScheme","NativeTreeContext","useWarnIfNestedHost","TextInputHostProvider","useTextInputHostRef","useMergeRefs","getMaterialColors","HostPaletteContext","HostNativeView","Host","props","matchContents","modifiers","onLayoutContent","layoutDirection","colorScheme","seedColor","ref","children","restProps","schemeString","undefined","systemScheme","resolvedScheme","palette","scheme","hostRef","mergedRef","Provider","value","matchContentsVertical","vertical","matchContentsHorizontal","horizontal","getConstants","isRTL"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,OAAO,QAAkB,QAAQ;AAC1C,SAKEC,WAAW,EACXC,kBAAkBC,gBAAgB,QAC7B,eAAe;AAEtB,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,0BAA0B;AACjF,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAC5E,SAASC,YAAY,QAAQ,2BAA2B;AACxD,
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/Host/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useMemo","I18nManager","processColor","useColorScheme","useRNColorScheme","NativeTreeContext","useWarnIfNestedHost","TextInputHostProvider","useTextInputHostRef","useMergeRefs","getMaterialColors","HostPaletteContext","HostNativeView","Host","props","matchContents","modifiers","onLayoutContent","layoutDirection","colorScheme","seedColor","colorOverrides","ref","children","restProps","schemeString","undefined","systemScheme","resolvedScheme","overridesKey","JSON","stringify","normalizeColorOverrides","normalizedOverrides","parse","palette","basePalette","scheme","hostRef","mergedRef","Provider","value","matchContentsVertical","vertical","matchContentsHorizontal","horizontal","getConstants","isRTL","overrides","normalized","role","color","Object","entries","hex","toRgbaHex","argb","rgba","toString","padStart","toUpperCase"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,OAAO,QAAkB,QAAQ;AAC1C,SAKEC,WAAW,EACXC,YAAY,EACZC,kBAAkBC,gBAAgB,QAC7B,eAAe;AAEtB,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,0BAA0B;AACjF,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAC5E,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SACEC,iBAAiB,EACjBC,kBAAkB,QAGb,YAAY;AA4EnB,MAAMC,iBAAuDb,kBAC3D,UACA;AAGF,OAAO,SAASc,KAAKC,KAAgB;IACnC,MAAM,EACJC,aAAa,EACbC,SAAS,EACTC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,cAAc,EACdC,GAAG,EACHC,QAAQ,EACR,GAAGC,WACJ,GAAGV;IACJ,MAAMW,eAAeN,gBAAgB,WAAWA,gBAAgB,SAASA,cAAcO;IAEvF,MAAMC,eAAevB;IACrB,MAAMwB,iBAAiBH,gBAAiBE,CAAAA,iBAAiB,SAAS,SAAS,OAAM;IACjF,2FAA2F;IAC3F,6EAA6E;IAC7E,MAAME,eAAeR,iBACjBS,KAAKC,SAAS,CAACC,wBAAwBX,mBACvC;IACJ,MAAMY,sBAAsBjC,QAC1B,IAAO6B,eAAeC,KAAKI,KAAK,CAACL,gBAAgBH,WACjD;QAACG;KAAa;IAEhB,MAAMM,UAAUnC,QAAQ;QACtB,MAAMoC,cAAc1B,kBAAkB;YAAE2B,QAAQT;YAAgBR;QAAU;QAC1E,OAAOa,sBAAsB;YAAE,GAAGG,WAAW;YAAE,GAAGH,mBAAmB;QAAC,IAAIG;IAC5E,GAAG;QAACR;QAAgBR;QAAWa;KAAoB;IACnD,MAAMK,UAAU9B;IAChB,MAAM+B,YAAY9B,aAAaa,KAAKgB;IACpChC,oBAAoB;IAEpB,qBACE,KAACK,mBAAmB6B,QAAQ;QAACC,OAAON;kBAClC,cAAA,KAAC5B;YAAsB+B,SAASA;sBAC9B,cAAA,KAAC1B;gBACE,GAAGY,SAAS;gBACbR,WAAWA;gBACX0B,uBACE,OAAO3B,kBAAkB,WAAWA,cAAc4B,QAAQ,GAAG5B;gBAE/D6B,yBACE,OAAO7B,kBAAkB,WAAWA,cAAc8B,UAAU,GAAG9B;gBAEjEI,aAAaM;gBACbL,WAAWA;gBACXC,gBAAgBY;gBAChBhB,iBAAiBA;gBACjBC,iBACEA,mBAAoBjB,CAAAA,YAAY6C,YAAY,GAAGC,KAAK,GAAG,gBAAgB,aAAY;gBAErFzB,KAAKiB;0BACL,cAAA,KAAClC,kBAAkBmC,QAAQ;oBAACC,KAAK;8BAAElB;;;;;AAK7C;AAEA,SAASS,wBAAwBgB,SAAkC;IACjE,MAAMC,aAAsC,CAAC;IAC7C,KAAK,MAAM,CAACC,MAAMC,MAAM,IAAIC,OAAOC,OAAO,CAACL,WAAiD;QAC1F,MAAMM,MAAMH,SAAS,OAAOI,UAAUJ,SAAS;QAC/C,IAAIG,KAAK;YACPL,UAAU,CAACC,KAAK,GAAGI;QACrB;IACF;IACA,OAAOL;AACT;AAEA,gGAAgG;AAChG,SAASM,UAAUJ,KAAc;IAC/B,MAAMK,OAAOtD,aAAaiD;IAC1B,IAAI,OAAOK,SAAS,UAAU;QAC5B,OAAO;IACT;IACA,MAAMC,OAAO,AAAC,CAAA,AAACD,QAAQ,IAAMA,SAAS,EAAE,MAAO;IAC/C,OAAO,CAAC,CAAC,EAAEC,KAAKC,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG,KAAKC,WAAW,IAAI;AAC/D"}
|
|
@@ -33,6 +33,8 @@ export interface SwitchProps {
|
|
|
33
33
|
enabled?: boolean;
|
|
34
34
|
/**
|
|
35
35
|
* Callback function that is called when the checked state changes.
|
|
36
|
+
* When omitted, the switch is not interactive on its own, so a parent with the
|
|
37
|
+
* `toggleable` modifier can handle input and accessibility for it.
|
|
36
38
|
*/
|
|
37
39
|
onCheckedChange?: (value: boolean) => void;
|
|
38
40
|
/**
|
|
@@ -19,6 +19,7 @@ function transformSwitchProps(props) {
|
|
|
19
19
|
modifiers,
|
|
20
20
|
...modifiers ? createViewModifierEventListener(modifiers) : undefined,
|
|
21
21
|
...restProps,
|
|
22
|
+
nativeClickable: onCheckedChange != null,
|
|
22
23
|
onCheckedChange: ({ nativeEvent: { value } })=>{
|
|
23
24
|
onCheckedChange?.(value);
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["jetpack-compose/Switch/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","ExpoUIModule","createViewModifierEventListener","SwitchNativeView","SlotNativeView","SwitchThumbContent","props","slotName","children","transformSwitchProps","modifiers","onCheckedChange","restProps","undefined","nativeEvent","value","SwitchComponent","ThumbContent","DefaultIconSize","SwitchDefaultIconSize","Switch"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/Switch/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","ExpoUIModule","createViewModifierEventListener","SwitchNativeView","SlotNativeView","SwitchThumbContent","props","slotName","children","transformSwitchProps","modifiers","onCheckedChange","restProps","undefined","nativeClickable","nativeEvent","value","SwitchComponent","ThumbContent","DefaultIconSize","SwitchDefaultIconSize","Switch"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;AAsErE,MAAMC,mBAA2DH,kBAC/D,UACA;AAGF,MAAMI,iBAA2DJ,kBAC/D,UACA;AAGF;;;CAGC,GACD,OAAO,SAASK,mBAAmBC,KAAwB;IACzD,qBAAO,KAACF;QAAeG,UAAS;kBAAgBD,MAAME,QAAQ;;AAChE;AAEA,SAASC,qBAAqBH,KAAkB;IAC9C,MAAM,EAAEI,SAAS,EAAEF,QAAQ,EAAEG,eAAe,EAAE,GAAGC,WAAW,GAAGN;IAC/D,OAAO;QACLI;QACA,GAAIA,YAAYR,gCAAgCQ,aAAaG,SAAS;QACtE,GAAGD,SAAS;QACZE,iBAAiBH,mBAAmB;QACpCA,iBAAiB,CAAC,EAAEI,aAAa,EAAEC,KAAK,EAAE,EAAE;YAC1CL,kBAAkBK;QACpB;IACF;AACF;AAEA;;CAEC,GACD,SAASC,gBAAgBX,KAAkB;IACzC,qBAAO,KAACH;QAAkB,GAAGM,qBAAqBH,MAAM;kBAAGA,MAAME,QAAQ;;AAC3E;AAEAS,gBAAgBC,YAAY,GAAGb;AAC/BY,gBAAgBE,eAAe,GAAGlB,aAAamB,qBAAqB;AAEpE,SAASH,mBAAmBI,MAAM,GAAG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ColorValue } from 'react-native';
|
|
2
|
+
import type { ExpoModifier } from '../../types';
|
|
3
|
+
import type { PaddingValuesRecord } from '../Carousel';
|
|
4
|
+
export type { PaddingValuesRecord };
|
|
5
|
+
/**
|
|
6
|
+
* Colors for the top app bar.
|
|
7
|
+
*/
|
|
8
|
+
export type TopAppBarColors = {
|
|
9
|
+
/**
|
|
10
|
+
* Color of the container (background).
|
|
11
|
+
*/
|
|
12
|
+
containerColor?: ColorValue;
|
|
13
|
+
/**
|
|
14
|
+
* Color of the navigation icon.
|
|
15
|
+
*/
|
|
16
|
+
navigationIconContentColor?: ColorValue;
|
|
17
|
+
/**
|
|
18
|
+
* Color of the title.
|
|
19
|
+
*/
|
|
20
|
+
titleContentColor?: ColorValue;
|
|
21
|
+
/**
|
|
22
|
+
* Color of the action icons.
|
|
23
|
+
*/
|
|
24
|
+
actionIconContentColor?: ColorValue;
|
|
25
|
+
};
|
|
26
|
+
export interface TopAppBarProps {
|
|
27
|
+
/**
|
|
28
|
+
* Colors for the app bar. Unset colors use `TopAppBarDefaults.topAppBarColors()`.
|
|
29
|
+
*/
|
|
30
|
+
colors?: TopAppBarColors;
|
|
31
|
+
/**
|
|
32
|
+
* Insets in dp that the app bar adds around its content. Missing sides are `0`.
|
|
33
|
+
* When omitted, the app bar uses `TopAppBarDefaults.windowInsets`, which assumes
|
|
34
|
+
* the bar is at the top edge of the window, even inside a nested `Host`.
|
|
35
|
+
* Pass `{}` when a parent handles the insets. This removes both the top status
|
|
36
|
+
* bar inset and the horizontal system bar and display cutout insets.
|
|
37
|
+
*/
|
|
38
|
+
windowInsets?: PaddingValuesRecord;
|
|
39
|
+
/**
|
|
40
|
+
* Modifiers for the component.
|
|
41
|
+
*/
|
|
42
|
+
modifiers?: ExpoModifier[];
|
|
43
|
+
/**
|
|
44
|
+
* `TopAppBar.Title`, `TopAppBar.NavigationIcon`, and `TopAppBar.Actions` slots.
|
|
45
|
+
*/
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
type SlotProps = {
|
|
49
|
+
children: React.ReactNode;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Title slot for `TopAppBar`.
|
|
53
|
+
*/
|
|
54
|
+
declare function TopAppBarTitle(props: SlotProps): import("react").JSX.Element;
|
|
55
|
+
/**
|
|
56
|
+
* Navigation icon slot for `TopAppBar`. It appears at the start of the app bar.
|
|
57
|
+
*/
|
|
58
|
+
declare function TopAppBarNavigationIcon(props: SlotProps): import("react").JSX.Element;
|
|
59
|
+
/**
|
|
60
|
+
* Actions slot for `TopAppBar`. Its children appear in a row at the end of the app bar.
|
|
61
|
+
*/
|
|
62
|
+
declare function TopAppBarActions(props: SlotProps): import("react").JSX.Element;
|
|
63
|
+
/**
|
|
64
|
+
* A Material 3 small top app bar that shows a title, a navigation icon, and actions.
|
|
65
|
+
*/
|
|
66
|
+
declare function TopAppBar(props: TopAppBarProps): import("react").JSX.Element;
|
|
67
|
+
declare namespace TopAppBar {
|
|
68
|
+
var Title: typeof TopAppBarTitle;
|
|
69
|
+
var NavigationIcon: typeof TopAppBarNavigationIcon;
|
|
70
|
+
var Actions: typeof TopAppBarActions;
|
|
71
|
+
}
|
|
72
|
+
export { TopAppBar };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { requireNativeView } from 'expo';
|
|
3
|
+
import { createViewModifierEventListener } from '../modifiers/utils';
|
|
4
|
+
const TopAppBarNativeView = requireNativeView('ExpoUI', 'TopAppBarView');
|
|
5
|
+
const SlotNativeView = requireNativeView('ExpoUI', 'SlotView');
|
|
6
|
+
/**
|
|
7
|
+
* Title slot for `TopAppBar`.
|
|
8
|
+
*/ function TopAppBarTitle(props) {
|
|
9
|
+
return /*#__PURE__*/ _jsx(SlotNativeView, {
|
|
10
|
+
slotName: "title",
|
|
11
|
+
children: props.children
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Navigation icon slot for `TopAppBar`. It appears at the start of the app bar.
|
|
16
|
+
*/ function TopAppBarNavigationIcon(props) {
|
|
17
|
+
return /*#__PURE__*/ _jsx(SlotNativeView, {
|
|
18
|
+
slotName: "navigationIcon",
|
|
19
|
+
children: props.children
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Actions slot for `TopAppBar`. Its children appear in a row at the end of the app bar.
|
|
24
|
+
*/ function TopAppBarActions(props) {
|
|
25
|
+
return /*#__PURE__*/ _jsx(SlotNativeView, {
|
|
26
|
+
slotName: "actions",
|
|
27
|
+
children: props.children
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A Material 3 small top app bar that shows a title, a navigation icon, and actions.
|
|
32
|
+
*/ function TopAppBar(props) {
|
|
33
|
+
const { modifiers, ...restProps } = props;
|
|
34
|
+
return /*#__PURE__*/ _jsx(TopAppBarNativeView, {
|
|
35
|
+
modifiers: modifiers,
|
|
36
|
+
...modifiers ? createViewModifierEventListener(modifiers) : undefined,
|
|
37
|
+
...restProps
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
TopAppBar.Title = TopAppBarTitle;
|
|
41
|
+
TopAppBar.NavigationIcon = TopAppBarNavigationIcon;
|
|
42
|
+
TopAppBar.Actions = TopAppBarActions;
|
|
43
|
+
export { TopAppBar };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/TopAppBar/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createViewModifierEventListener","TopAppBarNativeView","SlotNativeView","TopAppBarTitle","props","slotName","children","TopAppBarNavigationIcon","TopAppBarActions","TopAppBar","modifiers","restProps","undefined","Title","NavigationIcon","Actions"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAKzC,SAASC,+BAA+B,QAAQ,qBAAqB;AA0DrE,MAAMC,sBAA2DF,kBAC/D,UACA;AAGF,MAAMG,iBAA2DH,kBAC/D,UACA;AAGF;;CAEC,GACD,SAASI,eAAeC,KAAgB;IACtC,qBAAO,KAACF;QAAeG,UAAS;kBAASD,MAAME,QAAQ;;AACzD;AAEA;;CAEC,GACD,SAASC,wBAAwBH,KAAgB;IAC/C,qBAAO,KAACF;QAAeG,UAAS;kBAAkBD,MAAME,QAAQ;;AAClE;AAEA;;CAEC,GACD,SAASE,iBAAiBJ,KAAgB;IACxC,qBAAO,KAACF;QAAeG,UAAS;kBAAWD,MAAME,QAAQ;;AAC3D;AAEA;;CAEC,GACD,SAASG,UAAUL,KAAqB;IACtC,MAAM,EAAEM,SAAS,EAAE,GAAGC,WAAW,GAAGP;IACpC,qBACE,KAACH;QACCS,WAAWA;QACV,GAAIA,YAAYV,gCAAgCU,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB;AAEAF,UAAUI,KAAK,GAAGV;AAClBM,UAAUK,cAAc,GAAGP;AAC3BE,UAAUM,OAAO,GAAGP;AAEpB,SAASC,SAAS,GAAG"}
|
|
@@ -37,6 +37,7 @@ export * from './SearchBar';
|
|
|
37
37
|
export * from './Snackbar';
|
|
38
38
|
export * from './DockedSearchBar';
|
|
39
39
|
export * from './HorizontalFloatingToolbar';
|
|
40
|
+
export * from './TopAppBar';
|
|
40
41
|
export * from './FloatingActionButton';
|
|
41
42
|
export * from './PullToRefreshBox';
|
|
42
43
|
export * from './RadioButton';
|
|
@@ -48,6 +49,7 @@ export * from './AnimatedVisibility';
|
|
|
48
49
|
export * from './Box';
|
|
49
50
|
export * from './Row';
|
|
50
51
|
export * from './Column';
|
|
52
|
+
export * from './CompositionLocalProvider';
|
|
51
53
|
export * from './FlowRow';
|
|
52
54
|
export { useNativeState, useWorkletCallback, type WorkletCallback } from '../State';
|
|
53
55
|
export type { ViewEvent } from '../types';
|
|
@@ -37,6 +37,7 @@ export * from './SearchBar';
|
|
|
37
37
|
export * from './Snackbar';
|
|
38
38
|
export * from './DockedSearchBar';
|
|
39
39
|
export * from './HorizontalFloatingToolbar';
|
|
40
|
+
export * from './TopAppBar';
|
|
40
41
|
export * from './FloatingActionButton';
|
|
41
42
|
export * from './PullToRefreshBox';
|
|
42
43
|
export * from './RadioButton';
|
|
@@ -48,6 +49,7 @@ export * from './AnimatedVisibility';
|
|
|
48
49
|
export * from './Box';
|
|
49
50
|
export * from './Row';
|
|
50
51
|
export * from './Column';
|
|
52
|
+
export * from './CompositionLocalProvider';
|
|
51
53
|
export * from './FlowRow';
|
|
52
54
|
export { useNativeState, useWorkletCallback } from '../State';
|
|
53
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState","useWorkletCallback"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,SAASC,cAAc,EAAEC,kBAAkB,QAA8B,WAAW"}
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState","useWorkletCallback"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,cAAc;AAC5B,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,6BAA6B;AAC3C,cAAc,YAAY;AAC1B,SAASC,cAAc,EAAEC,kBAAkB,QAA8B,WAAW"}
|
|
@@ -287,10 +287,14 @@ export declare const selectableGroup: () => import("./createModifier").ModifierC
|
|
|
287
287
|
* @param value - The current toggle state.
|
|
288
288
|
* @param handler - Function to call when toggled.
|
|
289
289
|
* @param options - Optional configuration.
|
|
290
|
-
* @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
|
|
290
|
+
* @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
|
|
291
|
+
* `'switch'`, or `'tab'`.
|
|
292
|
+
* @param options.enabled - Whether the view responds to input and is reported as enabled to
|
|
293
|
+
* accessibility services. Defaults to `true`.
|
|
291
294
|
*/
|
|
292
295
|
export declare const toggleable: (value: boolean, handler: () => void, options?: {
|
|
293
296
|
role?: "checkbox" | "radioButton" | "switch" | "tab";
|
|
297
|
+
enabled?: boolean;
|
|
294
298
|
}) => import("./createModifier").ModifierConfig;
|
|
295
299
|
/**
|
|
296
300
|
* Calls the handler when the composable's visibility changes (for example, enters or leaves the viewport in a lazy list).
|
|
@@ -287,10 +287,14 @@ export { animated, spring, tween, snap, keyframes } from './animation';
|
|
|
287
287
|
* @param value - The current toggle state.
|
|
288
288
|
* @param handler - Function to call when toggled.
|
|
289
289
|
* @param options - Optional configuration.
|
|
290
|
-
* @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
|
|
290
|
+
* @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
|
|
291
|
+
* `'switch'`, or `'tab'`.
|
|
292
|
+
* @param options.enabled - Whether the view responds to input and is reported as enabled to
|
|
293
|
+
* accessibility services. Defaults to `true`.
|
|
291
294
|
*/ export const toggleable = (value, handler, options)=>createModifierWithEventListener('toggleable', handler, {
|
|
292
295
|
value,
|
|
293
|
-
role: options?.role
|
|
296
|
+
role: options?.role,
|
|
297
|
+
enabled: options?.enabled
|
|
294
298
|
});
|
|
295
299
|
// =============================================================================
|
|
296
300
|
// Lifecycle Modifiers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","IntrinsicSize","Min","Max","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"AAGA,SAASA,cAAc,EAAEC,+BAA+B,QAAQ,mBAAmB;AAEnF,SACEC,QAAQ,EACRC,MAAM,EACNC,KAAK,EACLC,IAAI,EACJC,SAAS,QAGJ,cAAc;AAsBrB;;;CAGC,GACD,OAAO,MAAMC,aAAa,CAACC,MAAgBR,eAAe,cAAc;QAAEQ;IAAI,GAAG;AAEjF;;;;;;CAMC,GACD,OAAO,MAAMC,UAAU,CAACC,OAAeC,KAAaC,KAAaC,SAC/Db,eAAe,WAAW;QAAEU;QAAOC;QAAKC;QAAKC;IAAO,GAAG;AAEzD,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;CAIC,GACD,OAAO,MAAMC,OAAO,CAACC,OAAeC,SAAmBhB,eAAe,QAAQ;QAAEe;QAAOC;IAAO,GAAG;AAEjG;;;CAGC,GACD,OAAO,MAAMC,cAAc,CAACC,WAAsBlB,eAAe,eAAe;QAAEkB;IAAS,GAAG;AAE9F;;;CAGC,GACD,OAAO,MAAMC,eAAe,CAACD,WAAsBlB,eAAe,gBAAgB;QAAEkB;IAAS,GAAG;AAEhG;;;CAGC,GACD,OAAO,MAAME,gBAAgB,CAACF,WAAsBlB,eAAe,iBAAiB;QAAEkB;IAAS,GAAG;AAElG;;;CAGC,GACD,OAAO,MAAMG,gBAAgB;IAAEC,KAAK;IAAOC,KAAK;AAAM,EAAW;AAGjE;;;;;;;;;CASC,GACD,OAAO,MAAMR,QAAQ,CAACS,QAAkCxB,eAAe,SAAS;QAAEe,OAAOS;IAAM,GAAG;AAElG;;;CAGC,GACD,OAAO,MAAMR,SAAS,CAACQ,QAAkBxB,eAAe,UAAU;QAAEgB,QAAQQ;IAAM,GAAG;AAErF;;;;;;;CAOC,GACD,OAAO,MAAMC,iBAAiB,CAACC,UAC7B1B,eAAe,kBAAkB0B,SAAS;AAE5C;;;CAGC,GACD,OAAO,MAAMC,mBAAmB,CAACC,YAC/B5B,eAAe,oBAAoB4B,YAAY;QAAEA;IAAU,IAAI,CAAC,GAAG;AAErE;;;CAGC,GACD,OAAO,MAAMC,oBAAoB,CAACD,YAChC5B,eAAe,qBAAqB4B,YAAY;QAAEA;IAAU,IAAI,CAAC,GAAG;AAEtE,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;CAGC,GACD,OAAO,MAAME,aAAa,IAAM9B,eAAe,cAAc;AAE7D,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;CAIC,GACD,OAAO,MAAM+B,SAAS,CAACC,GAAWC,IAAcjC,eAAe,UAAU;QAAEgC;QAAGC;IAAE,GAAG;AAEnF,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;CAKC,GACD,OAAO,MAAMC,aAAa,CAACC,OAAmBT,UAC5C1B,eAAe,cAAc;QAAEmC;QAAOC,eAAeV,SAASU;IAAc,GAAG;AAEjF;;;;CAIC,GACD,OAAO,MAAMC,SAAS,CAACC,aAAqBC,cAC1CvC,eAAe,UAAU;QAAEsC;QAAaC;IAAY,GAAG;AAEzD;;;CAGC,GACD,OAAO,MAAMC,SAAS,CAACC,YAAsBzC,eAAe,UAAU;QAAEyC;IAAU,GAAG;AAoBrF;;;;;CAKC,GACD,OAAO,MAAMC,aAAa,CAACC,OAAqBC,SAAuB,CAAC,CAAC,GACvE5C,eAAe,cAAc;QAAE2C;QAAO,GAAGC,MAAM;IAAC,GAAG;AAErD;;;;;CAKC,GACD,OAAO,MAAMC,cAAc,CAACF,OAAqBC,SAAuB,CAAC,CAAC,GACxE5C,eAAe,eAAe;QAAE2C;QAAO,GAAGC,MAAM;IAAC,GAAG;AAEtD;;;CAGC,GACD,OAAO,MAAME,QAAQ,CAACA,QAAkB9C,eAAe,SAAS;QAAE8C;IAAM,GAAG;AAE3E;;;CAGC,GACD,OAAO,MAAMC,OAAO,CAACC,SAAmBhD,eAAe,QAAQ;QAAEgD;IAAO,GAAG;AAE3E;;;;;;;;CAQC,GACD,OAAO,MAAMC,eAAe,CAACD,SAAmBhD,eAAe,gBAAgB;QAAEgD;IAAO,GAAG;AAE3F,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;CAGC,GACD,OAAO,MAAME,SAAS,CAACC,UAAoBnD,eAAe,UAAU;QAAEmD;IAAQ,GAAG;AAEjF;;;;CAIC,GACD,OAAO,MAAMC,gBAAgB,CAACC,SAmCxBrD,eAAe,iBAAiBqD,QAAQ;AAE9C;;;CAGC,GACD,OAAO,MAAMC,SAAS,CAACC,QAAkBvD,eAAe,UAAU;QAAEuD;IAAM,GAAG;AAE7E,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,CAACC,cAAuBC,YACxD1D,eAAe,sBAAsB;QAAEyD;QAAcC;IAAU,GAAG;AAEpE,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;;CAIC,GACD,OAAO,MAAMC,SAAS,CAACA,SAAmB3D,eAAe,UAAU;QAAE2D;IAAO,GAAG;AAE/E;;CAEC,GACD,OAAO,MAAMC,QAAQ,CAAChC,YAAyB5B,eAAe,SAAS;QAAE4B;IAAU,GAAG;AAEtF;;;CAGC,GACD,OAAO,MAAMiC,kBAAkB,IAAM7D,eAAe,mBAAmB;AAEvE;;;;;CAKC,GACD,OAAO,MAAM8D,aAAa,CAACC,MAA6BC,UACtDhE,eAAe,cAAc;QAC3B,GAAI+D,QAAQ;YAAEA;QAAK,CAAC;QACpB,GAAI,OAAOC,YAAY,aAAa;YAAEA;QAAQ,CAAC;IACjD,GAAG;AAEL,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;;;;CAKC,GACD,OAAO,MAAMC,YAAY,CAACC,SAAqBxC,UAC7CzB,gCAAgC,aAAaiE,SAAS;QACpDC,YAAYzC,SAASyC,cAAc;IACrC,GAAG;AAEL;;;;;;;;CAQC,GACD,OAAO,MAAMC,oBAAoB,CAC/BC,UACA3C,UAEAzB,gCACE,qBACA,CAACoD;QACC,IAAIA,OAAOiB,KAAK,KAAK,SAAS;YAC5BD,SAASE,OAAO;QAClB,OAAO,IAAIlB,OAAOiB,KAAK,KAAK,aAAa;YACvCD,SAASG,WAAW;QACtB;IACF,GACA;QAAEL,YAAYzC,SAASyC,cAAc;IAAK,GAC1C;AAEJ;;;;;CAKC,GACD,OAAO,MAAMM,aAAa,CACxBC,UACAR,SACAS,OACG1E,gCAAgC,cAAciE,SAAS;QAAEQ;QAAUC;IAAK,GAAG;AAEhF;;;CAGC,GACD,OAAO,MAAMC,kBAAkB,IAAM5E,eAAe,mBAAmB;AAEvE
|
|
1
|
+
{"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","IntrinsicSize","Min","Max","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"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"}
|
|
@@ -11,6 +11,12 @@ export interface BottomSheetProps extends CommonViewModifierProps {
|
|
|
11
11
|
* kept mounted, so presenting the sheet doesn't shift surrounding layout. Optional.
|
|
12
12
|
*/
|
|
13
13
|
anchor?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* A view that fills the whole sheet behind its content, for example a `Rectangle` filled with a
|
|
16
|
+
* material. Unlike the `presentationBackground` modifier, a material in a view stays translucent
|
|
17
|
+
* on iOS 26 and later.
|
|
18
|
+
*/
|
|
19
|
+
presentationBackground?: ReactNode;
|
|
14
20
|
/**
|
|
15
21
|
* Whether the `BottomSheet` is presented.
|
|
16
22
|
*/
|
|
@@ -8,7 +8,7 @@ const BottomSheetNativeView = requireNativeView('ExpoUI', 'BottomSheetView');
|
|
|
8
8
|
/**
|
|
9
9
|
* `BottomSheet` presents content from the bottom of the screen.
|
|
10
10
|
*/ function BottomSheet(props) {
|
|
11
|
-
const { modifiers, onIsPresentedChange, onDismiss, anchor, children, ...restProps } = props;
|
|
11
|
+
const { modifiers, onIsPresentedChange, onDismiss, anchor, presentationBackground, children, ...restProps } = props;
|
|
12
12
|
const [isMounted, setIsMounted] = useState(props.isPresented);
|
|
13
13
|
if (props.isPresented && !isMounted) {
|
|
14
14
|
setIsMounted(true);
|
|
@@ -31,8 +31,14 @@ const BottomSheetNativeView = requireNativeView('ExpoUI', 'BottomSheetView');
|
|
|
31
31
|
name: "anchor",
|
|
32
32
|
children: anchor
|
|
33
33
|
}) : null,
|
|
34
|
-
isMounted ? /*#__PURE__*/
|
|
35
|
-
children:
|
|
34
|
+
isMounted ? /*#__PURE__*/ _jsxs(PresentedContent, {
|
|
35
|
+
children: [
|
|
36
|
+
presentationBackground != null ? /*#__PURE__*/ _jsx(Slot, {
|
|
37
|
+
name: "presentationBackground",
|
|
38
|
+
children: presentationBackground
|
|
39
|
+
}) : null,
|
|
40
|
+
children
|
|
41
|
+
]
|
|
36
42
|
}) : null
|
|
37
43
|
]
|
|
38
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["swift-ui/BottomSheet/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useState","PresentedContent","Slot","createViewModifierEventListener","BottomSheetNativeView","BottomSheet","props","modifiers","onIsPresentedChange","onDismiss","anchor","children","restProps","isMounted","setIsMounted","isPresented","undefined","nativeEvent","name"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA4C,QAAQ;AAGrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,+BAA+B,QAAQ,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["swift-ui/BottomSheet/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useState","PresentedContent","Slot","createViewModifierEventListener","BottomSheetNativeView","BottomSheet","props","modifiers","onIsPresentedChange","onDismiss","anchor","presentationBackground","children","restProps","isMounted","setIsMounted","isPresented","undefined","nativeEvent","name"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA4C,QAAQ;AAGrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,+BAA+B,QAAQ,qBAAqB;AAgDrE,MAAMC,wBAA+DL,kBACnE,UACA;AAGF;;CAEC,GACD,SAASM,YAAYC,KAAuB;IAC1C,MAAM,EACJC,SAAS,EACTC,mBAAmB,EACnBC,SAAS,EACTC,MAAM,EACNC,sBAAsB,EACtBC,QAAQ,EACR,GAAGC,WACJ,GAAGP;IACJ,MAAM,CAACQ,WAAWC,aAAa,GAAGf,SAASM,MAAMU,WAAW;IAE5D,IAAIV,MAAMU,WAAW,IAAI,CAACF,WAAW;QACnCC,aAAa;IACf;IAEA,8FAA8F;IAC9F,iBAAiB;IACjB,qBACE,MAACX;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaU,SAAS;QACtE,GAAGJ,SAAS;QACbL,qBAAqB,CAAC,EAAEU,aAAa,EAAEF,WAAW,EAAE,EAAE;YACpDR,sBAAsBQ;QACxB;QACAP,WAAW;YACTM,aAAa;YACbN;QACF;;YACCC,UAAU,qBAAO,KAACR;gBAAKiB,MAAK;0BAAUT;iBAAiB;YAGvDI,0BACC,MAACb;;oBACEU,0BAA0B,qBACzB,KAACT;wBAAKiB,MAAK;kCAA0BR;yBACnC;oBACHC;;iBAED;;;AAGV;AAEA,SAASP,WAAW,GAAG"}
|