@applicaster/zapp-react-native-ui-components 13.0.8-alpha.1940580104 → 13.0.8-alpha.1965510704
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/Components/Cell/Cell.tsx +11 -35
- package/Components/Focusable/Focusable.tsx +0 -8
- package/Components/MasterCell/DefaultComponents/FocusableView/index.tsx +4 -6
- package/Components/TextInputTv/__tests__/__snapshots__/TextInputTv.test.js.snap +0 -13
- package/Components/TextInputTv/index.tsx +0 -11
- package/package.json +5 -5
package/Components/Cell/Cell.tsx
CHANGED
|
@@ -15,7 +15,6 @@ import { AccessibilityManager } from "@applicaster/zapp-react-native-utils/appUt
|
|
|
15
15
|
import { styles } from "./styles";
|
|
16
16
|
|
|
17
17
|
type Props = {
|
|
18
|
-
dataLength: number;
|
|
19
18
|
item: ZappEntry;
|
|
20
19
|
index: number;
|
|
21
20
|
shouldScrollHorizontally: (arg1: [any]) => boolean | null | undefined;
|
|
@@ -71,8 +70,6 @@ type State = {
|
|
|
71
70
|
};
|
|
72
71
|
|
|
73
72
|
export class CellComponent extends React.Component<Props, State> {
|
|
74
|
-
accessibilityManager: AccessibilityManager;
|
|
75
|
-
|
|
76
73
|
constructor(props) {
|
|
77
74
|
super(props);
|
|
78
75
|
this.onPress = this.onPress.bind(this);
|
|
@@ -82,13 +79,10 @@ export class CellComponent extends React.Component<Props, State> {
|
|
|
82
79
|
this.hasReceivedFocus = this.hasReceivedFocus.bind(this);
|
|
83
80
|
this.scrollVertically = this.scrollVertically.bind(this);
|
|
84
81
|
this.scrollToIndex = this.scrollToIndex.bind(this);
|
|
85
|
-
this.handleAccessibilityFocus = this.handleAccessibilityFocus.bind(this);
|
|
86
82
|
|
|
87
83
|
this.state = {
|
|
88
84
|
hasFocusableInside: props.CellRenderer.hasFocusableInside?.(props.item),
|
|
89
85
|
};
|
|
90
|
-
|
|
91
|
-
this.accessibilityManager = AccessibilityManager.getInstance();
|
|
92
86
|
}
|
|
93
87
|
|
|
94
88
|
setScreenLayout(componentAnchorPointY, screenLayout) {
|
|
@@ -189,30 +183,6 @@ export class CellComponent extends React.Component<Props, State> {
|
|
|
189
183
|
return !isFocusable ? false : focused || focusableFocused;
|
|
190
184
|
}
|
|
191
185
|
|
|
192
|
-
handleAccessibilityFocus(item, index, dataLength) {
|
|
193
|
-
const accessibilityTitle =
|
|
194
|
-
item?.extensions?.accessibility?.label || item?.title;
|
|
195
|
-
|
|
196
|
-
const accessibilityHint = item?.extensions?.accessibility?.hint;
|
|
197
|
-
|
|
198
|
-
// For loop scrolling, calculate the correct logical index
|
|
199
|
-
const logicalIndex = dataLength ? index % dataLength : index;
|
|
200
|
-
|
|
201
|
-
const positionLabel = dataLength
|
|
202
|
-
? `item ${logicalIndex + 1} of ${dataLength}`
|
|
203
|
-
: "";
|
|
204
|
-
|
|
205
|
-
accessibilityTitle &&
|
|
206
|
-
this.accessibilityManager.addHeading(accessibilityTitle);
|
|
207
|
-
|
|
208
|
-
accessibilityHint &&
|
|
209
|
-
this.accessibilityManager.addHeading(accessibilityHint);
|
|
210
|
-
|
|
211
|
-
this.accessibilityManager.readText({
|
|
212
|
-
text: `${positionLabel}`,
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
|
|
216
186
|
componentDidUpdate(prevProps: Readonly<Props>) {
|
|
217
187
|
if (prevProps.item !== this.props.item) {
|
|
218
188
|
this.setState({
|
|
@@ -227,7 +197,6 @@ export class CellComponent extends React.Component<Props, State> {
|
|
|
227
197
|
const {
|
|
228
198
|
item,
|
|
229
199
|
index,
|
|
230
|
-
dataLength,
|
|
231
200
|
component,
|
|
232
201
|
offsetUpdater,
|
|
233
202
|
preferredFocus,
|
|
@@ -288,15 +257,22 @@ export class CellComponent extends React.Component<Props, State> {
|
|
|
288
257
|
style={styles.baseCell}
|
|
289
258
|
isFocusable={isFocusable}
|
|
290
259
|
skipFocusManagerRegistration={skipFocusManagerRegistration}
|
|
291
|
-
{...this.accessibilityManager.getButtonAccessibilityProps(
|
|
292
|
-
item?.extensions?.accessibility?.label || item?.title
|
|
293
|
-
)}
|
|
294
260
|
>
|
|
295
261
|
{(focused, event) => {
|
|
296
262
|
const isFocused = this.isCellFocused(focused);
|
|
297
263
|
|
|
298
264
|
if (isFocused) {
|
|
299
|
-
|
|
265
|
+
const accessibilityManager = AccessibilityManager.getInstance();
|
|
266
|
+
|
|
267
|
+
const accessibilityTitle =
|
|
268
|
+
item?.extensions?.accessibility?.label || item?.title || "";
|
|
269
|
+
|
|
270
|
+
const accessibilityHint =
|
|
271
|
+
item?.extensions?.accessibility?.hint || "";
|
|
272
|
+
|
|
273
|
+
accessibilityManager.readText({
|
|
274
|
+
text: `${accessibilityTitle} ${accessibilityHint}`,
|
|
275
|
+
});
|
|
300
276
|
}
|
|
301
277
|
|
|
302
278
|
return (
|
|
@@ -5,7 +5,6 @@ import { BaseFocusable } from "../BaseFocusable";
|
|
|
5
5
|
import { focusManager } from "@applicaster/zapp-react-native-utils/appUtils/focusManager";
|
|
6
6
|
import { LONG_KEY_PRESS_TIMEOUT } from "@applicaster/quick-brick-core/const";
|
|
7
7
|
import { withFocusableContext } from "../../Contexts/FocusableGroupContext/withFocusableContext";
|
|
8
|
-
import { AccessibilityManager } from "@applicaster/zapp-react-native-utils/appUtils/accessibilityManager";
|
|
9
8
|
|
|
10
9
|
type Props = {
|
|
11
10
|
initialFocus?: boolean;
|
|
@@ -29,7 +28,6 @@ class Focusable extends BaseFocusable<Props> {
|
|
|
29
28
|
isGroup: boolean;
|
|
30
29
|
mouse: boolean;
|
|
31
30
|
longPressTimeout = null;
|
|
32
|
-
accessibilityManager: AccessibilityManager;
|
|
33
31
|
|
|
34
32
|
constructor(props) {
|
|
35
33
|
super(props);
|
|
@@ -44,8 +42,6 @@ class Focusable extends BaseFocusable<Props> {
|
|
|
44
42
|
this.resetLongPressTimeout = this.resetLongPressTimeout.bind(this);
|
|
45
43
|
this.longPress = this.longPress.bind(this);
|
|
46
44
|
this.press = this.press.bind(this);
|
|
47
|
-
|
|
48
|
-
this.accessibilityManager = AccessibilityManager.getInstance();
|
|
49
45
|
}
|
|
50
46
|
|
|
51
47
|
/**
|
|
@@ -132,9 +128,6 @@ class Focusable extends BaseFocusable<Props> {
|
|
|
132
128
|
const id = this.getId();
|
|
133
129
|
const focusableId = `focusable-${id}`;
|
|
134
130
|
|
|
135
|
-
const accessibilityProps =
|
|
136
|
-
this.accessibilityManager.getWebAccessibilityProps(this.props);
|
|
137
|
-
|
|
138
131
|
return (
|
|
139
132
|
<div
|
|
140
133
|
id={focusableId}
|
|
@@ -147,7 +140,6 @@ class Focusable extends BaseFocusable<Props> {
|
|
|
147
140
|
data-testid={focusableId}
|
|
148
141
|
focused-teststate={focused ? "focused" : "default"}
|
|
149
142
|
style={style}
|
|
150
|
-
{...accessibilityProps}
|
|
151
143
|
>
|
|
152
144
|
{children(focused, { mouse: this.mouse })}
|
|
153
145
|
</div>
|
|
@@ -47,7 +47,7 @@ export function FocusableView({ style, children, item, ...otherProps }: Props) {
|
|
|
47
47
|
|
|
48
48
|
const accessibilityManager = useAccessibilityManager({});
|
|
49
49
|
|
|
50
|
-
const {
|
|
50
|
+
const { ttsLabel = "" } =
|
|
51
51
|
actionContext?.initialEntryState(item)?.getAccessibility?.(item) || {};
|
|
52
52
|
|
|
53
53
|
const onPress = (event) => {
|
|
@@ -95,12 +95,10 @@ export function FocusableView({ style, children, item, ...otherProps }: Props) {
|
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
if (heading && ttsLabel) {
|
|
99
|
-
accessibilityManager.addHeading(heading);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
98
|
if (ttsLabel) {
|
|
103
|
-
accessibilityManager.readText({
|
|
99
|
+
accessibilityManager.readText({
|
|
100
|
+
text: ttsLabel,
|
|
101
|
+
});
|
|
104
102
|
}
|
|
105
103
|
};
|
|
106
104
|
|
|
@@ -2,19 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`<TextInputTv /> renders 1`] = `
|
|
4
4
|
<input
|
|
5
|
-
accessibilityProps={
|
|
6
|
-
{
|
|
7
|
-
"accessibilityHint": "Enter text into Search",
|
|
8
|
-
"accessibilityLabel": "Search",
|
|
9
|
-
"accessibilityRole": "text",
|
|
10
|
-
"accessible": true,
|
|
11
|
-
"aria-description": "Enter text into Search",
|
|
12
|
-
"aria-label": "Search",
|
|
13
|
-
"aria-role": "text",
|
|
14
|
-
"role": "text",
|
|
15
|
-
"tabindex": 0,
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
5
|
testID="TextInput-tv"
|
|
19
6
|
/>
|
|
20
7
|
`;
|
|
@@ -4,7 +4,6 @@ import { Appearance, Platform, StyleSheet, TextInput } from "react-native";
|
|
|
4
4
|
import { isFunction } from "@applicaster/zapp-react-native-utils/functionUtils";
|
|
5
5
|
import { isWeb } from "@applicaster/zapp-react-native-utils/reactUtils";
|
|
6
6
|
import { useIsRTL } from "@applicaster/zapp-react-native-utils/localizationUtils";
|
|
7
|
-
import { useAccessibilityManager } from "@applicaster/zapp-react-native-utils/appUtils/accessibilityManager/hooks";
|
|
8
7
|
|
|
9
8
|
type Props = Partial<{
|
|
10
9
|
style: any;
|
|
@@ -43,8 +42,6 @@ function TextInputTV(props: Props, ref) {
|
|
|
43
42
|
const [colorScheme, setColorScheme] = useState(getInitialColorScheme());
|
|
44
43
|
const isRTL = useIsRTL();
|
|
45
44
|
|
|
46
|
-
const accessibilityManager = useAccessibilityManager({});
|
|
47
|
-
|
|
48
45
|
const onColorChange = useCallback(
|
|
49
46
|
({ colorScheme: color }) => {
|
|
50
47
|
if (color !== colorScheme) {
|
|
@@ -156,13 +153,6 @@ function TextInputTV(props: Props, ref) {
|
|
|
156
153
|
])
|
|
157
154
|
)(props);
|
|
158
155
|
|
|
159
|
-
const getAccessibilityProps = () => {
|
|
160
|
-
return {
|
|
161
|
-
accessibilityProps:
|
|
162
|
-
accessibilityManager.getInputAccessibilityProps("Search"),
|
|
163
|
-
};
|
|
164
|
-
};
|
|
165
|
-
|
|
166
156
|
const inputProps = {
|
|
167
157
|
...getProps(),
|
|
168
158
|
...getStyle(),
|
|
@@ -171,7 +161,6 @@ function TextInputTV(props: Props, ref) {
|
|
|
171
161
|
...getSecureTextEntry(),
|
|
172
162
|
...getOnEndEditing(),
|
|
173
163
|
...getOnPress(),
|
|
174
|
-
...getAccessibilityProps(),
|
|
175
164
|
};
|
|
176
165
|
|
|
177
166
|
if (
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-ui-components",
|
|
3
|
-
"version": "13.0.8-alpha.
|
|
3
|
+
"version": "13.0.8-alpha.1965510704",
|
|
4
4
|
"description": "Applicaster Zapp React Native ui components for the Quick Brick App",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"redux-mock-store": "^1.5.3"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@applicaster/applicaster-types": "13.0.8-alpha.
|
|
35
|
-
"@applicaster/zapp-react-native-bridge": "13.0.8-alpha.
|
|
36
|
-
"@applicaster/zapp-react-native-redux": "13.0.8-alpha.
|
|
37
|
-
"@applicaster/zapp-react-native-utils": "13.0.8-alpha.
|
|
34
|
+
"@applicaster/applicaster-types": "13.0.8-alpha.1965510704",
|
|
35
|
+
"@applicaster/zapp-react-native-bridge": "13.0.8-alpha.1965510704",
|
|
36
|
+
"@applicaster/zapp-react-native-redux": "13.0.8-alpha.1965510704",
|
|
37
|
+
"@applicaster/zapp-react-native-utils": "13.0.8-alpha.1965510704",
|
|
38
38
|
"promise": "^8.3.0",
|
|
39
39
|
"react-router-native": "^5.1.2",
|
|
40
40
|
"url": "^0.11.0",
|