@expo/ui 0.2.0-beta.6 → 0.2.0-beta.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/CHANGELOG.md +11 -0
- package/android/build.gradle +2 -2
- package/build/swift-ui/Button/index.d.ts +14 -1
- package/build/swift-ui/Button/index.d.ts.map +1 -1
- package/build/swift-ui/ContextMenu/index.d.ts +7 -7
- package/build/swift-ui/ContextMenu/index.d.ts.map +1 -1
- package/build/swift-ui/ContextMenu/types.d.ts +14 -13
- package/build/swift-ui/ContextMenu/types.d.ts.map +1 -1
- package/build/swift-ui/Divider/index.d.ts +8 -0
- package/build/swift-ui/Divider/index.d.ts.map +1 -0
- package/build/swift-ui/index.d.ts +1 -0
- package/build/swift-ui/index.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/Button/Button.swift +2 -0
- package/ios/Button/ButtonProps.swift +31 -0
- package/ios/ContextMenu/ContextMenu.swift +20 -111
- package/ios/ContextMenu/ContextMenuComponents.swift +37 -0
- package/ios/ContextMenu/ContextMenuRecords.swift +4 -33
- package/ios/DividerView.swift +21 -0
- package/ios/ExpoUIModule.swift +2 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.module → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.module} +7 -7
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.pom → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.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/swift-ui/Button/index.tsx +15 -1
- package/src/swift-ui/ContextMenu/index.tsx +25 -58
- package/src/swift-ui/ContextMenu/types.ts +15 -21
- package/src/swift-ui/Divider/index.tsx +18 -0
- package/src/swift-ui/index.tsx +1 -0
- package/build/swift-ui/ContextMenu/Submenu.d.ts +0 -21
- package/build/swift-ui/ContextMenu/Submenu.d.ts.map +0 -1
- package/build/swift-ui/ContextMenu/utils.d.ts +0 -24
- package/build/swift-ui/ContextMenu/utils.d.ts.map +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.pom.sha512 +0 -1
- package/src/swift-ui/ContextMenu/Submenu.tsx +0 -25
- package/src/swift-ui/ContextMenu/utils.ts +0 -149
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6-sources.jar → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6-sources.jar.md5 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6-sources.jar.sha1 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6-sources.jar.sha256 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6-sources.jar.sha512 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.aar → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.aar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.aar.md5 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.aar.sha1 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.aar.sha256 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{0.2.0-beta.6/expo.modules.ui-0.2.0-beta.6.aar.sha512 → 0.2.0-beta.7/expo.modules.ui-0.2.0-beta.7.aar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 0.2.0-beta.7 — 2025-10-09
|
|
14
|
+
|
|
15
|
+
### 🎉 New features
|
|
16
|
+
|
|
17
|
+
- [iOS] Adds `controlSize` prop to Button([#40030](https://github.com/expo/expo/pull/40030) by [@betomoedano](https://github.com/betomoedano))
|
|
18
|
+
- [iOS] Add Divider component. ([#40283](https://github.com/expo/expo/pull/40283) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway))
|
|
19
|
+
|
|
20
|
+
### 💡 Others
|
|
21
|
+
|
|
22
|
+
- [iOS] Make `ContextMenu` more composable. ([#40254](https://github.com/expo/expo/pull/40254) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway))
|
|
23
|
+
|
|
13
24
|
## 0.2.0-beta.6 — 2025-10-01
|
|
14
25
|
|
|
15
26
|
### 🐛 Bug fixes
|
package/android/build.gradle
CHANGED
|
@@ -12,13 +12,13 @@ apply plugin: 'expo-module-gradle-plugin'
|
|
|
12
12
|
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
|
|
13
13
|
|
|
14
14
|
group = 'expo.modules.ui'
|
|
15
|
-
version = '0.2.0-beta.
|
|
15
|
+
version = '0.2.0-beta.7'
|
|
16
16
|
|
|
17
17
|
android {
|
|
18
18
|
namespace "expo.modules.ui"
|
|
19
19
|
defaultConfig {
|
|
20
20
|
versionCode 1
|
|
21
|
-
versionName "0.2.0-beta.
|
|
21
|
+
versionName "0.2.0-beta.7"
|
|
22
22
|
}
|
|
23
23
|
buildFeatures {
|
|
24
24
|
compose true
|
|
@@ -8,6 +8,15 @@ import { type CommonViewModifierProps } from '../types';
|
|
|
8
8
|
* - `destructive` - A button that deletes data or performs a destructive action.
|
|
9
9
|
*/
|
|
10
10
|
export type ButtonRole = 'default' | 'cancel' | 'destructive';
|
|
11
|
+
/**
|
|
12
|
+
* Sets the size for controls within this view.
|
|
13
|
+
* - `mini` - A control version that is minimally sized.
|
|
14
|
+
* - `small` - A control version that is proportionally smaller size for space-constrained views.
|
|
15
|
+
* - `regular` - A control version that is the default size.
|
|
16
|
+
* - `large` - A control version that is prominently sized.
|
|
17
|
+
* - `extraLarge` - A control version that is substantially sized. The largest control size. Resolves to ControlSize.large on platforms other than visionOS.
|
|
18
|
+
*/
|
|
19
|
+
export type ButtonControlSize = 'mini' | 'small' | 'regular' | 'large' | 'extraLarge';
|
|
11
20
|
/**
|
|
12
21
|
* The built-in button styles available on iOS.
|
|
13
22
|
*
|
|
@@ -42,6 +51,10 @@ export type ButtonProps = {
|
|
|
42
51
|
* @platform ios
|
|
43
52
|
*/
|
|
44
53
|
role?: ButtonRole;
|
|
54
|
+
/**
|
|
55
|
+
* The size for controls within this view.
|
|
56
|
+
*/
|
|
57
|
+
controlSize?: ButtonControlSize;
|
|
45
58
|
/**
|
|
46
59
|
* The button variant.
|
|
47
60
|
*/
|
|
@@ -63,7 +76,7 @@ export type ButtonProps = {
|
|
|
63
76
|
* exposed for ContextMenu
|
|
64
77
|
* @hidden
|
|
65
78
|
*/
|
|
66
|
-
export type NativeButtonProps = Omit<ButtonProps, 'role' | 'onPress' | 'children' | 'systemImage'> & {
|
|
79
|
+
export type NativeButtonProps = Omit<ButtonProps, 'role' | 'onPress' | 'children' | 'systemImage' | 'controlSize'> & {
|
|
67
80
|
buttonRole?: ButtonRole;
|
|
68
81
|
text: string | undefined;
|
|
69
82
|
systemImage?: SFSymbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAErB,SAAS,GACT,UAAU,GACV,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,GAEZ,cAAc,GACd,oBAAoB,GACpB,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,uBAAuB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,WAAW,EACX,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAEtF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAErB,SAAS,GACT,UAAU,GACV,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,GAEZ,cAAc,GACd,oBAAoB,GACpB,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,uBAAuB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,WAAW,EACX,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAChE,GAAG;IACF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB,GAAG,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAQvC;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACpC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,iBAAiB,CAWnB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BAkBxC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { type ContextMenuProps } from './types';
|
|
2
|
-
export
|
|
3
|
-
export { type ActivationMethod, type ContextMenuProps, type ContextMenuContentProps, } from './types';
|
|
1
|
+
import { type SubmenuProps, type ContextMenuProps } from './types';
|
|
2
|
+
export { type ActivationMethod, type ContextMenuProps } from './types';
|
|
4
3
|
/**
|
|
5
4
|
* Items visible inside the context menu. Pass input components as immidiate children of the tag.
|
|
6
5
|
* `Button`, `Switch` and `Submenu` components are supported on both Android and iOS.
|
|
@@ -9,9 +8,6 @@ export { type ActivationMethod, type ContextMenuProps, type ContextMenuContentPr
|
|
|
9
8
|
export declare function Items(props: {
|
|
10
9
|
children: React.ReactNode;
|
|
11
10
|
}): import("react").JSX.Element;
|
|
12
|
-
export declare namespace Items {
|
|
13
|
-
var tag: string;
|
|
14
|
-
}
|
|
15
11
|
/**
|
|
16
12
|
* The component visible all the time that triggers the menu when tapped or long-pressed.
|
|
17
13
|
*/
|
|
@@ -44,5 +40,9 @@ declare namespace ContextMenu {
|
|
|
44
40
|
var Preview: typeof import(".").Preview;
|
|
45
41
|
var Items: typeof import(".").Items;
|
|
46
42
|
}
|
|
47
|
-
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use `ContextMenu` component as Submenu instead.
|
|
45
|
+
*/
|
|
46
|
+
declare const Submenu: (props: SubmenuProps) => import("react").JSX.Element;
|
|
47
|
+
export { ContextMenu, Submenu };
|
|
48
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ContextMenu/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ContextMenu/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAqBvE;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAEzD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAE3D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAE3D;AAED;;;GAGG;AAEH;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAE3C;kBAFQ,WAAW;;;;;AAQpB;;GAEG;AACH,QAAA,MAAM,OAAO,GAAI,OAAO,YAAY,gCAQnC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import { NativeSyntheticEvent } from 'react-native';
|
|
3
2
|
import { type ButtonProps } from '../Button';
|
|
4
|
-
import { type PickerProps } from '../Picker';
|
|
5
|
-
import { type SwitchProps } from '../Switch';
|
|
6
|
-
import { type SubmenuProps } from './Submenu';
|
|
7
3
|
import { type CommonViewModifierProps } from '../types';
|
|
8
|
-
export type EventHandlers = Record<string, Record<string, (event: NativeSyntheticEvent<any>) => void>>;
|
|
9
|
-
export type ContextMenuElementBase = {
|
|
10
|
-
contextMenuElementID: string;
|
|
11
|
-
};
|
|
12
|
-
type SubmenuElement = ReactElement<ButtonProps> | ReactElement<SwitchProps> | ReactElement<PickerProps> | ReactElement<SubmenuProps>;
|
|
13
|
-
export type ContextMenuContentProps = {
|
|
14
|
-
children: SubmenuElement | SubmenuElement[];
|
|
15
|
-
};
|
|
16
4
|
/**
|
|
17
5
|
* Activation method of the context menu.
|
|
18
6
|
* - `singlePress`: The context menu is opened with a single tap. Does not isolate the content.
|
|
@@ -33,5 +21,18 @@ export type ContextMenuProps = {
|
|
|
33
21
|
*/
|
|
34
22
|
children: ReactNode;
|
|
35
23
|
} & CommonViewModifierProps;
|
|
36
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Props of the `Submenu` component.
|
|
26
|
+
* @deprecated Use `ContextMenu` component as Submenu instead.
|
|
27
|
+
*/
|
|
28
|
+
export type SubmenuProps = {
|
|
29
|
+
/**
|
|
30
|
+
* The button that will be used to expand the submenu. On Android the `text` prop of the `Button` will be used as a section title.
|
|
31
|
+
*/
|
|
32
|
+
button: ReactElement<ButtonProps>;
|
|
33
|
+
/**
|
|
34
|
+
* Children of the submenu. Only `Button`, `Switch`, `Picker` and `Submenu` elements should be used.
|
|
35
|
+
*/
|
|
36
|
+
children: ReactNode;
|
|
37
|
+
};
|
|
37
38
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ContextMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ContextMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,WAAW,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,uBAAuB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CommonViewModifierProps } from '../types';
|
|
2
|
+
export type DividerProps = CommonViewModifierProps;
|
|
3
|
+
/**
|
|
4
|
+
* Divider component uses the native [Divider](https://developer.apple.com/documentation/swiftui/divider) component.
|
|
5
|
+
* A visual element that can be used to separate other content.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Divider(props: DividerProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Divider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAOnD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BAE1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC"}
|
package/expo-module.config.json
CHANGED
package/ios/Button/Button.swift
CHANGED
|
@@ -27,6 +27,7 @@ struct Button: ExpoSwiftUI.View {
|
|
|
27
27
|
})
|
|
28
28
|
.disabled(props.disabled)
|
|
29
29
|
.tint(props.color)
|
|
30
|
+
.controlSize(props.controlSize?.toNativeControlSize() ?? .regular)
|
|
30
31
|
.modifier(CommonViewModifiers(props: props))
|
|
31
32
|
// TODO: Maybe there is a way to do a switch statement similarly to the `if` extension?
|
|
32
33
|
.if(props.variant == .bordered, {
|
|
@@ -83,3 +84,4 @@ struct Button: ExpoSwiftUI.View {
|
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
}
|
|
87
|
+
|
|
@@ -20,6 +20,35 @@ internal enum ButtonRole: String, Enumerable {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
internal enum ButtonControlSize: String, Enumerable {
|
|
24
|
+
case mini
|
|
25
|
+
case small
|
|
26
|
+
case regular
|
|
27
|
+
case large
|
|
28
|
+
case extraLarge
|
|
29
|
+
|
|
30
|
+
func toNativeControlSize() -> SwiftUI.ControlSize {
|
|
31
|
+
switch self {
|
|
32
|
+
case .mini:
|
|
33
|
+
return .mini
|
|
34
|
+
case .small:
|
|
35
|
+
return .small
|
|
36
|
+
case .regular:
|
|
37
|
+
return .regular
|
|
38
|
+
case .large:
|
|
39
|
+
return .large
|
|
40
|
+
case .extraLarge:
|
|
41
|
+
if #available(iOS 17.0, tvOS 17.0, *) {
|
|
42
|
+
return .extraLarge
|
|
43
|
+
} else {
|
|
44
|
+
return .large
|
|
45
|
+
}
|
|
46
|
+
@unknown default:
|
|
47
|
+
return .regular
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
23
52
|
internal enum ButtonVariant: String, Enumerable {
|
|
24
53
|
case `default`
|
|
25
54
|
case bordered
|
|
@@ -45,7 +74,9 @@ final class ButtonProps: ExpoSwiftUI.ViewProps, CommonViewModifierProps, Observa
|
|
|
45
74
|
@Field var systemImage: String?
|
|
46
75
|
@Field var color: Color?
|
|
47
76
|
@Field var buttonRole: ButtonRole? = .default
|
|
77
|
+
@Field var controlSize: ButtonControlSize? = .regular
|
|
48
78
|
@Field var variant: ButtonVariant? = .default
|
|
49
79
|
@Field var disabled: Bool = false
|
|
50
80
|
var onButtonPressed = EventDispatcher()
|
|
51
81
|
}
|
|
82
|
+
|
|
@@ -1,68 +1,14 @@
|
|
|
1
1
|
import SwiftUI
|
|
2
2
|
import ExpoModulesCore
|
|
3
3
|
|
|
4
|
-
struct
|
|
5
|
-
let fromElements: [ContextMenuElement]?
|
|
6
|
-
let props: ContextMenuProps?
|
|
7
|
-
|
|
8
|
-
init(fromElements: [ContextMenuElement]?, props: ContextMenuProps?) {
|
|
9
|
-
self.fromElements = fromElements
|
|
10
|
-
self.props = props
|
|
11
|
-
|
|
12
|
-
fromElements?.forEach { element in
|
|
13
|
-
let id = element.contextMenuElementID
|
|
14
|
-
if let button = element.button {
|
|
15
|
-
button.onButtonPressed.onEventSent = { _ in
|
|
16
|
-
props?.onContextMenuButtonPressed(addId(id, toMap: nil))
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if let `switch` = element.switch {
|
|
20
|
-
`switch`.onValueChange.onEventSent = { map in
|
|
21
|
-
props?.onContextMenuSwitchCheckedChanged(addId(id, toMap: map))
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
if let picker = element.picker {
|
|
25
|
-
picker.onOptionSelected.onEventSent = { map in
|
|
26
|
-
props?.onContextMenuPickerOptionSelected(addId(id, toMap: map))
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
var body: some View {
|
|
33
|
-
ForEach(fromElements ?? []) { elem in
|
|
34
|
-
if let button = elem.button {
|
|
35
|
-
ExpoUI.Button(props: button)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if let picker = elem.picker {
|
|
39
|
-
ExpoUI.PickerView(props: picker)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if let `switch` = elem.switch {
|
|
43
|
-
ExpoUI.SwitchView(props: `switch`)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if let submenu = elem.submenu {
|
|
47
|
-
SinglePressContextMenu(
|
|
48
|
-
elements: submenu.elements,
|
|
49
|
-
activationElement: ExpoUI.Button(props: submenu.button),
|
|
50
|
-
props: props
|
|
51
|
-
)
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
struct SinglePressContextMenu<ActivationElement: View>: View {
|
|
58
|
-
let elements: [ContextMenuElement]?
|
|
4
|
+
struct SinglePressContextMenu<ActivationElement: View, MenuContent: View>: View {
|
|
59
5
|
let activationElement: ActivationElement
|
|
60
|
-
let
|
|
6
|
+
let menuContent: MenuContent
|
|
61
7
|
|
|
62
8
|
var body: some View {
|
|
63
9
|
#if !os(tvOS)
|
|
64
10
|
SwiftUI.Menu {
|
|
65
|
-
|
|
11
|
+
menuContent
|
|
66
12
|
} label: {
|
|
67
13
|
activationElement
|
|
68
14
|
}
|
|
@@ -72,100 +18,63 @@ struct SinglePressContextMenu<ActivationElement: View>: View {
|
|
|
72
18
|
}
|
|
73
19
|
}
|
|
74
20
|
|
|
75
|
-
struct
|
|
76
|
-
let elements: [ContextMenuElement]?
|
|
77
|
-
let activationElement: ActivationElement
|
|
78
|
-
let props: ContextMenuProps?
|
|
79
|
-
|
|
80
|
-
var body: some View {
|
|
81
|
-
activationElement.contextMenu(menuItems: {
|
|
82
|
-
MenuItems(fromElements: elements, props: props)
|
|
83
|
-
})
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
struct LongPressContextMenuWithPreview<ActivationElement: View, Preview: View>: View {
|
|
88
|
-
let elements: [ContextMenuElement]?
|
|
21
|
+
struct LongPressContextMenuWithPreview<ActivationElement: View, Preview: View, MenuContent: View>: View {
|
|
89
22
|
let activationElement: ActivationElement
|
|
90
23
|
let preview: Preview
|
|
91
|
-
let
|
|
24
|
+
let menuContent: MenuContent
|
|
92
25
|
|
|
93
26
|
var body: some View {
|
|
94
27
|
if #available(iOS 16.0, tvOS 16.0, *) {
|
|
95
28
|
activationElement.contextMenu(menuItems: {
|
|
96
|
-
|
|
29
|
+
menuContent
|
|
97
30
|
}, preview: {
|
|
98
31
|
preview
|
|
99
32
|
})
|
|
100
33
|
} else {
|
|
101
34
|
activationElement.contextMenu(menuItems: {
|
|
102
|
-
|
|
35
|
+
menuContent
|
|
103
36
|
})
|
|
104
37
|
}
|
|
105
38
|
}
|
|
106
39
|
}
|
|
107
40
|
|
|
108
|
-
struct ContextMenuPreview: ExpoSwiftUI.View {
|
|
109
|
-
@ObservedObject var props: ContextMenuPreviewProps
|
|
110
|
-
|
|
111
|
-
var body: some View {
|
|
112
|
-
Children()
|
|
113
|
-
.modifier(CommonViewModifiers(props: props))
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
struct ContextMenuActivationElement: ExpoSwiftUI.View {
|
|
118
|
-
@ObservedObject var props: ContextMenuActivationElementProps
|
|
119
|
-
|
|
120
|
-
var body: some View {
|
|
121
|
-
Children()
|
|
122
|
-
.modifier(CommonViewModifiers(props: props))
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
41
|
struct ContextMenu: ExpoSwiftUI.View {
|
|
127
42
|
@ObservedObject var props: ContextMenuProps
|
|
128
43
|
|
|
129
44
|
var body: some View {
|
|
45
|
+
let activationElement = (props.children?
|
|
46
|
+
.compactMap { $0.childView as? ContextMenuActivationElement }
|
|
47
|
+
.first) ?? ContextMenuActivationElement(props: ContextMenuActivationElementProps())
|
|
48
|
+
|
|
49
|
+
let menuContent = (props.children?
|
|
50
|
+
.compactMap { $0.childView as? ContextMenuContent }
|
|
51
|
+
.first) ?? ContextMenuContent(props: ContextMenuContentProps())
|
|
52
|
+
|
|
130
53
|
if props.activationMethod == .singlePress {
|
|
131
|
-
let activationElement = props.children?
|
|
132
|
-
.compactMap { $0.childView as? ContextMenuActivationElement }
|
|
133
|
-
.first
|
|
134
54
|
SinglePressContextMenu(
|
|
135
|
-
elements: props.elements,
|
|
136
55
|
activationElement: activationElement,
|
|
137
|
-
|
|
56
|
+
menuContent: menuContent
|
|
138
57
|
)
|
|
139
58
|
.modifier(CommonViewModifiers(props: props))
|
|
140
59
|
} else {
|
|
141
60
|
let preview = props.children?
|
|
142
61
|
.compactMap { $0.childView as? ContextMenuPreview }
|
|
143
62
|
.first
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
.first
|
|
147
|
-
if preview != nil {
|
|
63
|
+
|
|
64
|
+
if let preview {
|
|
148
65
|
LongPressContextMenuWithPreview(
|
|
149
|
-
elements: props.elements,
|
|
150
66
|
activationElement: activationElement,
|
|
151
67
|
preview: preview,
|
|
152
|
-
|
|
68
|
+
menuContent: menuContent
|
|
153
69
|
)
|
|
154
70
|
.modifier(CommonViewModifiers(props: props))
|
|
155
71
|
} else {
|
|
156
72
|
LongPressContextMenu(
|
|
157
|
-
elements: props.elements,
|
|
158
73
|
activationElement: activationElement,
|
|
159
|
-
|
|
74
|
+
menuContent: menuContent
|
|
160
75
|
)
|
|
161
76
|
.modifier(CommonViewModifiers(props: props))
|
|
162
77
|
}
|
|
163
78
|
}
|
|
164
79
|
}
|
|
165
80
|
}
|
|
166
|
-
|
|
167
|
-
private func addId(_ id: String?, toMap initialMap: [String: Any]?) -> [String: Any] {
|
|
168
|
-
var newMap = initialMap ?? [:]
|
|
169
|
-
newMap["contextMenuElementID"] = id
|
|
170
|
-
return newMap
|
|
171
|
-
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
}
|
|
@@ -5,21 +5,6 @@ internal enum ActivationMethod: String, Enumerable {
|
|
|
5
5
|
case longPress
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
internal final class Submenu: Record, Identifiable {
|
|
9
|
-
required init() { }
|
|
10
|
-
@Field var elements: [ContextMenuElement]
|
|
11
|
-
@Field var button: ButtonProps
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
internal final class ContextMenuElement: Record, Identifiable {
|
|
15
|
-
required init() { }
|
|
16
|
-
@Field var button: ButtonProps?
|
|
17
|
-
@Field var picker: PickerProps?
|
|
18
|
-
@Field var `switch`: SwitchProps?
|
|
19
|
-
@Field var submenu: Submenu?
|
|
20
|
-
@Field var contextMenuElementID: String?
|
|
21
|
-
}
|
|
22
|
-
|
|
23
8
|
internal final class ContextMenuProps: ExpoSwiftUI.ViewProps, CommonViewModifierProps {
|
|
24
9
|
@Field var fixedSize: Bool?
|
|
25
10
|
@Field var frame: FrameOptions?
|
|
@@ -27,25 +12,11 @@ internal final class ContextMenuProps: ExpoSwiftUI.ViewProps, CommonViewModifier
|
|
|
27
12
|
@Field var testID: String?
|
|
28
13
|
@Field var modifiers: ModifierArray?
|
|
29
14
|
|
|
30
|
-
@Field var elements: [ContextMenuElement]
|
|
31
|
-
var onContextMenuButtonPressed = EventDispatcher()
|
|
32
|
-
var onContextMenuPickerOptionSelected = EventDispatcher()
|
|
33
|
-
var onContextMenuSwitchCheckedChanged = EventDispatcher()
|
|
34
15
|
@Field var activationMethod: ActivationMethod? = .singlePress
|
|
35
16
|
}
|
|
36
17
|
|
|
37
|
-
internal final class ContextMenuPreviewProps: ExpoSwiftUI.ViewProps
|
|
38
|
-
@Field var fixedSize: Bool?
|
|
39
|
-
@Field var frame: FrameOptions?
|
|
40
|
-
@Field var padding: PaddingOptions?
|
|
41
|
-
@Field var testID: String?
|
|
42
|
-
@Field var modifiers: ModifierArray?
|
|
43
|
-
}
|
|
18
|
+
internal final class ContextMenuPreviewProps: ExpoSwiftUI.ViewProps {}
|
|
44
19
|
|
|
45
|
-
internal final class ContextMenuActivationElementProps: ExpoSwiftUI.ViewProps
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
@Field var padding: PaddingOptions?
|
|
49
|
-
@Field var testID: String?
|
|
50
|
-
@Field var modifiers: ModifierArray?
|
|
51
|
-
}
|
|
20
|
+
internal final class ContextMenuActivationElementProps: ExpoSwiftUI.ViewProps {}
|
|
21
|
+
|
|
22
|
+
internal final class ContextMenuContentProps: ExpoSwiftUI.ViewProps {}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright 2025-present 650 Industries. All rights reserved.
|
|
2
|
+
|
|
3
|
+
import SwiftUI
|
|
4
|
+
import ExpoModulesCore
|
|
5
|
+
|
|
6
|
+
internal class DividerProps: ExpoSwiftUI.ViewProps, CommonViewModifierProps {
|
|
7
|
+
@Field var fixedSize: Bool?
|
|
8
|
+
@Field var frame: FrameOptions?
|
|
9
|
+
@Field var padding: PaddingOptions?
|
|
10
|
+
@Field var testID: String?
|
|
11
|
+
@Field var modifiers: ModifierArray?
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
internal struct DividerView: ExpoSwiftUI.View {
|
|
15
|
+
@ObservedObject var props: DividerProps
|
|
16
|
+
|
|
17
|
+
var body: some View {
|
|
18
|
+
Divider()
|
|
19
|
+
.modifier(CommonViewModifiers(props: props))
|
|
20
|
+
}
|
|
21
|
+
}
|
package/ios/ExpoUIModule.swift
CHANGED
|
@@ -22,6 +22,7 @@ public final class ExpoUIModule: Module {
|
|
|
22
22
|
View(ExpoUI.ContextMenu.self)
|
|
23
23
|
View(ExpoUI.ContextMenuActivationElement.self)
|
|
24
24
|
View(ExpoUI.ContextMenuPreview.self)
|
|
25
|
+
View(ExpoUI.ContextMenuContent.self)
|
|
25
26
|
View(FormView.self)
|
|
26
27
|
View(GaugeView.self)
|
|
27
28
|
View(GroupView.self)
|
|
@@ -60,5 +61,6 @@ public final class ExpoUIModule: Module {
|
|
|
60
61
|
View(CapsuleView.self)
|
|
61
62
|
View(CircleView.self)
|
|
62
63
|
View(ConcentricRectangleView.self)
|
|
64
|
+
View(DividerView.self)
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.ui",
|
|
5
5
|
"module": "expo.modules.ui",
|
|
6
|
-
"version": "0.2.0-beta.
|
|
6
|
+
"version": "0.2.0-beta.7",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.ui-0.2.0-beta.
|
|
28
|
-
"url": "expo.modules.ui-0.2.0-beta.
|
|
27
|
+
"name": "expo.modules.ui-0.2.0-beta.7.aar",
|
|
28
|
+
"url": "expo.modules.ui-0.2.0-beta.7.aar",
|
|
29
29
|
"size": 328057,
|
|
30
30
|
"sha512": "b958652dfcfedb729cea485390e5f5b786a5021c48b23de0f3bcbf608eec41131b1a8c52d2395cd071a5b12ce07f98ec0e9ab0b6f81ab0fea194a197f98e4171",
|
|
31
31
|
"sha256": "1f92dbcd88e2828453eca20aeabe98330c56a6469d6fbad9f8830db76c2b6e04",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
],
|
|
103
103
|
"files": [
|
|
104
104
|
{
|
|
105
|
-
"name": "expo.modules.ui-0.2.0-beta.
|
|
106
|
-
"url": "expo.modules.ui-0.2.0-beta.
|
|
105
|
+
"name": "expo.modules.ui-0.2.0-beta.7.aar",
|
|
106
|
+
"url": "expo.modules.ui-0.2.0-beta.7.aar",
|
|
107
107
|
"size": 328057,
|
|
108
108
|
"sha512": "b958652dfcfedb729cea485390e5f5b786a5021c48b23de0f3bcbf608eec41131b1a8c52d2395cd071a5b12ce07f98ec0e9ab0b6f81ab0fea194a197f98e4171",
|
|
109
109
|
"sha256": "1f92dbcd88e2828453eca20aeabe98330c56a6469d6fbad9f8830db76c2b6e04",
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
},
|
|
123
123
|
"files": [
|
|
124
124
|
{
|
|
125
|
-
"name": "expo.modules.ui-0.2.0-beta.
|
|
126
|
-
"url": "expo.modules.ui-0.2.0-beta.
|
|
125
|
+
"name": "expo.modules.ui-0.2.0-beta.7-sources.jar",
|
|
126
|
+
"url": "expo.modules.ui-0.2.0-beta.7-sources.jar",
|
|
127
127
|
"size": 20561,
|
|
128
128
|
"sha512": "9827b418ce18c3c05714e0f283ae29d83da3c2b11d2c0bfe1701c4cd2d4e40105c3dbf2b6c4a1fc281f45910ecfe882b0335bd3339c06b18728b9b7476616a4d",
|
|
129
129
|
"sha256": "217b9fbf9f1a95fc434b20319a21222689d6deb202125cf47fb7a548e086e7b9",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
da3449442087dd38df5c581674aa88b0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b2abfd8c855d3fee692d1a8e8df0f7162a4e9406
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
9d41483b4f4310db1ca6ac14426f1c47e95d79d84e4ec4e90f82ba2ad65f2b57
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8db374fc2a20e4d322de06cae351f10fc35ba32d33afb6d902e0fafa13708759437d61b52b2c8d4b7e47fb9bd7098b5ad74ab5174020ca2e29e0deecd7f31a7b
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.ui</groupId>
|
|
11
11
|
<artifactId>expo.modules.ui</artifactId>
|
|
12
|
-
<version>0.2.0-beta.
|
|
12
|
+
<version>0.2.0-beta.7</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.ui</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1368b7e17b16f8108987821025d385e2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1fb57623e781dab13cca1ada17dc7c2a389c78b4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
964c4aff80fb38275ff3569c04f279c516023861bfc245418c2472d608c361b4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d6f92d8e7661873bf2e8208ce269e3b6d65799d5e48a93de9b648c9850c68b976d0d8e80088e61851410759de552755ec5109a716fb197a98e31216eeb8ac69a
|