@expo/ui 58.0.18 → 58.0.19
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 +7 -0
- package/android/build.gradle +2 -2
- package/build/community/slider/Slider.android.js +12 -2
- package/build/community/slider/Slider.android.js.map +1 -1
- package/build/community/slider/Slider.ios.js +10 -3
- package/build/community/slider/Slider.ios.js.map +1 -1
- package/build/community/slider/Slider.js +3 -1
- package/build/community/slider/Slider.js.map +1 -1
- package/build/community/slider/types.d.ts +14 -0
- package/build/community/slider/types.js.map +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.module → 58.0.19/expo.modules.ui-58.0.19.module} +7 -7
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.pom → 58.0.19/expo.modules.ui-58.0.19.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha512 +1 -0
- package/package.json +1 -2
- package/spm.config.json +0 -1
- package/src/community/slider/Slider.android.tsx +11 -0
- package/src/community/slider/Slider.ios.tsx +16 -1
- package/src/community/slider/Slider.tsx +4 -0
- package/src/community/slider/types.tsx +14 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha512 +0 -1
- package/prebuilds/output/debug/xcframeworks/ExpoUI.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoUI.tar.gz +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18-sources.jar → 58.0.19/expo.modules.ui-58.0.19-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18-sources.jar.md5 → 58.0.19/expo.modules.ui-58.0.19-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18-sources.jar.sha1 → 58.0.19/expo.modules.ui-58.0.19-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18-sources.jar.sha256 → 58.0.19/expo.modules.ui-58.0.19-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18-sources.jar.sha512 → 58.0.19/expo.modules.ui-58.0.19-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.aar → 58.0.19/expo.modules.ui-58.0.19.aar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.aar.md5 → 58.0.19/expo.modules.ui-58.0.19.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.aar.sha1 → 58.0.19/expo.modules.ui-58.0.19.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.aar.sha256 → 58.0.19/expo.modules.ui-58.0.19.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.18/expo.modules.ui-58.0.18.aar.sha512 → 58.0.19/expo.modules.ui-58.0.19.aar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.19
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Add `accessibilityLabel`, `accessibilityHint` (iOS) and `testID` to the community `Slider`. The drop-in dropped them, so VoiceOver and TalkBack announced a slider by its value alone and end-to-end tools could not find it. iOS applies them as SwiftUI accessibility modifiers, Android as the `semantics` and `testID` modifiers, and web as `aria-label` and `data-testid`. ([#51632](https://github.com/expo/expo/pull/51632) by [@brentvatne](https://github.com/brentvatne))
|
|
8
|
+
- [iOS] Stop shipping a precompiled iOS framework. `ArrangementView` and `onHingeChange` now work on iOS 27.1 without `buildFromSource` when the app is built with Xcode 27.1 or later. ([#51636](https://github.com/expo/expo/pull/51636) by [@brentvatne](https://github.com/brentvatne))
|
|
9
|
+
|
|
3
10
|
## 58.0.18
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
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 = '58.0.
|
|
15
|
+
version = '58.0.19'
|
|
16
16
|
|
|
17
17
|
android {
|
|
18
18
|
namespace "expo.modules.ui"
|
|
19
19
|
defaultConfig {
|
|
20
20
|
versionCode 1
|
|
21
|
-
versionName "58.0.
|
|
21
|
+
versionName "58.0.19"
|
|
22
22
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
23
23
|
}
|
|
24
24
|
buildFeatures {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Host } from '../../jetpack-compose/Host';
|
|
3
3
|
import { Slider as ComposeSlider } from '../../jetpack-compose/Slider';
|
|
4
|
+
import { semantics, testID as testIDModifier } from '../../jetpack-compose/modifiers';
|
|
4
5
|
/**
|
|
5
6
|
* A drop-in replacement for `@react-native-community/slider` on Android.
|
|
6
7
|
* Renders a Material 3 `Slider` wrapped in a Host.
|
|
7
8
|
*/ export function Slider(props) {
|
|
8
|
-
const { value, minimumValue, maximumValue, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, maximumTrackTintColor, thumbTintColor, onValueChange, style } = props;
|
|
9
|
+
const { value, minimumValue, maximumValue, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, maximumTrackTintColor, thumbTintColor, onValueChange, style, accessibilityLabel, testID } = props;
|
|
9
10
|
const min = minimumValue ?? 0;
|
|
10
11
|
const max = maximumValue ?? 1;
|
|
11
12
|
const steps = step && step > 0 ? Math.max(0, Math.round((max - min) / step) - 1) : 0;
|
|
@@ -24,6 +25,14 @@ import { Slider as ComposeSlider } from '../../jetpack-compose/Slider';
|
|
|
24
25
|
inactiveTrackColor: maximumTrackTintColor,
|
|
25
26
|
thumbColor: thumbTintColor
|
|
26
27
|
};
|
|
28
|
+
// `accessibilityHint` has no Compose semantics counterpart, so it is iOS-only.
|
|
29
|
+
const modifiers = [];
|
|
30
|
+
if (accessibilityLabel !== undefined) {
|
|
31
|
+
modifiers.push(semantics({
|
|
32
|
+
contentDescription: accessibilityLabel
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
if (testID !== undefined) modifiers.push(testIDModifier(testID));
|
|
27
36
|
return /*#__PURE__*/ _jsx(Host, {
|
|
28
37
|
matchContents: {
|
|
29
38
|
vertical: true
|
|
@@ -38,7 +47,8 @@ import { Slider as ComposeSlider } from '../../jetpack-compose/Slider';
|
|
|
38
47
|
steps: steps,
|
|
39
48
|
enabled: disabled === undefined ? undefined : !disabled,
|
|
40
49
|
colors: colors,
|
|
41
|
-
onValueChange: onValueChange
|
|
50
|
+
onValueChange: onValueChange,
|
|
51
|
+
modifiers: modifiers.length > 0 ? modifiers : undefined
|
|
42
52
|
})
|
|
43
53
|
});
|
|
44
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/slider/Slider.android.tsx"],"sourcesContent":[null],"names":["Host","Slider","ComposeSlider","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","disabled","inverted","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","onValueChange","style","min","max","steps","Math","round","hostStyle","transform","scaleX","colors","activeTrackColor","inactiveTrackColor","thumbColor","matchContents","vertical","enabled","
|
|
1
|
+
{"version":3,"sources":["community/slider/Slider.android.tsx"],"sourcesContent":[null],"names":["Host","Slider","ComposeSlider","semantics","testID","testIDModifier","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","disabled","inverted","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","onValueChange","style","accessibilityLabel","min","max","steps","Math","round","hostStyle","transform","scaleX","colors","activeTrackColor","inactiveTrackColor","thumbColor","modifiers","undefined","push","contentDescription","matchContents","vertical","enabled","length"],"mappings":";AAAA,SAASA,IAAI,QAAQ,6BAA6B;AAClD,SAASC,UAAUC,aAAa,QAAQ,+BAA+B;AACvE,SAASC,SAAS,EAAEC,UAAUC,cAAc,QAAQ,kCAAkC;AAItF;;;CAGC,GACD,OAAO,SAASJ,OAAOK,KAAkB;IACvC,MAAM,EACJC,KAAK,EACLC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EACRC,qBAAqB,EACrBC,qBAAqB,EACrBC,cAAc,EACdC,aAAa,EACbC,KAAK,EACLC,kBAAkB,EAClBhB,MAAM,EACP,GAAGE;IACJ,MAAMe,MAAMb,gBAAgB;IAC5B,MAAMc,MAAMb,gBAAgB;IAC5B,MAAMc,QAAQX,QAAQA,OAAO,IAAIY,KAAKF,GAAG,CAAC,GAAGE,KAAKC,KAAK,CAAC,AAACH,CAAAA,MAAMD,GAAE,IAAKT,QAAQ,KAAK;IACnF,MAAMc,YAAYZ,WAAW;QAACK;QAAO;YAAEQ,WAAW;gBAAC;oBAAEC,QAAQ,CAAC;gBAAE;aAAE;QAAC;KAAE,GAAGT;IACxE,MAAMU,SAAS;QACbC,kBAAkBf;QAClBgB,oBAAoBf;QACpBgB,YAAYf;IACd;IACA,+EAA+E;IAC/E,MAAMgB,YAA8B,EAAE;IACtC,IAAIb,uBAAuBc,WAAW;QACpCD,UAAUE,IAAI,CAAChC,UAAU;YAAEiC,oBAAoBhB;QAAmB;IACpE;IACA,IAAIhB,WAAW8B,WAAWD,UAAUE,IAAI,CAAC9B,eAAeD;IACxD,qBACE,KAACJ;QAAKqC,eAAe;YAAEC,UAAU;QAAK;QAAGnB,OAAOO;kBAC9C,cAAA,KAACxB;YACCK,OAAOA;YACPc,KAAKb;YACLc,KAAKb;YACLC,YAAYA;YACZC,YAAYA;YACZY,OAAOA;YACPgB,SAAS1B,aAAaqB,YAAYA,YAAY,CAACrB;YAC/CgB,QAAQA;YACRX,eAAeA;YACfe,WAAWA,UAAUO,MAAM,GAAG,IAAIP,YAAYC;;;AAItD"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Host } from '../../swift-ui/Host';
|
|
3
3
|
import { Slider as SwiftUISlider } from '../../swift-ui/Slider';
|
|
4
|
-
import { disabled as disabledModifier, tint as tintModifier } from '../../swift-ui/modifiers';
|
|
4
|
+
import { accessibilityHint as accessibilityHintModifier, accessibilityLabel as accessibilityLabelModifier, disabled as disabledModifier, tint as tintModifier } from '../../swift-ui/modifiers';
|
|
5
5
|
/**
|
|
6
6
|
* A drop-in replacement for `@react-native-community/slider` on iOS.
|
|
7
7
|
* Renders a SwiftUI `Slider` wrapped in a Host.
|
|
8
8
|
*/ export function Slider(props) {
|
|
9
|
-
const { value, minimumValue, maximumValue, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, onValueChange, style } = props;
|
|
9
|
+
const { value, minimumValue, maximumValue, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, onValueChange, style, accessibilityLabel, accessibilityHint, testID } = props;
|
|
10
10
|
const hostStyle = inverted ? [
|
|
11
11
|
style,
|
|
12
12
|
{
|
|
@@ -25,6 +25,12 @@ import { disabled as disabledModifier, tint as tintModifier } from '../../swift-
|
|
|
25
25
|
if (minimumTrackTintColor !== undefined) {
|
|
26
26
|
modifiers.push(tintModifier(minimumTrackTintColor));
|
|
27
27
|
}
|
|
28
|
+
if (accessibilityLabel !== undefined) {
|
|
29
|
+
modifiers.push(accessibilityLabelModifier(accessibilityLabel));
|
|
30
|
+
}
|
|
31
|
+
if (accessibilityHint !== undefined) {
|
|
32
|
+
modifiers.push(accessibilityHintModifier(accessibilityHint));
|
|
33
|
+
}
|
|
28
34
|
return /*#__PURE__*/ _jsx(Host, {
|
|
29
35
|
matchContents: {
|
|
30
36
|
vertical: true
|
|
@@ -39,7 +45,8 @@ import { disabled as disabledModifier, tint as tintModifier } from '../../swift-
|
|
|
39
45
|
upperLimit: upperLimit,
|
|
40
46
|
step: step && step > 0 ? step : undefined,
|
|
41
47
|
modifiers: modifiers.length > 0 ? modifiers : undefined,
|
|
42
|
-
onValueChange: onValueChange
|
|
48
|
+
onValueChange: onValueChange,
|
|
49
|
+
testID: testID
|
|
43
50
|
})
|
|
44
51
|
});
|
|
45
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/slider/Slider.ios.tsx"],"sourcesContent":[null],"names":["Host","Slider","SwiftUISlider","disabled","disabledModifier","tint","tintModifier","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","inverted","minimumTrackTintColor","onValueChange","style","hostStyle","transform","scaleX","modifiers","push","undefined","matchContents","vertical","ignoreSafeArea","min","max","length"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,UAAUC,aAAa,QAAQ,wBAAwB;AAChE,
|
|
1
|
+
{"version":3,"sources":["community/slider/Slider.ios.tsx"],"sourcesContent":[null],"names":["Host","Slider","SwiftUISlider","accessibilityHint","accessibilityHintModifier","accessibilityLabel","accessibilityLabelModifier","disabled","disabledModifier","tint","tintModifier","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","inverted","minimumTrackTintColor","onValueChange","style","testID","hostStyle","transform","scaleX","modifiers","push","undefined","matchContents","vertical","ignoreSafeArea","min","max","length"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,UAAUC,aAAa,QAAQ,wBAAwB;AAChE,SACEC,qBAAqBC,yBAAyB,EAC9CC,sBAAsBC,0BAA0B,EAChDC,YAAYC,gBAAgB,EAC5BC,QAAQC,YAAY,QACf,2BAA2B;AAIlC;;;CAGC,GACD,OAAO,SAAST,OAAOU,KAAkB;IACvC,MAAM,EACJC,KAAK,EACLC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,IAAI,EACJV,QAAQ,EACRW,QAAQ,EACRC,qBAAqB,EACrBC,aAAa,EACbC,KAAK,EACLhB,kBAAkB,EAClBF,iBAAiB,EACjBmB,MAAM,EACP,GAAGX;IACJ,MAAMY,YAAYL,WAAW;QAACG;QAAO;YAAEG,WAAW;gBAAC;oBAAEC,QAAQ,CAAC;gBAAE;aAAE;QAAC;KAAE,GAAGJ;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAMK,YAA8B,EAAE;IACtC,IAAInB,UAAUmB,UAAUC,IAAI,CAACnB,iBAAiB;IAC9C,IAAIW,0BAA0BS,WAAW;QACvCF,UAAUC,IAAI,CAACjB,aAAaS;IAC9B;IACA,IAAId,uBAAuBuB,WAAW;QACpCF,UAAUC,IAAI,CAACrB,2BAA2BD;IAC5C;IACA,IAAIF,sBAAsByB,WAAW;QACnCF,UAAUC,IAAI,CAACvB,0BAA0BD;IAC3C;IACA,qBACE,KAACH;QAAK6B,eAAe;YAAEC,UAAU;QAAK;QAAGT,OAAOE;QAAWQ,gBAAe;kBACxE,cAAA,KAAC7B;YACCU,OAAOA;YACPoB,KAAKnB;YACLoB,KAAKnB;YACLC,YAAYA;YACZC,YAAYA;YACZC,MAAMA,QAAQA,OAAO,IAAIA,OAAOW;YAChCF,WAAWA,UAAUQ,MAAM,GAAG,IAAIR,YAAYE;YAC9CR,eAAeA;YACfE,QAAQA;;;AAIhB"}
|
|
@@ -6,7 +6,7 @@ import { StyleSheet } from 'react-native';
|
|
|
6
6
|
* SwiftUI `Slider` on iOS, a Material 3 `Slider` on Android, and a native
|
|
7
7
|
* HTML `<input type="range">` on web.
|
|
8
8
|
*/ export function Slider(props) {
|
|
9
|
-
const { value, minimumValue = 0, maximumValue = 1, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, onValueChange, style } = props;
|
|
9
|
+
const { value, minimumValue = 0, maximumValue = 1, lowerLimit, upperLimit, step, disabled, inverted, minimumTrackTintColor, onValueChange, style, accessibilityLabel, testID } = props;
|
|
10
10
|
const clamp = (v)=>Math.min(upperLimit ?? Infinity, Math.max(lowerLimit ?? -Infinity, v));
|
|
11
11
|
return /*#__PURE__*/ _jsx("input", {
|
|
12
12
|
type: "range",
|
|
@@ -15,6 +15,8 @@ import { StyleSheet } from 'react-native';
|
|
|
15
15
|
step: step && step > 0 ? step : 'any',
|
|
16
16
|
value: clamp(value ?? 0),
|
|
17
17
|
disabled: disabled,
|
|
18
|
+
"aria-label": accessibilityLabel,
|
|
19
|
+
"data-testid": testID,
|
|
18
20
|
onChange: (e)=>onValueChange?.(clamp(e.target.valueAsNumber)),
|
|
19
21
|
style: {
|
|
20
22
|
...StyleSheet.flatten(style),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/slider/Slider.tsx"],"sourcesContent":[null],"names":["React","StyleSheet","Slider","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","disabled","inverted","minimumTrackTintColor","onValueChange","style","clamp","v","Math","min","Infinity","max","input","type","onChange","e","target","valueAsNumber","flatten","undefined","accentColor","transform"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,eAAe;AAI1C;;;;CAIC,GACD,OAAO,SAASC,OAAOC,KAAkB;IACvC,MAAM,EACJC,KAAK,EACLC,eAAe,CAAC,EAChBC,eAAe,CAAC,EAChBC,UAAU,EACVC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EACRC,qBAAqB,EACrBC,aAAa,EACbC,KAAK,
|
|
1
|
+
{"version":3,"sources":["community/slider/Slider.tsx"],"sourcesContent":[null],"names":["React","StyleSheet","Slider","props","value","minimumValue","maximumValue","lowerLimit","upperLimit","step","disabled","inverted","minimumTrackTintColor","onValueChange","style","accessibilityLabel","testID","clamp","v","Math","min","Infinity","max","input","type","aria-label","data-testid","onChange","e","target","valueAsNumber","flatten","undefined","accentColor","transform"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,eAAe;AAI1C;;;;CAIC,GACD,OAAO,SAASC,OAAOC,KAAkB;IACvC,MAAM,EACJC,KAAK,EACLC,eAAe,CAAC,EAChBC,eAAe,CAAC,EAChBC,UAAU,EACVC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EACRC,qBAAqB,EACrBC,aAAa,EACbC,KAAK,EACLC,kBAAkB,EAClBC,MAAM,EACP,GAAGb;IACJ,MAAMc,QAAQ,CAACC,IACbC,KAAKC,GAAG,CAACZ,cAAca,UAAUF,KAAKG,GAAG,CAACf,cAAc,CAACc,UAAUH;IACrE,qBACE,KAACK;QACCC,MAAK;QACLJ,KAAKf;QACLiB,KAAKhB;QACLG,MAAMA,QAAQA,OAAO,IAAIA,OAAO;QAChCL,OAAOa,MAAMb,SAAS;QACtBM,UAAUA;QACVe,cAAYV;QACZW,eAAaV;QACbW,UAAU,CAACC,IAAMf,gBAAgBI,MAAMW,EAAEC,MAAM,CAACC,aAAa;QAC7DhB,OAAO;YACL,GAAIb,WAAW8B,OAAO,CAACjB,MAAM;YAC7B,GAAIF,0BAA0BoB,aAAa;gBACzCC,aAAarB;YACf,CAAC;YACD,GAAID,YAAY;gBAAEuB,WAAW;YAAa,CAAC;QAC7C;;AAGN"}
|
|
@@ -71,4 +71,18 @@ export interface SliderProps {
|
|
|
71
71
|
* Used to style and layout the Slider.
|
|
72
72
|
*/
|
|
73
73
|
style?: StyleProp<ViewStyle>;
|
|
74
|
+
/**
|
|
75
|
+
* What screen readers (VoiceOver, TalkBack) announce for the slider before its value.
|
|
76
|
+
* Without it, the slider is announced by its value alone.
|
|
77
|
+
*/
|
|
78
|
+
accessibilityLabel?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Describes what adjusting the slider does. Screen readers read it after the label and value.
|
|
81
|
+
* @platform ios
|
|
82
|
+
*/
|
|
83
|
+
accessibilityHint?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Used to locate this view in end-to-end tests.
|
|
86
|
+
*/
|
|
87
|
+
testID?: string;
|
|
74
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["community/slider/types.tsx"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;CAGC,GACD,
|
|
1
|
+
{"version":3,"sources":["community/slider/types.tsx"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;CAGC,GACD,WAkFC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.ui",
|
|
5
5
|
"module": "expo.modules.ui",
|
|
6
|
-
"version": "58.0.
|
|
6
|
+
"version": "58.0.19",
|
|
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-58.0.
|
|
28
|
-
"url": "expo.modules.ui-58.0.
|
|
27
|
+
"name": "expo.modules.ui-58.0.19.aar",
|
|
28
|
+
"url": "expo.modules.ui-58.0.19.aar",
|
|
29
29
|
"size": 1859361,
|
|
30
30
|
"sha512": "ba561fa50c9fde30184d2c36051e644fd87db59555b7b38f8e2e5b7096b03bf0d2aec3e53fff1831d2705d85b174ec1a7fc2e9cadc69c41237aac262bbea9365",
|
|
31
31
|
"sha256": "6cbb10f1e4cd5618c6997d87c2021e97c7bab1b8fc4ecc7be48f563e9c0e284a",
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
],
|
|
142
142
|
"files": [
|
|
143
143
|
{
|
|
144
|
-
"name": "expo.modules.ui-58.0.
|
|
145
|
-
"url": "expo.modules.ui-58.0.
|
|
144
|
+
"name": "expo.modules.ui-58.0.19.aar",
|
|
145
|
+
"url": "expo.modules.ui-58.0.19.aar",
|
|
146
146
|
"size": 1859361,
|
|
147
147
|
"sha512": "ba561fa50c9fde30184d2c36051e644fd87db59555b7b38f8e2e5b7096b03bf0d2aec3e53fff1831d2705d85b174ec1a7fc2e9cadc69c41237aac262bbea9365",
|
|
148
148
|
"sha256": "6cbb10f1e4cd5618c6997d87c2021e97c7bab1b8fc4ecc7be48f563e9c0e284a",
|
|
@@ -161,8 +161,8 @@
|
|
|
161
161
|
},
|
|
162
162
|
"files": [
|
|
163
163
|
{
|
|
164
|
-
"name": "expo.modules.ui-58.0.
|
|
165
|
-
"url": "expo.modules.ui-58.0.
|
|
164
|
+
"name": "expo.modules.ui-58.0.19-sources.jar",
|
|
165
|
+
"url": "expo.modules.ui-58.0.19-sources.jar",
|
|
166
166
|
"size": 113113,
|
|
167
167
|
"sha512": "10ed672c04082cf5f06e6ca6dca0f28229f11f3d503d46e5b61dbc7d3ad50bfdc1399838dd38dc5b8c1643ec375c4bf1672c95606ce28f7ed36384f66b829b68",
|
|
168
168
|
"sha256": "f9a24faad34f9f66bebcdde7d05a6cf72a8b4b9030819b80049de5084a694ef0",
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f8765d774d7e9b352373ba25a42200e2
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.module.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8c2bd451043981662411c611d1573f61b55cf5dd
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
82b20f15e0fbc0c319fa61f9d869f302953272c36c4f15afbf4ce22b9cf64a5a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e4c834445928c130c75b01adbb0f1a7d875ebb80983b79e2c15f24fe34f832b90a23f53a82b6d5a925c8814f959b74f418f9e2d53f68bef68fb53a3c9486e6e6
|
|
@@ -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>58.0.
|
|
12
|
+
<version>58.0.19</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.ui</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
946ca0f1d6a7ef71b367ede7f81fe3ff
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
7cce460c1fa19a0c3e04acff06cf0cf34596c0c4
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
58cda1507dfd9c49cea452e3bf9497b7516f2d926ca99101576c5bacf3126fdb
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.19/expo.modules.ui-58.0.19.pom.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5074aa536b5e8a9cc938a82b32c4d7a2d495e86d55f27d120629d312e707e37a9707f1d2853daaf853e257fbb02f3f8622ec54d17a3d1959e5768e10c5efce81
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/ui",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.19",
|
|
4
4
|
"description": "A collection of UI components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Jetpack Compose",
|
|
@@ -172,7 +172,6 @@
|
|
|
172
172
|
}
|
|
173
173
|
},
|
|
174
174
|
"scripts": {
|
|
175
|
-
"precompile-ios": "et prebuild-package-for-publish",
|
|
176
175
|
"precompile-android": "et prebuild-android-package-for-publish",
|
|
177
176
|
"build": "pnpm run build:lib && pnpm run build:plugin",
|
|
178
177
|
"build:lib": "expo-build src",
|
package/spm.config.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Host } from '../../jetpack-compose/Host';
|
|
2
2
|
import { Slider as ComposeSlider } from '../../jetpack-compose/Slider';
|
|
3
|
+
import { semantics, testID as testIDModifier } from '../../jetpack-compose/modifiers';
|
|
4
|
+
import type { ModifierConfig } from '../../types';
|
|
3
5
|
import { type SliderProps } from './types';
|
|
4
6
|
|
|
5
7
|
/**
|
|
@@ -21,6 +23,8 @@ export function Slider(props: SliderProps) {
|
|
|
21
23
|
thumbTintColor,
|
|
22
24
|
onValueChange,
|
|
23
25
|
style,
|
|
26
|
+
accessibilityLabel,
|
|
27
|
+
testID,
|
|
24
28
|
} = props;
|
|
25
29
|
const min = minimumValue ?? 0;
|
|
26
30
|
const max = maximumValue ?? 1;
|
|
@@ -31,6 +35,12 @@ export function Slider(props: SliderProps) {
|
|
|
31
35
|
inactiveTrackColor: maximumTrackTintColor,
|
|
32
36
|
thumbColor: thumbTintColor,
|
|
33
37
|
};
|
|
38
|
+
// `accessibilityHint` has no Compose semantics counterpart, so it is iOS-only.
|
|
39
|
+
const modifiers: ModifierConfig[] = [];
|
|
40
|
+
if (accessibilityLabel !== undefined) {
|
|
41
|
+
modifiers.push(semantics({ contentDescription: accessibilityLabel }));
|
|
42
|
+
}
|
|
43
|
+
if (testID !== undefined) modifiers.push(testIDModifier(testID));
|
|
34
44
|
return (
|
|
35
45
|
<Host matchContents={{ vertical: true }} style={hostStyle}>
|
|
36
46
|
<ComposeSlider
|
|
@@ -43,6 +53,7 @@ export function Slider(props: SliderProps) {
|
|
|
43
53
|
enabled={disabled === undefined ? undefined : !disabled}
|
|
44
54
|
colors={colors}
|
|
45
55
|
onValueChange={onValueChange}
|
|
56
|
+
modifiers={modifiers.length > 0 ? modifiers : undefined}
|
|
46
57
|
/>
|
|
47
58
|
</Host>
|
|
48
59
|
);
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Host } from '../../swift-ui/Host';
|
|
2
2
|
import { Slider as SwiftUISlider } from '../../swift-ui/Slider';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
accessibilityHint as accessibilityHintModifier,
|
|
5
|
+
accessibilityLabel as accessibilityLabelModifier,
|
|
6
|
+
disabled as disabledModifier,
|
|
7
|
+
tint as tintModifier,
|
|
8
|
+
} from '../../swift-ui/modifiers';
|
|
4
9
|
import type { ModifierConfig } from '../../types';
|
|
5
10
|
import { type SliderProps } from './types';
|
|
6
11
|
|
|
@@ -21,6 +26,9 @@ export function Slider(props: SliderProps) {
|
|
|
21
26
|
minimumTrackTintColor,
|
|
22
27
|
onValueChange,
|
|
23
28
|
style,
|
|
29
|
+
accessibilityLabel,
|
|
30
|
+
accessibilityHint,
|
|
31
|
+
testID,
|
|
24
32
|
} = props;
|
|
25
33
|
const hostStyle = inverted ? [style, { transform: [{ scaleX: -1 }] }] : style;
|
|
26
34
|
// SwiftUI's Slider only exposes `.tint(...)` for the minimum (active)
|
|
@@ -31,6 +39,12 @@ export function Slider(props: SliderProps) {
|
|
|
31
39
|
if (minimumTrackTintColor !== undefined) {
|
|
32
40
|
modifiers.push(tintModifier(minimumTrackTintColor as string));
|
|
33
41
|
}
|
|
42
|
+
if (accessibilityLabel !== undefined) {
|
|
43
|
+
modifiers.push(accessibilityLabelModifier(accessibilityLabel));
|
|
44
|
+
}
|
|
45
|
+
if (accessibilityHint !== undefined) {
|
|
46
|
+
modifiers.push(accessibilityHintModifier(accessibilityHint));
|
|
47
|
+
}
|
|
34
48
|
return (
|
|
35
49
|
<Host matchContents={{ vertical: true }} style={hostStyle} ignoreSafeArea="all">
|
|
36
50
|
<SwiftUISlider
|
|
@@ -42,6 +56,7 @@ export function Slider(props: SliderProps) {
|
|
|
42
56
|
step={step && step > 0 ? step : undefined}
|
|
43
57
|
modifiers={modifiers.length > 0 ? modifiers : undefined}
|
|
44
58
|
onValueChange={onValueChange}
|
|
59
|
+
testID={testID}
|
|
45
60
|
/>
|
|
46
61
|
</Host>
|
|
47
62
|
);
|
|
@@ -21,6 +21,8 @@ export function Slider(props: SliderProps) {
|
|
|
21
21
|
minimumTrackTintColor,
|
|
22
22
|
onValueChange,
|
|
23
23
|
style,
|
|
24
|
+
accessibilityLabel,
|
|
25
|
+
testID,
|
|
24
26
|
} = props;
|
|
25
27
|
const clamp = (v: number) =>
|
|
26
28
|
Math.min(upperLimit ?? Infinity, Math.max(lowerLimit ?? -Infinity, v));
|
|
@@ -32,6 +34,8 @@ export function Slider(props: SliderProps) {
|
|
|
32
34
|
step={step && step > 0 ? step : 'any'}
|
|
33
35
|
value={clamp(value ?? 0)}
|
|
34
36
|
disabled={disabled}
|
|
37
|
+
aria-label={accessibilityLabel}
|
|
38
|
+
data-testid={testID}
|
|
35
39
|
onChange={(e) => onValueChange?.(clamp(e.target.valueAsNumber))}
|
|
36
40
|
style={{
|
|
37
41
|
...(StyleSheet.flatten(style) as React.CSSProperties),
|
|
@@ -72,4 +72,18 @@ export interface SliderProps {
|
|
|
72
72
|
* Used to style and layout the Slider.
|
|
73
73
|
*/
|
|
74
74
|
style?: StyleProp<ViewStyle>;
|
|
75
|
+
/**
|
|
76
|
+
* What screen readers (VoiceOver, TalkBack) announce for the slider before its value.
|
|
77
|
+
* Without it, the slider is announced by its value alone.
|
|
78
|
+
*/
|
|
79
|
+
accessibilityLabel?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Describes what adjusting the slider does. Screen readers read it after the label and value.
|
|
82
|
+
* @platform ios
|
|
83
|
+
*/
|
|
84
|
+
accessibilityHint?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Used to locate this view in end-to-end tests.
|
|
87
|
+
*/
|
|
88
|
+
testID?: string;
|
|
75
89
|
}
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c93ae24122a8c0fdf6031662c20d7ab1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0280a28f44e2219abbc8ce054003200350f1dcc7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ea72887593516448266e9bc6baf03968872b368955a35eb088ea2ff6704a1554
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a6322f157112637387e22d8a67960dd950773126129ee71be541575898307ddec6c5f16bb581ed0706a2f3694b40ba69bbec78060759038aaddca1f93084bf8b
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
28a30050a820f67ff0fb27470cb4f591
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d556d91a38a29be6a7ba659601e3a6b6aa33de81
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
41cc6e28b0897992415819e13a13dc98d98755c22d717cfb456dfb169d6f620f
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5c5379544047a4326c296a599c1120e912f99ff4a427def0cfb7455ee1e9b4c99c51d36294ea4c023019a7ef565e85ffc1a3db6b1c812ae5a071d163d51ce385
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|