@expo/ui 55.0.1 → 55.0.2
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 +27 -0
- package/CONTRIBUTING.md +30 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/ui/DatePickerView.kt +90 -7
- package/android/src/main/java/expo/modules/ui/HorizontalFloatingToolbarView.kt +21 -8
- package/android/src/main/java/expo/modules/ui/ModifierRegistry.kt +105 -39
- package/android/src/main/java/expo/modules/ui/RNHostView.kt +204 -50
- package/android/src/main/java/expo/modules/ui/SwitchView.kt +70 -4
- package/android/src/main/java/expo/modules/ui/button/IconButton.kt +7 -1
- package/android/src/main/java/expo/modules/ui/convertibles/AnimatableFloat.kt +26 -0
- package/android/src/main/java/expo/modules/ui/convertibles/AnimationSpecParams.kt +93 -0
- package/android/src/main/java/expo/modules/ui/convertibles/GraphicsLayerParams.kt +24 -0
- package/build/jetpack-compose/DatePicker/index.d.ts +99 -0
- package/build/jetpack-compose/DatePicker/index.d.ts.map +1 -1
- package/build/jetpack-compose/Spacer/index.d.ts +2 -2
- package/build/jetpack-compose/Switch/index.d.ts +18 -0
- package/build/jetpack-compose/Switch/index.d.ts.map +1 -1
- package/build/jetpack-compose/modifiers/animation.d.ts +44 -0
- package/build/jetpack-compose/modifiers/animation.d.ts.map +1 -0
- package/build/jetpack-compose/modifiers/index.d.ts +50 -3
- package/build/jetpack-compose/modifiers/index.d.ts.map +1 -1
- package/build/swift-ui/AccessoryWidgetBackground/index.d.ts +4 -0
- package/build/swift-ui/AccessoryWidgetBackground/index.d.ts.map +1 -0
- package/build/swift-ui/ConfirmationDialog/index.d.ts.map +1 -1
- package/build/swift-ui/ContextMenu/index.d.ts.map +1 -1
- package/build/swift-ui/ControlGroup/index.d.ts +29 -0
- package/build/swift-ui/ControlGroup/index.d.ts.map +1 -0
- package/build/swift-ui/Gauge/index.d.ts.map +1 -1
- package/build/swift-ui/Image/index.d.ts +7 -1
- package/build/swift-ui/Image/index.d.ts.map +1 -1
- package/build/swift-ui/Label/index.d.ts.map +1 -1
- package/build/swift-ui/LabeledContent/index.d.ts.map +1 -1
- package/build/swift-ui/Menu/index.d.ts.map +1 -1
- package/build/swift-ui/Picker/index.d.ts.map +1 -1
- package/build/swift-ui/Popover/index.d.ts.map +1 -1
- package/build/swift-ui/Section/index.d.ts.map +1 -1
- package/build/swift-ui/Slider/index.d.ts.map +1 -1
- package/build/swift-ui/SlotView.d.ts +5 -0
- package/build/swift-ui/SlotView.d.ts.map +1 -0
- package/build/swift-ui/index.d.ts +2 -0
- package/build/swift-ui/index.d.ts.map +1 -1
- package/build/swift-ui/modifiers/index.d.ts +33 -1
- package/build/swift-ui/modifiers/index.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/AccessoryWidgetBackgroundView.swift +27 -0
- package/ios/ConfirmationDialog/ConfirmationDialog.swift +3 -9
- package/ios/ConfirmationDialog/ConfirmationDialogProps.swift +0 -5
- package/ios/ContextMenu/ContextMenu.swift +27 -22
- package/ios/ContextMenu/ContextMenuRecords.swift +0 -6
- package/ios/ControlGroupView.swift +33 -0
- package/ios/ExpoUIModule.swift +10 -32
- package/ios/GaugeView.swift +4 -26
- package/ios/HostView.swift +1 -2
- package/ios/ImageView.swift +22 -11
- package/ios/Label.swift +2 -17
- package/ios/LabeledContentView.swift +3 -27
- package/ios/Menu/MenuRecords.swift +0 -2
- package/ios/Menu/MenuView.swift +2 -5
- package/ios/Modifiers/ResizableModifier.swift +24 -0
- package/ios/Modifiers/Rotation3DEffectModifier.swift +20 -0
- package/ios/Modifiers/View+ModifierArray.swift +29 -0
- package/ios/Modifiers/ViewModifierRegistry.swift +29 -3
- package/ios/Modifiers/WidgetModifiers.swift +46 -0
- package/ios/Picker/PickerView.swift +2 -6
- package/ios/Popover/PopoverProps.swift +0 -4
- package/ios/Popover/PopoverView.swift +2 -6
- package/ios/RNHostView.swift +91 -10
- package/ios/SectionView.swift +6 -12
- package/ios/SecureFieldView.swift +0 -1
- package/ios/ShareLink/ShareLinkView.swift +1 -1
- package/ios/SliderView.swift +10 -27
- package/ios/SlotView.swift +38 -0
- package/ios/TextFieldView.swift +0 -1
- package/ios/UIBaseView.swift +34 -3
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.1/expo.modules.ui-55.0.1-sources.jar → 55.0.2/expo.modules.ui-55.0.2-sources.jar} +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.1/expo.modules.ui-55.0.1.module → 55.0.2/expo.modules.ui-55.0.2.module} +22 -22
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.1/expo.modules.ui-55.0.1.pom → 55.0.2/expo.modules.ui-55.0.2.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.2/expo.modules.ui-55.0.2.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
- package/package.json +2 -2
- package/src/jetpack-compose/DatePicker/index.tsx +106 -2
- package/src/jetpack-compose/Spacer/index.tsx +2 -2
- package/src/jetpack-compose/Switch/index.tsx +18 -0
- package/src/jetpack-compose/modifiers/animation.ts +37 -0
- package/src/jetpack-compose/modifiers/index.ts +60 -4
- package/src/swift-ui/AccessoryWidgetBackground/index.tsx +12 -0
- package/src/swift-ui/ConfirmationDialog/index.tsx +4 -12
- package/src/swift-ui/ContextMenu/index.tsx +6 -20
- package/src/swift-ui/ControlGroup/index.tsx +59 -0
- package/src/swift-ui/Gauge/index.tsx +5 -20
- package/src/swift-ui/Image/index.tsx +7 -1
- package/src/swift-ui/Label/index.tsx +2 -5
- package/src/swift-ui/LabeledContent/index.tsx +3 -12
- package/src/swift-ui/Menu/index.tsx +2 -6
- package/src/swift-ui/Picker/index.tsx +4 -11
- package/src/swift-ui/Popover/index.tsx +3 -12
- package/src/swift-ui/Section/index.tsx +4 -9
- package/src/swift-ui/Slider/index.tsx +4 -12
- package/src/swift-ui/SlotView.tsx +8 -0
- package/src/swift-ui/index.tsx +2 -0
- package/src/swift-ui/modifiers/index.ts +47 -1
- package/ios/ConfirmationDialog/ConfirmationDialogComponents.swift +0 -26
- package/ios/ContextMenu/ContextMenuComponents.swift +0 -37
- package/ios/Menu/MenuComponents.swift +0 -12
- package/ios/Picker/PickerComponents.swift +0 -24
- package/ios/Popover/PopoverComponents.swift +0 -18
- package/ios/SectionComponents.swift +0 -34
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha512 +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { requireNativeView } from 'expo';
|
|
2
2
|
|
|
3
|
+
import { Slot } from '../SlotView';
|
|
3
4
|
import { createViewModifierEventListener } from '../modifiers/utils';
|
|
4
5
|
import { type CommonViewModifierProps } from '../types';
|
|
5
6
|
|
|
@@ -16,16 +17,6 @@ const LabeledContentNativeView: React.ComponentType<LabeledContentProps> = requi
|
|
|
16
17
|
'LabeledContentView'
|
|
17
18
|
);
|
|
18
19
|
|
|
19
|
-
const LabeledContentLabel: React.ComponentType<object> = requireNativeView(
|
|
20
|
-
'ExpoUI',
|
|
21
|
-
'LabeledContentLabel'
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
const LabeledContentContent: React.ComponentType<object> = requireNativeView(
|
|
25
|
-
'ExpoUI',
|
|
26
|
-
'LabeledContentContent'
|
|
27
|
-
);
|
|
28
|
-
|
|
29
20
|
/**
|
|
30
21
|
* LabeledContent component uses the native [LabeledContent](https://developer.apple.com/documentation/swiftui/labeledcontent) component.
|
|
31
22
|
* A container for attaching a label to a value-bearing view.
|
|
@@ -43,8 +34,8 @@ export function LabeledContent(props: LabeledContentProps) {
|
|
|
43
34
|
label={isLabelString ? label : undefined}
|
|
44
35
|
{...(modifiers ? createViewModifierEventListener(modifiers) : undefined)}
|
|
45
36
|
{...restProps}>
|
|
46
|
-
{label && !isLabelString && <
|
|
47
|
-
<
|
|
37
|
+
{label && !isLabelString && <Slot name="label">{label}</Slot>}
|
|
38
|
+
<Slot name="content">{children}</Slot>
|
|
48
39
|
</LabeledContentNativeView>
|
|
49
40
|
);
|
|
50
41
|
}
|
|
@@ -2,6 +2,7 @@ import { requireNativeView } from 'expo';
|
|
|
2
2
|
import { ComponentType } from 'react';
|
|
3
3
|
|
|
4
4
|
import { type MenuProps } from './types';
|
|
5
|
+
import { Slot } from '../SlotView';
|
|
5
6
|
|
|
6
7
|
export { type MenuProps } from './types';
|
|
7
8
|
|
|
@@ -13,11 +14,6 @@ type NativeMenuProps = Omit<MenuProps, 'label' | 'onPrimaryAction'> & {
|
|
|
13
14
|
|
|
14
15
|
const MenuNativeView: ComponentType<NativeMenuProps> = requireNativeView('ExpoUI', 'MenuView');
|
|
15
16
|
|
|
16
|
-
const MenuNativeLabelView: ComponentType<{ children: React.ReactNode }> = requireNativeView(
|
|
17
|
-
'ExpoUI',
|
|
18
|
-
'MenuLabel'
|
|
19
|
-
);
|
|
20
|
-
|
|
21
17
|
/**
|
|
22
18
|
* Displays a dropdown menu when tapped.
|
|
23
19
|
*/
|
|
@@ -33,7 +29,7 @@ export function Menu(props: MenuProps) {
|
|
|
33
29
|
hasPrimaryAction={onPrimaryAction != null}
|
|
34
30
|
onPrimaryAction={onPrimaryAction}
|
|
35
31
|
{...rest}>
|
|
36
|
-
{!isStringLabel && <
|
|
32
|
+
{!isStringLabel && <Slot name="label">{label}</Slot>}
|
|
37
33
|
{children}
|
|
38
34
|
</MenuNativeView>
|
|
39
35
|
);
|
|
@@ -2,6 +2,7 @@ import { requireNativeView } from 'expo';
|
|
|
2
2
|
import type { NativeSyntheticEvent } from 'react-native';
|
|
3
3
|
import type { SFSymbol } from 'sf-symbols-typescript';
|
|
4
4
|
|
|
5
|
+
import { Slot } from '../SlotView';
|
|
5
6
|
import { createViewModifierEventListener } from '../modifiers/utils';
|
|
6
7
|
import { type CommonViewModifierProps } from '../types';
|
|
7
8
|
|
|
@@ -42,14 +43,6 @@ const PickerNativeView: React.ComponentType<NativePickerProps> = requireNativeVi
|
|
|
42
43
|
'PickerView'
|
|
43
44
|
);
|
|
44
45
|
|
|
45
|
-
const PickerContentNativeView: React.ComponentType<{ children: React.ReactNode }> =
|
|
46
|
-
requireNativeView('ExpoUI', 'PickerContentView');
|
|
47
|
-
|
|
48
|
-
const PickerLabelNativeView: React.ComponentType<{ children: React.ReactNode }> = requireNativeView(
|
|
49
|
-
'ExpoUI',
|
|
50
|
-
'PickerLabelView'
|
|
51
|
-
);
|
|
52
|
-
|
|
53
46
|
function transformPickerProps<T extends SelectionValueType>(
|
|
54
47
|
props: PickerProps<T>
|
|
55
48
|
): NativePickerProps {
|
|
@@ -81,14 +74,14 @@ export function Picker<T extends SelectionValueType>(props: PickerProps<T>) {
|
|
|
81
74
|
if (typeof label === 'string') {
|
|
82
75
|
return (
|
|
83
76
|
<PickerNativeView {...restProps} label={label}>
|
|
84
|
-
<
|
|
77
|
+
<Slot name="content">{children}</Slot>
|
|
85
78
|
</PickerNativeView>
|
|
86
79
|
);
|
|
87
80
|
} else {
|
|
88
81
|
return (
|
|
89
82
|
<PickerNativeView {...restProps}>
|
|
90
|
-
<
|
|
91
|
-
<
|
|
83
|
+
<Slot name="label">{label}</Slot>
|
|
84
|
+
<Slot name="content">{children}</Slot>
|
|
92
85
|
</PickerNativeView>
|
|
93
86
|
);
|
|
94
87
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { requireNativeView } from 'expo';
|
|
2
2
|
import { NativeSyntheticEvent } from 'react-native';
|
|
3
3
|
|
|
4
|
+
import { Slot } from '../SlotView';
|
|
4
5
|
import { createViewModifierEventListener } from '../modifiers/utils';
|
|
5
6
|
import { type CommonViewModifierProps } from '../types';
|
|
6
7
|
|
|
@@ -34,22 +35,12 @@ const PopoverNativeView: React.ComponentType<NativePopoverViewProps> = requireNa
|
|
|
34
35
|
'PopoverView'
|
|
35
36
|
);
|
|
36
37
|
|
|
37
|
-
const PopoverViewContent: React.ComponentType<object> = requireNativeView(
|
|
38
|
-
'ExpoUI',
|
|
39
|
-
'PopoverViewContent'
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
const PopoverViewPopContent: React.ComponentType<object> = requireNativeView(
|
|
43
|
-
'ExpoUI',
|
|
44
|
-
'PopoverViewPopContent'
|
|
45
|
-
);
|
|
46
|
-
|
|
47
38
|
function PopoverTrigger(props: { children: React.ReactNode }) {
|
|
48
|
-
return <
|
|
39
|
+
return <Slot name="trigger">{props.children}</Slot>;
|
|
49
40
|
}
|
|
50
41
|
|
|
51
42
|
function PopoverContent(props: { children: React.ReactNode }) {
|
|
52
|
-
return <
|
|
43
|
+
return <Slot name="popover">{props.children}</Slot>;
|
|
53
44
|
}
|
|
54
45
|
|
|
55
46
|
Popover.Trigger = PopoverTrigger;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { requireNativeView } from 'expo';
|
|
2
2
|
|
|
3
|
+
import { Slot } from '../SlotView';
|
|
3
4
|
import { createViewModifierEventListener } from '../modifiers/utils';
|
|
4
5
|
import { type CommonViewModifierProps } from '../types';
|
|
5
6
|
|
|
@@ -45,12 +46,6 @@ const SectionNativeView: React.ComponentType<SectionNativeProps> = requireNative
|
|
|
45
46
|
'SectionView'
|
|
46
47
|
);
|
|
47
48
|
|
|
48
|
-
const SectionHeader: React.ComponentType<object> = requireNativeView('ExpoUI', 'SectionHeader');
|
|
49
|
-
|
|
50
|
-
const SectionFooter: React.ComponentType<object> = requireNativeView('ExpoUI', 'SectionFooter');
|
|
51
|
-
|
|
52
|
-
const SectionContent: React.ComponentType<object> = requireNativeView('ExpoUI', 'SectionContent');
|
|
53
|
-
|
|
54
49
|
/**
|
|
55
50
|
* Section component uses the native [Section](https://developer.apple.com/documentation/swiftui/section) component.
|
|
56
51
|
*/
|
|
@@ -65,9 +60,9 @@ export function Section(props: SectionProps) {
|
|
|
65
60
|
onIsExpandedChange(e.nativeEvent.isExpanded),
|
|
66
61
|
})}
|
|
67
62
|
{...restProps}>
|
|
68
|
-
{header && <
|
|
69
|
-
{footer && <
|
|
70
|
-
<
|
|
63
|
+
{header && <Slot name="header">{header}</Slot>}
|
|
64
|
+
{footer && <Slot name="footer">{footer}</Slot>}
|
|
65
|
+
<Slot name="content">{children}</Slot>
|
|
71
66
|
</SectionNativeView>
|
|
72
67
|
);
|
|
73
68
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { requireNativeView } from 'expo';
|
|
2
2
|
import type { NativeSyntheticEvent } from 'react-native';
|
|
3
3
|
|
|
4
|
+
import { Slot } from '../SlotView';
|
|
4
5
|
import { type CommonViewModifierProps } from '../types';
|
|
5
6
|
|
|
6
7
|
export type SliderProps = {
|
|
@@ -56,11 +57,6 @@ const SliderNativeView: React.ComponentType<NativeSliderProps> = requireNativeVi
|
|
|
56
57
|
'SliderView'
|
|
57
58
|
);
|
|
58
59
|
|
|
59
|
-
const SliderValueLabelNativeView: React.ComponentType<{
|
|
60
|
-
kind: 'label' | 'minimum' | 'maximum';
|
|
61
|
-
children?: React.ReactNode;
|
|
62
|
-
}> = requireNativeView('ExpoUI', 'SliderLabelView');
|
|
63
|
-
|
|
64
60
|
function transformSliderProps(props: SliderProps): NativeSliderProps {
|
|
65
61
|
const {
|
|
66
62
|
label,
|
|
@@ -90,13 +86,9 @@ export function Slider(props: SliderProps) {
|
|
|
90
86
|
|
|
91
87
|
return (
|
|
92
88
|
<SliderNativeView {...transformSliderProps(props)}>
|
|
93
|
-
{label && <
|
|
94
|
-
{minimumValueLabel &&
|
|
95
|
-
|
|
96
|
-
)}
|
|
97
|
-
{maximumValueLabel && (
|
|
98
|
-
<SliderValueLabelNativeView kind="maximum">{maximumValueLabel}</SliderValueLabelNativeView>
|
|
99
|
-
)}
|
|
89
|
+
{label && <Slot name="label">{label}</Slot>}
|
|
90
|
+
{minimumValueLabel && <Slot name="minimum">{minimumValueLabel}</Slot>}
|
|
91
|
+
{maximumValueLabel && <Slot name="maximum">{maximumValueLabel}</Slot>}
|
|
100
92
|
</SliderNativeView>
|
|
101
93
|
);
|
|
102
94
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { requireNativeView } from 'expo';
|
|
2
|
+
|
|
3
|
+
const SlotNativeView: React.ComponentType<{ name: string; children?: React.ReactNode }> =
|
|
4
|
+
requireNativeView('ExpoUI', 'SlotView');
|
|
5
|
+
|
|
6
|
+
export function Slot({ name, children }: { name: string; children?: React.ReactNode }) {
|
|
7
|
+
return <SlotNativeView name={name}>{children}</SlotNativeView>;
|
|
8
|
+
}
|
package/src/swift-ui/index.tsx
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
export * from './AccessoryWidgetBackground';
|
|
1
2
|
export * from './BottomSheet';
|
|
2
3
|
export * from './Button';
|
|
3
4
|
export * from './Chart';
|
|
4
5
|
export * from './ColorPicker';
|
|
5
6
|
export * from './ContentUnavailableView';
|
|
6
7
|
export * from './ConfirmationDialog';
|
|
8
|
+
export * from './ControlGroup';
|
|
7
9
|
export * from './ContextMenu';
|
|
8
10
|
export * from './DatePicker';
|
|
9
11
|
export * from './Divider';
|
|
@@ -238,6 +238,24 @@ export const scaleEffect = (scale: number | { x: number; y: number }) =>
|
|
|
238
238
|
*/
|
|
239
239
|
export const rotationEffect = (angle: number) => createModifier('rotationEffect', { angle });
|
|
240
240
|
|
|
241
|
+
/**
|
|
242
|
+
* Applies a 3D rotation transformation.
|
|
243
|
+
* @param params - The rotation parameters: `angle` (in degrees), `axis` (x, y, z), and `perspective`.
|
|
244
|
+
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/rotation3deffect(_:axis:anchor:anchorz:perspective:)).
|
|
245
|
+
*/
|
|
246
|
+
export const rotation3DEffect = (params: {
|
|
247
|
+
angle: number;
|
|
248
|
+
axis?: { x?: number; y?: number; z?: number };
|
|
249
|
+
perspective?: number;
|
|
250
|
+
}) =>
|
|
251
|
+
createModifier('rotation3DEffect', {
|
|
252
|
+
angle: params.angle,
|
|
253
|
+
axisX: params.axis?.x ?? 0,
|
|
254
|
+
axisY: params.axis?.y ?? 0,
|
|
255
|
+
axisZ: params.axis?.z ?? 0,
|
|
256
|
+
perspective: params.perspective ?? 1,
|
|
257
|
+
});
|
|
258
|
+
|
|
241
259
|
/**
|
|
242
260
|
* Applies an offset (translation) to a view.
|
|
243
261
|
* @param params - The offset parameters: `x` and `y`.
|
|
@@ -984,6 +1002,31 @@ export const listStyle = (style: ListStyle) => createModifier('listStyle', { sty
|
|
|
984
1002
|
*/
|
|
985
1003
|
export const luminanceToAlpha = () => createModifier('luminanceToAlpha', {});
|
|
986
1004
|
|
|
1005
|
+
/**
|
|
1006
|
+
* Sets the mode by which SwiftUI resizes an image to fit its space.
|
|
1007
|
+
* @param capInsets - Inset values that indicate a portion of the image that SwiftUI doesn’t resize.
|
|
1008
|
+
* @param resizingMode - The mode by which SwiftUI resizes the image.
|
|
1009
|
+
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/image/resizable(capinsets:resizingmode:)).
|
|
1010
|
+
*/
|
|
1011
|
+
export const resizable = (
|
|
1012
|
+
capInsets?: {
|
|
1013
|
+
top?: number;
|
|
1014
|
+
bottom?: number;
|
|
1015
|
+
leading?: number;
|
|
1016
|
+
trailing?: number;
|
|
1017
|
+
},
|
|
1018
|
+
resizingMode?: 'stretch' | 'tile'
|
|
1019
|
+
) => createModifier('resizable', { ...capInsets, resizingMode });
|
|
1020
|
+
|
|
1021
|
+
/**
|
|
1022
|
+
* Specifies the how to render an Image when using the WidgetKit/WidgetRenderingMode/accented mode.
|
|
1023
|
+
* @param renderingMode - A constant describing how the Image should be rendered.
|
|
1024
|
+
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/image/widgetaccentedrenderingmode(_:)).
|
|
1025
|
+
*/
|
|
1026
|
+
export const widgetAccentedRenderingMode = (
|
|
1027
|
+
renderingMode: 'fullColor' | 'accented' | 'desaturated' | 'accentedDesaturated'
|
|
1028
|
+
) => createModifier('widgetAccentedRenderingMode', { renderingMode });
|
|
1029
|
+
|
|
987
1030
|
// =============================================================================
|
|
988
1031
|
// Type Definitions
|
|
989
1032
|
// =============================================================================
|
|
@@ -1012,6 +1055,7 @@ export type BuiltInModifier =
|
|
|
1012
1055
|
| ReturnType<typeof border>
|
|
1013
1056
|
| ReturnType<typeof scaleEffect>
|
|
1014
1057
|
| ReturnType<typeof rotationEffect>
|
|
1058
|
+
| ReturnType<typeof rotation3DEffect>
|
|
1015
1059
|
| ReturnType<typeof offset>
|
|
1016
1060
|
| ReturnType<typeof foregroundColor>
|
|
1017
1061
|
| ReturnType<typeof foregroundStyle>
|
|
@@ -1083,7 +1127,9 @@ export type BuiltInModifier =
|
|
|
1083
1127
|
| ReturnType<typeof progressViewStyle>
|
|
1084
1128
|
| ReturnType<typeof gaugeStyle>
|
|
1085
1129
|
| ReturnType<typeof listStyle>
|
|
1086
|
-
| ReturnType<typeof contentTransition
|
|
1130
|
+
| ReturnType<typeof contentTransition>
|
|
1131
|
+
| ReturnType<typeof resizable>
|
|
1132
|
+
| ReturnType<typeof widgetAccentedRenderingMode>;
|
|
1087
1133
|
|
|
1088
1134
|
/**
|
|
1089
1135
|
* Main ViewModifier type that supports both built-in and 3rd party modifiers.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
import ExpoModulesCore
|
|
3
|
-
|
|
4
|
-
internal struct ConfirmationDialogTrigger: ExpoSwiftUI.View {
|
|
5
|
-
@ObservedObject var props: ConfirmationDialogTriggerProps
|
|
6
|
-
|
|
7
|
-
var body: some View {
|
|
8
|
-
Children()
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
internal struct ConfirmationDialogActions: ExpoSwiftUI.View {
|
|
13
|
-
@ObservedObject var props: ConfirmationDialogActionsProps
|
|
14
|
-
|
|
15
|
-
var body: some View {
|
|
16
|
-
Children()
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
internal struct ConfirmationDialogMessage: ExpoSwiftUI.View {
|
|
21
|
-
@ObservedObject var props: ConfirmationDialogMessageProps
|
|
22
|
-
|
|
23
|
-
var body: some View {
|
|
24
|
-
Children()
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
import ExpoModulesCore
|
|
3
|
-
|
|
4
|
-
internal struct LongPressContextMenu<ActivationElement: View, MenuContent: View>: View {
|
|
5
|
-
let activationElement: ActivationElement
|
|
6
|
-
let menuContent: MenuContent
|
|
7
|
-
|
|
8
|
-
var body: some View {
|
|
9
|
-
activationElement.contextMenu(menuItems: {
|
|
10
|
-
menuContent
|
|
11
|
-
})
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
internal struct ContextMenuPreview: ExpoSwiftUI.View {
|
|
16
|
-
@ObservedObject var props: ContextMenuPreviewProps
|
|
17
|
-
|
|
18
|
-
var body: some View {
|
|
19
|
-
Children()
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
internal struct ContextMenuContent: ExpoSwiftUI.View {
|
|
24
|
-
@ObservedObject var props: ContextMenuContentProps
|
|
25
|
-
|
|
26
|
-
var body: some View {
|
|
27
|
-
Children()
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
internal struct ContextMenuActivationElement: ExpoSwiftUI.View {
|
|
32
|
-
@ObservedObject var props: ContextMenuActivationElementProps
|
|
33
|
-
|
|
34
|
-
var body: some View {
|
|
35
|
-
Children()
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// Copyright 2025-present 650 Industries. All rights reserved.
|
|
2
|
-
|
|
3
|
-
import SwiftUI
|
|
4
|
-
import ExpoModulesCore
|
|
5
|
-
|
|
6
|
-
internal final class PickerContentProps: ExpoSwiftUI.ViewProps {}
|
|
7
|
-
|
|
8
|
-
internal final class PickerLabelProps: ExpoSwiftUI.ViewProps {}
|
|
9
|
-
|
|
10
|
-
internal struct PickerContentView: ExpoSwiftUI.View {
|
|
11
|
-
@ObservedObject var props: PickerContentProps
|
|
12
|
-
|
|
13
|
-
var body: some View {
|
|
14
|
-
Children()
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
internal struct PickerLabelView: ExpoSwiftUI.View {
|
|
19
|
-
@ObservedObject var props: PickerLabelProps
|
|
20
|
-
|
|
21
|
-
var body: some View {
|
|
22
|
-
Children()
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ExpoModulesCore
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
internal struct PopoverViewContent: ExpoSwiftUI.View {
|
|
5
|
-
@ObservedObject var props: PopoverViewContentPorps
|
|
6
|
-
|
|
7
|
-
var body: some View {
|
|
8
|
-
Children()
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
internal struct PopoverViewPopContent: ExpoSwiftUI.View {
|
|
13
|
-
@ObservedObject var props: PopoverViewPopContentPorps
|
|
14
|
-
|
|
15
|
-
var body: some View {
|
|
16
|
-
Children()
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Copyright 2025-present 650 Industries. All rights reserved.
|
|
2
|
-
|
|
3
|
-
import SwiftUI
|
|
4
|
-
import ExpoModulesCore
|
|
5
|
-
|
|
6
|
-
internal final class SectionHeaderProps: ExpoSwiftUI.ViewProps {}
|
|
7
|
-
|
|
8
|
-
internal final class SectionFooterProps: ExpoSwiftUI.ViewProps {}
|
|
9
|
-
|
|
10
|
-
internal final class SectionContentProps: ExpoSwiftUI.ViewProps {}
|
|
11
|
-
|
|
12
|
-
internal struct SectionHeader: ExpoSwiftUI.View {
|
|
13
|
-
@ObservedObject var props: SectionHeaderProps
|
|
14
|
-
|
|
15
|
-
var body: some View {
|
|
16
|
-
Children()
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
internal struct SectionFooter: ExpoSwiftUI.View {
|
|
21
|
-
@ObservedObject var props: SectionFooterProps
|
|
22
|
-
|
|
23
|
-
var body: some View {
|
|
24
|
-
Children()
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
internal struct SectionContent: ExpoSwiftUI.View {
|
|
29
|
-
@ObservedObject var props: SectionContentProps
|
|
30
|
-
|
|
31
|
-
var body: some View {
|
|
32
|
-
Children()
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d9047cbc88b3f7cbf9728460e27dd43d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6e19bff717c5770bfbfab0f7b94f6e98217dc504
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
addee5fe747747c7459fb227f67189cd0c0a064fe2a037ed67057c560e7fb335
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
fe721d26e09241994a20838afa7aecfcd15a3c74bb104a3b42753cb73608ad6784f0d820db4b654b6fd65df1165574b8353040f8d0a2161c2e3413e18c2b9b79
|
|
Binary file
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
28406ef3849bb822054f845e1e731d11
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6c884449165b70583d08844b02f31ab547df4438
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
981050003cd4b3d57f26a29a9e0466bdbdae41cc8df253b571858ba1e46a6ab9
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.aar.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
35a4fa077be99bf9bebfd55d3398894d0150be4a5a60503d407a6a487290f5b2fdd0b0624986ef2781097d50a3c1fe973786fd79a738e94d1de0228b04ab3e01
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
dcd81b9829aa223dc95f2f3860fa6176
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0234885a7f69e8c23962b199fca0a04c3c349795
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ee674de6e76134c2823dcdb8688a898ebc3f27a2431fdc45d332440f1566bfc1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.module.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
9e3ea394afad0eca4e6ede1fa254b1ebd4ac024b51283b581e43e585776e805f7277869f9941af2736caf58a9a6a491721b9ccfeb3c708a9321d5ca19e7b11f3
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1310c75f7f329fec86644d7d5eaac15b
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2e1ae4bece93cfdf9286e263af23d312a8471733
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b2c706f5e3d5fd8de972562658efbfcf2286089535d5c82a6d702e1e223c46c2
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.1/expo.modules.ui-55.0.1.pom.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2bbf17d9a76db0c5ccd9e366ecfe0aa07e33a3b333f58d580b8dd16979ed222db0270213fe561d8dd9b69a1163525abaceadd66405289d1a0dc164322512acad
|